HI:
now I want to use the SD card to update the app code .
I creat the project. then do:
1. copy the "boot_loader" to the project.(the "boot_loader" come from "StellarisWare".)
2. delete some update files which i do not use (e.g.: bl_can.c;bl_uart.c;)
3. In "bl_config.h", I enable the BL_HW_INIT_FN_HOOK,and define the "SD_ENABLE_UPDATE"
“#define BL_HW_INIT_FN_HOOK MyHwInitFunc”
“#define SD_ENABLE_UPDATE”
4. creat bl_hooks.c file ,and add it into boot_loader folder.
bl_hooks.c :
#include "bl_hooks.h"
#include "bl_config.h"
#include "bsp.h" /* the head file for the system driver*/
void MyHwInitFunc(void)
{
BSP_Init(); // the driver for spi, gpio, and so on
}
5. then I add a interrupt in the “bl_startup_ccs.s”:
.if $$defined(ENET_ENABLE_UPDATE)
.ref SysTickIntHandler
.word SysTickIntHandler ;; Offset 3C: SysTick handler
.else
.if $$defined(SD_ENABLE_UPDATE) ; it is enable in the bl_config.h
.ref Tmr_TickISR_Handler ; have define in bps.c
.word Tmr_TickISR_Handler
.else
.word IntDefaultHandler ;; Offset 3C: SysTick handler
.endif
.endif
6. creat the BPS folder, which include the system initialize c files
7. creat the driver folder, which include the LCD drivers.
8. add FATFS file system.
then I build, the "console" displays:
<Linking>
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
warning #10278-D: LOAD placement specified for section
".text:decompress:none:rtsv7M4_T_le_v4SPD16_eabi.lib<copy_decompress_none.ob
j>". This section contains decompression routines required for linker
generated copy tables and C/C++ auto-initialization. Must ensure that this
section is copied to run address before the C/C++ boot code is executed or
is placed with single allocation specifier (ex. "> MEMORY").
warning #10278-D: LOAD placement specified for section
".text:rtsv7M4_T_le_v4SPD16_eabi.lib<memcpy_t2.obj>". This section contains
decompression routines required for linker generated copy tables and C/C++
auto-initialization. Must ensure that this section is copied to run address
before the C/C++ boot code is executed or is placed with single allocation
specifier (ex. "> MEMORY").
warning #10278-D: LOAD placement specified for section
".text:decompress:ZI:rtsv7M4_T_le_v4SPD16_eabi.lib<copy_zero_init.obj>".
This section contains decompression routines required for linker generated
copy tables and C/C++ auto-initialization. Must ensure that this section is
copied to run address before the C/C++ boot code is executed or is placed
with single allocation specifier (ex. "> MEMORY").
warning #10278-D: LOAD placement specified for section
".text:decompress:rle24:rtsv7M4_T_le_v4SPD16_eabi.lib<copy_decompress_rle.ob
j>". This section contains decompression routines required for linker
generated copy tables and C/C++ auto-initialization. Must ensure that this
section is copied to run address before the C/C++ boot code is executed or
is placed with single allocation specifier (ex. "> MEMORY").
warning #10278-D: LOAD placement specified for section
".text:rtsv7M4_T_le_v4SPD16_eabi.lib<copy_decompress_rle.obj>". This section
contains decompression routines required for linker generated copy tables
and C/C++ auto-initialization. Must ensure that this section is copied to
run address before the C/C++ boot code is executed or is placed with single
allocation specifier (ex. "> MEMORY").
table.c:4070:internal fatal error #10220: (".data:mmc-lm4f231e5qr.obj")
INTERNAL ERROR: D:\ti\ccsv5\tools\compiler\tms470\bin\lnk470.exe aborted
This is a serious problem. Please contact Customer
Support with this message and a copy of the input file
and help us to continue to make the tools more robust.
>> Compilation failure
gmake: *** [sd_bootload.out] Error 1
gmake: Target `all' not remade because of errors.
**** Build Finished ****
My IDE is CCS5.1, and boot_loader copy from "StellarisWare"
Today, I download the CCS5.4, and copy the boot_loader form "TivaWare_C_Series-1.1", the same problem.
please help me , i will be mad.