From 35370c5301abeede6017e971a44c7b3200d40aa7 Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Wed, 16 Jun 2010 23:29:48 +0200 Subject: bwbootloader: fix prog_start, function pointers point to word --- src/bwbootloader/bwbootloader.h | 4 ++++ src/bwbootloader/prog.c | 2 +- src/bwbootloader/spacer.avr.S | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/bwbootloader/bwbootloader.h b/src/bwbootloader/bwbootloader.h index 81f7796..a6a51b9 100644 --- a/src/bwbootloader/bwbootloader.h +++ b/src/bwbootloader/bwbootloader.h @@ -39,6 +39,10 @@ enum BWBOOTLOADER_READ_FUSES, }; +/** Application entry point, right after vectors, defined in spacer.avr.S. */ +void +application_entry (void); + #endif #endif /* bwbootloader_h */ diff --git a/src/bwbootloader/prog.c b/src/bwbootloader/prog.c index 7b7d2c1..2bd7fa6 100644 --- a/src/bwbootloader/prog.c +++ b/src/bwbootloader/prog.c @@ -80,6 +80,6 @@ void prog_start (void) { /* Jump after vectors. */ - ((void (*) (void)) _VECTORS_SIZE) (); + application_entry (); } diff --git a/src/bwbootloader/spacer.avr.S b/src/bwbootloader/spacer.avr.S index 5ff2cb7..215c395 100644 --- a/src/bwbootloader/spacer.avr.S +++ b/src/bwbootloader/spacer.avr.S @@ -26,4 +26,6 @@ #include "bwbootloader.h" .section .progmem + .global application_entry +application_entry: .skip FLASHEND + 1 - BWBOOTLOADER_SIZE - _VECTORS_SIZE, 0xff -- cgit v1.2.3