新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 牛人業(yè)話 > 嵌入式系統(tǒng)設(shè)計中的“團隊技能”

嵌入式系統(tǒng)設(shè)計中的“團隊技能”

作者:paradoxfx 時間:2013-09-02 來源:電子產(chǎn)品世界 收藏

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

本文引用地址:http://butianyuan.cn/article/164528.htm

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

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

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

  2. 了解所使用的

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

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

  3) 培訓活動

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

  一般在學習一個新的處理器之前,把上面這些資料備齊,學習條件就很充分了。

  3. 閱讀原理圖

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

  4.

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

  5.

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

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

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

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

c++相關(guān)文章:c++教程




評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