經(jīng)常聽(tīng)人說(shuō):固件工程師就是搞硬件而已邻储,只要弄好給個(gè)API就沒(méi)什么事了。嗯旧噪,咋一聽(tīng)好像還真有那么點(diǎn)道理吨娜,不過(guò),外行看熱鬧淘钟,內(nèi)行看門(mén)道宦赠,就好比老板看你敲了半個(gè)月代碼,這時(shí)候來(lái)一句“這個(gè)功能換一下米母,不就是改下代碼嗎勾扭,今天給我搞定“В”尺借,此時(shí)心中是否有一萬(wàn)只小羊駝奔騰而過(guò)?
編程的人怎么也懂點(diǎn)計(jì)算機(jī)硬件知識(shí)吧、難道修臺(tái)式機(jī)的人還不懂怎么修筆記本嗎?當(dāng)初學(xué)計(jì)算機(jī)軟件技術(shù)的時(shí)候精拟,我可沒(méi)少讓人喊去幫忙修電腦燎斩。固件工程師其實(shí)也一樣,除了要熟悉OS跟硬件部分外蜂绎,一些簡(jiǎn)單的軟件應(yīng)用也會(huì)有所了解栅表。談不上內(nèi)外兼修,只為更好的混口飯吃师枣。
除了這些,其實(shí)有一個(gè)東西不管什么固件工程師都必須要會(huì)的践美,那就是閱讀原理圖洗贰。
原理圖就是電路原理圖,是用于讓人們更直觀的了解設(shè)備控制電路元器件及電氣連接情況陨倡。圖中用直觀的符號(hào)通過(guò)與規(guī)則或不規(guī)則的直線連接(當(dāng)然也可以是曲線)敛滋,而我們通過(guò)原理圖,能夠辨別出主板各個(gè)電路的工作順序及工作原理兴革。另外绎晃,原理圖用來(lái)排查故障也是非常實(shí)用的蜜唾。
一張完整的電路原理圖一般會(huì)用到以下幾種圖形符號(hào):
1、學(xué)過(guò)物理我們都知道這個(gè)在圖紙上代表的是電阻庶艾,不過(guò)在國(guó)外袁余,大部分電阻使用的是波浪形式的圖形符號(hào);
2、“兩個(gè)錘子”我們代表電容;
3咱揍、“M”形的表示電感器(電感器:指的是能夠把電能轉(zhuǎn)換成磁能進(jìn)行存儲(chǔ)的元器件颖榜。);
除了圖形符號(hào),電路原理圖上還會(huì)有文字符號(hào)煤裙,像上面所表達(dá)的三種分別可以用文字符號(hào):R朱转、C、L表示出來(lái)积暖。
我們?cè)诋?huà)電路圖的時(shí)候藤为,就像寫(xiě)代碼一樣,雖然沒(méi)有明文規(guī)定要按什么格式寫(xiě)夺刑,但是一些比較通用的畫(huà)法還是要了解的缅疟。
我們所了解電路圖一般都是從左往右處理信號(hào)信息,如果兩條實(shí)線較差而沒(méi)有圖文符號(hào)遍愿,則表示兩條線路沒(méi)有交互存淫,如果兩條線交接處有圖形符號(hào),如圓圈沼填,則表示兩條線路在此處串聯(lián)在了一起桅咆。
電路原理圖解析實(shí)例
這是一個(gè)intel開(kāi)源硬件平臺(tái)MAX的原理圖。
示例圖芯片是BayTrail-l處理器坞笙,即e3800岩饼。既然知道了芯片,那么我們從intel下載e3800的數(shù)據(jù)表薛夜。原理圖左側(cè)分別為兩個(gè)USB接口(一個(gè)3.0籍茧、一個(gè)2.0),下方的SD3為SD卡讀卡槽跟一個(gè)硬盤(pán)接口;右側(cè)第一個(gè)紅色框我們能夠看到4個(gè)DDR3L內(nèi)存顆粒梯澜,原理圖無(wú)法看出內(nèi)存大小寞冯,不過(guò)工程師們可以自行根據(jù)頁(yè)面給出的信息查找;數(shù)據(jù)直接傳輸技術(shù)能夠通過(guò)uHDMI顯示畫(huà)面,也可以燒寫(xiě)固件晚伙。
左下角的GPIO吮龄,一般設(shè)置成GPI/GPO/GPIO/Tri-State/Native態(tài)。下圖為板載串口部分原理圖咆疗,從圖中可以看到SOC的BD14跟BC16引腳漓帚。
兩個(gè)引腳通過(guò)了中間的TXS0102YZP芯片后連接到了右邊的電池形狀的J4芯片。有人會(huì)問(wèn)BD14跟BC16不是GPIO串口嗎?后面為什么又變成了PCU?還記得文章剛開(kāi)始前下載的芯片數(shù)據(jù)表嗎?
根據(jù)數(shù)據(jù)表所示民傻,我們要將GPIO串口的57跟61分別設(shè)置成native F1胰默。因?yàn)镮ntel的MAX是開(kāi)源的,所以能夠在Github上EDKII platforms的branch找到它的源程序?qū)PIO_S0_SC_57/61兩個(gè)代碼設(shè)置在EnableInternalUart函數(shù)中漓踢。
因?yàn)槠P(guān)系牵署,這里只舉了Intel的板子,如果感興趣的朋友可以關(guān)注下喧半,下期整理完后再與大家分享奴迅。
PS:有一次筆記本開(kāi)機(jī)不了去找老板修,結(jié)果老板先從供電芯片開(kāi)始查起挺据。發(fā)現(xiàn)供電芯片短路取具,換完后機(jī)子還是不行,于是又查到了南橋扁耐,發(fā)現(xiàn)南橋的一個(gè)元器件也短路了暇检,不過(guò)換完后,電腦還是不能正常開(kāi)機(jī)婉称,最終查到了USB充電接口有問(wèn)題块仆。就是那個(gè)藍(lán)色的USB接口短路了,我到現(xiàn)在沒(méi)弄懂是為什么王暗。