0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

回板后,處理器不啟動,怎么辦?

wFVr_Hardware_1 ? 來源:硬件十萬個為什么 ? 2022-12-26 10:36 ? 次閱讀

電路板板回板后,如果串口能夠正常打印,則我們很多調(diào)試手段都可以運用,能夠運用串口打印,或者調(diào)試工具能夠快速的進行問題定位。

最痛苦的就是嵌入式系統(tǒng),我們的知識體系比較單一,團隊中缺少軟硬兼修的人。如果回板的電路板雖然不冒煙,但是無法明確是軟件問題,還是硬件問題的時候,就需要我們通過一系列操作進行問題定位,然后逐步殲滅問題,最終達到串口能夠正常打印的地步。

1ee8230a-83a4-11ed-bfe3-dac502259ad0.jpg

早期在X86系統(tǒng)中,為了幫助定位問題,會選擇這樣的80卡,用一個PCI外設(shè)來顯示故障部件的位置,縮短調(diào)試的時間和過程。

但是最痛苦的事情是,80卡也不亮。

所以我們需要逐步排除硬件問題,捋清楚硬件啟動的過程:

1、時鐘問題。

一般表現(xiàn)在時鐘配置異常,晶振的選型頻率范圍有問題,超出芯片主頻工作范圍。

還有晶體不起振,我們碰過有同事歸一化電容,把晶振的負載電容容量選型選的容值過于大了。

1efa8090-83a4-11ed-bfe3-dac502259ad0.jpg

也碰過晶振的走線太長,導(dǎo)致處理器接收端的信號質(zhì)量不好,導(dǎo)致無法正常啟動。

2、電源問題。

電源完整性的質(zhì)量差,紋波過大,尤其開關(guān)電源供電時;或者供電輸出不穩(wěn)定;或者系統(tǒng)供電能力不足而引起電源波動等。例如有一些設(shè)計錯誤,電壓錯誤、電流能力不足、電源之間的相互干擾等等。我們需要仔細排查電源本身的問題。

3、上電時序的問題

電源之間的先后關(guān)系,我們設(shè)計電路板的時候,需要捋清楚每個電源上電的先后時序要求,很多芯片都會有相關(guān)的要求:處理器、FPGA、DSP等等一般都會有時序要求。

容易忽略的一個點是:不光是電源時序有要求,有些芯片的時鐘穩(wěn)定、電源穩(wěn)定、復(fù)位信號之間有先后關(guān)系,或者還有時間間隔的要求。

我們需要全方位排查時鐘、電源、復(fù)位信號之間的時序要求。特別是一些共用電源的芯片,很可能由于時序要求,我們要分別供電,或者需要通過MOSFET控制上電時機。

4、BOOT腳配置問題。

對于ARM芯片往往都有些BOOT配置腳。經(jīng)常遇到有人因為BOOT腳的焊接或接觸不良導(dǎo)致各類奇怪問題。這種情況多表現(xiàn)在芯片功能時好時壞,或者部分芯片正常,部分芯片異常。

我們不管是ARM也好、X86也好、DSP也好,以及MIPS、現(xiàn)在RISC-V都存在啟動路徑的問題。有TF啟動、U盤啟動、硬盤啟動、光盤啟動等等。

我們需要知道要么像X86那樣,有BIOS來配置啟動路徑,或者像有的ARM通過上下拉電阻來配置啟動路徑。

最近在玩英偉達的Jetson,最不爽的一件事就是:不同的啟動路徑,使用的系統(tǒng)鏡像不同。如果我們忽略,會導(dǎo)致系統(tǒng)無法啟動。

5、啟動文件問題。

經(jīng)常因為選錯了啟動文件,導(dǎo)致程序無法正常運行,或者說調(diào)試時好好的,脫機運行就不行。這點在做不同系列芯片間移植時最容易碰到。

有些處理器的啟動配置文件很復(fù)雜,沒問題的時候容易被大家忽略,一些處理器的基礎(chǔ)配置在配置文件里面。如果配置文件錯誤,會導(dǎo)致處理器啟動異常。

