工具/软件:Code Composer Studio
你(们)好。
我正在使用 C5517器件、该器件通过 EMIF 连接到外部 EPROM (CS2 @ 0x400000-0x5ffff)。
该项目使用16位或非闪存引导模式的 DSP/BIOS 5.42.2.10。
由 TI hex55生成的工程二进制映像存储在 EPROM 的开头。
在项目中、我想定义位于 EPROM 上的初始化矢量、在应用程序中直接对其进行寻址。
作为测试、我定义了矢量字符、按如下方式对其进行初始化
#pragma DATA_SECTION (charcoord、".extdata");
uint16 charcoord[10]={0、1、2、3、4、5、6、7、8、9};
其中.extdata 是在地址0x500000外部 EPROM 处定义的段。
编译我从.map 文件中看到.extdata 段未初始化的工程:
extdata 0 [ 00a00000 ] 00500000 * 0000000a 未初始化
[00a00000 ] 0050000 * 0000000a Main.obj (.extdata)
此外、TI hex55实用程序会返回以下报告:
正在将..\Debug\ReporterNextTest.out 转换为二进制格式...
".\..\Debug\ReporterNextTest.out"=>.BIOS (引导加载)
".\..\Debug\ReporterNextTest.out"=>.switch (引导加载)
".\..\Debug\ReporterNextTest.out"=>.sysinit (引导加载)
".\..\Debug\ReporterNextTest.out"=>.trcdata (引导加载)
".\..\Debug\ReporterNextTest.out"=>.data (引导加载)
"..\..\Debug\ReporterNextTest.out"=>.gblinit (引导加载)
".\..\Debug\ReporterNextTest.out"=>.const (引导加载)
".\..\Debug\ReporterNextTest.out"=>.args (引导加载)
".\..\Debug\ReporterNextTest.out"=>.trace (引导加载)
".\..\Debug\ReporterNextTest.out"=>.text (引导加载)
"..\..\Debug\ReporterNextTest.out"=>.cinit (引导加载)
"..\..\Debug\ReporterNextTest.out"=>.hwi_vec (引导加载)
".\..\Debug\ReporterNextTest.out"=>.fastcode (引导加载)
完成。
其中包含 charchoord[10]的.extdata 段似乎被跳过。
是否有办法在项目中将矢量字符串内联为直接在 EPROM 上定义的值?
换言之、.extdata 段应在二进制映像上有效分配、并通过方法编程到 EPROM
TI JTAG"编程器"实用程序的功能?