AnsweredAssumed Answered

Add bootloader in LCF

Question asked by sebasira on Jun 7, 2013
Latest reply on Jun 28, 2013 by sebasira

Hello to all of you!


I'm working with CW v6.1 and MCF51QE. I've develop a bootloader and my firmware. Thery are two separate projects, but they have the same LCF.


What I'd like to do is add the bootloader to the application, so I can flash them both only once.


First, let's take a look at the LCF:


BootLoad     (RX)  : ORIGIN = 0x00000000  , LENGTH = 0x000021F0

myflash      (RX)  : ORIGIN = 0x00002600, LENGTH = 0x00000400

VectorReMap  (RX)  : ORIGIN = 0x00002A00, LENGTH = 0x00000400

code         (RX)  : ORIGIN = 0x00002E00, LENGTH = 0x0001D200


Bootload have the code for the bootloader

myflash stores non-volatile variables

VectorReMap is vector table re-allocation

code it has my firmware


As said before this is the same in both projects.


Then, in the project where I'd like to merge the bootloader, I add the following:

.text_bootload :


  INCLUDE bootloader.bin

  } >> BootLoad





The problem is that the original bootloader's startup is at 0x410 (in the original project) but when I add the .bin file, I can see in the memory windows that routines are in another place (0x8EC) and 0x410 is blank. Why's that?


I'm breaking my head against the wall!!!