|
一、新手常常問的一個問題是c語言和嵌入式c編程有什么區別?而嵌入式工程師一般都會告訴你其區別在于嵌入式的C語言是跑在嵌入式的開發板上的,CPU和我們電腦不一樣,所以編譯器也是不一樣的,生成的可執行程序也是不一樣的。不同于一般形式的軟件編程,基于特定的硬件平臺嵌入式系統編程的,勢必要求其編程語言具備較強的硬件直接操作能力。毫無疑問,匯編語言是具備這種特點的。然而,由于該語言編寫開發過程的復雜性,它通常不選擇用于嵌入式系統開發。對比,C語言是一種“低層次”的語言,已經成為嵌入式系統開發的最佳選擇。 二、嵌入式操作系統一般指非PC系統,它包括硬件和軟件兩部分。硬件包括處理器/微處理器、存儲器及外設器件和I/O端口、圖形控制器等。軟件部分包括操作系統軟件(OS)(要求實時和多任務操作)和應用程序編程。有時設計人員把這兩種軟件組合在一起。應用程序控制著系統的運作和行為;而操作系統控制著應用程序編程與硬件的交互作用。 三、嵌入式系統的核心是嵌入式微處理器。嵌入式微處理器一般就具備以下4個特點: 1)對實時多任務有很強的支持能力,能完成多任務并且有較短的中斷響應時間,從而使內部的代碼和實時內核心的執行時間減少到最低限度。 2)具有功能很強的存儲區保護功能。這是由于嵌入式系統的軟件結構已模塊化,而為了避免在軟件模塊之間出現錯誤的交叉作用,需要設計強大的存儲區保護功能,同時也有利于軟件診斷。 3)可擴展的處理器結構,以能最迅速地開展出滿足應用的最高性能的嵌入式微處理器。 4)嵌入式微處理器必須功耗很低,尤其是用于便攜式的無線及移動的計算和通信設備中靠電池供電的嵌入式系統更是如此,如需要功耗只有mW甚至μW級。 四、嵌入式計算機系統同通用型計算機系統相比具有以下特點: 1.嵌入式系統通常是面向特定應用的嵌入式CPU與通用型的最大不同就是嵌入式CPU大多工作在為特定用戶群設計的系統中,它通常都具有低功耗、體積小、集成度高等特點,能夠把通用CPU中許多由板卡完成的任務集成在芯片內部,從而有利于嵌入式系統設計趨于小型化,移動能力大大增強,跟網絡的耦合也越來越緊密。 2.嵌入式系統是將先進的計算機技術、半導體技術和電子技術與各個行業的具體應用相結合后的產物。這一點就決定了它必然是一個技術密集、資金密集、高度分散、不斷創新的知識集成系統。 3.嵌入式系統的硬件和軟件都必須高效率地設計,量體裁衣、去除冗余,力爭在同樣的硅片面積上實現更高的性能,這樣才能在具體應用中對處理器的選擇更具有競爭力。 4.嵌入式系統和具體應用有機地結合在一起,它的升級換代也是和具體產品同步進行,因此嵌入式系統產品一旦進入市場,具有較長的生命周期。 5.為了提高執行速度和系統可靠性,嵌入式系統中的軟件一般都固化在存儲器芯片或單片機本身中,而不是存貯于磁盤等載體中。 6.嵌入式系統本身不具備自舉開發能力,即使設計完成以后用戶通常也是不能對其中的程序功能進行修改的,必須有一套開發工具和環境才能進行開發。 以上就是對嵌入式C編程的簡單闡述,可能對較年輕的設計工程師來說,c編程或許真的不太好掌握,但c編程并不是已經過時的設計語言,在方興未艾的嵌入式軟件開發領域依然維持著主導地位。
交流可以加QQ啊2685896890
|