打印

TMS320F28335片上内存的问题

[复制链接]
2548|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
haidixibahe|  楼主 | 2013-7-23 22:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在用TMS320F28335做项目,编写程序时一直都将程序以及数据分配到0x8000~0xFFFF(SARAM)片区,以往的调试过程中也没遇到什么问题,但是由于这次编写的程序量比较大,这个片区已经存放不下了,因此,前两天我把数据存放到0x3F8000~0x3FBFFF(SARAM)片区,但是CMD文件修改好以后,每次运行程序都会跑飞,不知道是什么原因。
       后来我又做了一个测试程序,这个程序内容很少,但是发现一个奇怪的现象,只要包含main.h这个头文件,程序就会跑飞。这个头文件中包含的内容是定义了一些比较大的数组,在调试过程中观察内存数据,发现这些数组中的数据竟然不是初始定义的数值(在程序中没有对这些数组进行任何操作),而是与相应的0x008000区域的数值一样,举例来说,假如数组Data_A实际分配的地址可能是0x3F8100~0x3F8200,运行程序并把Data_A拖到watch窗口中观察,这个数组里的数据数值与地址为0x008100~0x008200的saram区域的数值相同。

相关帖子

沙发
haidixibahe|  楼主 | 2013-7-23 22:34 | 只看该作者
请各位高手帮忙看看。

使用特权

评论回复
板凳
chao11yue| | 2013-7-23 22:46 | 只看该作者
能贴上你的代码吗

使用特权

评论回复
地板
engtafanzhuan| | 2013-7-23 23:07 | 只看该作者
如果确实嫌内存小,那么就需要外扩内存,不过外扩的内存读写速度会比片内内存慢很多。

使用特权

评论回复
5
xichengmadia| | 2013-7-23 23:24 | 只看该作者
一部分一部分调可以,放在FLASH中调也可以,放在外部RAM中调也可以。

使用特权

评论回复
6
beiwaroad| | 2013-7-23 23:31 | 只看该作者
FLASH的烧写寿命有50000多次,可以放在FLASH中调,只不过电脑要快一点,仿真器要好一点,否则每次烧写FLASH都要几十秒也蛮浪费时间的。

放在外部RAM中程序会运行的比较慢,把初始化程序,不太用到的数据放到外部RAM,内部RAM中放中断程序,这种有实时性要求的程序

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

50

主题

908

帖子

0

粉丝