主题中讨论的其他器件:HALCOGEN
您好!
我正在尝试擦除和写入 bank0中的一个扇区 、因此根据"F021闪存 API 库无法从与 为 API 命令操作所选择的活动存储体相同的存储体中执行。 F021闪存 API 必须从 RAM 执行。" 为此、我正在尝试将 API 复制到 RAM 中。 但我得到一个警告说没有匹配段 Fapi_UserDefinedFunctions.obj 这是很奇怪,并在 DataEntry 挂起。 我用于复制到 RAM 的链接器脚本和汇编代码如下所示。 这里我需要一些支持
此致
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


