我對嵌入式軟體的理解

來源:互聯網
上載者:User

標籤:嵌入式   軟體   

嵌入式軟體就是給專門的嵌入式系統設計的軟體,和一般的PC軟體差別不是很大,主要的區別在嵌入式系統對功耗和記憶體大小上有嚴格的限制,所以嵌入式軟體一定要精簡,高效。

一個嵌入式系統一般都包含以下幾個部分:cpu,儲存空間,電源,介面,功能模組電路。而嵌入式軟體就是用來驅動硬體工作以達到系統的工作目的。

由於嵌入式系統的記憶體有限,所以軟體大部分是由C寫的,因為C++,java等語言雖然方便,但是很費記憶體,但是隨著儲存空間的變革,C++最終會取代C的。

作為一個嵌入式軟體工程師,需要瞭解一下一些知識:

1.C是必須會的,而且水平要比較高。嵌入式軟體的編程用到很多C裡面平時不常用的文法,比如內聯,靜態等。以及要清楚所有資料類型所佔用的記憶體。

2.會看懂英文使用者手冊和硬體原理。應為這方面的很多硬體都是外國生產的,所以要能看懂這些文檔。對於軟體工程師來說,硬體就是一堆寄存器,所以你要看懂硬體裡有哪些寄存器,每個有什麼作用。

3.會一些UI的設計,雖然這方面一般都有專業做介面的人去做,但是也要會一點。

4.知道如何將軟體一直到新的處理器架構上,這個要瞭解主流的處理器架構的特性。

5.知道如何調試自己的程式,模擬調試或者片上調試,反正就那幾個調試方法。

6.進階的嵌入式系統需要RTOS,所以也要懂作業系統。

嵌入式軟體一層一層的覆蓋在硬體上的,最底層的應該是硬體層,這一層直接對硬體的寄存器操作,是對硬體的第一層抽象。然後應該是驅動層,這一層提供一些硬體的功能函數。最後是介面層,這一層提供最終的函數給上一層的工程師,例如ledLight()這種函數,上層的人可以直接用這個函數來點亮led,而不用知道下面的細節。

這隻是我片面的理解,如果有什麼不對的地方請指出來。

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

我對嵌入式軟體的理解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.