免费看aⅴ,天天插天天干天天射,呦女网,入逼逼

深圳市英貝德科技有限公司

主營產品: 嵌入式,嵌入式系統(tǒng),嵌入式開發(fā),仿真器價格,仿真器維修,評估板價格,評估板維修

您現(xiàn)在的位置: 首頁> 技術文章 > AT91SAM9263調試總結

公司信息

聯(lián)人:
李經理
址:
深圳市福田區(qū)福明路40號雷圳大廈12A層06室
編:
518033
鋪:
http://www.caslcampaign.com/st8265/
給他留言

AT91SAM9263調試總結

2009-8-10 閱讀(2032)

 

AT91SAM9263調試總結
 
深圳市英貝德科技有限公司
2009年2月
 
今天總算可以寫一個總結了。
 
前天周五的時候,在百特雷工,和劉工的大力支持下,總算把SPI啟動的問題解決了。
 
到底是什么問題呢:
 
       SPI DATA FLASH本身的質量有問題造成的。
 
反映的現(xiàn)象是:從SPI DATAFLASH的0地址讀取數(shù)據(jù)是沒有任何問題的,但是如果從中間任何一段讀取數(shù)據(jù),就有嚴重的地址偏移問題。
 
調試過程及步驟如下:
 
 
原來認為是CPU(AT91SAM9263有A版本和B版本)版本有問題,造成無法讀取FLASH造成,反饋的現(xiàn)象是:
 
當DATA FLASH啟動后,會將*段代碼EBOOT.nb0,存放于DATA FLASH的0X5000偏移地址,加載后,會進行WINCE的引導。
 
但是實際結果是:
 
從現(xiàn)象上看,DATA FLASH已經找到了,也就說明SPI線路是正確的,但是為什么讀的數(shù)據(jù)有問題呢?
 
懷疑問題有如下幾個:
*:DATA FLASH的SPI本身硬件有問題,可能存在干擾。
第二:在從DATA FLASH拷貝數(shù)據(jù)到SDRAM中,出現(xiàn)錯誤,數(shù)據(jù)不正確,SDRAM初始化有問題。
第三:因我們的SPI線路和以前的版本不同,采用了MAX3002進行了隔開,懷疑MAX3002本身造成SPI線路的 不穩(wěn)定。
第四:CPU版本有問題,AT91SAM9263從A到B版本,SPI已經改過了,就我知道的是AT91SASM9263 B版本的SPI,需要兩次復位才可以工作。
 
一個一個懷疑的問題進行驗證:
 
*:SAM BA 2.8可以對SDRAM進行初始化,都可以進行讀寫,說明SDRAM本身硬件上無問題。
 
第二:DATA FLASH ,SAMBA 2.8都可以進行讀寫,也無任何問題,同時啟動代碼可以正確執(zhí)行。那么就應該可以證明SPI部分是能夠工作的,但是問題在于AT91SAM9263 B版本內部的ROM BOOT和AT91SAM9263 A版本的ROM BOOT有不同,那么就證明說:在SPI這個部分的初始化部分做了修正。所以,找到AT91SAM9263 B版本的SPI部分的ERR DATA SHEET。找問題。改了半天代碼,問題還是依舊。
 
第三:實在沒有辦法了,2008年11月18日,找到百特的雷工,初步認定是CPU版本的問題,我自己認為自己的代碼水平比較落后,請求雷工幫忙,zui后驗證結果如下:
       從DATA FLASH讀出的數(shù)據(jù),放到SDRAM后出現(xiàn)了問題,我們以前的老板子,是無問題的??梢哉_將數(shù)據(jù)從DATA FLASH讀出來,然后,顯示在串口上。每次從DATA FLASH中讀10個字節(jié),發(fā)現(xiàn)讀出來的數(shù)據(jù)每次都是一致的,但是就是不正確。
      
