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.

TMS570LC4357: F021 API problem in copying data from flash to RAM

Part Number: TMS570LC4357
Other Parts Discussed in Thread: HALCOGEN

Hi,

I am trying to erase and write a sector in bank0  so according to "The F021 Flash API library cannot be executed from the same bank as the active bank selected for the API commands to operate on. the F021 Flash API must be executed from RAM."  For this I am trying to copy APIs into RAM. but I get a warning saying no matching section for Fapi_UserDefinedFunctions.obj which is kind strange and gets hung in dataEntry . my linker script and assembly code for copying into RAM are as below. I need some support here

regards

Usha

MEMORY
{
/* USER CODE BEGIN (2) */
/* USER CODE END */
    VECTORS   (X)  : origin=0x00000000 length=0x00000020
    FLASH_API (RX) : origin=0x00000020 length=0x000014E0
    FLASH0    (RX) : origin=0x00001500 length=0x001FEB00
    STACKS    (RW) : origin=0x08000000 length=0x00001500
    RAM       (RW) : origin=0x08001500 length=0x00006B00

/* USER CODE BEGIN (3) */
/* USER CODE END */
}

SECTIONS
{
/* USER CODE BEGIN (5) */
/* USER CODE END */
    .intvecs : {} > VECTORS

   flashAPI :
   {
     ../Debug/source/Fapi_UserDefinedFunctions.obj (.text)
     ../Debug/source/ra_f021.obj (.text)
     --library= F021_API_CortexR4_BE_L2FMC_V3D16.lib (.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
    .bss     : {} > RAM
    .data    : {} > RAM
    .sysmem  : {} > RAM
    FEE_TEXT_SECTION  : {} > FLASH0
    FEE_CONST_SECTION : {} > FLASH0
    FEE_DATA_SECTION  : {} > RAM

/* USER CODE BEGIN (6) */
/* USER CODE END */
}

;-------------------------------------------------------------------------------
;
; Copy the Flash API from flash to SRAM.
;

    .def     _copyAPI2RAM_
    .asmfunc

_copyAPI2RAM_

   .ref    api_load
flash_load   .word api_load
   .ref    api_run
flash_run   .word api_run
    .ref    api_size
flash_size  .word api_size

     ldr    r0, flash_load
     ldr    r1, flash_run
     ldr    r2, flash_size
     add    r2, r1, r2
copy_loop1:
     ldr     r3, [r0], #4
     str     r3, [r1], #4
     cmp     r1, r2
     blt     copy_loop1
      bx     lr

    .endasmfunc