Hi,
I am using the TMS570LS1224, Halcogen 4.3, CCS6 and Flash API 2.1.1.
I am writing a bootloader, and already have FEE set up in the linker and can properly write and read data. I tried to add the flash api code to the linker file so that it is stored in flash but runs from RAM, but now I get an undef entry error when I call the init function for FEE.
I have two questions:
1) Does my linker file look ok?
2) Do I need to do anything in my program to get the flash api to run out of RAM? I have been trying to follow the uart bootloader example, but I didn't see anything in it that does.
3) On the 1224 there is only bank 0 and 7. Do I need to run my entire bootloader from RAM in order to be able to flash anything in bank 0 (I want to flash sectors that the bootloader doesn't reside in)?
My linker file is below.
Thanks,
David
--retain="*(.intvecs)"
/*----------------------------------------------------------------------------*/
/* Memory Map */
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=0x00003500
RAM (RW) : origin=0x08003500 length=0x0002cb00
}
/*----------------------------------------------------------------------------*/
/* Section Configuration */
SECTIONS
{
.intvecs : {} > VECTORS
flashAPI :
{
--library= F021_API_CortexR4_BE.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 : {} > FLASH0
.const : {} > FLASH0
.cinit : {} > FLASH0
.pinit : {} > FLASH0
FEE_TEXT_SECTION : {} > FLASH0
FEE_CONST_SECTION : {} > FLASH0
.bss : {} > RAM
.data : {} > RAM
.sysmem : {} > RAM
FEE_DATA_SECTION : {} > RAM
}