打印

AT91SAM9263调试记录(一)

[复制链接]
4920|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
深圳英贝德|  楼主 | 2009-8-10 14:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天总算可以写一个总结了。

前天周五的时候,在百特雷工,和刘工的大力支持下,总算把SPI启动的问题解决了。

到底是什么问题呢:SPI DATA FLASH本身的质量有问题造成的。
反映的现象是:从SPI DATAFLASH0地址读取数据是没有任何问题的,但是如果从中间任何一段读取数据,就有严重的地址偏移问题。

调试过程及步骤如下:

原来认为是CPUAT91SAM9263A版本和B版本)版本有问题,造成无法读取FLASH造成,反馈的现象是:

DATA FLASH启动后,会将第一段代码EBOOT.nb0,存放于DATA FLASH0X5000偏移地址,加载后,会进行WINCE的引导。

但是实际结果是:
=================================
>RomBOOT
>RomBOOT
>RomBOOT
>
INFO: Low Level Init: OK
Starting main…
AT45DB321 …
Load CE-BOOT from Flash to SDRAM
Jumping…
-
==================================
从现象上看,DATA FLASH已经找到了,也就说明SPI线路是正确的,但是为什么读的数据有问题呢?

怀疑问题有如下几个:
第一:DATA FLASHSPI本身硬件有问题,可能存在干扰。
第二:在从DATA FLASH拷贝数据到SDRAM中,出现错误,数据不正确,SDRAM初始化有问题。
第三:因我们的SPI线路和以前的版本不同,采用了MAX3002进行了隔开,怀疑MAX3002本身造成SPI线路的 不稳定。
第四:CPU版本有问题,AT91SAM9263AB版本,SPI已经改过了,就我知道的是AT91SASM9263 B版本的SPI,需要两次复位才可以工作。

相关帖子

沙发
深圳英贝德|  楼主 | 2009-8-10 14:24 | 只看该作者
一个一个怀疑的问题进行验证:

第一:SAM BA 2.8可以对SDRAM进行初始化,都可以进行读写,说明SDRAM本身硬件上无问题。
第二:DATA FLASH ,SAMBA 2.8都可以进行读写,也无任何问题,同时启动代码可以正确执行。那么就应该可以证明SPI部分是能够工作的,但是问题在于AT91SAM9263 B版本内部的ROM BOOT和AT91SAM9263 A版本的ROM BOOT有不同,那么就证明说:在SPI这个部分的初始化部分做了修正。所以,找到AT91SAM9263 B版本的SPI部分的ERR DATA SHEET。找问题。改了半天代码,问题还是依旧。
第三:实在没有办法了,2008年11月18日,找到百特的雷工,初步认定是CPU版本的问题,我自己认为自己的代码水平比较落后,请求雷工帮忙,最后验证结果如下:
        从DATA FLASH读出的数据,放到SDRAM后出现了问题,我们以前的老板子,是无问题的。可以正确将数据从DATA FLASH读出来,然后,显示在串口上。每次从DATA FLASH中读10个字节,发现读出来的数据每次都是一致的,但是就是不正确。
        没有办法,雷工也是好久没有写代码了,只好约好第二天,到白特找他们的工程师刘工,刘工是我老乡,真的够朋友,那天晚上搞到半夜,最后验证出来,现象是:从DATA FLASH偏移0X8000地址中读取的数据放到SDRA M中,某一个位置找到差不多的数据。最后给出结果:可能是AT91SAM9263 B版本可能有问题,但是最大的问题是:SDRAM工作后,影响了SPI的稳定性。

第四:太晚了,大家都各自回家了(这个时候我找百特定好了A版本的CPU,说是他们现在没货,第二天能送来),实在是没有任何头绪了,没有办法,赶快定了CPU,AT91SAM9263 A版本,恰好,百特没有货,他们老板从香港定来后,我们拿到,赶快去贴上,这个过程不过是1天的时间,下午了,下午3点就搞好,带上测试软件,跑到李工(我们焊接的师傅)那里,把工具全部架好,一测试,郁闷死了,竟然还是不行。天呀……

第五:看来A版本也不行,那只能怀疑是板的布线有问题了,因为没有别的办法可以想了,这个时候,我反倒放松了,因为我认为问题已经找到了。但是,到底是SPI的哪条线受到了干扰呢?我对百特刘工的话深信不已。实在没有办法,上午我赶快拿着A版本的板子跑到百特,找到刘工,(想把他验证的结果再重演一下,刘工改了半天,发现是从DATA FALSH的0地址,读出来数据放到SDRAM中是无问题的,一直也怀疑SDARM初始化有问题)根据这几天的测试结果,发现有一个疑点,我发现A版本的芯片,我写了一个小程序,从DATA FLASH中读取数据放到SRAM中也是不正确的。而且,和以前的测试结果完全一样。一直怀疑和芯片有关系,现在看,可以完全排除芯片AT91SAM9263的问题了。

