嵌入式系統(tǒng)設(shè)計(jì)中的“團(tuán)隊(duì)技能”

2013-09-16 10:54 來源:互聯(lián)網(wǎng) 作者:洛小辰

前一陣看了幾本有關(guān)嵌入式系統(tǒng)設(shè)計(jì)的書,包括RTOS,算法,硬件設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)等,感覺這個(gè)系統(tǒng)是相當(dāng)復(fù)雜的,所以在此分享一些心得。

首先,嵌入式系統(tǒng)的設(shè)計(jì)經(jīng)常是一項(xiàng)很艱巨的任務(wù)。一個(gè)復(fù)雜的系統(tǒng)。例如,一個(gè)電機(jī)控制的嵌入式系統(tǒng)在由一個(gè)開發(fā)團(tuán)隊(duì)來負(fù)責(zé)的時(shí)候,有的工程師會(huì)負(fù)責(zé)RTOS的移植、調(diào)度等工作,有的專門負(fù)責(zé)硬件電路和接口設(shè)計(jì),有的專門負(fù)責(zé)電機(jī)的控制等等。對(duì)于其中的軟件工程師來說,他可以熟練掌握C、C++等編程語言和RTOS的設(shè)計(jì)等,但是對(duì)于電機(jī)的控制就未必了解很多了(看我們國內(nèi)現(xiàn)狀,很多是計(jì)算機(jī)專業(yè)的來從事這方面工作)。而對(duì)于控制工程師來說,電機(jī)的控制他很熟練,而C++里面那些復(fù)雜的面向?qū)ο缶幊逃治幢睾苁煜?。這樣在工作中,就不可避免地存在一些交流、溝通上的“鴻溝”。為了不至于在出現(xiàn)一些難以調(diào)試的問題時(shí),大家互相指責(zé)對(duì)方是“豬一樣的隊(duì)友”,就需要隊(duì)員們對(duì)開發(fā)一個(gè)嵌入式系統(tǒng)需要的技能有一些宏觀的了解;對(duì)于初學(xué)者來說,了解開發(fā)這樣的一個(gè)復(fù)雜系統(tǒng)需要哪些技能,也是非常有幫助的。這些技能從宏觀上講,可以分為5大類:

1. 閱讀數(shù)據(jù)手冊(cè)(即datasheet)

做產(chǎn)品開發(fā)的工程師和做研究的工程師有一個(gè)比較明細(xì)的區(qū)別,就是做研究往往不會(huì)把時(shí)間定的特別緊迫,或者說研究的往往是至少1-2年以后采用的技術(shù)。而做產(chǎn)品的就不行,產(chǎn)品往往就是工程師們的“催命鬼”,每天看看時(shí)間進(jìn)度表,哪還有時(shí)間去沉下心來去仔細(xì)閱讀datasheet?但是datasheet確實(shí)是很關(guān)鍵的,它相當(dāng)于芯片或者器件的接口“API”。在設(shè)計(jì)開始之前,至少要通過讀最新的datasheet來確認(rèn)選擇的器件滿足工作環(huán)境的要求,并且知道那些最有可能出現(xiàn)各種奇怪現(xiàn)象的部分在哪里,以便在發(fā)現(xiàn)問題時(shí)快速定位。

2. 了解所使用的處理器

1) 處理器往往是復(fù)雜的,但是學(xué)習(xí)資源也是非常豐富的,我們可以使用很多資源來加速學(xué)習(xí),例如入門指南和初學(xué)者套件:一般的公司都會(huì)提供這些東西,而且初學(xué)者套件一般并不貴

2) 論壇,以及處理器制造廠商的wiki

3) 培訓(xùn)活動(dòng)

4) 用戶指南和應(yīng)用指南

一般在學(xué)習(xí)一個(gè)新的處理器之前,把上面這些資料備齊,學(xué)習(xí)條件就很充分了。

3. 閱讀原理圖

一部分純軟件工程師并不需要去閱讀原理圖,但是大部分團(tuán)隊(duì)成員還是需要了解的。例如,一個(gè)bug可能表現(xiàn)為軟件里某個(gè)變量的值異常,但是這有可能是硬件電路某個(gè)電平不對(duì),導(dǎo)致了后面的一系列異常。

4. 調(diào)試

調(diào)試工具既包含軟件里的debugger,也包含包括硬件調(diào)試使用的鉗子、刀、膠帶、放大鏡、螺絲刀、萬用表、示波器、邏輯分析儀等。

5. 測(cè)試

為了不讓重大隱患或者煩人的bug在用戶手里頻繁出現(xiàn),測(cè)試工作的重要性自然是不言而喻的。國外有測(cè)試相關(guān)的專門職位,例如qualification工程師和verification工程師,往往都是由一些年紀(jì)比較大但是富有經(jīng)驗(yàn)的工程師擔(dān)任,但是國內(nèi)貌似還不怎么重視這部分工作。

引用一句名言,“越是不經(jīng)意的錯(cuò)誤,越有可能需要花費(fèi)相當(dāng)長的時(shí)間去查找和修復(fù)”。所以,整個(gè)團(tuán)隊(duì)的工程師都首先要把自己負(fù)責(zé)的部分測(cè)試好,然后再進(jìn)行組合測(cè)試。

最后說明,這里的幾個(gè)技巧是從O’REILLY出版的《Making Embeded Systems》一書里面提煉的。

處理器 嵌入式 測(cè)試 datasheet 調(diào)試

相關(guān)閱讀

暫無數(shù)據(jù)

一周熱門