6、地址空間錯誤

我們從軟件的視角,有時候很容易忽略啟動地址。地址空間有時經(jīng)常會把軟件人繞暈。硬件的人想搞清楚,也費盡。

1f0b0fd2-83a4-11ed-bfe3-dac502259ad0.png

對于X86系統(tǒng)的地址空間更復(fù)雜,內(nèi)存空間分四個模式,還有IO地址空間。

1f25e23a-83a4-11ed-bfe3-dac502259ad0.png

案例:某一個多核PowerPC的處理器串口沒有打印

1、現(xiàn)象、問題描述

單板回板后,單板啟動失敗,串口沒有打印。這是一個典型的單板調(diào)試過程。故記錄作為回板調(diào)試參考。

2、關(guān)鍵過程、根本原因分析

單板回板后,串口沒有打印。處理器為多核PPC,小系統(tǒng)通過CPLD對Local Bus進行解復(fù)位。下圖為P4080小系統(tǒng)框圖, P4080小系統(tǒng)P4080, DDR3 SDRAM,CPLD,F(xiàn)lash構(gòu)成。P4080通過SRIO接口實現(xiàn)對DSP的加載和控制,通過SGMII接口和FPGA交互媒體控制報文。

1f501a3c-83a4-11ed-bfe3-dac502259ad0.png

問題一:單板啟動到什么程度。

分析一:配置字沒讀完,剛讀32bit,處理器就掛住了,沒有繼續(xù)讀取RCW(配置字)。

1f687802-83a4-11ed-bfe3-dac502259ad0.png

結(jié)論一:在讀取RCW的階段就掛死了。

措施一:查看和核對RCW。

問題二:RCW有什么錯誤,它的錯誤為什么會導(dǎo)致處理器掛死。

分析二:單板的RCW與DEMO板的RCW,除了內(nèi)容不同(硬件環(huán)境,設(shè)計需求不同),同時RCW的長度也不同。

Demo板的RCW

aa55 aa55 010e 01004c50 0000 0000 0000

5050 5050 0000 cccc 58400000 c03c2000

fe80 0000 0100 0000 0000 0000 0000 0000

0000 0000 00df 07fd a000 0000 0000 0000

0000 0000 0000 0000 0813 8040 ff3041a4

我們單板燒入的RCW沒有紅色的字。

結(jié)論二:RCW不單單是根據(jù)硬件設(shè)計,對各個數(shù)據(jù)進行填寫,同時,CPU有校驗功能,在RCW的頭和尾都有校驗數(shù)據(jù)。這些配置字的生成,供應(yīng)商提供了一個工具,按照處理器的的設(shè)計,直接進行選擇,然后可以直接生成完整的RCW。而我們之前的RCW校驗失敗,所以啟動失敗。

我們的設(shè)計方法直接借鑒公司大規(guī)模使用的單核PowerPC 8321的設(shè)計方法:1、閱讀器件資料,理解配置字的含義;2、列出配置字的內(nèi)容;3、整理成16進制發(fā)給軟件工程師。

由于多核PPC的RCW變得復(fù)雜,且有校驗碼,所以P4080等多核PowerPC的RCW可以通過工具生成,工具如下:

措施二:利用工具生成RCW,燒入Flash。

問題三:RCW的數(shù)據(jù)正確了之后,仍然沒有打印。

分析三:配置字已經(jīng)跑過了,又掛在Bootrom。

1f8538ca-83a4-11ed-bfe3-dac502259ad0.png

看了一下波形,配置字跑完,又跑了40字節(jié)。

先懷疑配置字問題,我覺得沒有問題,依據(jù)是原來跑步起來,現(xiàn)在跑起來了。

我跟陳陸安又核對了一次配置字。并且發(fā)現(xiàn),處理器版本選擇V1.0、V2.0對于我們的單板來說,生成的配置字是一樣的。

