Quantcast
Channel: Embedded Software (Read Only)
Viewing all articles
Browse latest Browse all 25965

Forum Post: using a flash bootloader along with a flash application

$
0
0

My config: using TM4C1294NCPDT eval kit, CCS v6.0, TI-RTOS 2.0.1.23, SysBios 6.40.01.15, Compiler TI v5.1.5

I am trying to break up my FLASH space between 1/4 bootloader - 3/4 application.  The bootloader will be initially programmed at address 0x0000.0000 and the application will be flashed via the bootloader at address 0x0004.0000.  Are these the correct settings?:

the application's TM4C1294NCPDT.cmd file:

--retain=g_pfnVectors  #define BL_BASE  0x00000000 #define APP_BASE 0x00040000 #define APP_NVEC 0x00040400 #define RAM_BASE 0x20000000  MEMORY {  FLASH_BL (RX) : origin = BL_BASE, length = 0x00040000  FLASH_VEC (RX) : origin = APP_BASE, length = 0x00000400         FLASH (RX) : origin = APP_NVEC, length = 0x000BFC00         SRAM (RWX) : origin = RAM_BASE, length = 0x00040000 }   SECTIONS {     .intvecs:   > APP_BASE         .text   :   > FLASH     .const  :   > FLASH     .cinit  :   > FLASH     .pinit  :   > FLASH     .init_array : > FLASH      .vtable :   > RAM_BASE     .data   :   > SRAM     .bss    :   > SRAM     .sysmem :   > SRAM     .stack  :   > SRAM }  __STACK_TOP = __stack + 512;

I still see the .resetVecs at address 0x0000.0000 in the resulting application's .map file.  I did try adding these lines to the application's TI RTOS .cfg file:

Program.sectMap[".resetVecs"] = new Program.SectionSpec(); Program.sectMap[".resetVecs"] = "FLASH_VEC";

but I got the same results.  What else do I need to change to ensure everything is setup for the application to run only in its FLASH space?  NOTE: both bootloader and application will use TI RTOS.


Viewing all articles
Browse latest Browse all 25965

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>