我想通过XINTF接口外扩一片256k x16的RAM,烧写程序时向片外RAM中烧写,而不烧写到片内RAM中,以前没做过这方面的东西,请问我都需要做什么?听说CMD文件是一定要修改的,不知道要怎么改呢,有没有人做过这方面?请求帮助!!!
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.
片内RAM只有34K,我担心片内空间不够,所以外扩了一片256Kx16的RAM。TI有个例程:Example_2823xCodeRunFromXintf,这个例程我理解的是数据段和程序段都映射到片内RAM,只是运行的时候把程序复制到片外RAM中运行,这样说的话,程序还是load到片内RAM中了,不知道我说的对吗?根据这个例程还有上次你说的,我总结了一下步骤:
1. 初始化XINTF,我用区域7就初始化区域7;
2. 在主函数中用Memory()函数将程序从片内RAM复制到区域7中运行。
如果想直接把程序load到片外RAM中,我需要更改CMD文件中所有程序和数据段的地址,从区域7的起始地址开始分配,把所有的段都映射到区域7中。比如说在28335_RAM_lnk.cmd中这样定义:
BEGIN : origin=0x200000, length=0x000002
BooT_RSVD: origin=0x200002, length=0x00004E。。。
其它的地址都定义在区域7的地址范围内。在DSP2833x_Headers_nonBIOS.cmd中定义的片内外设地址不变,还映射到片内存储器中。