frognelson 发表于 2014-6-3 16:26

2812外扩RAM问题求教

我现在用2812外扩了一个6416想用来仿真调试,使用的是XINTF区6,现在想LOAD程序到外扩的RAM里。CMD文件定义了程序存储器空间ZONE6为origin=0x100000,length=0x80000,后面的.reset.text .cinit .switch都是放在ZONE6里,现在一LOAD就提示错误data verification failed at address 0x100000,好像ccs根本没法识别外扩的XINTF,应该怎么做啊,多谢各位大神指点。

frognelson 发表于 2014-6-3 21:18

这个问题在百度上也见有人问过,但是都没答案,真的没人遇到过吗?

zhangmangui 发表于 2014-6-3 21:50

是c6416被外扩到了2812的XINTF6了是吧
你首先确认一下0x100000是不是此区的起始地址
应该是字地址吧   
GEL里面是不是也需要设置一下呢

frognelson 发表于 2014-6-4 09:03

zhangmangui 发表于 2014-6-3 21:50 static/image/common/back.gif
是c6416被外扩到了2812的XINTF6了是吧
你首先确认一下0x100000是不是此区的起始地址
应该是字地址吧      ...

XINTF6区起始地址是0x100000,这个反复确认过了,我看到的书里都没有讲GEL和外扩RAM的关系,我读过GEL的程序,里面也明确过了XINTF区6的地址,都没问题。

zhangmangui 发表于 2014-6-4 21:42

frognelson 发表于 2014-6-4 09:03 static/image/common/back.gif
XINTF6区起始地址是0x100000,这个反复确认过了,我看到的书里都没有讲GEL和外扩RAM的关系,我读过GEL的 ...

你在找找吧   不好说啊

玄德 发表于 2014-6-5 11:10


data verification failed at address 0x100000

这只是说该单元“校验错误”,
读回来的值,和写入的不一样。
暂时应当与CMD、gel无关。

硬件问题可能性大。
地址线、数据线、片选,都查查吧。

大秦正声 发表于 2014-6-5 16:08

程序小的话,可以在内部sram调试。
用外部的话,需要设置emif寄存器。

corset 发表于 2014-6-5 16:41

使用外部的ram,应该在DSP内部寄存器进行设置吧。

frognelson 发表于 2014-6-6 14:38

玄德 发表于 2014-6-5 11:10 static/image/common/back.gif
data verification failed at address 0x100000

这只是说该单元“校验错误”,


你说这个靠谱,我用内部RAM仿真的时候发现用数据和地址总线往外扩RAM里写数据读数据确实有问题,但是往CPLD里写和读就没问题。我查了画的PCB应该没问题,会不会是RAM的片选比数据和地址线长导致的,片选有70mm左右,最短的数据线大概是20mm。

玄德 发表于 2014-6-6 14:52

本帖最后由 玄德 于 2014-6-6 14:54 编辑

frognelson 发表于 2014-6-6 14:38 static/image/common/back.gif
你说这个靠谱,我用内部RAM仿真的时候发现用数据和地址总线往外扩RAM里写数据读数据确实有问题,但是往CP ...
既然有问题,为什么不查出来呢?

另外,原理、PCB都正确,具体到板子未必正确,查查短路、虚焊。


llf021421 发表于 2014-8-3 00:38

我也遇到这个问题,我想是需要对xintf进行初始化之后,才可以使用外部sram,所以当把程序从flash整体搬到外部的sram的时候,需要在_c_int00之前初始化xintf,也就是说要用汇编语言实现InitSysCtrl,InitXintf这二个函数的功能。这二个函数可以放在flash或内部sram中执行
不知这样理解对不对?

970253146 发表于 2016-3-8 20:55

这个我要mark一下

G_QQQQQQQQ 发表于 2016-3-9 14:21

楼主,能把你的外扩的整个工程发给我吗?我是刚开始学得菜鸟,现在正需要这一块

jjduxing123 发表于 2016-7-14 19:43

我也遇到相同的问题,楼主问题解决了吗?能不能分享下解决办法
页: [1]
查看完整版本: 2812外扩RAM问题求教