後PC時代的來臨具有兩項特質,其一是電腦的使用深入普及到每個家庭,使它不再只是電腦玩家的專業工具;其次是網際網路的蓬勃發展,取代人們過去所使用的溝通工具。廣泛使用資訊家電與網路設備已經是必然的發展趨勢,人們也漸漸習慣隨手使用各式各樣的資訊家電產品,相信未來數年嵌入式系統將逐漸發展為充滿商機的新興產業。
在資訊時代裡面,嵌入式系統幾乎是無所不在的,當我們拿起手機打電話、取出PDA記約會或是在家裡申請寬頻網路,都用到嵌入式系統。它的用途可以概分為資訊家電、網路設備與工業用三大類;資訊家電類包括網路瀏覽、視訊點播、智慧型手機、PDA、及掌上型電腦等設備;網路設備包括路由器、無線AP、Web server、頻寬分享器、及網路電話;另外,各種工業控制設備也都大量採用嵌入式系統。
有別於個人電腦的普遍性與多樣性用途,嵌入式系統的特色是它的體積小,成本低,特定功能操作簡易。由於小型化與單一功能化的需求,使得它必須既輕巧,又便於使用,因而提高了其設計困難度;設計者必須在受到限制的系統資源之下,提供使用者便利的功能。
嵌入式系統的軟體架構可以分為應用軟體(Application Software)、中介軟體(Middleware)、作業系統(Operation System)、與驅動程式(Device Driver)四個主要的層級,應用軟體包括使用者介面以及主要的系統功能,例如網路瀏覽程式與多媒體壓縮程式;中介軟體負責執行TCP/IP等通訊協定工作;作業系統負責統籌管理嵌入式系統的資源;至於眾多驅動程式則各自負責網路晶片、LCD顯示器與USB介面等各個零組件功能的掌控工作。
常用的嵌入式軟體可以分為版權私屬軟體和開放原始碼兩大類,版權私屬的軟體有Windows CE、VxWorks、pSOS、QNX、Palm OS、Nucleus、OS-9等不同的作業系統;每一種作業系統都搭配專屬的應用程式、中介軟體、與驅動程式;各種作業系統的系統架構各有千秋,其授權模式與授權金的金額也各自不同,日後有機會,我們將再專文介紹。
至於開放原始碼的軟體,則以Linux與FreeBSD兩大類為主要的作業系統。基於歷史的淵源,大部分的網際網路骨幹都是以Unix系統佈建而成的;而Linux與FreeBSD都是模仿Unix作業系統的軟體介面;因此,開放原始碼世界包含許多屬於網際網路功能而且原始碼可資修改後再利用的軟體模組。由於資訊家電與網際網路的普及,網路接取功能將會是嵌入式系統的必備要件。採用開放原始碼來設計嵌入式系統的優點,除了成熟的作業系統、穩定的網路協定軟體之外,還可以充分運用為數眾多的網路中介軟體與應用軟體。所以,開放原始碼特別適合用來設計需要網路連線能力的嵌入式應用。
對軟體開發有興趣的朋友可以上Source Forge(http://sourceforge.net/)網站尋求資源,它號稱是全球最大的開放原始碼入口網站,計有七萬六千多組開放原始碼研發團隊註冊,並提供各團隊的開發進度與成果供查詢下載。此外,由政府撥款補助的自由軟體鑄造場(http://ossf.iis.sinica.edu.tw/)則提供國內自由軟體社群一個永續經營的網路服務系統,成為開發者與應用者之間的資訊交換的平台,推動自由軟體與國內蓬勃的硬體及半導體產業結合,提升電子資訊產業的競爭力與附加價值。(作者現職為軟體自由協會常務理事/晶慧資訊總經理)