打印
[DSP编程]

DSP2407问题

[复制链接]
1100|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jzywing|  楼主 | 2014-6-19 15:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有没有人搞过,我现在用一块2407的板子控制摄像头采集图像,串口读回来的数据太大,想存在数组里。但是 定义的数组超过2K时,程序就会跑飞,搞了一天也没找到毛病,有没有高人知道怎么回事?

相关帖子

沙发
玄德| | 2014-6-19 21:43 | 只看该作者

存储器分配问题。

使用特权

评论回复
板凳
zhangmangui| | 2014-6-19 22:24 | 只看该作者
数组过大了  是不是非法修改了内存中的某些数据
想办法把数据指定到某个区试试吧

使用特权

评论回复
地板
jzywing|  楼主 | 2014-6-20 16:23 | 只看该作者
存储区域没有问题,下午我做了下外部程序RAM的读写测试 用CCS读的时候发现  写的数据  有些事白色区域的  数据可以写进去  有很多灰色的数据根本就没写进去  所以应该是这个问题  不过能不能帮我分析下  出现这个问题的原因我配置的问题还是外部的RAM本身的问题?因为我开辟的空间没问题啊

使用特权

评论回复
5
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                        /* 为动态存储器函数分配存储器空间 */

}   

使用特权

评论回复
6
jzywing|  楼主 | 2014-6-20 16:35 | 只看该作者
我从0860开始写  1000之前的都是好的  从1000之后  就变成灰色区域了  

使用特权

评论回复
7
jzywing|  楼主 | 2014-6-20 16:50 | 只看该作者
刚看了下2407存储器资源  程序是不是不能在Flash中调试哦?

使用特权

评论回复
8
玄德| | 2014-6-21 21:47 | 只看该作者
jzywing 发表于 2014-6-20 16:50
刚看了下2407存储器资源  程序是不是不能在Flash中调试哦?


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

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
jzywing + 1 喔 这样就解释通了 感谢各位
9
jzywing|  楼主 | 2014-6-27 18:01 | 只看该作者
喔  这样就解释通了 感谢各位

使用特权

评论回复
10
玄德| | 2014-6-27 20:09 | 只看该作者
jzywing 发表于 2014-6-27 18:01
喔  这样就解释通了 感谢各位


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

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


使用特权

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

本版积分规则

1

主题

6

帖子

0

粉丝