This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hello,
We are having some problems erasing flash with the F021 flash API.
Our bootloader sits in the first few sectors of bank 0 and we do not want to waste the area in the same bank above this. If I erase a sector in bank 1 everything works OK
I am aware that it is not possible to erase memory in the same bank that the code is running in so we are loading the flash API to RAM as described in the post at http://e2e.ti.com/support/microcontrollers/hercules/f/312/t/62954.aspx. I am also following the recommended flow defined in section 5 of the Flash API manual (SPNU501C).
When I try to erase a sector in the same bank, for example at address 0x160000, I get an undefined instruction exception.
If I single step past the FAPI erase function everythingworks fine. If I put a break immediately after the flow has completed but before returning from our erase function, everything works fine too. However if I put a break in the calling function at the line immediately after the call to our erase function then I am getting an undefined instruction exception.
Even though we have relocated the flash library to RAM, I notice that there are still some trampolines in flash. Is this a possible cause?
I have spent a long time trying to track this issue down. Any help would be greatly appreciated. I have attached our flash erase function.
Regards,
Richard
static StdReturn_T Fls_EraseSector ( uint8_least nIndex) /**< Index in sctFlsSector_M[] of sector to be erased */ { StdReturn_T enumResult = OK_E; Fapi_StatusType_T enumStatus; Fapi_FlashStatusType_T enumFsmStatus; enumStatus = Fapi_setActiveFlashBank((sctFlsSector_M[nIndex]).enumBank); if(FAPI_STATUS_SUCCESS_E == enumStatus) { /* Successfully set active bank */ enumStatus = Fapi_issueAsyncCommandWithAddress(FAPI_ERASE_SECTOR_E, (sctFlsSector_M[nIndex]).nStartAddress); if(FAPI_STATUS_SUCCESS_E == enumStatus) { /* Successfully started erase */ do { enumStatus = Fapi_checkFsmForReady(); } while (FAPI_STATUS_FSM_BUSY_E == enumStatus); } enumFsmStatus = Fapi_getFsmStatus(); if(enumFsmStatus != 0) { enumResult = NOT_OK_E; } } return (enumResult); }
Richard,
What functions are you copying into RAM?
I would expect the following functions there:
Fapi_setActiveFlashBank()
Fapi_issueAsyncCommandWithAddress()
Fapi_checkFsmForReady()
Fapi_setupBankSectorEnable()
and the internal functions
_Fapi_setupFlashStateMachine() - This is called by Fapi_setActiveFlashBank() and this would be my primary suspect of causing the issue.
_Fapi_issueFsmCommand()
Hi John,
Thanks for the quick response. We copy the library to RAM at startup. We have included the following linker command to tell it that we want to run from RAM:
.flashapi : load = CODE, run = RAM,
LOAD_START(__PTR_FAPI_LOAD_START_C), LOAD_END(__PTR_FAPI_LOAD_END_C), LOAD_SIZE(__PTR_FAPI_LOAD_SIZE_C),
RUN_START(__PTR_FAPI_RUN_START_C), RUN_END(__PTR_FAPI_RUN_END_C), RUN_SIZE(__PTR_FAPI_RUN_SIZE_C),
{
F021_API_CortexR4_BE_v3D16.lib(.text)
}
I have attached the parts of the map file relating to the flash API.
As an aside, if you look at the previous code, the function will report success even if the set flash bank function fails. I have now corrected this.
Regards,
Richard
****************************************************************************** TMS470 Linker PC v4.7.1 ****************************************************************************** >> Linked Tue Jun 26 18:14:11 2012 OUTPUT FILE NAME: <MvBootTMS570.elf> ENTRY POINT SYMBOL: "_c_int00" address: 00014ee0 MEMORY CONFIGURATION name origin length used unused attr fill ---------------------- -------- --------- -------- -------- ---- -------- VECTORS 00000000 00000020 00000020 00000000 R X HEADER 00000020 00000008 00000008 00000000 R X CODE 00000030 0001ffd0 0001ba5a 00004576 R X CALIBF 00020000 00020000 00000000 00020000 R X STACKS 08000000 00003800 00000000 00003800 RW CALIBR 08003800 00000800 00000800 00000000 RW RAM 08004000 00008000 00004273 00003d8d RW X SECTION ALLOCATION MAP output attributes/ section page origin length input sections -------- ---- ---------- ---------- ---------------- .flashapi * 0 00000030 0000086a RUN ADDR = 08007a0c 00000030 00000308 F021_API_CortexR4_BE_v3D16.lib : FlashStateMachine.obj (.text:_Fapi_setupFlashStateMachine) 00000338 0000012c : Program.obj (.text:Fapi_issueProgrammingCommand) 00000464 00000104 : Read.obj (.text:_Fapi_checkRegionForValueByByte) 00000568 00000054 : Info.obj (.text:Fapi_getDeviceInfo) 000005bc 0000004c : Init.obj (.text:Fapi_initializeAPI) 00000608 0000004c : FlashStateMachine.obj (.text:_Fapi_issueFsmCommand) 00000654 0000004c : Read.obj (.text:_Fapi_loopRegionForValueByByte) 000006a0 00000008 Flash.obj (.tramp.Fapi_serviceWatchdogTimer.1) 000006a8 00000044 F021_API_CortexR4_BE_v3D16.lib : FlashStateMachine.obj (.text:_Fapi_setupSectorsForWrite) 000006ec 00000008 Flash.obj (.tramp.Fapi_setupBankSectorEnable.1) 000006f4 00000008 Flash.obj (.tramp.Fapi_setupEepromSectorEnable.1) 000006fc 00000040 F021_API_CortexR4_BE_v3D16.lib : Info.obj (.text:Fapi_getLibraryInfo) 0000073c 00000030 : Utilities.obj (.text:Fapi_waitDelay) 0000076c 0000002c : FlashStateMachine.obj (.text:Fapi_setActiveFlashBank) 00000798 0000002a : Utilities.obj (.text:Fapi_calculateFletcherChecksum) 000007c2 00000002 --HOLE-- [fill = 0] 000007c4 00000028 : Async.obj (.text:Fapi_issueAsyncCommandWithAddress) 000007ec 00000022 : Read.obj (.text:Fapi_flushPipeline) 0000080e 00000020 : Utilities.obj (.text:_Fapi_divideUnsignedLong) 0000082e 00000002 --HOLE-- [fill = 0] 00000830 00000018 : Utilities.obj (.text:Fapi_calculateEcc) 00000848 00000018 : FlashStateMachine.obj (.text:Fapi_checkFsmForReady) 00000860 00000012 : Verify.obj (.text:Fapi_doVerifyByByte) 00000872 00000010 : Utilities.obj (.text:_Fapi_scaleCycleValues) 00000882 00000002 --HOLE-- [fill = 0] 00000884 0000000c : FlashStateMachine.obj (.text:Fapi_getFsmStatus) 00000890 0000000a : Utilities.obj (.text:_Fapi_calculateOtpChecksum) 00016340 0000000c F021_API_CortexR4_BE_v3D16.lib : Async.obj (.tramp.Fapi_issueAsyncCommandWithAddress.1) 0001634c 0000000c : Verify.obj (.tramp.Fapi_doVerifyByByte.1) 00016358 0000000c : FlashStateMachine.obj (.tramp.Fapi_getFsmStatus.1) 00016364 0000000c : FlashStateMachine.obj (.tramp.Fapi_checkFsmForReady.1) 00016370 0000000c : Program.obj (.tramp.Fapi_issueProgrammingCommand.1) 0001637c 0000000c : FlashStateMachine.obj (.tramp.Fapi_setActiveFlashBank.1) 00016388 0000000c : Info.obj (.tramp.Fapi_getLibraryInfo.1) 00016394 0000000c : Info.obj (.tramp.Fapi_getDeviceInfo.1) 000163a0 0000000c : Init.obj (.tramp.Fapi_initializeAPI.1) 000163ac 00000004 --HOLE-- [fill = 0] VENEERS callee name veneer name callee addr veneer addr call addr call info -------------- ----------- --------- ---------------- Fapi_issueAsyncCommandWithAddress $Ven$AT$L$PI$$Fapi_issueAsyncCommandWithAddress 080081a1 00016340 00010710 Flash.obj (.text) Fapi_doVerifyByByte $Ven$AT$L$PI$$Fapi_doVerifyByByte 0800823d 0001634c 00010698 Flash.obj (.text) Fapi_getFsmStatus $Ven$AT$L$PI$$Fapi_getFsmStatus 08008261 00016358 00010620 Flash.obj (.text) 00010738 Flash.obj (.text) Fapi_checkFsmForReady $Ven$AT$L$PI$$Fapi_checkFsmForReady 08008225 00016364 0001060c Flash.obj (.text) 00010724 Flash.obj (.text) Fapi_issueProgrammingCommand $Ven$AT$L$PI$$Fapi_issueProgrammingCommand 08007d15 00016370 000105f8 Flash.obj (.text) Fapi_setActiveFlashBank $Ven$AT$L$PI$$Fapi_setActiveFlashBank 08008149 0001637c 000105c4 Flash.obj (.text) 00010674 Flash.obj (.text) 000106e4 Flash.obj (.text) Fapi_getLibraryInfo $Ven$AT$L$PI$$Fapi_getLibraryInfo 080080d9 00016388 0000ff84 Flash.obj (.text) Fapi_getDeviceInfo $Ven$AT$L$PI$$Fapi_getDeviceInfo 08007f45 00016394 0000ff7c Flash.obj (.text) Fapi_initializeAPI $Ven$AT$L$PI$$Fapi_initializeAPI 08007f99 000163a0 0000ff74 Flash.obj (.text) FAR CALL TRAMPOLINES callee name trampoline name callee addr tramp addr call addr call info -------------- ----------- --------- ---------------- Fapi_serviceWatchdogTimer $Tramp$AA$L$PI$$Fapi_serviceWatchdogTimer 0001023c 0800807c 08008066 F021_API_CortexR4_BE_v3D16.lib : Read.obj (.text:_Fapi_loopRegionForValueByByte) 08008254 : Utilities.obj (.text:_Fapi_scaleCycleValues) Fapi_setupBankSectorEnable $Tramp$AA$L$PI$$Fapi_setupBankSectorEnable 00010278 080080c8 080080ac F021_API_CortexR4_BE_v3D16.lib : FlashStateMachine.obj (.text:_Fapi_setupSectorsForWrite) Fapi_setupEepromSectorEnable $Tramp$AA$L$PI$$Fapi_setupEepromSectorEnable 0001024c 080080d0 080080b2 F021_API_CortexR4_BE_v3D16.lib : FlashStateMachine.obj (.text:_Fapi_setupSectorsForWrite) GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name address name -------- ---- 080079a8 Fapi_GlobalInit 0800820d Fapi_calculateEcc 00000831 08008175 Fapi_calculateFletcherChecksum 00000799 08008225 Fapi_checkFsmForReady 00000849 0800823d Fapi_doVerifyByByte 00000861 080081c9 Fapi_flushPipeline 000007ed 08007f45 Fapi_getDeviceInfo 00000569 08008261 Fapi_getFsmStatus 00000885 080080d9 Fapi_getLibraryInfo 000006fd 08007f99 Fapi_initializeAPI 000005bd 080081a1 Fapi_issueAsyncCommandWithAddress 000007c5 08007d15 Fapi_issueProgrammingCommand 00000339 0001023c Fapi_serviceWatchdogTimer 08008149 Fapi_setActiveFlashBank 0000076d 00010278 Fapi_setupBankSectorEnable 0001024c Fapi_setupEepromSectorEnable 08008119 Fapi_waitDelay 0000073d 0800826d _Fapi_calculateOtpChecksum 00000891 08007e41 _Fapi_checkRegionForValueByByte 00000465 080081eb _Fapi_divideUnsignedLong 0000080f 08007fe5 _Fapi_issueFsmCommand 00000609 08008031 _Fapi_loopRegionForValueByByte 00000655 0800824f _Fapi_scaleCycleValues 00000873 08008085 _Fapi_setupSectorsForWrite 000006a9 0000089a __PTR_FAPI_LOAD_END_C 0000086a __PTR_FAPI_LOAD_SIZE_C 00000030 __PTR_FAPI_LOAD_START_C 08008276 __PTR_FAPI_RUN_END_C 0000086a __PTR_FAPI_RUN_SIZE_C 08007a0c __PTR_FAPI_RUN_START_C GLOBAL SYMBOLS: SORTED BY Symbol Address address name -------- ---- 00000030 __PTR_FAPI_LOAD_START_C 0000086a __PTR_FAPI_LOAD_SIZE_C 0000086a __PTR_FAPI_RUN_SIZE_C 0000089a __PTR_FAPI_LOAD_END_C 0001023c Fapi_serviceWatchdogTimer 0001024c Fapi_setupEepromSectorEnable 00010278 Fapi_setupBankSectorEnable 080079a8 Fapi_GlobalInit 08007a0c __PTR_FAPI_RUN_START_C 08007d15 Fapi_issueProgrammingCommand 00000339 08007e41 _Fapi_checkRegionForValueByByte 00000465 08007f45 Fapi_getDeviceInfo 00000569 08007f99 Fapi_initializeAPI 000005bd 08007fe5 _Fapi_issueFsmCommand 00000609 08008031 _Fapi_loopRegionForValueByByte 00000655 08008085 _Fapi_setupSectorsForWrite 000006a9 080080d9 Fapi_getLibraryInfo 000006fd 08008119 Fapi_waitDelay 0000073d 08008149 Fapi_setActiveFlashBank 0000076d 08008175 Fapi_calculateFletcherChecksum 00000799 080081a1 Fapi_issueAsyncCommandWithAddress 000007c5 080081c9 Fapi_flushPipeline 000007ed 080081eb _Fapi_divideUnsignedLong 0000080f 0800820d Fapi_calculateEcc 00000831 08008225 Fapi_checkFsmForReady 00000849 0800823d Fapi_doVerifyByByte 00000861 0800824f _Fapi_scaleCycleValues 00000873 08008261 Fapi_getFsmStatus 00000885 0800826d _Fapi_calculateOtpChecksum 00000891 08008276 __PTR_FAPI_RUN_END_C f020ffff __PTR_FLASH_END_ADDRESS_C fe000000 regCrc ff0a0000 ramSpi ff3a0000 __PTR_ADC2_RAM_C ff3e0000 __PTR_ADC1_RAM_C fff7b800 regHet fff7bc00 regGio fff7bc34 __PTR_GIODIRA_C fff7bc34 regGioPort fff7bc54 __PTR_GIODIRB_C fff7c000 regAdc fff7dc00 regDcan fff7e400 regSciLin fff7e440 __PTR_SCIPIO1_MOD1_C fff7e540 __PTR_SCIPIO1_MOD2_C fff7f400 regSpi fff7f404 __PTR_SPIGCR1_SPI1_C fff7f418 __PTR_SPIPC1_SPI1_C fff7f804 __PTR_SPIGCR1_SPI3_C fff7f818 __PTR_SPIPC1_SPI3_C fff7fc04 __PTR_SPIGCR1_SPI5_C fff7fc18 __PTR_SPIPC1_SPI5_C fff80000 ramDma fff82000 ramVim fff87000 regFlashControl ffffe000 regPcr fffff000 regDma fffff700 regDmm fffff770 __PTR_DMMPC1_C fffffa00 regRtp fffffa38 __PTR_RTPPC1_C fffffa40 __PTR_RTPPC3_C fffffc00 regRti fffffd00 regVimParity fffffe00 regVim ffffff00 regSystem1 ffffffff __binit__ ffffffff __c_args__ ffffffff binit SYMBOL DEFINITIONS BY INPUT FILE ================================================================================ Flash.obj Run/Load Value Binding Name (Section) -------- -------- --------------- 0800807c local $Tramp$AA$L$PI$$Fapi_serviceWatchdogTimer (.tramp.Fapi_serviceWatchdogTimer.1) 000006a0 080080c8 local $Tramp$AA$L$PI$$Fapi_setupBankSectorEnable (.tramp.Fapi_setupBankSectorEnable.1) 000006ec 080080d0 local $Tramp$AA$L$PI$$Fapi_setupEepromSectorEnable (.tramp.Fapi_setupEepromSectorEnable.1) 000006f4 0800807c local $a (.tramp.Fapi_serviceWatchdogTimer.1) 000006a0 080080c8 local $a (.tramp.Fapi_setupBankSectorEnable.1) 000006ec 080080d0 local $a (.tramp.Fapi_setupEepromSectorEnable.1) 000006f4 08008080 local $d (.tramp.Fapi_serviceWatchdogTimer.1) 000006a4 080080cc local $d (.tramp.Fapi_setupBankSectorEnable.1) 000006f0 080080d4 local $d (.tramp.Fapi_setupEepromSectorEnable.1) 0001023c global Fapi_serviceWatchdogTimer (.text) 00010278 global Fapi_setupBankSectorEnable (.text) 0001024c global Fapi_setupEepromSectorEnable (.text) ================================================================================ F021_API_CortexR4_BE_v3D16.lib : Program.obj Run/Load Value Binding Name (Section) -------- -------- --------------- 08007e3c local $C$CON1 (.text:Fapi_issueProgrammingCommand) 00000460 08007dc1 local $C$DW$L$Fapi_issueProgrammingCommand$20$B (.text:Fapi_issueProgrammingCommand) 000003e5 08007dc5 local $C$DW$L$Fapi_issueProgrammingCommand$20$E (.text:Fapi_issueProgrammingCommand) 000003e9 08007dc5 local $C$DW$L$Fapi_issueProgrammingCommand$21$B (.text:Fapi_issueProgrammingCommand) 000003e9 08007dcd local $C$DW$L$Fapi_issueProgrammingCommand$21$E (.text:Fapi_issueProgrammingCommand) 000003f1 08007def local $C$DW$L$Fapi_issueProgrammingCommand$28$B (.text:Fapi_issueProgrammingCommand) 00000413 08007df3 local $C$DW$L$Fapi_issueProgrammingCommand$28$E (.text:Fapi_issueProgrammingCommand) 00000417 08007df3 local $C$DW$L$Fapi_issueProgrammingCommand$29$B (.text:Fapi_issueProgrammingCommand) 00000417 08007e13 local $C$DW$L$Fapi_issueProgrammingCommand$29$E (.text:Fapi_issueProgrammingCommand) 00000437 08007e13 local $C$DW$L$Fapi_issueProgrammingCommand$30$B (.text:Fapi_issueProgrammingCommand) 00000437 08007e15 local $C$DW$L$Fapi_issueProgrammingCommand$30$E (.text:Fapi_issueProgrammingCommand) 00000439 08007e15 local $C$DW$L$Fapi_issueProgrammingCommand$31$B (.text:Fapi_issueProgrammingCommand) 00000439 08007e1d local $C$DW$L$Fapi_issueProgrammingCommand$31$E (.text:Fapi_issueProgrammingCommand) 00000441 08007e1d local $C$DW$L$Fapi_issueProgrammingCommand$32$B (.text:Fapi_issueProgrammingCommand) 00000441 08007e29 local $C$DW$L$Fapi_issueProgrammingCommand$32$E (.text:Fapi_issueProgrammingCommand) 0000044d 08007d55 local $C$L1 (.text:Fapi_issueProgrammingCommand) 00000379 08007ddd local $C$L10 (.text:Fapi_issueProgrammingCommand) 00000401 08007def local $C$L11 (.text:Fapi_issueProgrammingCommand) 00000413 08007e15 local $C$L12 (.text:Fapi_issueProgrammingCommand) 00000439 08007e1d local $C$L13 (.text:Fapi_issueProgrammingCommand) 00000441 08007e29 local $C$L14 (.text:Fapi_issueProgrammingCommand) 0000044d 08007e31 local $C$L15 (.text:Fapi_issueProgrammingCommand) 00000455 08007e35 local $C$L16 (.text:Fapi_issueProgrammingCommand) 00000459 08007d6f local $C$L2 (.text:Fapi_issueProgrammingCommand) 00000393 08007d73 local $C$L3 (.text:Fapi_issueProgrammingCommand) 00000397 08007d83 local $C$L4 (.text:Fapi_issueProgrammingCommand) 000003a7 08007d87 local $C$L5 (.text:Fapi_issueProgrammingCommand) 000003ab 08007d97 local $C$L6 (.text:Fapi_issueProgrammingCommand) 000003bb 08007dc1 local $C$L7 (.text:Fapi_issueProgrammingCommand) 000003e5 08007dcd local $C$L8 (.text:Fapi_issueProgrammingCommand) 000003f1 08007dd9 local $C$L9 (.text:Fapi_issueProgrammingCommand) 000003fd 00016370 local $Ven$AT$L$PI$$Fapi_issueProgrammingCommand (.tramp.Fapi_issueProgrammingCommand.1) 00016370 local $a (.tramp.Fapi_issueProgrammingCommand.1) 08007e3c local $d (.text:Fapi_issueProgrammingCommand) 00000460 00016378 local $d (.tramp.Fapi_issueProgrammingCommand.1) 08007d14 local $t (.text:Fapi_issueProgrammingCommand) 00000338 00000000 local $t (.text:Fapi_issueProgrammingCommandForEccAddresses) 00000000 local .text (.text) 08007d14 local .text:Fapi_issueProgrammingCommand (.text:Fapi_issueProgrammingCommand) 00000338 00000000 local .text:Fapi_issueProgrammingCommandForEccAddresses (.text:Fapi_issueProgrammingCommandForEccAddresses) 08007d15 global Fapi_issueProgrammingCommand (.text:Fapi_issueProgrammingCommand) 00000339 00000001 global Fapi_issueProgrammingCommandForEccAddresses (.text:Fapi_issueProgrammingCommandForEccAddresses) ================================================================================ F021_API_CortexR4_BE_v3D16.lib : Info.obj Run/Load Value Binding Name (Section) -------- -------- --------------- 08008114 local $C$CON1 (.text:Fapi_getLibraryInfo) 00000738 000000a4 local $C$CON10 (.text:Fapi_getBankSectors) 08007f94 local $C$CON3 (.text:Fapi_getDeviceInfo) 000005b8 0000009c local $C$CON8 (.text:Fapi_getBankSectors) 000000a0 local $C$CON9 (.text:Fapi_getBankSectors) 0000006b local $C$DW$L$Fapi_getBankSectors$6$B (.text:Fapi_getBankSectors) 0000008d local $C$DW$L$Fapi_getBankSectors$6$E (.text:Fapi_getBankSectors) 0000005b local $C$L1 (.text:Fapi_getBankSectors) 0000006b local $C$L2 (.text:Fapi_getBankSectors) 0000008f local $C$L3 (.text:Fapi_getBankSectors) 00000095 local $C$L4 (.text:Fapi_getBankSectors) 00000099 local $C$L5 (.text:Fapi_getBankSectors) 00016394 local $Ven$AT$L$PI$$Fapi_getDeviceInfo (.tramp.Fapi_getDeviceInfo.1) 00016388 local $Ven$AT$L$PI$$Fapi_getLibraryInfo (.tramp.Fapi_getLibraryInfo.1) 00016388 local $a (.tramp.Fapi_getLibraryInfo.1) 00016394 local $a (.tramp.Fapi_getDeviceInfo.1) 08008114 local $d (.text:Fapi_getLibraryInfo) 00000738 08007f94 local $d (.text:Fapi_getDeviceInfo) 000005b8 0000009c local $d (.text:Fapi_getBankSectors) 00016390 local $d (.tramp.Fapi_getLibraryInfo.1) 0001639c local $d (.tramp.Fapi_getDeviceInfo.1) 080080d8 local $t (.text:Fapi_getLibraryInfo) 000006fc 08007f44 local $t (.text:Fapi_getDeviceInfo) 00000568 00000000 local $t (.text:Fapi_getBankSectors) 00000000 local .text (.text) 00000000 local .text:Fapi_getBankSectors (.text:Fapi_getBankSectors) 08007f44 local .text:Fapi_getDeviceInfo (.text:Fapi_getDeviceInfo) 00000568 080080d8 local .text:Fapi_getLibraryInfo (.text:Fapi_getLibraryInfo) 000006fc 00000001 global Fapi_getBankSectors (.text:Fapi_getBankSectors) 08007f45 global Fapi_getDeviceInfo (.text:Fapi_getDeviceInfo) 00000569 080080d9 global Fapi_getLibraryInfo (.text:Fapi_getLibraryInfo) 000006fd ================================================================================ F021_API_CortexR4_BE_v3D16.lib : Async.obj Run/Load Value Binding Name (Section) -------- -------- --------------- 080081c4 local $C$CON1 (.text:Fapi_issueAsyncCommandWithAddress) 000007e8 00016340 local $Ven$AT$L$PI$$Fapi_issueAsyncCommandWithAddress (.tramp.Fapi_issueAsyncCommandWithAddress.1) 00016340 local $a (.tramp.Fapi_issueAsyncCommandWithAddress.1) 080081c4 local $d (.text:Fapi_issueAsyncCommandWithAddress) 000007e8 00016348 local $d (.tramp.Fapi_issueAsyncCommandWithAddress.1) 080081a0 local $t (.text:Fapi_issueAsyncCommandWithAddress) 000007c4 00000000 local $t (.text:Fapi_issueAsyncCommand) 00000000 local .text (.text) 00000000 local .text:Fapi_issueAsyncCommand (.text:Fapi_issueAsyncCommand) 080081a0 local .text:Fapi_issueAsyncCommandWithAddress (.text:Fapi_issueAsyncCommandWithAddress) 000007c4 00000001 global Fapi_issueAsyncCommand (.text:Fapi_issueAsyncCommand) 080081a1 global Fapi_issueAsyncCommandWithAddress (.text:Fapi_issueAsyncCommandWithAddress) 000007c5 ================================================================================ F021_API_CortexR4_BE_v3D16.lib : Verify.obj Run/Load Value Binding Name (Section) -------- -------- --------------- 0001634c local $Ven$AT$L$PI$$Fapi_doVerifyByByte (.tramp.Fapi_doVerifyByByte.1) 0001634c local $a (.tramp.Fapi_doVerifyByByte.1) 00016354 local $d (.tramp.Fapi_doVerifyByByte.1) 0800823c local $t (.text:Fapi_doVerifyByByte) 00000860 00000000 local $t (.text:Fapi_doVerify) 00000000 local .text (.text) 00000000 local .text:Fapi_doVerify (.text:Fapi_doVerify) 0800823c local .text:Fapi_doVerifyByByte (.text:Fapi_doVerifyByByte) 00000860 00000001 global Fapi_doVerify (.text:Fapi_doVerify) 0800823d global Fapi_doVerifyByByte (.text:Fapi_doVerifyByByte) 00000861 ================================================================================ F021_API_CortexR4_BE_v3D16.lib : Read.obj Run/Load Value Binding Name (Section) -------- -------- --------------- 08007f3c local $C$CON1 (.text:_Fapi_checkRegionForValueByByte) 00000560 000000fc local $C$CON2 (.text:_Fapi_checkRegionForValue) 08007f40 local $C$CON3 (.text:_Fapi_checkRegionForValueByByte) 00000564 00000100 local $C$CON4 (.text:_Fapi_checkRegionForValue) 00000104 local $C$CON5 (.text:_Fapi_checkRegionForValue) 000000c0 local $C$CON6 (.text:Fapi_doMarginReadByByte) 000000c4 local $C$CON7 (.text:Fapi_doMarginReadByByte) 000000f8 local $C$CON8 (.text:Fapi_doMarginRead) 000000fc local $C$CON9 (.text:Fapi_doMarginRead) 0000007f local $C$DW$L$Fapi_doMarginRead$12$B (.text:Fapi_doMarginRead) 0000008d local $C$DW$L$Fapi_doMarginRead$12$E (.text:Fapi_doMarginRead) 0000008d local $C$DW$L$Fapi_doMarginRead$13$B (.text:Fapi_doMarginRead) 00000091 local $C$DW$L$Fapi_doMarginRead$13$E (.text:Fapi_doMarginRead) 00000091 local $C$DW$L$Fapi_doMarginRead$14$B (.text:Fapi_doMarginRead) 00000095 local $C$DW$L$Fapi_doMarginRead$14$E (.text:Fapi_doMarginRead) 000000a1 local $C$DW$L$Fapi_doMarginRead$18$B (.text:Fapi_doMarginRead) 000000a3 local $C$DW$L$Fapi_doMarginRead$18$E (.text:Fapi_doMarginRead) 000000a3 local $C$DW$L$Fapi_doMarginRead$19$B (.text:Fapi_doMarginRead) 000000a7 local $C$DW$L$Fapi_doMarginRead$19$E (.text:Fapi_doMarginRead) 000000a7 local $C$DW$L$Fapi_doMarginRead$20$B (.text:Fapi_doMarginRead) 000000af local $C$DW$L$Fapi_doMarginRead$20$E (.text:Fapi_doMarginRead) 000000af local $C$DW$L$Fapi_doMarginRead$21$B (.text:Fapi_doMarginRead) 000000b5 local $C$DW$L$Fapi_doMarginRead$21$E (.text:Fapi_doMarginRead) 000000b5 local $C$DW$L$Fapi_doMarginRead$22$B (.text:Fapi_doMarginRead) 000000b9 local $C$DW$L$Fapi_doMarginRead$22$E (.text:Fapi_doMarginRead) 000000b9 local $C$DW$L$Fapi_doMarginRead$23$B (.text:Fapi_doMarginRead) 000000bd local $C$DW$L$Fapi_doMarginRead$23$E (.text:Fapi_doMarginRead) 0000007f local $C$DW$L$Fapi_doMarginReadByByte$10$B (.text:Fapi_doMarginReadByByte) 00000083 local $C$DW$L$Fapi_doMarginReadByByte$10$E (.text:Fapi_doMarginReadByByte) 00000083 local $C$DW$L$Fapi_doMarginReadByByte$11$B (.text:Fapi_doMarginReadByByte) 00000087 local $C$DW$L$Fapi_doMarginReadByByte$11$E (.text:Fapi_doMarginReadByByte) 00000071 local $C$DW$L$Fapi_doMarginReadByByte$9$B (.text:Fapi_doMarginReadByByte) 0000007f local $C$DW$L$Fapi_doMarginReadByByte$9$E (.text:Fapi_doMarginReadByByte) 00000055 local $C$DW$L$_Fapi_loopRegionForValue$10$B (.text:_Fapi_loopRegionForValue) 00000057 local $C$DW$L$_Fapi_loopRegionForValue$10$E (.text:_Fapi_loopRegionForValue) 00000057 local $C$DW$L$_Fapi_loopRegionForValue$11$B (.text:_Fapi_loopRegionForValue) 0000005b local $C$DW$L$_Fapi_loopRegionForValue$11$E (.text:_Fapi_loopRegionForValue) 00000067 local $C$DW$L$_Fapi_loopRegionForValue$15$B (.text:_Fapi_loopRegionForValue) 0000006d local $C$DW$L$_Fapi_loopRegionForValue$15$E (.text:_Fapi_loopRegionForValue) 0000006d local $C$DW$L$_Fapi_loopRegionForValue$16$B (.text:_Fapi_loopRegionForValue) 00000079 local $C$DW$L$_Fapi_loopRegionForValue$16$E (.text:_Fapi_loopRegionForValue) 0000008f local $C$DW$L$_Fapi_loopRegionForValue$18$B (.text:_Fapi_loopRegionForValue) 00000093 local $C$DW$L$_Fapi_loopRegionForValue$18$E (.text:_Fapi_loopRegionForValue) 00000093 local $C$DW$L$_Fapi_loopRegionForValue$19$B (.text:_Fapi_loopRegionForValue) 00000099 local $C$DW$L$_Fapi_loopRegionForValue$19$E (.text:_Fapi_loopRegionForValue) 00000099 local $C$DW$L$_Fapi_loopRegionForValue$20$B (.text:_Fapi_loopRegionForValue) 0000009d local $C$DW$L$_Fapi_loopRegionForValue$20$E (.text:_Fapi_loopRegionForValue) 0000009d local $C$DW$L$_Fapi_loopRegionForValue$21$B (.text:_Fapi_loopRegionForValue) 000000a3 local $C$DW$L$_Fapi_loopRegionForValue$21$E (.text:_Fapi_loopRegionForValue) 000000a3 local $C$DW$L$_Fapi_loopRegionForValue$22$B (.text:_Fapi_loopRegionForValue) 000000a5 local $C$DW$L$_Fapi_loopRegionForValue$22$E (.text:_Fapi_loopRegionForValue) 000000a5 local $C$DW$L$_Fapi_loopRegionForValue$23$B (.text:_Fapi_loopRegionForValue) 000000ab local $C$DW$L$_Fapi_loopRegionForValue$23$E (.text:_Fapi_loopRegionForValue) 00000025 local $C$DW$L$_Fapi_loopRegionForValue$5$B (.text:_Fapi_loopRegionForValue) 0000002f local $C$DW$L$_Fapi_loopRegionForValue$5$E (.text:_Fapi_loopRegionForValue) 00000045 local $C$DW$L$_Fapi_loopRegionForValue$7$B (.text:_Fapi_loopRegionForValue) 0000004b local $C$DW$L$_Fapi_loopRegionForValue$7$E (.text:_Fapi_loopRegionForValue) 0000004b local $C$DW$L$_Fapi_loopRegionForValue$8$B (.text:_Fapi_loopRegionForValue) 0000004f local $C$DW$L$_Fapi_loopRegionForValue$8$E (.text:_Fapi_loopRegionForValue) 0000004f local $C$DW$L$_Fapi_loopRegionForValue$9$B (.text:_Fapi_loopRegionForValue) 00000055 local $C$DW$L$_Fapi_loopRegionForValue$9$E (.text:_Fapi_loopRegionForValue) 08008047 local $C$DW$L$_Fapi_loopRegionForValueByByte$2$B (.text:_Fapi_loopRegionForValueByByte) 0000066b 08008051 local $C$DW$L$_Fapi_loopRegionForValueByByte$2$E (.text:_Fapi_loopRegionForValueByByte) 00000675 08008061 local $C$DW$L$_Fapi_loopRegionForValueByByte$4$B (.text:_Fapi_loopRegionForValueByByte) 00000685 08008067 local $C$DW$L$_Fapi_loopRegionForValueByByte$4$E (.text:_Fapi_loopRegionForValueByByte) 0000068b 08008067 local $C$DW$L$_Fapi_loopRegionForValueByByte$5$B (.text:_Fapi_loopRegionForValueByByte) 0000068b 0800806b local $C$DW$L$_Fapi_loopRegionForValueByByte$5$E (.text:_Fapi_loopRegionForValueByByte) 0000068f 0800806b local $C$DW$L$_Fapi_loopRegionForValueByByte$6$B (.text:_Fapi_loopRegionForValueByByte) 0000068f 08008071 local $C$DW$L$_Fapi_loopRegionForValueByByte$6$E (.text:_Fapi_loopRegionForValueByByte) 00000695 08008071 local $C$DW$L$_Fapi_loopRegionForValueByByte$7$B (.text:_Fapi_loopRegionForValueByByte) 00000695 08008073 local $C$DW$L$_Fapi_loopRegionForValueByByte$7$E (.text:_Fapi_loopRegionForValueByByte) 00000697 08008073 local $C$DW$L$_Fapi_loopRegionForValueByByte$8$B (.text:_Fapi_loopRegionForValueByByte) 00000697 08008077 local $C$DW$L$_Fapi_loopRegionForValueByByte$8$E (.text:_Fapi_loopRegionForValueByByte) 0000069b 08008047 local $C$L1 (.text:_Fapi_loopRegionForValueByByte) 0000066b 00000057 local $C$L10 (.text:_Fapi_loopRegionForValue) 0000005d local $C$L11 (.text:_Fapi_loopRegionForValue) 00000067 local $C$L12 (.text:_Fapi_loopRegionForValue) 0000006d local $C$L13 (.text:_Fapi_loopRegionForValue) 0000008f local $C$L14 (.text:_Fapi_loopRegionForValue) 0000009d local $C$L15 (.text:_Fapi_loopRegionForValue) 000000a5 local $C$L16 (.text:_Fapi_loopRegionForValue) 000000ab local $C$L17 (.text:_Fapi_loopRegionForValue) 000000ad local $C$L18 (.text:_Fapi_loopRegionForValue) 08007e7d local $C$L19 (.text:_Fapi_checkRegionForValueByByte) 000004a1 08008061 local $C$L2 (.text:_Fapi_loopRegionForValueByByte) 00000685 08007e85 local $C$L20 (.text:_Fapi_checkRegionForValueByByte) 000004a9 08007f17 local $C$L21 (.text:_Fapi_checkRegionForValueByByte) 0000053b 08007f25 local $C$L22 (.text:_Fapi_checkRegionForValueByByte) 00000549 08007f31 local $C$L23 (.text:_Fapi_checkRegionForValueByByte) 00000555 0000003f local $C$L24 (.text:_Fapi_checkRegionForValue) 00000047 local $C$L25 (.text:_Fapi_checkRegionForValue) 000000d7 local $C$L26 (.text:_Fapi_checkRegionForValue) 000000e5 local $C$L27 (.text:_Fapi_checkRegionForValue) 000000f1 local $C$L28 (.text:_Fapi_checkRegionForValue) 00000057 local $C$L29 (.text:Fapi_doMarginReadByByte) 0800806b local $C$L3 (.text:_Fapi_loopRegionForValueByByte) 0000068f 00000061 local $C$L30 (.text:Fapi_doMarginReadByByte) 00000069 local $C$L31 (.text:Fapi_doMarginReadByByte) 00000071 local $C$L32 (.text:Fapi_doMarginReadByByte) 00000083 local $C$L33 (.text:Fapi_doMarginReadByByte) 00000087 local $C$L34 (.text:Fapi_doMarginReadByByte) 000000a9 local $C$L35 (.text:Fapi_doMarginReadByByte) 000000b3 local $C$L36 (.text:Fapi_doMarginReadByByte) 000000bb local $C$L37 (.text:Fapi_doMarginReadByByte) 000000bd local $C$L38 (.text:Fapi_doMarginReadByByte) 00000055 local $C$L39 (.text:Fapi_doMarginRead) 08008073 local $C$L4 (.text:_Fapi_loopRegionForValueByByte) 00000697 0000005f local $C$L40 (.text:Fapi_doMarginRead) 00000067 local $C$L41 (.text:Fapi_doMarginRead) 0000007f local $C$L42 (.text:Fapi_doMarginRead) 00000091 local $C$L43 (.text:Fapi_doMarginRead) 00000097 local $C$L44 (.text:Fapi_doMarginRead) 000000a1 local $C$L45 (.text:Fapi_doMarginRead) 000000a3 local $C$L46 (.text:Fapi_doMarginRead) 000000b9 local $C$L47 (.text:Fapi_doMarginRead) 000000bd local $C$L48 (.text:Fapi_doMarginRead) 000000df local $C$L49 (.text:Fapi_doMarginRead) 08008077 local $C$L5 (.text:_Fapi_loopRegionForValueByByte) 0000069b 000000e9 local $C$L50 (.text:Fapi_doMarginRead) 000000f1 local $C$L51 (.text:Fapi_doMarginRead) 000000f3 local $C$L52 (.text:Fapi_doMarginRead) 08008079 local $C$L6 (.text:_Fapi_loopRegionForValueByByte) 0000069d 00000025 local $C$L7 (.text:_Fapi_loopRegionForValue) 00000045 local $C$L8 (.text:_Fapi_loopRegionForValue) 0000004f local $C$L9 (.text:_Fapi_loopRegionForValue) 08007f3c local $d (.text:_Fapi_checkRegionForValueByByte) 00000560 000000fc local $d (.text:_Fapi_checkRegionForValue) 000000c0 local $d (.text:Fapi_doMarginReadByByte) 000000f8 local $d (.text:Fapi_doMarginRead) 08008030 local $t (.text:_Fapi_loopRegionForValueByByte) 00000654 00000000 local $t (.text:_Fapi_loopRegionForValue) 080081c8 local $t (.text:Fapi_flushPipeline) 000007ec 08007e40 local $t (.text:_Fapi_checkRegionForValueByByte) 00000464 00000000 local $t (.text:_Fapi_checkRegionForValue) 00000000 local $t (.text:Fapi_doMarginReadByByte) 00000000 local $t (.text:Fapi_doMarginRead) 00000000 local .text (.text) 00000000 local .text:Fapi_doMarginRead (.text:Fapi_doMarginRead) 00000000 local .text:Fapi_doMarginReadByByte (.text:Fapi_doMarginReadByByte) 080081c8 local .text:Fapi_flushPipeline (.text:Fapi_flushPipeline) 000007ec 00000000 local .text:_Fapi_checkRegionForValue (.text:_Fapi_checkRegionForValue) 08007e40 local .text:_Fapi_checkRegionForValueByByte (.text:_Fapi_checkRegionForValueByByte) 00000464 00000000 local .text:_Fapi_loopRegionForValue (.text:_Fapi_loopRegionForValue) 08008030 local .text:_Fapi_loopRegionForValueByByte (.text:_Fapi_loopRegionForValueByByte) 00000654 00000001 global Fapi_doMarginRead (.text:Fapi_doMarginRead) 00000001 global Fapi_doMarginReadByByte (.text:Fapi_doMarginReadByByte) 080081c9 global Fapi_flushPipeline (.text:Fapi_flushPipeline) 000007ed 00000001 global _Fapi_checkRegionForValue (.text:_Fapi_checkRegionForValue) 08007e41 global _Fapi_checkRegionForValueByByte (.text:_Fapi_checkRegionForValueByByte) 00000465 00000001 global _Fapi_loopRegionForValue (.text:_Fapi_loopRegionForValue) 08008031 global _Fapi_loopRegionForValueByByte (.text:_Fapi_loopRegionForValueByByte) 00000655 ================================================================================ F021_API_CortexR4_BE_v3D16.lib : Utilities.obj Run/Load Value Binding Name (Section) -------- -------- --------------- 08008144 local $C$CON1 (.text:Fapi_waitDelay) 00000768 08008220 local $C$CON3 (.text:Fapi_calculateEcc) 00000844 08008181 local $C$DW$L$Fapi_calculateFletcherChecksum$3$B (.text:Fapi_calculateFletcherChecksum) 000007a5 08008185 local $C$DW$L$Fapi_calculateFletcherChecksum$3$E (.text:Fapi_calculateFletcherChecksum) 000007a9 08008185 local $C$DW$L$Fapi_calculateFletcherChecksum$4$B (.text:Fapi_calculateFletcherChecksum) 000007a9 08008199 local $C$DW$L$Fapi_calculateFletcherChecksum$4$E (.text:Fapi_calculateFletcherChecksum) 000007bd 08008133 local $C$DW$L$Fapi_waitDelay$3$B (.text:Fapi_waitDelay) 00000757 08008133 local $C$DW$L$Fapi_waitDelay$3$E (.text:Fapi_waitDelay) 00000757 08008133 local $C$DW$L$Fapi_waitDelay$4$B (.text:Fapi_waitDelay) 00000757 08008139 local $C$DW$L$Fapi_waitDelay$4$E (.text:Fapi_waitDelay) 0000075d 08008139 local $C$DW$L$Fapi_waitDelay$5$B (.text:Fapi_waitDelay) 0000075d 0800813f local $C$DW$L$Fapi_waitDelay$5$E (.text:Fapi_waitDelay) 00000763 080081f1 local $C$DW$L$_Fapi_divideUnsignedLong$2$B (.text:_Fapi_divideUnsignedLong) 00000815 080081fd local $C$DW$L$_Fapi_divideUnsignedLong$2$E (.text:_Fapi_divideUnsignedLong) 00000821 080081fd local $C$DW$L$_Fapi_divideUnsignedLong$3$B (.text:_Fapi_divideUnsignedLong) 00000821 08008201 local $C$DW$L$_Fapi_divideUnsignedLong$3$E (.text:_Fapi_divideUnsignedLong) 00000825 08008201 local $C$DW$L$_Fapi_divideUnsignedLong$4$B (.text:_Fapi_divideUnsignedLong) 00000825 08008205 local $C$DW$L$_Fapi_divideUnsignedLong$4$E (.text:_Fapi_divideUnsignedLong) 00000829 080081f1 local $C$L1 (.text:_Fapi_divideUnsignedLong) 00000815 08008201 local $C$L2 (.text:_Fapi_divideUnsignedLong) 00000825 08008209 local $C$L3 (.text:_Fapi_divideUnsignedLong) 0000082d 08008181 local $C$L4 (.text:Fapi_calculateFletcherChecksum) 000007a5 08008199 local $C$L5 (.text:Fapi_calculateFletcherChecksum) 000007bd 08008133 local $C$L6 (.text:Fapi_waitDelay) 00000757 08008139 local $C$L7 (.text:Fapi_waitDelay) 0000075d 08008141 local $C$L8 (.text:Fapi_waitDelay) 00000765 08008144 local $d (.text:Fapi_waitDelay) 00000768 08008220 local $d (.text:Fapi_calculateEcc) 00000844 0800824e local $t (.text:_Fapi_scaleCycleValues) 00000872 080081ea local $t (.text:_Fapi_divideUnsignedLong) 0000080e 08008174 local $t (.text:Fapi_calculateFletcherChecksum) 00000798 0800826c local $t (.text:_Fapi_calculateOtpChecksum) 00000890 08008118 local $t (.text:Fapi_waitDelay) 0000073c 0800820c local $t (.text:Fapi_calculateEcc) 00000830 00000000 local .text (.text) 0800820c local .text:Fapi_calculateEcc (.text:Fapi_calculateEcc) 00000830 08008174 local .text:Fapi_calculateFletcherChecksum (.text:Fapi_calculateFletcherChecksum) 00000798 08008118 local .text:Fapi_waitDelay (.text:Fapi_waitDelay) 0000073c 0800826c local .text:_Fapi_calculateOtpChecksum (.text:_Fapi_calculateOtpChecksum) 00000890 080081ea local .text:_Fapi_divideUnsignedLong (.text:_Fapi_divideUnsignedLong) 0000080e 0800824e local .text:_Fapi_scaleCycleValues (.text:_Fapi_scaleCycleValues) 00000872 0800820d global Fapi_calculateEcc (.text:Fapi_calculateEcc) 00000831 08008175 global Fapi_calculateFletcherChecksum (.text:Fapi_calculateFletcherChecksum) 00000799 08008119 global Fapi_waitDelay (.text:Fapi_waitDelay) 0000073d 08008139 local NOP (.text:Fapi_waitDelay) 0000075d 0800826d global _Fapi_calculateOtpChecksum (.text:_Fapi_calculateOtpChecksum) 00000891 080081eb global _Fapi_divideUnsignedLong (.text:_Fapi_divideUnsignedLong) 0000080f 0800824f global _Fapi_scaleCycleValues (.text:_Fapi_scaleCycleValues) 00000873 ================================================================================ F021_API_CortexR4_BE_v3D16.lib : Init.obj Run/Load Value Binding Name (Section) -------- -------- --------------- 08007fe0 local $C$CON1 (.text:Fapi_initializeAPI) 00000604 000163a0 local $Ven$AT$L$PI$$Fapi_initializeAPI (.tramp.Fapi_initializeAPI.1) 000163a0 local $a (.tramp.Fapi_initializeAPI.1) 08007fe0 local $d (.text:Fapi_initializeAPI) 00000604 000163a8 local $d (.tramp.Fapi_initializeAPI.1) 08007f98 local $t (.text:Fapi_initializeAPI) 000005bc 080079a8 local .bss (.bss) 00000000 local .text (.text) 08007f98 local .text:Fapi_initializeAPI (.text:Fapi_initializeAPI) 000005bc 080079a8 global Fapi_GlobalInit (.bss) 08007f99 global Fapi_initializeAPI (.text:Fapi_initializeAPI) 000005bd ================================================================================ F021_API_CortexR4_BE_v3D16.lib : FlashStateMachine.obj Run/Load Value Binding Name (Section) -------- -------- --------------- 08008170 local $C$CON1 (.text:Fapi_setActiveFlashBank) 00000794 00000028 local $C$CON10 (.text:Fapi_enableBanksForOtpWrite) 00000020 local $C$CON11 (.text:Fapi_disableBanksForOtpWrite) 080080c4 local $C$CON2 (.text:_Fapi_setupSectorsForWrite) 000006e8 0800802c local $C$CON3 (.text:_Fapi_issueFsmCommand) 00000650 00000038 local $C$CON4 (.text:Fapi_writeEwaitValue) 08007d08 local $C$CON5 (.text:_Fapi_setupFlashStateMachine) 0000032c 08007d0c local $C$CON6 (.text:_Fapi_setupFlashStateMachine) 00000330 08007d10 local $C$CON7 (.text:_Fapi_setupFlashStateMachine) 00000334 00000038 local $C$CON8 (.text:Fapi_issueFsmSuspendCommand) 08008268 local $C$CON9 (.text:Fapi_getFsmStatus) 0000088c 08007a1d local $C$DW$L$_Fapi_setupFlashStateMachine$2$B (.text:_Fapi_setupFlashStateMachine) 00000041 08007a21 local $C$DW$L$_Fapi_setupFlashStateMachine$2$E (.text:_Fapi_setupFlashStateMachine) 00000045 08007a21 local $C$DW$L$_Fapi_setupFlashStateMachine$3$B (.text:_Fapi_setupFlashStateMachine) 00000045 08007a29 local $C$DW$L$_Fapi_setupFlashStateMachine$3$E (.text:_Fapi_setupFlashStateMachine) 0000004d 08008093 local $C$L1 (.text:_Fapi_setupSectorsForWrite) 000006b7 08007cf1 local $C$L10 (.text:_Fapi_setupFlashStateMachine) 00000315 08008169 local $C$L11 (.text:Fapi_setActiveFlashBank) 0000078d 0800816d local $C$L12 (.text:Fapi_setActiveFlashBank) 00000791 080080b3 local $C$L2 (.text:_Fapi_setupSectorsForWrite) 000006d7 080080b7 local $C$L3 (.text:_Fapi_setupSectorsForWrite) 000006db 080080c1 local $C$L4 (.text:_Fapi_setupSectorsForWrite) 000006e5 08007a1d local $C$L5 (.text:_Fapi_setupFlashStateMachine) 00000041 08007a33 local $C$L6 (.text:_Fapi_setupFlashStateMachine) 00000057 08007a35 local $C$L7 (.text:_Fapi_setupFlashStateMachine) 00000059 08007ce7 local $C$L8 (.text:_Fapi_setupFlashStateMachine) 0000030b 08007ced local $C$L9 (.text:_Fapi_setupFlashStateMachine) 00000311 00016358 local $Ven$AT$L$PI$$Fapi_getFsmStatus (.tramp.Fapi_getFsmStatus.1) 0001637c local $Ven$AT$L$PI$$Fapi_setActiveFlashBank (.tramp.Fapi_setActiveFlashBank.1) 00016358 local $a (.tramp.Fapi_getFsmStatus.1) 0001637c local $a (.tramp.Fapi_setActiveFlashBank.1) 080080c4 local $d (.text:_Fapi_setupSectorsForWrite) 000006e8 0800802c local $d (.text:_Fapi_issueFsmCommand) 00000650 00000038 local $d (.text:Fapi_writeEwaitValue) 08007d08 local $d (.text:_Fapi_setupFlashStateMachine) 0000032c 08008170 local $d (.text:Fapi_setActiveFlashBank) 00000794 00000038 local $d (.text:Fapi_issueFsmSuspendCommand) 08008268 local $d (.text:Fapi_getFsmStatus) 0000088c 00000028 local $d (.text:Fapi_enableBanksForOtpWrite) 00000020 local $d (.text:Fapi_disableBanksForOtpWrite) 00016360 local $d (.tramp.Fapi_getFsmStatus.1) 00016384 local $d (.tramp.Fapi_setActiveFlashBank.1) 08008084 local $t (.text:_Fapi_setupSectorsForWrite) 000006a8 08007fe4 local $t (.text:_Fapi_issueFsmCommand) 00000608 00000000 local $t (.text:Fapi_writeEwaitValue) 08007a0c local $t (.text:_Fapi_setupFlashStateMachine) 00000030 08008148 local $t (.text:Fapi_setActiveFlashBank) 0000076c 00000000 local $t (.text:Fapi_issueFsmSuspendCommand) 08008260 local $t (.text:Fapi_getFsmStatus) 00000884 00000000 local $t (.text:Fapi_enableBanksForOtpWrite) 00000000 local $t (.text:Fapi_disableBanksForOtpWrite) 00000000 local $t (.text:Fapi_connectFlashPumpToCpu) 00000000 local .text (.text) 00000000 local .text:Fapi_connectFlashPumpToCpu (.text:Fapi_connectFlashPumpToCpu) 00000000 local .text:Fapi_disableBanksForOtpWrite (.text:Fapi_disableBanksForOtpWrite) 00000000 local .text:Fapi_enableBanksForOtpWrite (.text:Fapi_enableBanksForOtpWrite) 08008260 local .text:Fapi_getFsmStatus (.text:Fapi_getFsmStatus) 00000884 00000000 local .text:Fapi_issueFsmSuspendCommand (.text:Fapi_issueFsmSuspendCommand) 08008148 local .text:Fapi_setActiveFlashBank (.text:Fapi_setActiveFlashBank) 0000076c 00000000 local .text:Fapi_writeEwaitValue (.text:Fapi_writeEwaitValue) 08007fe4 local .text:_Fapi_issueFsmCommand (.text:_Fapi_issueFsmCommand) 00000608 08007a0c local .text:_Fapi_setupFlashStateMachine (.text:_Fapi_setupFlashStateMachine) 00000030 08008084 local .text:_Fapi_setupSectorsForWrite (.text:_Fapi_setupSectorsForWrite) 000006a8 00000001 global Fapi_connectFlashPumpToCpu (.text:Fapi_connectFlashPumpToCpu) 00000001 global Fapi_disableBanksForOtpWrite (.text:Fapi_disableBanksForOtpWrite) 00000001 global Fapi_enableBanksForOtpWrite (.text:Fapi_enableBanksForOtpWrite) 08008261 global Fapi_getFsmStatus (.text:Fapi_getFsmStatus) 00000885 00000001 global Fapi_issueFsmSuspendCommand (.text:Fapi_issueFsmSuspendCommand) 08008149 global Fapi_setActiveFlashBank (.text:Fapi_setActiveFlashBank) 0000076d 00000001 global Fapi_writeEwaitValue (.text:Fapi_writeEwaitValue) 08007fe5 global _Fapi_issueFsmCommand (.text:_Fapi_issueFsmCommand) 00000609 08007a0d local _Fapi_setupFlashStateMachine (.text:_Fapi_setupFlashStateMachine) 00000031 08008085 global _Fapi_setupSectorsForWrite (.text:_Fapi_setupSectorsForWrite) 000006a9 ================================================================================ F021_API_CortexR4_BE_v3D16.lib : FlashStateMachine.obj Run/Load Value Binding Name (Section) -------- -------- --------------- 0000005c local $C$CON1 (.text:Fapi_remapEccAddress) 00000048 local $C$CON10 (.text:Fapi_isAddressEcc) 0000004c local $C$CON11 (.text:Fapi_isAddressEcc) 08008238 local $C$CON12 (.text:Fapi_checkFsmForReady) 0000085c 00000060 local $C$CON2 (.text:Fapi_remapEccAddress) 00000064 local $C$CON3 (.text:Fapi_remapEccAddress) 00000068 local $C$CON4 (.text:Fapi_remapEccAddress) 0000006c local $C$CON5 (.text:Fapi_remapEccAddress) 00000070 local $C$CON6 (.text:Fapi_remapEccAddress) 00000074 local $C$CON7 (.text:Fapi_remapEccAddress) 00000040 local $C$CON8 (.text:Fapi_isAddressEcc) 00000044 local $C$CON9 (.text:Fapi_isAddressEcc) 00000013 local $C$L1 (.text:Fapi_remapEccAddress) 0000002d local $C$L10 (.text:Fapi_isAddressEcc) 00000039 local $C$L11 (.text:Fapi_isAddressEcc) 0000003b local $C$L12 (.text:Fapi_isAddressEcc) 08008233 local $C$L13 (.text:Fapi_checkFsmForReady) 00000857 08008235 local $C$L14 (.text:Fapi_checkFsmForReady) 00000859 00000021 local $C$L2 (.text:Fapi_remapEccAddress) 0000002d local $C$L3 (.text:Fapi_remapEccAddress) 00000041 local $C$L4 (.text:Fapi_remapEccAddress) 00000049 local $C$L5 (.text:Fapi_remapEccAddress) 00000051 local $C$L6 (.text:Fapi_remapEccAddress) 00000057 local $C$L7 (.text:Fapi_remapEccAddress) 00000013 local $C$L8 (.text:Fapi_isAddressEcc) 00000021 local $C$L9 (.text:Fapi_isAddressEcc) 00016364 local $Ven$AT$L$PI$$Fapi_checkFsmForReady (.tramp.Fapi_checkFsmForReady.1) 00016364 local $a (.tramp.Fapi_checkFsmForReady.1) 0000005c local $d (.text:Fapi_remapEccAddress) 00000040 local $d (.text:Fapi_isAddressEcc) 08008238 local $d (.text:Fapi_checkFsmForReady) 0000085c 0001636c local $d (.tramp.Fapi_checkFsmForReady.1) 00000000 local $t (.text:Fapi_remapEccAddress) 00000000 local $t (.text:Fapi_isAddressEcc) 08008224 local $t (.text:Fapi_checkFsmForReady) 00000848 00000000 local .text (.text) 08008224 local .text:Fapi_checkFsmForReady (.text:Fapi_checkFsmForReady) 00000848 00000000 local .text:Fapi_isAddressEcc (.text:Fapi_isAddressEcc) 00000000 local .text:Fapi_remapEccAddress (.text:Fapi_remapEccAddress) 08008225 global Fapi_checkFsmForReady (.text:Fapi_checkFsmForReady) 00000849 00000001 global Fapi_isAddressEcc (.text:Fapi_isAddressEcc) 00000001 global Fapi_remapEccAddress (.text:Fapi_remapEccAddress) ================================================================================ <linker> Run/Load Value Binding Name (Section) -------- -------- --------------- 0001b6c0 local $d (.cinit..data.load) ================================================================================
Hi Richard,
In your map file you have the 3 user defined functions which are not in the object library running from Flash:
0001023c Fapi_serviceWatchdogTimer
0001024c Fapi_setupEepromSectorEnable
00010278 Fapi_setupBankSectorEnable
Hi John,
The problem is solved!
Basically I placed the 3 functions you identified and the Fls_EraseSector function attached to my original post in the flashapi section using the syntax:
#pragma CODE_SECTION(Fls_EraseSector, ".flashapi")
Thanks for your help.
Regards
Richard
When I add .flashapi section - I get linking warning:
"../source/sys_link.cmd", line 33: warning #10068-D: no matching section
any ideas how to fix it ?
You need to add a .flashapi section to your sys_link.cmd file.
For Example:
/*----------------------------------------------------------------------------*/
/* TMS570LS313xFlashLnk.cmd */
/* */
/* (c) Texas Instruments 2011, All rights reserved. */
/* */
/* USER CODE BEGIN (0) */
/* USER CODE END */
/*----------------------------------------------------------------------------*/
/* Linker Settings */
--retain="*(.intvecs)"
/*----------------------------------------------------------------------------*/
/* Memory Map */
MEMORY{
VECTORS (X) : origin=0x00000000 length=0x00000020
FLASH0 (RX) : origin=0x00000020 length=0x0017FFE0
FLASH1 (RX) : origin=0x00180000 length=0x00180000
STACKS (RW) : origin=0x08000000 length=0x00001300
RAM (RW) : origin=0x08001300 length=0x0003ED00
}
/*----------------------------------------------------------------------------*/
/* Section Configuration */
SECTIONS{
.intvecs : {} > VECTORS
.text : {} > FLASH0 | FLASH1
.const : {} > FLASH0 | FLASH1
.cinit : {} > FLASH0 | FLASH1
.pinit : {} > FLASH0 | FLASH1
.bss : {} > RAM
.data : {} > RAM
.flashapi : load > FLASH0 | FLASH1, run > RAM {F021_API_CortexR4_BE_v3D16.lib(.text)}
}
/*----------------------------------------------------------------------------*/
Hi Greg,
I think it would be useful if we could see your sys_link.cmd file. Could you please post it?
Regards,
Richard
Hi Greg,
I agree with Richard. It would be easier to figure this out if you would post your sys_link.cmd file.