1fa5f7fe-83a4-11ed-bfe3-dac502259ad0.png

BOOTROM的啟動掛死的比較前端,估計應(yīng)該沒有讀到BOOTROM。查看Flash燒片文件,第一條指令與RCW之間預(yù)留了若干位,其中填0,軟件多填了一行0.

1fb8e152-83a4-11ed-bfe3-dac502259ad0.png

發(fā)現(xiàn)軟件的起始地址不對。

下圖為我們需要的數(shù)據(jù)存儲在Flash的位置,RCW的存放位置為MPI Flash能夠讀取的最低地址。而BOOTROM的啟動地址是FFFF,FFFC。配置字的啟動地址:CS0的最低地址。

如下圖所示:

1fc88e54-83a4-11ed-bfe3-dac502259ad0.png

但是實際上我們是下面這樣弄的:

1fe0615a-83a4-11ed-bfe3-dac502259ad0.png

結(jié)論三:由于BootRom和RCW沒有存儲到CPU默認讀取的地址,所以導(dǎo)致Bootrom沒有被讀到,所以啟動失敗。

措施四:于是我們考慮在Flash里面加載現(xiàn)有代碼兩個地方,

1ff0cd9c-83a4-11ed-bfe3-dac502259ad0.png

通過設(shè)置JTAG的起始地址,實現(xiàn)加載。

JTAG加載起始地址:127Mbytes,但是Flash的位寬為16bit,所以JTAG加載的起始地址:

127M = 127* 1024 *1024 = 0x7F00000。

0x7F00000 /2 =3F80000

最終的交付版本,是通過CPLD地址重定向?qū)崿F(xiàn)的RCW和BootRom存儲在連續(xù)地址。

問題四:串口可以打印,但是BOOTROM下的打印正常,但是進入VxWorks之后,打印亂碼。

分析四:雖然打印了一堆亂碼,但是鍵盤可以輸入。根據(jù)判斷,單板已經(jīng)正常工作了,但是當時懷疑是內(nèi)存問題導(dǎo)致的數(shù)據(jù)錯誤,導(dǎo)致打印亂碼。

分析四:通過仿真器,對內(nèi)存進行批量讀寫操作,說明內(nèi)存的數(shù)據(jù)是正確的,排除了內(nèi)存的問題。

底軟的開發(fā)人員懷疑的VxWorks下的中斷錯誤,導(dǎo)致串口亂碼。當時給出三條否定意見的依據(jù):

中斷服務(wù)程序很大不可能插入到前4k中,所以無法實現(xiàn)

為什么Demo可用,而我們單板不可用?

中斷問題,只會造成發(fā)送速率慢,而不會造成亂碼

通過查代碼發(fā)現(xiàn):

Demo板通過CS3讀取了數(shù)據(jù),用于配置處理器的大量寄存器。

Demo板的所有CS都是連接到FPGA的

2000ea92-83a4-11ed-bfe3-dac502259ad0.png

2012d1c6-83a4-11ed-bfe3-dac502259ad0.png

Demo板子上面,F(xiàn)PGA的CS3如同我們CPLD寄存器。

里面有大量單板硬件信息。例如:

FLASH的映射方式

單板CPU主頻。

后續(xù),我們重點關(guān)注了這個:“單板CPU主頻?!?/p>

啟動時,BootRom是直接操作UART的,對UART初始化一次。進入Vxworks之后,又對UART初始化一次。所以有可能把UART寄存器改了。

通過CS3讀出的處理器主頻,直接寫定。SYStemCLK是從CS3中讀取的,波特率是通過SYSTEMCLK分頻得出的。

1、 示波器測試UART的波特率:上電時為115200,后來亂碼之后為8k左右。

修改了SYSTEMCLK之后(由于我們的單板沒有CS3,所以原先從CS讀取SYSTEMCLK,導(dǎo)致了錯誤),出現(xiàn)VxWorks界面。串口打印正常。

