Thread 中讨论的其他器件: SYSBIOS
工具/软件:TI-RTOS
您好!
AM5728具有2.5MB 的 OC RAM、我想将一些数据移动到该部件。
在我的 C 代码中、我具有:
#pragma DATA_SECTION (DSP_buffer、"INTRAM2")
uint32_t DSP_buffer[100];
我不使用经典链接器文件、而是使用 xdctools xs 来"配置工程"、类似于 ti 示例。
在我的 Dsp1.cfg 中、我添加了:
Program.sectMap["INTRAM2"]= new Program.SectionSpec ();
Program.sectMap["INTRAM2"]="OCMC_RAM2";
我假设这会在"Program"中创建一个新的部分。
在 config.Bld 中、我找到变量"var evmDRA7XX_ExtMemMapDsp"、它似乎是一个数组、列出了所有具有基址/长度的存储器段。
我在数组末尾添加了:
OCMC_RAM2:{
名称:"OCMC_RAM2"、
基地址:0x40400000、
Len: 0x100000、
太空:"数据"、
访问:"RW"
}
在"Build.platformTable["ti.platforms.evmDRA7XX:dsp1"]"中、我向 externalMemoryMap 数组添加了"["OCMC_RAM2"、evmDRA7XX_ExtMemMapDsp.OCMC_RAM2]。
看起来这基本上是正确的方法、但 OCMC_RAM2已在某个位置定义(在哪里?)、因此链接器会抱怨。
最后、我需要的就是:
Program.sectMap["INTRAM2"]= new Program.SectionSpec ();
Program.sectMap["INTRAM2"]="OCMC_RAM2";
在 Dsp1.cfg 中。
很好。 我花了相当多的时间到达这两条线路。 如果其他人搜索它、您可以点击这里。
您能否确认这种情况是否正常?
我错过了哪些文档?
同一个项目、不同的问题:我的机器有多个内核。 如何让 xs 一次运行多个编译器?
(重建 SYSBIOS 或 IPC 也是如此、只要它应该花费16倍的时间...)
此致、
环路2.