第六:从DATA FLASH中读取数据放到SRAM中也是不正确的(我把SDRAM关闭了),我就推翻了刘工说的SDRAM对SPI DATA FLASH有干扰想法。

刘工发现是从DATA FALSH的0地址,读出来数据放到SDRAM中有大部分是相同的,这次把代码全部恢复过来,把DATA FLASH的0地址的数据放到0X23F00000(LINUX引导程序U-BOOT的地址)-0X8000的位置,这样,就可以保证在0X23F00000的位置上,有正确的U-BOOT程序。但是,等程序运行起来,还是没有得到正确的启动结果。有可能是有部分数据读出来后,还是有不正确的。

第七,实在是没有办法了,我们开始怀疑DATA FLASH有问题,恰好,我也问过我们的LISA(LISA是我们的采购,我原来一直认为这个DATA FLASH是从百特采购的,最后发现这个东西是从市场上采购来的,我很晕了,但是当时问LISA的时候,我没有放在心上,LISA说这个芯片是原装的),恰好我带上了一个我们老版本的板子,将老版本的板的DATA FLASH换上去后,完全OK了。

到现在为止:一个郁闷了我两个星期的问题终于解决了。

感谢百特雷工的帮忙和刘工的帮忙。说这个事情,已经是下午4点的事情了,买了百特的DATA FLASH,回到公司,赶快让他们全部换上新的DATA FLASH。问题解决了。

使用特权

评论回复
板凳
深圳英贝德|  楼主 | 2009-8-10 14:25 | 只看该作者
AT91SAM9263应用,英贝德科技再显身手!

鉴于现在市场的很多开发板设计和实际应用还有较大距离,在单板电脑行业积累了多年应用经验的英贝德公司特新推出EBD9263专业开发板,该产品不仅可作为AR91SAM9263B的学习工具,还可以作为实际应用的原型评估套件。

EBD9263开发板特点

    硬件资源
