Hello Wang,
To use image correctly, I set my applicaton link cmd settings like this ;
------------------------------------------------------------------------------------------------------------------------------
/* Linker Settings */
--retain="*(.intvecs)"
/* USER CODE BEGIN (1) */
/* USER CODE END */
/*----------------------------------------------------------------------------*/
/* Memory Map */
MEMORY
{
/* USER CODE BEGIN (2) */
/* USER CODE END */
VECTORS (X) : origin=0x00200000 length=0x00000020
FLASH0 (RX) : origin=0x00000000 length=0x00200000
FLASH1 (RX) : origin=0x00200020 length=0x001FFFE0
RAM (RWX) : origin=0x08002000 length=0x0007E000
STACK (RW) : origin=0x08000000 length=0x00002000
}
/*----------------------------------------------------------------------------*/
/* Section Configuration */
SECTIONS
{
/* USER CODE BEGIN (5) * flashAPI added from MecitPMK!/
/* USER CODE END */
.intvecs : {} > VECTORS
.text align(32) : {} > FLASH1
.const align(32) : {} > FLASH1
.cinit align(32) : {} > FLASH1
.pinit align(32) : {} > FLASH1
.bss : {} > RAM
.data : {} > RAM
.sysmem : {} > RAM
flashAPI:
{
--library= "c:\ti\Hercules\F021 Flash API\02.01.01\F021_API_CortexR4_BE_L2FMC.lib" (.text, .data)
} palign=8 load = FLASH1 , run = RAM, LOAD_START(apiLoadStarts), RUN_START(apiRunStarts), SIZE(apiLoadSizes)
}
------------------------------------------------------------------------------------------------------------------------------
İn my Bootloader link cmd settings are like that ;
------------------------------------------------------------------------------------------------------------------------------
MEMORY
{
/* USER CODE BEGIN (2) */
VECTORS (X) : origin=0x00000000 length=0x00000020 vfill = 0xffffffff
FLASH0 (RX) : origin=0x00000020 length=0x001FFFE0 vfill = 0xffffffff
FLASH1 (RX) : origin=0x00200000 length=0x00200000 vfill = 0xffffffff
RAM (RWX) : origin=0x08002000 length=0x0007E000
STACK (RW) : origin=0x08000000 length=0x00002000
#if 1
ECC_VEC (R) : origin=(0xf0400000 + (start(VECTORS) >> 3))
length=(size(VECTORS) >> 3)
ECC={algorithm=algoL2R5F021, input_range=VECTORS}
ECC_FLA0 (R) : origin=(0xf0400000 + (start(FLASH0) >> 3))
length=(size(FLASH0) >> 3)
ECC={algorithm=algoL2R5F021, input_range=FLASH0 }
ECC_FLA1 (R) : origin=(0xf0400000 + (start(FLASH1) >> 3))
length=(size(FLASH1) >> 3)
ECC={algorithm=algoL2R5F021, input_range=FLASH1 }
#endif
/* USER CODE END */
}
/* USER CODE BEGIN (4) */
ECC
{
algoL2R5F021 : address_mask = 0xfffffff8 /* Address Bits 31:3 */
hamming_mask = R4 /* Use R4/R5 build in Mask */
parity_mask = 0x0c /* Set which ECC bits are Even and Odd parity */
mirroring = F021 /* RM57Lx and TMS570LCx are build in F021 */
}
/* USER CODE END */
/*----------------------------------------------------------------------------*/
/* Section Configuration */
SECTIONS
{
/* USER CODE BEGIN (5) */
/* USER CODE END */
.intvecs : {} > VECTORS
.text align(32) : {} > FLASH0
.const align(32) : {} > FLASH0
.cinit align(32) : {} > FLASH0
.pinit align(32) : {} > FLASH0
.bss : {} > RAM
.data : {} > RAM
.sysmem : {} > RAM
//.MYSECTION : {} > MYSTACK
flashAPI:
{
.\Boot\Fapi_UserDefinedFunctions.obj (.text)
.\Boot\bl_flash.obj (.text, .data)
--library= "c:\ti\Hercules\F021 Flash API\02.01.01\F021_API_CortexR4_BE_L2FMC.lib" (.text, .data)
} palign=8 load = FLASH0 , run = RAM, LOAD_START(apiLoadStart), RUN_START(apiRunStart), SIZE(apiLoadSize)
}
------------------------------------------------------------------------------------------------------------------------------
Also , App start adress is defined as : 0x0020020
App Status adress is defined as : 0x0020000
When I change image's cmd link settings , when the bootloader jump new image is not working.
By the way, in the new image cmd link settings , although I delete flash api section from settings, program still doesn't work if the settings are changed from default.
Please Help Mr.Wang.