沒有辦法,雷工也是好久沒有寫代碼了,只好約好第二天,到白特找他們的工程師劉工,劉工是我老鄉(xiāng),真的夠朋友,那天晚上搞到半夜,zui后驗證出來,現(xiàn)象是:從DATA FLASH偏移0X8000地址中讀取的數(shù)據(jù)放到SDRA M中,某一個位置找到差不多的數(shù)據(jù)。zui后給出結果:可能是AT91SAM9263 B版本可能有問題,但是zui大的問題是:SDRAM工作后,影響了SPI的穩(wěn)定性。
 
第四:太晚了,大家都各自回家了(這個時候我找百特定好了A版本的CPU,說是他們現(xiàn)在沒貨,第二天能送來),實在是沒有任何頭緒了,沒有辦法,趕快定了CPU,AT91SAM9263 A版本,恰好,百特沒有貨,他們老板從香港定來后,我們拿到,趕快去貼上,這個過程不過是1天的時間,下午了,下午3點就搞好,帶上測試軟件,跑到李工(我們焊接的師傅)那里,把工具全部架好,一測試,郁悶死了,竟然還是不行。天呀……
 
第五:看來A版本也不行,那只能懷疑是板的布線有問題了,因為沒有別的辦法可以想了,這個時候,我反倒放松了,因為我認為問題已經找到了。但是,到底是SPI的哪條線受到了干擾呢?我對百特劉工的話深信不已。實在沒有辦法,上午我趕快拿著A版本的板子跑到百特,找到劉工,(想把他驗證的結果再重演一下,劉工改了半天,發(fā)現(xiàn)是從DATA FALSH的0地址,讀出來數(shù)據(jù)放到SDRAM中是無問題的,一直也懷疑SDARM初始化有問題)根據(jù)這幾天的測試結果,發(fā)現(xiàn)有一個疑點,我發(fā)現(xiàn)A版本的芯片,我寫了一個小程序,從DATA FLASH中讀取數(shù)據(jù)放到SRAM中也是不正確的。而且,和以前的測試結果*一樣。一直懷疑和芯片有關系,現(xiàn)在看,可以*排除芯片AT91SAM9263的問題了。
 
第六:從DATA FLASH中讀取數(shù)據(jù)放到SRAM中也是不正確的(我把SDRAM關閉了),我就推翻了劉工說的SDRAM對SPI DATA FLASH有干擾想法。
 
劉工發(fā)現(xiàn)是從DATA FALSH的0地址,讀出來數(shù)據(jù)放到SDRAM中有大部分是相同的,這次把代碼全部恢復過來,把DATA FLASH的0地址的數(shù)據(jù)放到0X23F00000(LINUX引導程序U-BOOT的地址)-0X8000的位置,這樣,就可以保證在0X23F00000的位置上,有正確的U-BOOT程序。但是,等程序運行起來,還是沒有得到正確的啟動結果。有可能是有部分數(shù)據(jù)讀出來后,還是有不正確的。
 
第七,實在是沒有辦法了,我們開始懷疑DATA FLASH有問題,恰好,我也問過我們的LISA(LISA是我們的采購,我原來一直認為這個DATA FLASH是從百特采購的,zui后發(fā)現(xiàn)這個東西是從市場上采購來的,我很暈了,但是當時問LISA的時候,我沒有放在心上,LISA說這個芯片是原裝的),恰好我?guī)狭艘粋€我們老版本的板子,將老版本的板的DATA FLASH換上去后,*OK了。
 
到現(xiàn)在為止:一個郁悶了我兩個星期的問題終于解決了。
 
感謝百特雷工的幫忙和劉工的幫忙。說這個事情,已經是下午4點的事情了,買了百特的DATA FLASH,回到公司,趕快讓他們全部換上新的DATA FLASH。問題解決了。
 
 
 
 
 
 


產品對比 二維碼

掃一掃訪問手機商鋪

對比框

在線留言