結(jié)論四:通過固定處理器的SYSTEMCLK,實現(xiàn)VxWorks下的正常打印。

3、結(jié)論、解決方案及效果

單板在回板后,有大量的問題:

配置字校驗數(shù)據(jù)缺失;

BootRom的存儲地址問題;

VxWorks加載過程中修改了處理器主頻,導(dǎo)致串口亂碼。

4、經(jīng)驗總結(jié)、預(yù)防措施和規(guī)范建議

這不是一個什么高級的案例,但是每個使用新處理器的單板返還,都會有一段曲折的路走。

單板在返還后,如何不走這段彎路?

a、 每一個操作,都需要有依據(jù),例如BootRom的存儲位置等,這些不明確的話,肯定會引入問題。

b、 不要直接套用已有的經(jīng)驗,例如RCW在單核PowerPC和多核PowerPC的開發(fā)模式發(fā)生了變化,需要與供應(yīng)商充分溝通。

c、 硬件,軟件不要劃分界限,要相互滲透,在串口還沒有打印前的問題,需要所有開發(fā)人員都非常清楚,而不是相互推諉,相互依賴。

d、 問題定位,下一步的猜想,需要心思縝密,不是每個猜想都要去驗證。為了更好的項目進度進展,需要經(jīng)過邏輯判斷,否定一些錯誤的猜測和假象。但是這需要嚴密的邏輯思維,否則適得其反。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    18927

    瀏覽量

    227245
  • 嵌入式
    +關(guān)注

    關(guān)注

    5046

    文章

    18821

    瀏覽量

    298603
  • 電路板
    +關(guān)注

    關(guān)注

    140

    文章

    4810

    瀏覽量

    96122
  • Boot
    +關(guān)注

    關(guān)注

    0

    文章

    148

    瀏覽量

    35675

原文標題:回板后,處理器不啟動,怎么辦?

