本期的嵌入式開發學習將和大家討論什么是嵌入式c編程,你是如何理解嵌入式c編程的。在上個篇章我們有簡單介紹了什么是嵌入式系統的官方定義以及其發展的階段?如對嵌入式開發感興趣的童鞋不妨接著往下看。你是如何理解嵌入式c編程的?
一、新手常常問的一個問題是c語言和嵌入式c編程有什么區別?而嵌入式工程師一般都會告訴你其區別在于嵌入式的C語言是跑在嵌入式的開發板上的,CPU和我們電腦不一樣,所以編譯器也是不一樣的,生成的可執行程序也是不一樣的。不同于一般形式的軟件編程,基于特定的硬件平臺嵌入式系統編程的,勢必要求其編程語言具備較強的硬件直接操作能力。毫無疑問,匯編語言是具備這種特點的。然而,由于該語言編寫開發過程的復雜性,它通常不選擇用于嵌入式系統開發。對比,C語言是一種“低層次”的語言,已經成為嵌入式系統開發的選擇。
三、嵌入式系統的核心是嵌入式微處理器。嵌入式微處理器一般就具備以下4個特點:
1)對實時多任務有很強的支持能力,能完成多任務并且有較短的中斷響應時間,從而使內部的代碼和實時內核心的執行時間減少到限度。
2)具有功能很強的存儲區保護功能。這是由于嵌入式系統的軟件結構已模塊化,而為了避免在軟件模塊之間出現錯誤的交叉作用,需要設計強大的存儲區保護功能,同時也有利于軟件診斷。
3)可擴展的處理器結構,以能迅速地開展出滿足應用的性能的嵌入式微處理器。
4)嵌入式微處理器必須功耗很低,尤其是用于便攜式的無線及移動的計算和通信設備中靠電池供電的嵌入式系統更是如此,如需要功耗只有mW甚至μW級。
四、嵌入式計算機系統同通用型計算機系統相比具有以下特點:
1.嵌入式系統通常是面向特定應用的嵌入式CPU與通用型的不同就是嵌入式CPU大多工作在為特定用戶群設計的系統中,它通常都具有低功耗、體積小、集成度高等特點,能夠把通用CPU中許多由板卡完成的任務集成在芯片內部,從而有利于嵌入式系統設計趨于小型化,移動能力大大增強,跟網絡的耦合也越來越緊密。
2.嵌入式系統是將先進的計算機技術、半導體技術和電子技術與各個行業的具體應用相結合后的產物。這一點就決定了它必然是一個技術密集、資金密集、高度分散、不斷創新的知識集成系統。
3.嵌入式系統的硬件和軟件都必須高效率地設計,量體裁衣、去除冗余,力爭在同樣的硅片面積上實現更高的性能,這樣才能在具體應用中對處理器的選擇更具有競爭力。
4.嵌入式系統和具體應用有機地結合在一起,它的升級換代也是和具體產品同步進行,因此嵌入式系統產品一旦進入市場,具有較長的生命周期。
5.為了提高執行速度和系統可靠性,嵌入式系統中的軟件一般都固化在存儲器芯片或單片機本身中,而不是存貯于磁盤等載體中。