Robert Lewis

Bootloader problem - changing lcf file causes failure

Discussion created by Robert Lewis on Mar 27, 2013
Latest reply on Sep 10, 2015 by nicholasf



I am using AN4368 to create a bootloader for our app which is supposed to read a new image off the flash drive.


I can get that to work. I modified the initflash.lcf, rebuilt the bsp, psp, usb, mfs libraries, then my app. I also changed user_config.h so that the the vectors are moved to ram;

#define MQX_ROM_VECTORS                           0

This worked according to xMAP; they are at

  1FFF8000 00000418 .vectors_ram ram_vector(bsp_twrk40x256_d.a vectors_c.o    )


   vectorrom   (RX): ORIGIN = 0x0010000, LENGTH = 0x00000400

   cfmprotrom  (RX): ORIGIN = 0x0010400, LENGTH = 0x00000020

   rom         (RX): ORIGIN = 0x0010420, LENGTH = 0x0003FBE0  # Code + Const data 

   ram         (RW): ORIGIN = 0x1FFF8000, LENGTH = 0x00010000  # SRAM - RW data


The problem is that the debugger in CW10.3 gives the following message




No source available for "0xFFFFFFFE (0xFFFFFFFE)()"


The system will not boot and we can't run or debug anything. If we poweroff to boot, the system fails.


If I put the lcf linkage areas back to 0x0000_0000 and rebuild everything, the app works fine, except we can't use the bootloader then.


This is using MQX 3.8.1, CW10.3 for the Kinetis k20dx256z VLL7


Has anyone experienced this, or know how to correct this?