TI中文支持网
TI专业的中文技术问题搜集分享网站

AM5728的memory map问题

根据这个文档:http://processors.wiki.ti.com/index.php/Linux_IPC_on_AM57xx?keyMatch=am57xx%20ipc&tisearch=Search-EN-Everything#Changing_the_DSP_Memory_Map 

里说到:The physical location where the DSP code/data will actually reside is defined by the CMA carveout

而DSP1的CMA定义在0X9900000,可是TI自己给出的例子里DSP TEXT 和DATA都定在了0X95000000

在rsc_table_vayu_dsp.c里

#define DSP_MEM_TEXT 0x95000000
/* Co-locate alongside TILER region for easier flushing */
#define DSP_MEM_IOBUFS 0x80000000
#define DSP_MEM_DATA 0x95100000
#define DSP_MEM_HEAP 0x95600000

这是为什么?而且0X95800000就是IPU2 的CMA了,于是DSP的TEXT DATA空间只有8M?

我尝试过修改这几个宏设定和BLD文件,把DSP_MEM_TEXT指向0X99000000,编译能通过,但装载代码时提示

C66xx_DSP1: File Loader: Verification failed: Values at address 0x997A2811 do not match Please verify target memory and memory map.
C66xx_DSP1: GEL: File: E:/AM5728\ivt5728_dsp_with_ipc\Debug\ivt5728_dsp_with_ipc.out: a data verification error occurred, file load failed.

我的目的是想吧DSP的 CODE DATA 都分回去0X99000000的地址段,让CODE DATA HEAP能得到 更大的地址,请问该如何修改?

Denny%20Yang99373:

device tree里面定义的是实际物理地址,系统启动的时候预留给DSP使用
在DSP的代码里定义的是DSP运行的虚拟的地址,ARM会帮DSP建立MMU映射表

赞(0)
未经允许不得转载:TI中文支持网 » AM5728的memory map问题
分享到: 更多 (0)