打印

急,毕设求救。DM6446,SDRAM,load program的时候data verification failed

[复制链接]
3991|32
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
txdaaron|  楼主 | 2014-4-21 21:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
毕设挺着急的,烦请各位不吝赐教。跪谢了~~。
DM6446,只使用DSP。cmd文件中将各个段定义到SDRAM中。编译没有错误,但是然后load program直接提示data verification failed at 0x80000000(这是SDRAM的起始地址,也是.map中.text段的起始地址),主要就是.text始终无法成功,然后.cinit好像也无法成功。
ps:我把段定义在sram中,是可以编译,load program,并且运行的。可以sram实在太小了,不够用,所以才需要用SDRAM。
虽然我相信各位好人不在乎分数,但是我是刚注册的,只有这么多分可以给,不好意思了。

相关帖子

沙发
小营七郎| | 2014-4-21 22:21 | 只看该作者
毕业设计用这么高级的片子?

使用特权

评论回复
板凳
txdaaron|  楼主 | 2014-4-21 22:25 | 只看该作者
嗯,做的是印刷品的在线检测。老师只有这个板子,让我用这个,说只用这板子里的DSP就够了。

使用特权

评论回复
地板
txdaaron|  楼主 | 2014-4-21 22:26 | 只看该作者
小营七郎 发表于 2014-4-21 22:21
毕业设计用这么高级的片子?

嗯,做的是印刷品的在线检测。老师只有这个板子,让我用这个,说只用这板子里的DSP就够了。

使用特权

评论回复
5
zhangmangui| | 2014-4-21 22:45 | 只看该作者
你看看.GEL中有没有对SDRAM的配置和操作

使用特权

评论回复
6
txdaaron|  楼主 | 2014-4-21 23:04 | 只看该作者
zhangmangui 发表于 2014-4-21 22:45
你看看.GEL中有没有对SDRAM的配置和操作

多谢帮忙~我又仔细找了一下,gel中就指明了SDRAM的地址和长度。倒是没有把它用在其他地方

使用特权

评论回复
7
zhangmangui| | 2014-4-21 23:08 | 只看该作者
txdaaron 发表于 2014-4-21 23:04
多谢帮忙~我又仔细找了一下,gel中就指明了SDRAM的地址和长度。倒是没有把它用在其他地方 ...

还有在CCS中注意一下字地址和字节地址  
不要搞错了

使用特权

评论回复
8
txdaaron|  楼主 | 2014-4-21 23:37 | 只看该作者
zhangmangui 发表于 2014-4-21 23:08
还有在CCS中注意一下字地址和字节地址  
不要搞错了

字地址和字节地址。我还真没仔细注意过这个,我再好好看看。多谢了~~
再请教一下,不知您请不清楚,有没有可能SDRAM比较特殊,跟SRAM不一样,使用方法上有什么特殊的?
我是先再CCS里打开arm,然后添加arm的gel,然后在“DSP boot from L2 sram”和“DSP boot from DDR ”里选择一个,在地址上来说,L2在DDR前面,我选择“DSP boot from L2 sram”,这样两块内存我就都能用,选后一个,好像只能用SDRAM。然后再在CCS中打开DSP。

使用特权

评论回复
9
zhangmangui| | 2014-4-22 23:11 | 只看该作者
txdaaron 发表于 2014-4-21 23:37
字地址和字节地址。我还真没仔细注意过这个,我再好好看看。多谢了~~
再请教一下,不知您请不清楚,有没 ...

你看看DM6446能不能和SDRAM无缝连接     如果可以那就直接读写操作就可以啦

使用特权

评论回复
10
txdaaron|  楼主 | 2014-5-15 16:24 | 只看该作者
zhangmangui 发表于 2014-4-22 23:11
你看看DM6446能不能和SDRAM无缝连接     如果可以那就直接读写操作就可以啦
...

您好,上次我提的这个问题,只有您给了我很耐心的解答。最后问题确实出在gel文件上。我的gel加载顺序不对,没能对DSP初始化、、。
今天又有问题解决不了了,又来麻烦您了,想请问一下,我用CCS怎么读入.dat文件。
.dat文件是我用matlab生成的,里面存的是十进制的数组。我想把这些数在我的CCS里用起来,最好是能放进一个矩阵,但我不知道在CCS里该怎么写这一段读取的C语句。
在网上看了不少,但都得不到准确解答,所以又来请您帮忙了。

使用特权

评论回复
11
zhangmangui| | 2014-5-15 22:47 | 只看该作者
txdaaron 发表于 2014-5-15 16:24
您好,上次我提的这个问题,只有您给了我很耐心的解答。最后问题确实出在gel文件上。我的gel加载顺序不对 ...

file下面的load   然后选择data确定就可以啦啊

使用特权

评论回复
12
zhangmangui| | 2014-5-15 22:49 | 只看该作者
txdaaron 发表于 2014-5-15 16:24
您好,上次我提的这个问题,只有您给了我很耐心的解答。最后问题确实出在gel文件上。我的gel加载顺序不对 ...

