jzywing 发表于 2014-6-19 15:03

DSP2407问题

有没有人搞过,我现在用一块2407的板子控制摄像头采集图像,串口读回来的数据太大,想存在数组里。但是 定义的数组超过2K时,程序就会跑飞,搞了一天也没找到毛病,有没有高人知道怎么回事?

玄德 发表于 2014-6-19 21:43


存储器分配问题。

zhangmangui 发表于 2014-6-19 22:24

数组过大了是不是非法修改了内存中的某些数据
想办法把数据指定到某个区试试吧

jzywing 发表于 2014-6-20 16:23

存储区域没有问题,下午我做了下外部程序RAM的读写测试 用CCS读的时候发现写的数据有些事白色区域的数据可以写进去有很多灰色的数据根本就没写进去所以应该是这个问题不过能不能帮我分析下出现这个问题的原因我配置的问题还是外部的RAM本身的问题?因为我开辟的空间没问题啊

jzywing 发表于 2014-6-20 16:25

附上CMD文件

MEMORY
{
       PAGE 0: VECS: origin = 0x8000,length 0x040
       PAGE 0: PROG: origin = 0x8860,length 0x3000
       PAGE 1: B0: origin = 0x200,   length 0x100
       PAGE 1: B1: origin = 0x300,   length 0x100
       PAGE 1: DATA: origin = 0x0860,length 0x7000
}

SECTIONS
{
       .vectors: {}>VECS PAGE 0                 /* 中断向量表 */
       .text   : {}>PROG PAGE 0         /* 可执行代码和字符串 */
       .cinit    : {}>PROG PAGE 0
       .data   : {}>DATA PAGE 1      /* 初始化变量和常数表 */
       .bss      : {}>DATA PAGE 1                        /* 保留全局变量和静态变量空间 */
       .const    : {}>DATA PAGE 1                        /* 字符串和switch表 */   
           .switch   : {}>PROG PAGE 0         /* 包含.switch语句建立的表格 */
       .stack       : {}>DATA PAGE 1         /* 为系统堆栈分配存储器 */
       .system   : {}>DATA PAGE 1                        /* 为动态存储器函数分配存储器空间 */

}   

jzywing 发表于 2014-6-20 16:35

我从0860开始写1000之前的都是好的从1000之后就变成灰色区域了

jzywing 发表于 2014-6-20 16:50

刚看了下2407存储器资源程序是不是不能在Flash中调试哦?

玄德 发表于 2014-6-21 21:47

jzywing 发表于 2014-6-20 16:50 static/image/common/back.gif
刚看了下2407存储器资源程序是不是不能在Flash中调试哦?

是这样,只能在RAM仿真。
仿真和烧写,CMD文件不一样。

jzywing 发表于 2014-6-27 18:01

喔这样就解释通了 感谢各位

玄德 发表于 2014-6-27 20:09

jzywing 发表于 2014-6-27 18:01 static/image/common/back.gif
喔这样就解释通了 感谢各位


我在8L的回复不全面,重新说一下:

仿真,肯定是只能在 RAM 里,这是肯定的;
仿真、烧写,CMD文件可以一样(推荐),也可以不一样;
如果 CMD 文件是同一个,那么靠MP/MC管脚来区分。


页: [1]
查看完整版本: DSP2407问题