本文從技術和就業經驗等角度,為即將進入嵌入式開發的工程師們詳細講述嵌入式的概念、嵌入式開發之間的異同以及應該如何做出選擇。是一些經驗之談,希望對大家有所幫助。
一.工程師眼中的“嵌入式系統”
在工程師看來:著重理解“嵌入”的概念,主要從三個方面來理解:
1.從硬件上,將基于CPU 的外圍器件,整合到CPU 芯片內部,比如早期基于X86體系結構下的計算機,CPU 只是有運算器和累加器的功能,一切芯片要靠外部橋路來擴展實現,象串口之類的都是靠外部的16C550/2的串口控 制器芯片實現。目前這種串口控制器芯片早已集成到CPU 內部。還有PC 機有顯卡,而多數嵌入式處理器都 帶有LCD 控制器,但某種意義上就相當于顯卡。比較高端的ARM 類Intel Xscale 架構下的IXP 網絡處理器CPU 內部集成PCI 控制器(可配成支持4個PCI 從設備或配成自身為CPI 從設備);還集成3個NPE 網絡處理器引擎,其中兩個對應于兩個MAC 地址, 可用于網關交換用,而另外一個NPE 網絡處理器引擎支持DSL,只要外面再加個PHY 芯片即可實現DSL 上網功能。IXP 系列最高主頻可以達到1.8G,支持2G 內存,1G×10或10G×1的以太 網口或Febre channel 的光通道。IXP 系列應該是目標基于ARM 體系結構下由Intel 進行整合后成Xscale 內核的最高的處理器了。
2、從軟件上,就是在定制操作系統內核里將應用一并選入,編譯后將內核下載到ROM 中。而在定制操作系統內核時所選擇的應用程序組件就是完成了軟件的“嵌入”,比如WinCE 在內核定制時,會有相應選擇,其中就是 wordpad,PDF,MediaPlay 等等選擇,如果我們選擇了,在CE 啟動后,就可以在界面中找到這些東西,如果是以前PC 上的windows 操作系統,多半的東西都需要我們得新再裝。
3、把軟件內核或應用文件系統等東西燒到嵌入式系統硬件平臺中的ROM 中就實現了一個真正的“嵌入”。 以上的定義是我在6、7年前給嵌入式系統下自話側重于理解型的定義,書上的定義也有很多,但在這個領域范圍 內,誰都不敢說自己的定義是十分確切的,包括那些專家學者們,因為畢竟嵌入式系統是計算機范疇下的一門綜合性學科。 |