summaryrefslogtreecommitdiff
path: root/src/bwbootloader/bwbootloader.c
diff options
context:
space:
mode:
authorNicolas Schodet2010-06-20 18:10:26 +0200
committerNicolas Schodet2010-06-20 19:09:44 +0200
commita861f4a89f8fb404a1a4f32d7160dc37b19d7209 (patch)
tree759e313f0485d4858d0bc09a11389221a6f0146c /src/bwbootloader/bwbootloader.c
parent6691b6920cb99c6f4d7129fcd5758ab2828073e2 (diff)
bwbootloader: add bootstrapper
Diffstat (limited to 'src/bwbootloader/bwbootloader.c')
-rw-r--r--src/bwbootloader/bwbootloader.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/bwbootloader/bwbootloader.c b/src/bwbootloader/bwbootloader.c
index 82644ca..1f6f606 100644
--- a/src/bwbootloader/bwbootloader.c
+++ b/src/bwbootloader/bwbootloader.c
@@ -42,6 +42,9 @@ main (void)
{
twi_init (0xb8);
timer_init ();
+#if AC_BWBOOTLOADER_BOOTSTRAP
+ start_delay_pause = 1;
+#endif
/* Handle bootloader messages. */
start_delay = 40;
while (start_delay)
@@ -78,10 +81,10 @@ bwbootloader_recv (const uint8_t *buffer, uint8_t size)
if (size != 1)
break;
rbuffer[0] = buffer[0];
- memcpy (&rbuffer[1], "bwbootloader", 12);
+ memcpy (&rbuffer[1], BWBOOTLOADER_SIGNATURE, 12);
rbuffer[13] = PROG_PAGE_SIZE;
- rbuffer[14] = (PROG_FLASH_SIZE - BWBOOTLOADER_SIZE) & 0xff;
- rbuffer[15] = (PROG_FLASH_SIZE - BWBOOTLOADER_SIZE) >> 8;
+ rbuffer[14] = BWBOOTLOADER_LIMIT & 0xff;
+ rbuffer[15] = BWBOOTLOADER_LIMIT >> 8;
twi_slave_update (rbuffer, 16);
return;
case BWBOOTLOADER_START: