魏 民
Ø 引言以應用為中心,以計算機技術(shù)為基礎,軟件、硬件可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗要求嚴格的專(zhuān)用計算機系統,稱(chēng)為嵌入式系統。一個(gè)最小的嵌入式系統的基本組成為:① 一個(gè)用作引導的可用設施(工具);② 一個(gè)具備內存管理,進(jìn)程管理和定時(shí)器服務(wù)的LINUX微內核;③ 一個(gè)初始進(jìn)程;④ 硬件的驅動(dòng)程序;⑤ 一個(gè)或幾個(gè)應用進(jìn)程以提供必要的應用功效。
Ø 嵌入式LINUX操作系統的特點(diǎn)
• 比較
有人認為L(cháng)INUX由于太大而不宜用作嵌入式系統,這種觀(guān)點(diǎn)不正確。面向PC機的LINUX型發(fā)布版有很多,功能根本用不上,甚至超出了一個(gè)PC用戶(hù)的需求。因此,對LINUX進(jìn)行合理的裁減,可以形成一個(gè)很具有實(shí)用性的嵌入式操作系統。下面對嵌入式LINUX操作系統與專(zhuān)用嵌入式實(shí)時(shí)操作系統的比較如表1所示。
表1
• 嵌入式LINUX的內存使用
在一個(gè)簡(jiǎn)單的系統中,當系統啟動(dòng)后,內核和各種應用進(jìn)程均駐留在內存中,這是大多數傳統嵌入式系統的工作方式,當然也包括LINUX。但它還可以使用另外一種方式:LINUX有裝載和卸載程序的能力,所有應用程序以文件的形式被存放在閃存文件系統中并在必要的時(shí)候被裝載到內存中,以節省RAM。
• 開(kāi)發(fā)嵌入式LINUX的調試方法
當為一個(gè)新硬件開(kāi)發(fā)相應的嵌入式LINUX系統時(shí),要用到的典型調試工具的序列和步驟是:
① 修改代碼使之能讀寫(xiě)串口,并使用gdb運行該程序。這將允許它向另一臺正運行著(zhù)gdb程序的LINUX主機通信;gdb通過(guò)串口與測試計算機上的gdb目標碼會(huì )話(huà)并給出全部C源碼級的調試信息;
② 借助gdb執行余下的,直到LINUX內核開(kāi)始接管之前的所有硬件和軟件的初始化代碼;
③ 一旦LINUX內核啟動(dòng)后,上述的串口就成為L(cháng)INUX的控制臺端口,可以利用它的便利來(lái)進(jìn)行后繼開(kāi)發(fā)過(guò)程,并可以使用gdb的內核調試版本kgdb。
• 嵌入式LINUX的可移植性
將LINUX移植到新的微處理器體系非??旖?,一般是將其移植到一種新型的目標板,其中包含有獨特的外設。大部分的內核代碼都是相同的,因為它們與微處理器無(wú)關(guān),所以,移植的工作多集中在一些存儲器管理及中斷處理程序上。一旦完成,它們將非常穩定。
Ø 嵌入式LINUX的應用
嵌入式系統的涵蓋面是非常廣泛的,其中,家電市場(chǎng)包括機頂盒、數字電視、可視電話(huà)、家庭網(wǎng)絡(luò )等信息家電;工業(yè)市場(chǎng)包括工業(yè)控制設備、儀器;商用市場(chǎng)包括掌上電腦、瘦客戶(hù)機、POS終端等;通信市場(chǎng)包括WAP手機、無(wú)線(xiàn)PDA等。目前被廣泛看好的是信息家電市場(chǎng),國內有很多開(kāi)發(fā)廠(chǎng)商正加大投入、開(kāi)發(fā)和研制新的產(chǎn)品,嵌入式LINUX將是他們首選的操作系統。