您现在的位置:智能制造网>技术中心>AT91SAM9263调试总结

直播推荐

更多>

企业动态

更多>

推荐展会

更多>

AT91SAM9263调试总结

2009年08月10日 15:21:53人气:2028来源:深圳市英贝德科技有限公司

 

AT91SAM9263调试总结
 
深圳市英贝德科技有限公司
2009年2月
 
今天总算可以写一个总结了。
 
前天周五的时候,在百特雷工,和刘工的大力支持下,总算把SPI启动的问题解决了。
 
到底是什么问题呢:
 
       SPI DATA FLASH本身的质量有问题造成的。
 
反映的现象是:从SPI DATAFLASH的0地址读取数据是没有任何问题的,但是如果从中间任何一段读取数据,就有严重的地址偏移问题。
 
调试过程及步骤如下:
 
 
原来认为是CPU(AT91SAM9263有A版本和B版本)版本有问题,造成无法读取FLASH造成,反馈的现象是:
 
当DATA FLASH启动后,会将*段代码EBOOT.nb0,存放于DATA FLASH的0X5000偏移地址,加载后,会进行WINCE的引导。
 
但是实际结果是:
 
从现象上看,DATA FLASH已经找到了,也就说明SPI线路是正确的,但是为什么读的数据有问题呢?
 
怀疑问题有如下几个:
*:DATA FLASH的SPI本身硬件有问题,可能存在干扰。
第二:在从DATA FLASH拷贝数据到SDRAM中,出现错误,数据不正确,SDRAM初始化有问题。
第三:因我们的SPI线路和以前的版本不同,采用了MAX3002进行了隔开,怀疑MAX3002本身造成SPI线路的 不稳定。
第四:CPU版本有问题,AT91SAM9263从A到B版本,SPI已经改过了,就我知道的是AT91SASM9263 B版本的SPI,需要两次复位才可以工作。
 
一个一个怀疑的问题进行验证:
 
*: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版本的问题,我自己认为自己的代码水平比较落后,请求雷工帮忙,zui后验证结果如下:
       从DATA FLASH读出的数据,放到SDRAM后出现了问题,我们以前的老板子,是无问题的。可以正确将数据从DATA FLASH读出来,然后,显示在串口上。每次从DATA FLASH中读10个字节,发现读出来的数据每次都是一致的,但是就是不正确。
      
没有办法,雷工也是好久没有写代码了,只好约好第二天,到白特找他们的工程师刘工,刘工是我老乡,真的够朋友,那天晚上搞到半夜,zui后验证出来,现象是:从DATA FLASH偏移0X8000地址中读取的数据放到SDRA M中,某一个位置找到差不多的数据。zui后给出结果:可能是AT91SAM9263 B版本可能有问题,但是zui大的问题是: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是从百特采购的,zui后发现这个东西是从市场上采购来的,我很晕了,但是当时问LISA的时候,我没有放在心上,LISA说这个芯片是原装的),恰好我带上了一个我们老版本的板子,将老版本的板的DATA FLASH换上去后,*OK了。
 
到现在为止:一个郁闷了我两个星期的问题终于解决了。
 
感谢百特雷工的帮忙和刘工的帮忙。说这个事情,已经是下午4点的事情了,买了百特的DATA FLASH,回到公司,赶快让他们全部换上新的DATA FLASH。问题解决了。
 
 
 
 
 
 
全年征稿/资讯合作 联系邮箱:1271141964@qq.com

免责声明

  • 凡本网注明"来源:智能制造网"的所有作品,版权均属于智能制造网,转载请必须注明智能制造网,https://www.gkzhan.com。违反者本网将追究相关法律责任。
  • 企业发布的公司新闻、技术文章、资料下载等内容,如涉及侵权、违规遭投诉的,一律由发布企业自行承担责任,本网有权删除内容并追溯责任。
  • 本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。
  • 如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

<
更多 >

工控网机器人仪器仪表物联网3D打印工业软件金属加工机械包装机械印刷机械农业机械食品加工设备制药设备仓储物流环保设备造纸机械工程机械纺织机械化工设备电子加工设备水泥设备海洋水利装备矿冶设备新能源设备服装机械印染机械制鞋机械玻璃机械陶瓷设备橡塑设备船舶设备电子元器件电气设备


我要投稿
  • 投稿请发送邮件至:(邮件标题请备注“投稿”)1271141964.qq.com
  • 联系电话0571-89719789
工业4.0时代智能制造领域“互联网+”服务平台
智能制造网APP

功能丰富 实时交流

智能制造网小程序

订阅获取更多服务

微信公众号

关注我们

抖音

智能制造网

抖音号:gkzhan

打开抖音 搜索页扫一扫

视频号

智能制造网

公众号:智能制造网

打开微信扫码关注视频号

快手

智能制造网

快手ID:gkzhan2006

打开快手 扫一扫关注
意见反馈
关闭
企业未开通此功能
详询客服 : 0571-87858618