雖然到現(xiàn)在為止我的arm9還沒有做出來,目前只調(diào)通了一塊。
寫這篇文章的目的,就是想和嵌入式愛好者做一個簡單的交流。
2002.9月以前我是做龍珠的(DragonBall VZ)軟件的,使用的是uClinux,因為一直使用公司的板子,也就是那塊Motorola的ADS板。覺得上面的東西看起來不是很復(fù)雜,因此很想自己做一個龍珠的板子來玩uClinux,但是我不會使用任何一個畫板的軟件,最多也就會使用protel畫畫原理圖之類的(現(xiàn)在想想,從原理圖到PCB還是有挺多細節(jié)要注意的),后來在一個朋友的幫助下,我十分生疏的畫了一個龍珠的簡單的板子。不像學(xué)軟件那樣,買本書,有臺電腦就差不多夠了。制板是要掏錢的,我的薪金一直偏低,在女朋友的支持下,我終于拿去制板了,接下來就是買元件(十分簡單但是又十分繁瑣的一件事)。再接下來就是焊接了,大學(xué)時有個電子工藝實習(xí),我學(xué)會了焊接電烙鐵焊接直插元件,但是面對TQFP的144腳表貼元件,我還真不知道怎么下手。我又在網(wǎng)上結(jié)識了另外一個朋友,還到他們的實驗室看了一下怎樣焊表貼元件,覺得也不是很難嘛:),觀摩回來我就自己試著焊接,最后出來了,黑糊糊的一堆,反正是很難看的東西了。期間嘗試使用錫漿,助焊劑,松香水之類的。不過我很幸運阿,這個板子可以跑uClinux。
再到2003春節(jié)的時候,(此時國內(nèi)的arm7板已經(jīng)發(fā)展起來了)我又重新做了一個龍珠的板子,這次參考了其他一些漂亮的板子,因此看起來比上次那個順眼一點。還寫了一個詳細的文檔,我的目的就是:賣。至少要把成本收回阿。我把做好的板子首先送給了一位朋友,他建議我做個arm9(2410)的板子,我就開始在三星網(wǎng)站找資料,不過我還是和深圳另外一個朋友一起合作把龍珠的板子整理了一下,寫了幾個簡單的演示程序,準(zhǔn)備賣幾塊。不過在arm7的勢頭下,DragonBall已經(jīng)鮮為人知了,在龍珠上,我和深圳的朋友已經(jīng)盡了最大的努力,這件事上,深圳的朋友至少在錢的方面,幫助了我很多,在他身上,我還學(xué)到做事要認真、要有耐心、對用戶負責(zé)的精神,從內(nèi)心中,我一直都很感激他。后來接了一個龍珠的小項目,還有一些其他事,我就回到廣州了,那是在今年6月底。
回到廣州,女朋友剛剛動完一個手術(shù),身體很虛弱,陪了她兩周,然后就想在她家附近找類似機關(guān)單位的工作,親戚幫忙介紹了幾個,大部分都只是和負責(zé)人見面談了談,我就不想在那種單位呆了。因為我發(fā)現(xiàn)有的工作臺連臺電腦都沒有,要不就是跟一群當(dāng)?shù)貨]有工作經(jīng)驗的大專畢業(yè)生在一起,和嵌入式絲毫沒有關(guān)系,并且要十分注意臉色行事。有一家辦公的環(huán)境還不錯,剛剛上午說了要我?guī)退麄兏銈€linux網(wǎng)站,下午就被派去施工安裝網(wǎng)絡(luò)插座了,說是領(lǐng)導(dǎo)安排要先在底層鍛煉幾個月再說。并且沒有宿舍,三餐自己掏錢,工資不到2000,附近租房出奇的貴。折騰來折騰去,一個多月就進去了,結(jié)果什么都沒搞成。這時接的那個項目催的又急,GF父母那邊又相處的不是很好。干脆,我就在廣州租了個房子呆下去了(想想一年來我寄居過、租過不到7平方米的地下室、四周陰暗又不通風(fēng)的民房。。。這次租的是一房一廳,感覺還不錯)
到8月份的時候,我終于勉強把客戶的那個龍珠板設(shè)計出來了。那是我第一次做四層板,總共做了8塊,深圳的朋友當(dāng)時給了我一些夠用的龍珠芯片。當(dāng)時正值沿海的熱浪襲擊,我又住在頂樓,天氣熱的要死,樓下就是一個超市,天天在做宣傳促銷活動,并且還是幾個公司一起搞,結(jié)果幾對大音箱互相爭霸,主持人簡直就是歇斯底里的喊,我還打電話到南方都市報投訴,但沒有任何結(jié)果。我拿著電烙鐵一邊焊一邊罵,誰知焊了第一塊板,一點反應(yīng)也沒有,就焊第二塊,又是沒有反應(yīng),當(dāng)時穿著短褲,融化的焊錫一不小心就掉到腿上,到現(xiàn)在還有個疤,我簡直又氣又急。看看剩下的芯片和板子,又仔細檢查原理圖和PCB,真是好郁悶啊!我就想,反正有8塊板呢,我才焊了兩塊而已,不行就接著焊,于是終于在第四塊板的時候跑起了uClinux,接下來的一個月就做相應(yīng)的軟件。這時我自己攢的錢已經(jīng)花的差不多了,這么久沒有去工作,心里很急??!那時我?guī)缀趺恐芏既フ衅笗镞_一圈,期望能在廣州找個自己喜歡的合適的工作。但是自從今年下半年以來,工作出奇的難找。我天天都在安慰自己,一定能找個好工作的。我女朋友也鼓勵我要找個自己喜歡的工作。另外我接的項目要的錢也很少,只有幾千塊,向客戶苦訴了一番,才又多給了2000。做完龍珠的幾個軟件(也就是幾個簡單的驅(qū)動程序和測試代碼),我就拿到一些錢了,心里稍微安慰了一下。這時已經(jīng)到了國慶節(jié),arm7的板子在國內(nèi)已經(jīng)遍地開花了。我找和以前那個朋友又見面商量了一下,問他能不能幫我搞定2410的軟件,于是過完國慶,就開始參考mizi設(shè)計arm9(2410)了。
到那時我已經(jīng)好長時間沒有工作了,也逐漸的適應(yīng)了,大不了再跑去東莞或者深圳打工嘛。我今年25,感覺還不算老啊,年輕的資本就應(yīng)該這樣揮霍。從國慶開始,我在墻壁的四周寫下10月份的目標(biāo):設(shè)計出2410的板子。于是,第一次做完一個4層電路板,我就開始第一次做6層板的設(shè)計了。我以前工作的時候,留意多認識一些搞硬件的朋友,這次設(shè)計6層板,不懂的地方我就打電話問,比如怎么做等長線,Buffer該怎么處理,要不要CPLD之類的。我以前是個小小的軟件工程師,現(xiàn)在要做逐漸做個硬件工程師。因此很多地方就要虛心請教,我知道我還要交更多的朋友,拜更多的老師。設(shè)計這塊2410的時候,對我這個急性子而言,太需要耐心了,于是我就租史泰龍的碟來看,每次不想堅持下去的時候,我就租張《Rocky》來看,也當(dāng)休息一下:-)幸好我以前也沒有看過,所以看完了我就不想睡覺了,接著畫圖。雖然恐怖片也比較刺激,但是我不敢深更半夜一個人看:((白天也不敢)。大部分我是晚上畫圖的,白天睡覺,因此這里實在是太吵了。實際上,我兩周基本上畫完了PCB,又用了一周修修補補,畢竟做一次6層板對我來說還是不小的金錢付出啊。
10月30號,我正式把PCB發(fā)送給制板廠了。8號拿到PCB,其中的8天,我又幫人設(shè)計了一個2層的龍珠板,可惜要到明年才能拿到設(shè)計費。等買完2410的元器件,我又接近彈盡糧絕了。這次不得已從朋友那個借了幾千。對個人而言,買元器件其實是一個非常繁瑣的事情。首先貨源難尋,要在網(wǎng)上找,不停的打電話問(我租住的地方?jīng)]法安裝電話,也就沒辦法上網(wǎng),每次買芯片話要跑回女朋友家);其次量少了,銷售商一般都不理你,要么就把價格抬的奇高。有些元件還么貨期,需要耐心的等。到了大概11月22號左右,我的元器件基本上湊齊了。BGA也焊接好了。我花了一個晚上焊接完了圖片上那塊板子。結(jié)果沒有JTAG電纜,于是只能等第二天打電話問做硬件的朋友到哪里買,誰知他建議要我自己做,我又翻出mizi,找資料,當(dāng)天下午就做好了。連上板子,十分慶幸的是竟然可以讀到CPU的ID了。但是不能辨認到任何一個Flash,更談不上燒寫了。于是去掉buffer,采用直接連接的方式(也就是為什么板子上有那么多飛線了),這次可以辨認到nand flash,但依然不能燒寫,試了N次,最后郁悶至極。幸好第二天晚上有個朋友帶了個筆記本過來問我一些龍珠的問題,我就接到他的筆記本上試著燒,這次竟然寫入了,原來是我的主板并口有問題,我又連上串口,很順利的就跑通了vivi,到現(xiàn)在為止,至少證明我的板子還是有點動靜了。
我接著又試著燒寫zImage(壓縮的內(nèi)核),結(jié)果使用minicom怎么也下載不了。我懷疑是不是我的電腦有問題,就轉(zhuǎn)到win2000里用超級終端,這次又比較順利,但是雖然寫入到flash了,就是運行不了linux,接下來又是問朋友,在朋友的幫助下,linux終于起來了。同時,我也焊接了其他四塊板子(BGA我只貼了5片),但是無論我怎樣找原因,就是不能跑起其余的四塊板子。我冒險把已經(jīng)跑通的板子上的大部分元器件拆下來(cpu除外),和不能通的板子相互調(diào)換,結(jié)果還是不行,而那個好的板子照樣可以跑。這些步驟,我斷斷續(xù)續(xù)持續(xù)了一周多了,現(xiàn)在依然困擾著我。我?guī)缀趺刻焱砩隙荚谟脙砂牙予F拆芯片、焊接、飛線,用放大鏡和萬用表查找虛焊、短路,結(jié)果一無所獲。
我做2410的目的想必大家也十分清楚,就是么做一個給大家玩的板子。大家都喜歡便宜的東西,殊不知對個人和小公司而言,為做一個嵌入式開發(fā)板,是多么的辛苦,上面很多情況我都是一筆帶過,甚至有的都沒有提及。我是全職在做這個東西的,而且我是個新手(想必做面對一款新的沒有用過的CPU,每個人都是新手)。全職尚且需要這么多時間,更何況業(yè)余做開發(fā)板的了。業(yè)余里做板子沒有更多的時間,打電話買芯片不方便。。。諸此種種,沒有一份對嵌入式的一種真心的熱情,很難說能有耐心堅持做下去。現(xiàn)在大家都喜歡免費開放的東西,可是就算是給你一個完善的原理圖和一個正確的PCB文件,沒有半年的時間,也是很難上手的。我認識的做類似開發(fā)板的,無不有一個難以忍受的經(jīng)歷,從發(fā)出PCB到制板廠那時起,就注定要走這一步。大致這個流程是這樣的:
找資料→做簡單測試試驗→設(shè)計原理圖→做封裝→設(shè)計PCB→制板→買元件→焊接→調(diào)試硬件→修正硬件→調(diào)試軟件→寫說明書→包裝郵寄→技術(shù)支持。
這其中有些過程看似很簡單,但如果只有一個人來做的話,會不知不覺的花費很多的時間和精力。其中的每一個步驟,都不是個人和小公司所能耽誤的起的。
這里面或許我是有一些抱怨,但我很高興仍然能做自己喜歡的東西。歡迎大家和我多一些技術(shù)上的交流。我暫時沒有太大的目標(biāo),只想調(diào)通其余的四塊板子;-),或者你還是建議我重新做一個?謝謝