1.    ARM9 240MHz CPU,64MB SDRAM
2.    丰富的接口,可支持更多应用需求:GPIO(50路,可复用4路SPI和4路PWM)、RS232(7路)、USB Host(2个)
3.    优秀的人机界面支持:大屏幕LCD,最大分辨率支持1024*768
4.    10/100Mbps以太网
5.    8×8 阵列键盘
6.    AC`97音频
7.    大容量FLASH盘板载支持,目前可支持到256M
8.    CF卡(目前可支持到2G容量)
9.    板载CAN BUS现场总线
10.    更多面向应用的设计:
1)    部件选型面向实际应用,整体性能更加稳定可靠
2)    高精度晶振,时间精准
3)    标准PC104尺寸,可替换PC104板卡。

    软件资源
1.    提供WINCE 5.0及LINUX 2.6.24 BSP源代码。
2.    提供全部硬件原理图
3.    持续的软件升级

定制服务
将EBD9263作为应用评估套件使用的客户,可委托我司进行资源定制和深入开发,此为有偿服务,具体情况请联系我们的支持人员。

使用特权

评论回复
地板
古道热肠| | 2009-8-11 11:13 | 只看该作者
呵呵,说了半天,到底用的什么DataFlash芯片?搞得这么复杂.

使用特权

评论回复
5
老狼| | 2009-8-11 11:16 | 只看该作者
我比较怀疑你这个结论!
说说我的看法:我用的DATa flash 基本上都是在市场上买的,没有发现任何问题,你说的这种兼容性问题,往往都是某个批次的芯片好用,换了新的批次就不好用,很可能是你这套系统处在一种临界状态,也就是你还没找到问题的源头,要么是硬件问题,要么就是软件问题。
对于这种问题,我通常的做法是,先降频,如果降频能够能够得到正确结果,那么就肯定不是器件原因,是设计存在缺陷。再通过其他手段慢慢查。当然应首先保证你的代码是正确的。
其次,我看不懂你的测试过程,你的测试中间,很多过程,都很盲目,就一个系统的测试,完全可以单独测试某一个器件,编一段代码,就可以测试DATA flash 了,居然跟SDRAM混在一块儿测,必须先保证每一部分都是工作正常的,才能联调。
9263没有过,但是工作的过程基本上都是一样的。
我最终的结论,你还是没有找到问题源头,很可能会出现,生产一批,总有几个不好用的,但是换换元件,就好了,
嘴直,莫见怪!

使用特权

评论回复
6
老狼| | 2009-8-11 11:30 | 只看该作者
古道热肠 ,看贴不认真呀,

AT45DB321 …
Load CE-BOOT from Flash to SDRAM
Jumping…

使用特权

评论回复
7
szembed| | 2009-8-11 12:00 | 只看该作者
从回复的内容来看,老狼是位大哥,确实能水平。

但是我觉得很多东西都不是绝对的。
“对于这种问题,我通常的做法是,先降频,如果降频能够能够得到正确结果,那么就肯定不是器件原因,是设计存在缺陷。”

这个话,降频我们肯定是先测试的,就是降频也找不到正确的结果。
因为这里面涉及到几个问题,就是AT91SAM9263 A版本 和B版本的问题,内部做了改动。
有很多因素在里面。

其实,这个问题如果是刚刚入门的小伙子,可能第一步,就是换掉片子测试了!
呵呵

使用特权

评论回复
8
古道热肠| | 2009-8-12 10:52 | 只看该作者
哈哈,老狼的图片很有趣,是和坤的大头照吧.

使用特权

评论回复
9
mohanwei| | 2009-8-12 11:16 | 只看该作者
主频——布线——布局

估计还是布线的问题。

使用特权

评论回复
10
老狼| | 2009-8-12 12:21 | 只看该作者
呵呵,图片的确是和绅,我也比较胖,算是共同点吧。
7楼的兄弟,
“因为这里面涉及到几个问题,就是AT91SAM9263 A版本 和B版本的问题,内部做了改动。
有很多因素在里面。”
你的这种说法我不赞同,所以的技术问题,都是可以用123来表述的,如果不能把所有的疑点都枚举出来,就是自己还没想清楚,即便是设备能正常工作了,这里面的风险还是很大的。不要用很多因素这样的词汇。

使用特权

评论回复
11
szembed| | 2009-8-12 12:47 | 只看该作者
10楼:

我并不相信,10楼的兄弟将每个芯片1000页的DATASHEET全部看一遍。

”所以的技术问题,都是可以用123来表述的“

这点我同意。

”如果不能把所有的疑点都枚举出来,就是自己还没想清楚,即便是设备能正常工作了,这里面的风险还是很大的。不要用很多因素这样的词汇。“

这点说法我不同意。智者千虑,必有一失。
我不相信10楼的兄弟,可以把1000页的DATASHEET都读明白。

使用特权

评论回复
12
老狼| | 2009-8-12 13:35 | 只看该作者
本帖最后由 老狼 于 2009-8-12 14:20 编辑

办法总是比问题多。
我说的是 所有的疑点都枚举出来,你都怀疑哪里,还写不出来么? 通常是,研究一个问题,看了很做资料,结果这个问题还没解决,却发现对其它问题有了新的认识。就你这个问题,我觉得,如果要说问题初步解决了,最起码要找出来为什么 那个版本的 45db321不好用,这一步做完了,基本上这个问题就可以划上句号了。
做设计,总是能碰到各种各样的问题,不稀奇,你拿出来和大家分享,这很好,但是没有分析到为啥那个45db321不好用,就好像一个故事缺少最后完美的结局。

使用特权

评论回复
13
szembed| | 2009-8-12 14:26 | 只看该作者
能够感受出12楼的同志,是非常优秀的。
能够交到您这样的朋友,我非常高兴。

您说的非常好。其实这个结局非常搞笑!!!!
可能牵扯到另外一个问题,那就是华强北的黑洞!

使用特权

评论回复
14
szembed| | 2009-8-12 14:29 | 只看该作者
看到没:

这个就是深圳的华强北!
问题就出现这个芯片上。
不是芯片人家没有调试明白,而是芯片本身就存在问题。

所以,给大家提个醒:千万别拿自己的新扳子开玩笑!别到华强北买元件!最好到代理,原装厂家购买!
要不,损失时间的可就是自己拉!

使用特权

评论回复
15
McuPlayer| | 2009-8-12 14:34 | 只看该作者
否定了华强北,就否定了深圳。
去看看,深圳多少小厂家,包括做手机的/上网本的/MP3的,几乎靠的都是电子市场的配套。

使用特权

评论回复
16
szembed| | 2009-8-12 14:53 | 只看该作者
我的感觉的这样的,否定了谁,都不能否定华强北在中国电子行业的地位,但是有一点,就是我上面所写的。
不能规范市场,那就不要有市场。

买的东西是旧的,却看不出来?
买的东西是假货?
买的东西,用了1个月就坏了?

在华强北是屡见不鲜。

使用特权

评论回复
17
szembed| | 2009-8-17 17:37 | 只看该作者
看看深圳的山寨产品就知道了?

使用特权

评论回复
18
szembed| | 2009-8-17 17:38 | 只看该作者
MCUPLAYER:

在深圳的网友会上,我见过你了。
呵呵

使用特权

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

本版积分规则

15

主题

205

帖子

0

粉丝