在cmd的段中.prgdat         : {} > SARAM1 PAGE 0分配  
然后在主函数中
#pragma        DATA_SECTION(ProgramDat,".prgdat")
Uint16        ProgramDat[0xFFFF];
大概方法就这样    你再试试

使用特权

评论回复
13
txdaaron|  楼主 | 2014-5-19 15:03 | 只看该作者
本帖最后由 txdaaron 于 2014-5-19 15:52 编辑
zhangmangui 发表于 2014-5-15 22:49
在cmd的段中.prgdat         : {} > SARAM1 PAGE 0分配  
然后在主函数中
#pragma        DATA_SECTION(ProgramDat,".pr ...

被老师安排出差了几天,到现在才回复您的解答,不好意思。我照着您说的试了,“file下面的load,然后选择data”确实可以把数据load进内存。
“在cmd的段中.prgdat         : {} > SARAM1 PAGE 0分配  
然后在主函数中
#pragma        DATA_SECTION(ProgramDat,".prgdat")
Uint16        ProgramDat[0xFFFF];”我做了适当修改确实也可以编译成功(我用的是C++):
#pragma  DATA_SECTION(".prgdat")
int      m2data[2160];。
但是在主函数里的这两句有什么作用呢?或者,其实,我想问一个特别菜鸟的问题,这样操作之后我怎么把那些load的数据给用起来呢?

使用特权

评论回复
14
txdaaron|  楼主 | 2014-5-19 15:10 | 只看该作者
本帖最后由 txdaaron 于 2014-5-19 15:49 编辑
zhangmangui 发表于 2014-5-15 22:49
在cmd的段中.prgdat         : {} > SARAM1 PAGE 0分配  
然后在主函数中
#pragma        DATA_SECTION(ProgramDat,".pr ...

现在我的做法是利用指针把load进来的data从内存中读出来,放进一个另外定义的int型矩阵里。
具体代码是:
int *p=(int *)0x80004000;
int a[2592];
for(i=0;i<2592;i++)
{
p=p+1;
a(i)=*p;%%  i  两侧的括号是方括号,字体原因,打不出来。
}

但是我这样操作,出现了在利用for循环把数据赋值给那个int型矩阵时,赋值不成功的问题。
现象有下面两种:

1,在跑完for循环之后发现,指针所指地址正确,但是取出来的装在int型矩阵a里的值并不正确。
2,在跑完for循环之后发现,指针p显示的地址不知什么时候已经是不正确的了。

奇怪的是,我若是一步一步的调试运行for循环里的操作,不会出现上面两种现象,结果是正确的但是我若是直接运行,一下子跑完这个for循环,就容易出现上面两种现象。
还有,我调试时若拿掉“ a(i)=*p;”这一句,直接for循环一下子跑到底,p显示的地址一直也是对的。
所以,问题也可以说成只要利用for循环对矩阵赋值,结果就容易不正确。这个问题我之前就遇到了,很是奇怪。一个元素一个元素地赋值就正确,利用for循环一下子直接赋就不正确、、、、
麻烦您再帮我分析一下,或者您有其他方法能将load进来的数据在程序中利用起来的请您指导一下,跪谢了,总麻烦您我都不好意思了,但查了很多说法,现在是实在没办法了、、、

使用特权

评论回复
15
zhangmangui| | 2014-5-19 21:40 | 只看该作者
txdaaron 发表于 2014-5-19 15:10
现在我的做法是利用指针把load进来的data从内存中读出来,放进一个另外定义的int型矩阵里。
具体代码是:
...

你参考这个代码吧  
flash_burn.zip (3.36 KB)

使用特权

评论回复
16
zhangmangui| | 2014-5-19 21:44 | 只看该作者
txdaaron 发表于 2014-5-19 15:03
被老师安排出差了几天,到现在才回复您的解答,不好意思。我照着您说的试了,“file下面的load,然后选择d ...

研究生毕业?

使用特权

评论回复
17
txdaaron|  楼主 | 2014-5-21 00:19 | 只看该作者
zhangmangui 发表于 2014-5-19 21:44
研究生毕业?

嗯嗯,还有一个多月就毕业了~

使用特权

评论回复
18
zhangmangui| | 2014-5-21 22:13 | 只看该作者
txdaaron 发表于 2014-5-21 00:19
嗯嗯,还有一个多月就毕业了~

**  加油   

使用特权

评论回复
19
aunyyuan| | 2014-8-23 10:37 | 只看该作者
zhangmangui 发表于 2014-5-15 22:47
file下面的load   然后选择data确定就可以啦啊

你好,我也有相同的问题。我用的是ccs5.5,file下面没有load选项,相关的资料也比较少,麻烦大牛指点一下

使用特权

评论回复
20
zhangmangui| | 2014-8-23 11:02 | 只看该作者
aunyyuan 发表于 2014-8-23 10:37
你好,我也有相同的问题。我用的是ccs5.5,file下面没有load选项,相关的资料也比较少,麻烦大牛指点一下 ...

CCS5.5没有安装    也没试过

使用特权

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

本版积分规则

2

主题

12

帖子

1

粉丝