主题中讨论的其他器件:C2000WARE、
工具/软件:TI-RTOS
在 DSP28335中、我成功地将程序的.econst 段从闪存加载到了 RAM、参考了 SPRA958H (从 TMS320F28xxx DSP 上的内部闪存运行一个应用)、所以我尝试加载.text
从闪存到 RAM 的程序部分
首先、我在 F28335_BIOS_flash.cmd 中定义.text 段
部分
{
/***抢先链接.text 段***/
/*必须在评估 DSP/BIOS 连接器命令文件之前提供*/
.text:load = flash、page = 0
运行= L6SARAM、页= 1
run_start (_text_runstart)、
load_start (_text_loadstart)、
load_end (_text_loadend)
}
然后、我在 main 函数中将.text 段从闪存复制到 RAM
void main (void)
{
…
#ifdef example_flash
/*复制.text 段*/
memcpy (&text_runstart、
text_loadstart (&T)、
&text_loadend -&text_loadstart);
memcpy (&secureRamFuncs_runstart、
secureRamFuncs_loadstart (&S)、
secureRamFuncs_loadend -&secureRamFuncs_loadstart);
//--初始化闪存和 OTP
InitFlash();//初始化闪存
#endif
(笑声)
}
CCS 通常编译并编译程序后、我会将.out 文件刻录到 DSP28335中、但程序无法启动并运行。
在.map 文件中、.text 段被定义:
段页原点长度输入段
---- -------- ------ --------
.text 0 00300f0b 00000d66运行 ADDR = 0000e000
如何解决此问题?