I am trying to adapt the UART bootloader at http://processors.wiki.ti.com/index.php/TMS570_Hercules_MCU_Bootloader
HalCoGen. I have updated the flash_defines.h, the linker file and other files so that it compiles fine.
from flash into RAM.
Here is the Linker file and the memcpy
--retain="*(.intvecs)"
MEMORY
{
VECTORS (X) : origin=0x00000000 length=0x00000020
FLASH_API (RX) : origin=0x00000020 length=0x000014E0
FLASH0 (RX) : origin=0x00001500 length=0x0001EB00
STACKS (RW) : origin=0x08000000 length=0x00015000
RAM (RWX) : origin=0x08015000 length=0x0006b000
}
SECTIONS
{
.intvecs : {} > VECTORS
flashAPI :
{
..\Debug\HalCoGen\source\Fapi_UserDefinedFunctions.obj (.text)
..\Debug\bl_flash.obj (.text)
--library= "C:\TI_RTOS\Workspace\HerculesBootloader\F021 Library\F021_API_CortexR4_BE_L2FMC.lib" < FlashStateMachine.IssueFsmCommand.obj
FlashStateMachine.SetActiveBank.obj
FlashStateMachine.InitializeFlashBanks.obj
FlashStateMachine.EnableMainSectors.obj
FlashStateMachine.IssueFsmCommand.obj
FlashStateMachine.ScaleFclk.obj
Init.obj
Utilities.CalculateEcc.obj
Utilities.WaitDelay.obj
Utilities.CalculateFletcher.obj
Read.MarginByByte.obj
Read.Common.obj
Read.FlushPipeline.obj
Read.WdService.obj
Async.WithAddress.obj
Program.obj > (.text)
} load = FLASH_API, run = RAM, LOAD_START(api_load), RUN_START(api_run), SIZE(api_size)
.text align(8) : {} > FLASH0
.const align(8) : {} > FLASH0
.cinit align(8) : {} > FLASH0
.pinit align(8) : {} > FLASH0
.bss : {} > RAM
.data : {} > RAM
}