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.
工具与软件:
您好!
我尝试使用以下链接器脚本命令将闪存 API 加载到 RAM 中。 但我希望将其加载到链接器脚本中存储器下定义的 RAM 的特定存储部分。 有人能告诉我、我如何指定它吗?
小程序
{
.flashAPI (rwx) :origin=0x0806F000 length=(0x00001000)
}
闪存 API:
{
.\Boot\SDK (.text) Fapi_User
.\Boot\bl_flash.obj (.text、.data)
--library="c:\ti\Hercules\F021 Flash API\02.01.01\F021_API_CortexR4_LE_L2FMC.lib"(.text、.data)
}palign = 8 load = FLASH0 |FLASH1、run = RAM、load_start (apiLoadStart)、run_start (apiRunStart)、size (apiLoadSize)
在这里、我希望链接器脚本生成 apiRunStart 和位于上面定义的 flashAPI 存储器部分中的其他闪存地址。
谢谢!
Ravi
尊敬的 Ravi:
很抱歉,延迟响应,我在这个平均时间的其他问题被卡住。
您可以尝试以下操作:
MEMORY { FAPI_RAM (RW) : origin=0x0806F000 length=(0x00001000) } 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_LE_L2FMC.lib" (.text, .data) } palign=8 load = FLASH0 |FLASH1, run = FAPI_RAM, LOAD_START(apiLoadStart), RUN_START(apiRunStart), SIZE(apiLoadSize)
完成此操作后、apiRunStart 将映射到 FAPI_RAM 部分(这是我们的必需部分)中的地址。
因此、在主循环中、如果您调用以下函数、则闪存中的代码将移至 RAM 中的所需段。
memcpy (&apiRunStart、&apiLoadStart、(UINT32)&apiLoadSize);
——
谢谢、此致、
Jagadish。