文章出處:【微信號:Hardware_10W,微信公眾號:硬件十萬個為什么】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    手機進水了怎么辦?

    手機進水了怎么辦? 進水和摔機是手機使用的兩大忌,手機進水尤為嚴重,下面就將手機進水的正確處理方法和大家分享。 &
    發(fā)表于 10-26 16:47 ?8759次閱讀

    電腦進入系統(tǒng)卡死怎么辦

    電腦進入系統(tǒng)卡死怎么辦 癥狀:啟動剛進入系統(tǒng)界面時,點什么都打不開,要等一分鐘左右才能打開。     解決辦法:     一
    發(fā)表于 02-24 13:46 ?1.3w次閱讀

    顯示畫面扭曲怎么辦

    顯示畫面扭曲怎么辦    黑龍江常亮:我的電腦配置為PⅢ 1GHz處理器、256MB內(nèi)存、40GB硬盤、ATI 9200SE顯卡,顯示為17英寸普通
    發(fā)表于 02-25 10:26 ?2519次閱讀

    掃描儀燈管怎么辦

    掃描儀燈管怎么辦    問:玩了幾年電腦一直很順利,但是最近接二連三地出現(xiàn)故障,先是我的掃描儀“罷工”,進入TWAIN
    發(fā)表于 02-25 10:26 ?4089次閱讀

    NTDETECT失敗怎么辦

    NTDETECT失敗怎么辦    問:我的電腦有時用閃存或光驅(qū)拷貝一些文件或安裝程序,電腦就自動關(guān)機了。當再啟動時就進不了系
    發(fā)表于 02-25 11:08 ?1980次閱讀

    內(nèi)存報警怎么辦

    內(nèi)存報警怎么辦    近日,我的電腦無法啟動,同時在開機時發(fā)出表示內(nèi)存出問題的“嘀嘀”警報聲,請問是什么原因,應(yīng)該如
    發(fā)表于 02-25 11:37 ?2045次閱讀

    電池換新無法可依怎么辦

    電池壞了怎么辦?修。修不好怎么辦?換。
    發(fā)表于 03-19 11:23 ?1331次閱讀

    電路上錫怎么辦

    電路電鍍鎳金上錫原因分析,可以從以下幾個方面進行作檢查調(diào)整.后期處理不良;水洗應(yīng)及時烘干,放入通風狀況良好的地方,最好不要放在電鍍車
    的頭像 發(fā)表于 05-14 16:38 ?1.9w次閱讀

    接觸可以常年通電嗎_接觸連接不通電怎么辦

    本文首先分析了接觸是否可以常年通電,其次介紹了接觸連接不通電怎么辦,最后闡述了接觸吸合負載不通電是怎么回事。
    的頭像 發(fā)表于 03-12 09:34 ?1.6w次閱讀

    pppoe什么意思_pppoe連接怎么辦

    新一代互聯(lián)網(wǎng)絡(luò)在高性能、高可擴展性、高可用性和易部署性等方面提出了更高的要求,使得路由結(jié)構(gòu)越來越復(fù)雜,我們需要掌握的相關(guān)知識也越來越多,那么你知道路由pppoe連接怎么辦嗎?下
    發(fā)表于 04-27 10:34 ?4.4w次閱讀

    STM32 進入Stop模式電流還是很大怎么辦?

    STM32 進入Stop模式電流還是很大怎么辦?STM32 進入停止模式電流還是很大,可能椒幾百個uA,怎么辦?通常做法有如下幾點:MCU外圍管腳配置檢查外圍有無閉合回路SWDIO
    發(fā)表于 12-08 20:51 ?16次下載
    STM32 進入Stop模式<b class='flag-5'>后</b>電流還是很大<b class='flag-5'>怎么辦</b>?

    win7電腦的DVD驅(qū)動無法啟動怎么辦?

    win7電腦的DVD驅(qū)動無法啟動怎么辦? 在日常使用電腦的過程中,我們經(jīng)常需要使用到光盤來安裝軟件、播放影片等,而DVD驅(qū)動的正常啟動是使用光盤的前提條件,因此DVD驅(qū)動無法啟動會給我
    的頭像 發(fā)表于 10-27 14:25 ?1448次閱讀

    盛顯科技:投影融合處理器出現(xiàn)顏色失真或偏色,該怎么辦?

    我們在使用投影融合處理器的過程中,因種種原因,有時候會遇到出現(xiàn)顏色失真或偏色的情況。此種情況的出現(xiàn),會對視覺效果、信息傳遞和設(shè)備性能產(chǎn)生負面影響。因此,需要我們及時采取措施解決問題,以確保投影設(shè)備的正常運行和良好的展示效果表現(xiàn)。那么您知道投影融合處理器出現(xiàn)顏色失真或偏色,
    的頭像 發(fā)表于 07-31 17:09 ?155次閱讀
    盛顯科技:投影融合<b class='flag-5'>處理器</b>出現(xiàn)顏色失真或偏色,該<b class='flag-5'>怎么辦</b>?

    盛顯科技:投影融合處理器畫面出現(xiàn)閃爍或抖動,該怎么辦?

    采取一系列專業(yè)而周密的處理措施來解決問題。那么您知道投影融合處理器畫面出現(xiàn)閃爍或抖動,該怎么辦嗎?下面盛顯科技科技小編為您介紹: 投影融合處理器畫面出現(xiàn)閃爍或抖動,可采取以下措施進行
    的頭像 發(fā)表于 08-14 17:00 ?208次閱讀
    盛顯科技:投影融合<b class='flag-5'>處理器</b>畫面出現(xiàn)閃爍或抖動,該<b class='flag-5'>怎么辦</b>?

    ddos造成服務(wù)癱瘓怎么辦

    在服務(wù)遭受DDoS攻擊,應(yīng)立即采取相應(yīng)措施,包括加強服務(wù)安全、使用CDN和DDoS防御服務(wù)來減輕攻擊的影響。rak小編為您整理發(fā)布ddos造成服務(wù)癱瘓
    的頭像 發(fā)表于 08-15 10:08 ?149次閱讀