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 }