對于嵌入式來說,嵌入式是一個比較大的概念了,他可以分為很多很多不同的領域,之前有很多人問我嵌入式是硬件還是軟件呢,其實這都是因為對嵌入式還是沒有深入理解的原因,我們先不來說嵌入式是硬件還是軟件,我們就先來說一下,嵌入式到底是什么
在網上一般就是會給你這樣解釋:嵌入式是以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統。網上給你們的解答就都是這個樣子的,那你們能看懂嗎,在這里比較通俗的例子來解釋一下,讓你們可以更加明白了解。就像我們的手機,我們的手機就是一個嵌入式系統,可以裁剪,而且有電池,功能,功耗低這些都是嵌入式的特征,其實就像大腦一樣,來讓一些肢體部分來做一些事和這是差不多的。在我們身邊有很多就像手表、微波爐、錄像機、汽車等,都使用嵌入式系統,他們都是帶有數字接口的設備。有些嵌入式系統還包含操作系統,但大多數嵌入式系統都是由單個程序實現整個控制邏輯。
那接下來,就是重點了,嵌入式到底是硬件還是軟件呢?其實嵌入式就是一個軟件和硬件的綜合體,通過上面嵌入式的解釋應該就會有這樣的想法了,因為嵌入式是軟硬件可裁剪的。那在硬件和軟件之間應該如何選擇呢?根據市場的需求不同,來選擇你喜歡的那一個
隨著嵌入式技術的普及,嵌入式硬件工程師與我們平常所說的硬件工程師不同。嵌入式硬件工程不但要求具備硬件工程師的基本技能,還必須完成部分軟件工程師的工作,例如: 底層驅動的開發嵌入式操作系統的裁剪,移植; GUI、文件系統等軟件的移植; 基于嵌入式操作系統的底層驅動程序的設計等。
嵌入式硬件需要學習的技能:
1.從硬件上,將基于CPU的處圍器件,整合到CPU芯片內部。
2.從軟件上,就是在定制操作系統內核里將應用一并選入,編譯后將內核下載到ROM中
3.把軟件內核或應用文件系統等東西燒到嵌入式系統硬件平臺中的ROM中就實現了一個真正的“嵌入”。這就是嵌入式工程師應該具備的技能。
而嵌入式軟件工程師則是指在wince.linux 等嵌入式操作系統下進行用戶應用軟件開發的人員,硬件平臺則是基于嵌入式產品的(例如: 手機、PDA 等)。軟件開發工具也有所區別,嵌入式軟件開發一般使用的是嵌入式系統專用的開發工具,例如wince 下的evc,和linux 下的qt 等。
嵌入式軟件需要學習的技能:
1.懂得C語言和一些簡單的匯編語言編程。
2.能夠閱讀一般嵌入式系統的原理圖。
3.至少熟悉一種嵌入式系統的軟件開發環境。
4.熟悉一種嵌入式系統軟件的開發過程,如:單片機系統、DSP系統、ARM系統或其它的一些潛入式系統。
5.理解常見的嵌入式操作系統的工作原理,理解線程、進程、信號量、消息機制、同步與互拆、并發控制等軟件編程時用到的概念。
6.必要硬件基礎知識。
嵌入式是硬件還是軟件,我相信你的心中應該是有底了,在軟件和硬件之中的選擇就看你自己的興趣了,硬件和軟件可以說是不分家的,不管學哪個都會涉及的,好好掌握最重要。