完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本帖最后由 一只耳朵怪 于 2018-6-5 08:46 编辑
各位专家好, 最近按照beaglebone的小系统部分做了个板子,载入starterware的2.0.0.7的mlo,mlo部分的串口打印正常,显示拷贝完成开始执行。但后续的打印就没有了。 链接jtag看到,程序内容,也就是地址为0x80000000部分的内容,所有A3和A7数值为1的地址部分都是0.pc指针指向不存在的地址。 比如A3数值为1的地址部分是0,就是每隔两个长字的内容,就有两个长字的全0. 修改这些为0的内容,有时候改到旁边去了,有时候不知道改到哪里去了。不停读取内存,发现有时候有的数值在自动改变。 这应该是DDR2的配置问题吧? |
|
相关推荐
18个回答
|
|
我的板子上没有EEPROM的芯片来标示板信息,不过没什么关系吧,载入starterware的2.0.1.1的mlo,发现直接在内部ram中死循环了,因为几次连接jtag,pc指针一直在变化,但都在内部内存的范围。去掉用I2C读取EEPROM的代码,现象依旧。
用示波器去量A3和A7脚,发现在写操作时有电压变化;但WEN脚,也就是写信号一直是高电平,不知是否正常? http://processors.wiki.ti.com/index.php/AM335x_board_bringup_tips说内存的不稳定,很可能是配置问题。 我的内存就是beaglebone的那款,还专门按照芯片上的字符在内存的官方网站上确认过型号,不过用了工业级温度的,应该没区别的啊。我看了http://processors.wiki.ti.com/index.php/AM335x_EMIF_Configuration_tips,用datasheet上的参数重新填入AM335x DDR Calculation tool (.zip)计算AC timing registers,现象依旧。 这篇文档的另一篇内存参数计算,Ratio Seed Spreadsheet,是要计算线长。我看了下除了这个表中用不到的两个数据线,是D4还是多少,比其他短了300mil左右,其他的线长差距都最多在十几mil,而且数据线应该不会导致内存不稳定的吧 |
|
|
|
杀戮之神 发表于 2018-6-4 11:27 如果你用的DDR2和beaglebone上的一样,都是128M16b的,那么实际上EMIF配置这块不用改什么东西。 根据我的经验,DDR2不通,请注意一下以下几个方面: 1.请仔细检查原理图,可对照Beaglebone的原理图再仔细检查一遍,包括电阻阻值。 2.要对照beaglebone的PCB layout,以及datasheet中的布线规则,检查PCB布线是否存在较大的问题。 3.如果原理图和布线都没有大的问题,那么焊接导致的不稳定也是有的,确定一下是手摆还是贴片机焊的,镁光的DDR2肯定是不建议手摆焊接。 |
|
|
|
344868615qq 发表于 2018-6-4 11:43 1原理图检查过,ddr部分的区别应该就是把匹配电阻从33欧换成了27欧,这个应该没什么有影响吧? 2如果想确认是否信号布线等信号完整性问题,是否可以降低DDR2的频率来试验呢,如果可以的话需要修改的参数是否就只是上面提到的excel中的AC timing registers就可以了? |
|
|
|
杀戮之神 发表于 2018-6-4 12:01 顶下,望高手解答... |
|
|
|
串联电阻值的变化影响不大。 降频测试无需改动timming。 你仔细检查过地址线和高低地址使能线吗? |
|
|
|
建议从两个方面检查排查下问题:
软件配置方面:1. 你使用的MLO是针对Beaglebone板子的MLO吧,确认一下,是在beaglbone目录下的吧(StarterWare_02_00_00_07binaryarmv7acgt_ccsam335xbeaglebonebootloader),其他目录下的一些配置是DDR3的么;2. 在使用你修改的配置时,使用的EMIF和DDR PHY配置excel的时候,确定你的table页都是DDR2的吧?里面有些table页是DDR3,mDDR的。 硬件方面:根据你前面的描述,目前只要确定follow了我们布线准则,主要就是排查下焊接问题,靠谱的方式,还是量下信号线吧 |
|
|
|
|
|
|
|
那请问降低内存频率的话应该修改哪些参数呢?我是想试下看是否高频导致的时序问题。 地址线是A3和A7的数值为1的内存的内容为全0: 这点是从jtag的读取内存并依靠地址推算而来的,比如A3数值为1的地址部分是0,就是说每隔两个长字的内容,就有两个长字的全0 但量了下A3和A7引脚的电平变化,在用jtag写入相关地址时都是有跳变的: A3平时是低,写入时很短时间变为2V再恢复; A7平时是2V,写入时很短时间变为低再恢复; 高低地址使能线好像牵涉到好几根线吧,如何确认正常呢? 而且高低地址是8bit和8bit的,而我这个现象是每隔两个长字的内容,就有两个长字的全0;还有第7bit的地址线为0的内容也为0. |
|
|
|
hwjj940056201 发表于 2018-6-4 12:26 你说的软件部分,我刚才重新确认了一遍,没发现问题 焊接问题用X光检查过CPU和DDR,都没发现问题。 匹配的排阻也检查过,没发现几根线串了的问题。 那我如何确认是否布线的问题呢? 用信号完整性分析,还是降频试下呢?貌似降频比较直接,所以想问下降频的参数该如何配置,多谢! |
|
|
|
rfffwef 发表于 2018-6-4 12:40 根据板子上内存颗粒的印字,我专门在镁光内存的官网查了一下,发现和beaglebone的内存型号只有“IT”也就是工业级温度的区别。 那应该如何确认是否硬件走线的问题呢? 排版的人说reference manual 上的规则无法完全遵循,不过他排了很多板子包括600M乃至更高的ddr都没出现问题啊 |
|
|
|
杀戮之神 发表于 2018-6-4 13:23 如果是你布线或者原理设计的问题,降频也不能解决问题。 从现象看,像是地址线走虚了,其实你可以在MLO中加一些DDR的读写程序,专门去读写某些地址,看看写进去和读出来的数是否不一样,然后看看结果有没有规律。 另外再查查DDR上UDQS,UDQSN,UDM,LDQS,LDQSN,LDM,这些连线有没有什么问题 |
|
|
|
344868615qq 发表于 2018-6-4 13:35 我是想用降频来确认是哪里的问题,是否时序的问题,而不是立刻解决问题,那应该如何修改呢? 我连上jtag后用菜单中的命令来读写,有些地址的内容固定为0,有些则不是。具体就像前面所说的,每隔128个字节,就是128各字节的全0。而那不是全0的128各字节中,是每隔8各字节,就是8个字节的全0.也就是看上去A3和A7地址线为1的地址都是全0一样。但实际上A3和A7在内存写入时是有跳变,如前面说的。 写入时,这些内容为0的地方是写入可以成功,但在ccs中看内存一直是0,也就是一直没变化。同时那些非零的地方,反复读的话内容有变化,然后下次又回复到正常的内容。 刚才发现,我在jtag用ccs中的scrpts->AM335X ddr Configuration->DDR2_EMIF_config命令,全0的地方更多了,除了A7和A3为1的内容为0外,每隔一个字节就是一个0,读写的情况和以前一样,也就是写入这些数值为0的地方是无效的。这个命令应该用的是gel中的配置去配置ddr吧?我用的是beaglebone的gel。 那是否有可能,还是配置的问题呢 |
|
|
|
杀戮之神 发表于 2018-6-4 13:41 如果你用的DDR2内存颗粒,和beaglebone上的一样,都是镁光256M的,而且你的原理图和PCB布局布线都是参考beaglebone来的,那么坦白讲,软件驱动没什么好改的。 现在你用CCS已经查出了某些地址的数据异常,而且是读写不一致的异常,那么我觉得你还是检查下和地址相关的bank[0-3],DQS[0-1],DQSN[0-1],DQM[0-1]。 |
|
|
|
344868615qq 发表于 2018-6-4 13:50 问题是,我的pcb布线不是参考开发版的,当然原理图是参考开发板的…然后发现用gel中的内存配置的话,会有更多的读写不一致出现,所以想问下gel中的内存配置和mlo的内存配置区别在哪里,以便知道这种情况下如何让读写不一致消失。那几个信号在原理图上没问题,真实的板上由于bga封装不太好测吧 |
|
|
|
杀戮之神 发表于 2018-6-4 14:08 两者没有太大区别的,如果原理没什么问题现在只能考虑布线的问题了 |
|
|
|
问题已经解决,是布线的人把cpu和内存连接的其中两个线弄反了,鄙视他! |
|
|
|
是哪两根连线接反了呢,是否是我之前提到过的DDR上UDQS,UDQSN,UDM,LDQS,LDQSN,LDM,这些连线中的某两根线? |
|
|
|
是BA0和A6弄反了。以前以为地址线比如A6到A0,就是依次反映在内存的从高位到底位的地址的,bank地址是顺延到更高位的,看来这次证明不是。 这样接反后导致的内存不稳定,原因就不太明白了。 |
|
|
|
只有小组成员才能发言,加入小组>>
325 浏览 1 评论
523 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
763 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
644 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1119 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
17浏览 28评论
45浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
241浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
192浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
52浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 09:39 , Processed in 0.958347 second(s), Total 106, Slave 92 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号