TI中文支持网
TI专业的中文技术问题搜集分享网站

NAND FLASH读写及以太网通信

自制的C6678开发板,开发环境CCS5.5,现在遇到两个问题:

1、测试NAND FALSH使用论坛上下载的测试例程,读写过程中都没有出错,但读出来的数据和写的数据不一样,读出来的都是0xFFFFFFFF,查看0x70000000~0x74000000,内存内容显示的都是0x60606060,不知道这代表什么,同样的我也使用相同的工程在EVM板上跑了一遍,结果正常,对应映射到DSP的空间内容都是0xE0E0E0E0,是没有写进去吗,因为擦除完值应该都是0xFFFFFFFF?使用的FLASH型号是NAND512R3A2SZA6E,和EVM板使用的的FLASH的block、page、pagesize等参数都相同,我也改了读写的setup、strobe、hold等参数试了试,然而并没什么用。

2、以太网通信时和电脑直连能ping通且收发正常,但一旦接到局域网里就ping不同,同样的EVM板直连和接入到局域网都是工作正常的,想请教下可能是什么原因?板子本身有一个问题,因为画PCB时中间的某个地方线序不小心搞错了(只是收发的8条线的线序),然后根据错序制作了一条等效的交叉网线,理论上应该是没有问题的,但为什么连到局域网会不通,使用的以太网芯片是88E1111,应该能自适应直通线和交叉线吧。

请高手指点一下,谢谢!

Allen35065:

1. boot mode设成no boot再烧写,另外确认你的时钟是否和EVM一致;

2. MAC这边只和88E1111进行negotiation,如果link up起来了和DSP这边关系应该不大,你看看是不是有别的问题。另外8条线是指的哪个?EMAC 用的serdes没有8条线。

user4217086:

回复 Allen35065:

hi,AllenYin,

1.boot mode是设置成no boot,我的参考时钟是156.25MHz,核时钟配置成了1GHz,我测过SYSCLKOUT输出在167MHz左右,和我的EVM是一致的;

2.因为开发板不是我画的,我问了同事只说中间有个地方连线线序错了,然后根据画的PCB制作了根特定网线,很肯定的说没问题,确实直连是没问题,但插入局域网ping不同,negotiation应该是成功了,因为sgmii_init()初始化成功了,PA、CPPI、QMSS初始化都是正常的(测试用的是helloworld例程)。

还有个问题请教下,在FLASH里存储两个镜像文件,有没有什么办法在不用更新boot table的情况下任意选择加载其中某一个镜像文件启动。我看了下i2c引导nor falsh,gel文件好像是说可以存放两个镜像,默认的是image 0,偏移地址是0;但如果要启动image1,偏移地址为0xA00000的镜像文件怎么办?如果使用两个不同的芯片通过改变boot mode可以达到这样效果,现在想用一片Flash来实现,FPGA控制DSP启动的时候如何控制boorloader加载不同的起始地址?

赞(0)
未经允许不得转载:TI中文支持网 » NAND FLASH读写及以太网通信
分享到: 更多 (0)