真正的嵌入式精英是如何修鍊成的?

來源:互聯網
上載者:User

       怎樣做才能快速的成為嵌入式高手呢? 其實,做工程是沒有捷徑可走的.聽聽下面一個大牛人寫的!看看有何真經?

       先說做硬體:

       把你的數字電路教材和類比電路的教材讀熟,暫時先把重點放在數字電路上面,接著把微機原理和介面技術讀熟悉了,最好能用彙編寫幾個簡單的程式上機調試一下,這是很重要的。

       完成上面的工作大概需要半年,不管你有多麼的聰明,除非你以前這個基礎就打的不錯,否則,還是老老實實花上至少半年的時間!還是那句話,沒有捷徑可走,如果你相信那些什麼“21天學通xx”什麼的,那麼我告訴你,放棄做工程吧!再說,你這麼容易就學會了,別人也能的,你確定能拿到高薪嗎?
下一步,就是選擇一個DSP(或其它的嵌入式CPU)平台作為你的目標平台,先熟悉它的架構和與外圍電路的介面,然後學習她的指令集,也要寫一些小程式去跑一下。這個時候,你應該去買一個開發板了,一般的廠家附帶會給你一些demo程式,看懂它,理解它,修改它,在你的板子上跑一跑。

       完成上面兩步,說明你已經入了這個行業的門了,下一步,想成為高手的話,就是自己去設計一些項目了,這個階段所花的時間每個人都是不同的,要看你的造化(主要是前面的基礎是否牢固)了。

       再說說軟體:

       在嵌入式行業,你想做軟體開發的話,沒別的,那就深入理解C語言,尤其是C的指標,如果你以前學過C,但是沒有意識到C相比其它的進階語言的優點的話(不是聽別人說的,你自己的體會),你可以按下面步驟來理解C:

       1、重新翻一遍C的教材,記住一些常用的C文法,但不要死摳文法;

       2、從編譯器的角度來理解C;

        從編譯原理的角度來理解你工作中使用的進階語言,如果你做到這一點,至少有兩個好處:

        第一個好處是避免一大堆低水平重複出現的編譯錯誤。一名優秀的Coder平均在一個工作日中應該完成200行以上的源碼,其編譯錯誤應該控制在5個以下,要知道這200行源碼不是一次完成的,所以大多數情況下你都要追求一次編譯通過;

       第二個好處是可以提高源碼的可讀性和效率。規範地編寫你的代碼使你自己的邏輯清晰,因為你明白多加幾個括弧和空行、多換行對齊、多注釋,編譯器是會自動識別的,不影響程式執行的效率,反過來,控制好遞迴調用和迴圈內的if語句才是提高程式效率的關鍵,要全力避免遞迴,但要深刻理解遞迴,能通過自己建立堆棧來把遞迴程式轉換成非遞迴程式,要求還是較高的哦!

       3、從硬體的角度來理解C。

       完成上面3步,你就是C的高手了,接下來應該去看看軟體工程方面的書了,這個我還不太懂,不敢妄言。

       另外說說教材的選擇:學一門東西,選好你的教材,只要一本就可以了。堅決防止這種情況的出現:去圖書館借很多本書,像搶劫似的,而只是每一本都翻翻,就又還給圖書館了的!注意上面我把組合語言放在硬體學習的板塊裡面,是由於彙編跟硬體的關係太緊密了,以至於是先學彙編還是先學習硬體電路和CPU架構成了要分清到底是“先有雞還是先有蛋”的千年哲學難題了。

       嵌入式作業系統一覽

       其實,嵌入式系統並不是一個新生的事物,從八十年代起,國際上就有一些IT組織、公司,開始進行商用嵌入式系統和專用作業系統的研發。這其中湧現了一些著名的嵌入式系統:

       Windows CE

       Microsoft Windows CE是從整體上為有限資源的平台設計的多線程、完整優先權、多任務的作業系統。它的模組化設計允許它對於從掌上型電腦到專用的工業控制器的使用者電子裝置進行定製。作業系統的基本核心需要至少200K的ROM。

       VxWorks

       VxWorks是目前嵌入式系統領域中使用最廣泛、市場佔有率最高的系統。它支援多種處理器,如x86、i960、Sun Sparc、Motorola MC68xxx、MIPS RX000、POWER PC等等。大多數的VxWorks API是專有的。採用GNU的編譯和調試器。

       pSOS

       ISI公司已經被WinRiver公司兼并,現在pSOS屬於WindRiver公司的產品。這個系統是一個模組化、高效能的即時作業系統,專為嵌入式微處理器設計,提供一個完全多任務環境,在定製的或是商業化的硬體上提供高效能和高可靠性。可以讓開發人員根據作業系統的功能和記憶體需求定製成每一個應用所需的系統。開發人員可以利用它來實現從簡單的單個獨立裝置到複雜的、網路化的多處理器系統。

       QNX

       QNX是一個即時的、可擴充的作業系統,它部分遵循POSIX相關標準,如:POSIX.1b即時擴充。它提供了一個很小的微核心以及一些可選的配合進程。其核心僅提供4種服務:進程調度、處理序間通訊、底層網路通訊和中斷處理,其進程在獨立的地址空間運行。所有其它OS服務,都實現為協作的使用者進程,因此QNX核心非常小巧(QNX4.x大約為12Kb)而且運行速度極快。這個靈活的結構可以使使用者根據實際的需求,將系統配置成微小的嵌入式作業系統或是包括幾百個處理器的超級虛擬機器作業系統。

       Palm OS

       3Com公司的Palm OS在PDA市場上佔有很大的市場份額,它有開放的作業系統應用程式介面(API),開發商可以根據需要自行開發所需要的應用程式。

       OS-9

       Microwave的OS-9是為微處理器的關鍵即時任務而設計的作業系統,廣泛應用於高科技產品中,包括消費電子產品、工業自動化、無線通訊產品、醫學儀器、數字電視/多媒體裝置。它提供了很好的安全性和容錯性。與其他的嵌入式系統相比,它的靈活性和可升級性非常突出。

       LynxOS

       Lynx Real-time Systems的LynxOS是一個分布式、嵌入式、可規模擴充的即時作業系統,它遵循POSIX.1a、POSIX.1b和POSIX.1c標準。 LynxOS支援線程概念,提供256個全域使用者線程優先順序;提供一些傳統的、非即時系統的服務特徵;包括基於調用需求的虛擬記憶體,一個基於Motif的使用者圖形介面,與工業標準相容的網路系統以及應用開發工具。

       目前,世面上有很多商業性嵌入式系統都在努力地為自己爭取著嵌入式市場的份額。但是,這些專用作業系統均屬於商業化產品,價格昂貴;而且,由於它們各自的原始碼不公開,使得每個系統上的應用軟體與其它系統都無法相容。並且,由於這種封閉性還導致了商業嵌入式系統在對各種裝置的支援方面存在很大的問題,使得對它們的軟體移植變得很困難。在嵌入式這個IT產業的新的關鍵領域,Linux作業系統適時地出現在了國家和國內各嵌入式廠商面前,由於Linux自身諸多優勢,吸引了許多開發商的目光,成為嵌入式作業系統的新寵。它的出現無疑為國家發展嵌入式作業系統事業提供了一個極有吸引力的機會。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.