姓名:薛紹宏? ? ?學號:19020100016? ? 學院:電子工程學院
【嵌牛導讀】本文介紹了嵌入式的關鍵技術分析和開發(fā)應用
【嵌牛鼻子】嵌入式關鍵技術分析和開發(fā)應用
【嵌牛提問】嵌入式目前有哪些關鍵技術和開發(fā)應用?
【嵌牛正文】
引?言
在當前數(shù)字信息技術和網(wǎng)絡技術高速發(fā)展的后PC(Post-PC)時代,嵌入式系統(tǒng)已經(jīng)廣泛地滲透到科學研究扫茅、工程設計姊氓、軍事技術停巷、各類產(chǎn)業(yè)和商業(yè)文化藝術以及人們的日常生活等方方面面中备畦。隨著國內(nèi)外各種嵌入式產(chǎn)品的進一步開發(fā)和推廣计盒,嵌入式技術越來越和人們的生活緊密結(jié)合射窒。
1970年左右出現(xiàn)了嵌入式系統(tǒng)的概念藏杖,此時的嵌入式系統(tǒng)很多都不采用操作系統(tǒng),它們只是為了實現(xiàn)某個控制功能脉顿,使用一個簡單的循環(huán)控制對外界的控制請求進行處理蝌麸。當應用系統(tǒng)越來越復雜、利用的范圍越來越廣泛的時候弊予,每添加一項新的功能祥楣,都可能需要從頭開始設計。沒有操作系統(tǒng)已成為一個最大的缺點了。?
C語言的出現(xiàn)使操作系統(tǒng)開發(fā)變得簡單误褪。從上世紀80年代開始责鳍,出現(xiàn)了各種各樣的商用嵌入式操作系統(tǒng)百家爭鳴的局面,比較著名的有VxWorks兽间、pSOS和Windows?CE等等历葛,這些操作系統(tǒng)大部分是為專有系統(tǒng)而開發(fā)的。另外嘀略,源代碼開放的嵌入式Linux恤溶,由于其強大的網(wǎng)絡功能和低成本,近來也得到了越來越多的應用帜羊。
1?嵌入式系統(tǒng)的技術特點
嵌入式系統(tǒng)通常包括構(gòu)成軟件的基本運行環(huán)境的硬件和操作系統(tǒng)兩部分咒程。嵌入式系統(tǒng)的運行環(huán)境和應用場合決定了嵌入式系統(tǒng)具有區(qū)別于其它操作系統(tǒng)的一些特點。
(1)嵌入式處理器? 嵌入式處理器可以分為三類:嵌入式微處理器讼育、嵌入式微控制器帐姻、嵌入式DSP(Digital?Signal?Processor)。嵌入式微處理器就是和通用計算機的微處理器對應的CPU奶段。在應用中饥瓷,一般是將微處理器裝配在專門設計的電路板上,在母板上只保留和嵌入式相關的功能即可痹籍,這樣可以滿足嵌入式系統(tǒng)體積小和功耗低的要求呢铆。目前的嵌入式處理器主要包括:PowerPC、Motorola?68000蹲缠、ARM系列等等棺克。
嵌入式微控制器又稱為單片機,它將CPU线定、存儲器(少量的RAM逆航、ROM或兩者都有)和其它外設封裝在同一片集成電路里。常見的有8051渔肩。
嵌入式DSP專門用來對離散時間信號進行極快的處理計算,提高編譯效率和執(zhí)行速度拇惋。在數(shù)字濾波周偎、FFT、譜分析撑帖、圖像處理的分析等領域蓉坎,DSP正在大量進入嵌入式市場。
(2)微內(nèi)核結(jié)構(gòu)
大多數(shù)操作系統(tǒng)至少被劃分為內(nèi)核層和應用層兩個層次胡嘿。內(nèi)核只提供基本的功能蛉艾,如建立和管理進程、提供文件系統(tǒng)、管理設備等勿侯,這些功能以系統(tǒng)調(diào)用方式提供給用戶拓瞪。一些桌面操作系統(tǒng),如Windows助琐、Linux等祭埂,將許多功能引入內(nèi)核,操作系統(tǒng)的內(nèi)核變得越來越大兵钮。內(nèi)核變大使得占用的資源增多蛆橡,剪裁起來很麻煩。
大多數(shù)嵌入式操作系統(tǒng)采用了微內(nèi)核結(jié)構(gòu)掘譬,內(nèi)核只提供基本的功能泰演,比如:任務的調(diào)度、任務之間的通信與同步葱轩、內(nèi)存管理睦焕、時鐘管理等。其它的應用組件酿箭,比如網(wǎng)絡功能复亏、文件系統(tǒng)例获、GUI系統(tǒng)等均工作在用戶態(tài)玖姑,以系統(tǒng)進程或函數(shù)調(diào)用的方式工作斜友。因而系統(tǒng)都是可裁減的坚踩,用戶可以根據(jù)自己的需要選用相應的組件歇攻。
(3)任務調(diào)度
在嵌入式系統(tǒng)中主届,任務即線程厂抽。大多數(shù)的嵌入式操作系統(tǒng)支持多任務羡蛾。多任務運行的實現(xiàn)實際是靠CPU在多個任務之間切換评架、調(diào)度眷茁。每個任務都有其優(yōu)先級,不同的任務優(yōu)先級可能相同也可能不同纵诞。任務的調(diào)度有三種方式:可搶占式調(diào)度上祈、不可搶占式調(diào)度和時間片輪轉(zhuǎn)調(diào)度。不可搶占式調(diào)度是指浙芙,一個任務一旦獲得CPU就獨占CPU運行登刺,除非由于某種原因,它決定放棄CPU的使用權嗡呼;可搶占式調(diào)度是基于任務優(yōu)先級的纸俭,當前正在運行的任務可以隨時讓位給優(yōu)先級更高的處于就緒態(tài)的其它任務;當兩個或兩個以上任務有同樣的優(yōu)先級南窗,不同任務輪轉(zhuǎn)地使用CPU揍很,直到系統(tǒng)分配的CPU時間片用完郎楼,這就是時間片輪轉(zhuǎn)調(diào)度。
目前窒悔,大多數(shù)嵌入式操作系統(tǒng)對不同優(yōu)先級的任務采用基于優(yōu)先級的搶占式調(diào)度法呜袁,對相同優(yōu)先級的任務則采用時間片輪轉(zhuǎn)調(diào)度法。
(4)硬實時和軟實時?
有些嵌入式系統(tǒng)對時間的要求較高蛉迹,稱之為實時系統(tǒng)傅寡。有兩種類型的實時系統(tǒng):硬實時系統(tǒng)和軟實時系統(tǒng)。軟實時系統(tǒng)并不要求限定某一任務必須在一定的時間內(nèi)完成北救,只要求各任務運行得越快越好荐操;硬實時系統(tǒng)對系統(tǒng)響應時間有嚴格要求,一旦系統(tǒng)響應時間不能滿足珍策,就可能會引起系統(tǒng)崩潰或致命的錯誤托启,一般在工業(yè)控制中應用較多。
(5)內(nèi)存管理
針對有內(nèi)存管理單元(MMU)的處理器設計的一些桌面操作系統(tǒng)攘宙,如Windows屯耸、Linux,使用了虛擬存儲器的概念蹭劈。虛擬內(nèi)存地址被送到MMU疗绣。在這里,虛擬地址被映射為物理地址铺韧,實際存儲器被分割為相同大小的頁面多矮,采用分頁的方式載入進程。一個程序在運行之前哈打,沒有必要全部裝入內(nèi)存塔逃,而是僅將那些當前要運行的部分頁面裝入內(nèi)存運行。? 大多數(shù)嵌入式系統(tǒng)針對沒有MMU的處理器設計料仗,不能使用處理器的虛擬內(nèi)存管理技術,采用的是實存儲器管理策略湾盗。因而對于內(nèi)存的訪問是直接的,它對地址的訪問不需要經(jīng)過MMU立轧,而是直接送到地址線上輸出格粪,所有程序中訪問的地址都是實際的物理地址;而且氛改,大多數(shù)嵌入式操作系統(tǒng)對內(nèi)存空間沒有保護匀借,各個進程實際上共享一個運行空間。一個進程在執(zhí)行前平窘,系統(tǒng)必須為它分配足夠的連續(xù)地址空間,然后全部載入主存儲器的連續(xù)空間凳怨。
由此可見瑰艘,嵌入式系統(tǒng)的開發(fā)人員不得不參與系統(tǒng)的內(nèi)存管理是鬼。從編譯內(nèi)核開始,開發(fā)人員必須告訴系統(tǒng)這塊開發(fā)板到底擁有多少內(nèi)存紫新;在開發(fā)應用程序時均蜜,必須考慮內(nèi)存的分配情況并關注應用程序需要運行空間的大小。另外芒率,由于采用實存儲器管理策略囤耳,用戶程序同內(nèi)核以及其它用戶程序在一個地址空間,程序開發(fā)時要保證不侵犯其它程序的地址空間偶芍,以使得程序不至于破壞系統(tǒng)的正常工作充择,或?qū)е缕渌绦虻倪\行異常;因而匪蟀,嵌入式系統(tǒng)的開發(fā)人員對軟件中的一些內(nèi)存操作要格外小心椎麦。
(6)內(nèi)核加載方式
嵌入式操作系統(tǒng)內(nèi)核可以在Flash上直接運行,也可以加載到內(nèi)存中運行材彪。Flash的運行方式观挎,是把內(nèi)核的可執(zhí)行映像燒寫到Flash上,系統(tǒng)啟動時從Flash的某個地址開始執(zhí)行段化。這種方法實際上是很多嵌入式系統(tǒng)所采用的方法嘁捷。內(nèi)核加載方式是把內(nèi)核的壓縮文件存放在Flash上,系統(tǒng)啟動時讀取壓縮文件在內(nèi)存里解壓显熏,然后開始執(zhí)行雄嚣。這種方式相對復雜一些,但是運行速度可能更快佃延,因為RAM的存取速率要比Flash高现诀。
由于嵌入式系統(tǒng)的內(nèi)存管理機制,嵌入式操作系統(tǒng)對用戶程序采用靜態(tài)鏈接的形式履肃。在嵌入式系統(tǒng)中仔沿,應用程序和操作系統(tǒng)內(nèi)核代碼編譯、鏈接生成一個二進制影像文件來運行尺棋。
2?嵌入式系統(tǒng)開發(fā)相關技術
相對于在Windows環(huán)境下的開發(fā)應用程序封锉,嵌入式系統(tǒng)開發(fā)有著很多的不同。不同的硬件平臺和操作系統(tǒng)帶來了許多附加的開發(fā)復雜性膘螟。?2.1?嵌入式開發(fā)過程
在嵌入式開發(fā)過程中有宿主機和目標機的角色之分:宿主機是執(zhí)行編譯成福、鏈接、定址過程的計算機荆残;目標機指運行嵌入式軟件的硬件平臺奴艾。首先須把應用程序轉(zhuǎn)換成可以在目標機上運行的二進制代碼。這一過程包含三個步驟:編譯内斯、鏈接蕴潦、定址像啼。編譯過程由交叉編譯器實現(xiàn)。所謂交叉編譯器就是運行在一個計算機平臺上并為另一個平臺產(chǎn)生代碼的編譯器潭苞。常用的交叉編譯器有GNU?C/C++(gcc)忽冻。編譯過程產(chǎn)生的所有目標文件被鏈接成一個目標文件,稱為鏈接過程此疹。定址過程會把物理存儲器地址指定給目標文件的每個相對偏移處僧诚。該過程生成的文件就是可以在嵌入式平臺上執(zhí)行的二進制文件。? 嵌入式開發(fā)過程中另一個重要的步驟是調(diào)試目標機上的應用程序蝗碎。嵌入式調(diào)試采用交叉調(diào)試器湖笨,一般采用宿主機-目標機的調(diào)試方式,它們之間由串行口線或以太網(wǎng)或BDM線相連衍菱。交叉調(diào)試有任務級赶么、源碼級和匯編級的調(diào)試,調(diào)試時需將宿主機上的應用程序和操作系統(tǒng)內(nèi)核下載到目標機的RAM中或直接燒錄到目標機的ROM中脊串。目標監(jiān)控器是調(diào)試器對目標機上運行的應用程序進行控制的代理(Debugger?Agent)辫呻,事先被固化在目標機的Flash、ROM中琼锋,在目標機上電后自動啟動放闺,并等待宿主機方調(diào)試器發(fā)來的命令,配合調(diào)試器完成應用程序的下載缕坎、運行和基本的調(diào)試功能怖侦,將調(diào)試信息返回給宿主機。?2.2?向嵌入式平臺移植軟件?
大部分嵌入式開發(fā)人員選用的軟件開發(fā)模式是先在PC機上編寫軟件谜叹,再進行軟件的移植工作匾寝。在PC機上編寫軟件時,要注意軟件的可移植性荷腊,選用具有較高移植性的編程語言(如C語言)艳悔,盡量少調(diào)用操作系統(tǒng)函數(shù),注意屏蔽不同硬件平臺帶來的字節(jié)順序女仰、字節(jié)對齊等問題猜年。以下是我們在移植協(xié)議棧過程中的一些體會。
2.2.1?字節(jié)順序
字節(jié)順序是指占內(nèi)存多于一個字節(jié)類型的數(shù)據(jù)在內(nèi)存中的存放順序疾忍,通常有小端乔外、大端兩種字節(jié)順序。小端字節(jié)序指低字節(jié)數(shù)據(jù)存放在內(nèi)存低地址處一罩,高字節(jié)數(shù)據(jù)存放在內(nèi)存高地址處杨幼;大端字節(jié)序是高字節(jié)數(shù)據(jù)存放在低地址處,低字節(jié)數(shù)據(jù)存放在高地址處〔罟海基于X86平臺的PC機是小端字節(jié)序的补疑,而有的嵌入式平臺則是大端字節(jié)序的。因而對int歹撒、uint16、uint32等多于1字節(jié)類型的數(shù)據(jù)诊胞,在這些嵌入式平臺上應該變換其存儲順序暖夭。通常我們認為,在空中傳輸?shù)淖止?jié)的順序即網(wǎng)絡字節(jié)序為標準順序撵孤,考慮到與協(xié)議的一致以及與同類其它平臺產(chǎn)品的互通迈着,在程序中發(fā)數(shù)據(jù)包時,將主機字節(jié)序轉(zhuǎn)換為網(wǎng)絡字節(jié)序邪码,收數(shù)據(jù)包處將網(wǎng)絡字節(jié)序轉(zhuǎn)換為主機字節(jié)序裕菠。
2.2.2?字節(jié)對齊
有的嵌入式處理器的尋址方式?jīng)Q定了在內(nèi)存中占2字節(jié)的int16、uint16等類型數(shù)據(jù)只能存放在偶數(shù)內(nèi)存地址處闭专,占4字節(jié)的int32?奴潘、uint32?等類型數(shù)據(jù)只能存放在4的整數(shù)倍的內(nèi)存地址處;占8字節(jié)的類型數(shù)據(jù)只能存放在8的整數(shù)倍的內(nèi)存地址處影钉;而在內(nèi)存中只占1字節(jié)的類型數(shù)據(jù)可以存放在任意地址處画髓。由于這些限制,在這些平臺上編程時有很大的不同平委。首先奈虾,結(jié)構(gòu)體成員之間會有空洞,比如這樣一個結(jié)構(gòu):
typedef?struct?test{
char?a;
uint16?b;
}TEST
結(jié)構(gòu)TEST在單字節(jié)對齊的平臺上占內(nèi)存三個字節(jié)廉赔,而在以上所述的嵌入式平臺上有可能占三個或四個字節(jié)肉微,視成員a的存儲地址而定。當a存儲地址為偶數(shù)時蜡塌,該結(jié)構(gòu)占四個字節(jié)碉纳,在a與b之間存在一個字節(jié)的空洞。對于通信雙方都是對結(jié)構(gòu)成員操作的岗照,這種情況不會出錯村象,但如果有一方是逐字節(jié)讀取內(nèi)容的(通信協(xié)議大都如此),就會錯誤地讀到其它字節(jié)的內(nèi)容攒至。其次厚者,若對內(nèi)存中數(shù)據(jù)以強制類型轉(zhuǎn)換的方式讀取,字節(jié)對齊的不同會引起數(shù)據(jù)讀取的錯誤迫吐。因為假如指針指在基數(shù)內(nèi)存地址處库菲,我們想取得占內(nèi)存兩個字節(jié)的數(shù)據(jù)存放在uint16型的變量中,強制類型轉(zhuǎn)換的結(jié)果是取得了該指針所指地址與前一地址處的數(shù)據(jù)志膀,并沒有按照我們的愿望取該指針所指地址與后一地址處的數(shù)據(jù)熙宇,這樣就導致了數(shù)據(jù)讀取的錯誤鳖擒。? 解決字節(jié)對齊有許多方法,比如可以在GCC的項目管理文件MakeFile中增加編譯選項--pack-struct烫止;但這種方法只能去除結(jié)構(gòu)中的空洞蒋荚,并不能解決強制類型轉(zhuǎn)換引起的錯誤。為了增強軟件的可移植性以及和同類其它平臺產(chǎn)品的互通性馆蠕,我們在收數(shù)據(jù)包處增加了拆包的函數(shù)期升,發(fā)數(shù)據(jù)包處增加了組包的函數(shù)。這兩個函數(shù)解決了字節(jié)序的問題互躬,也解決了字節(jié)對齊的問題播赁。即組包時根據(jù)參數(shù)中的格式字符串將內(nèi)存中的不同數(shù)據(jù)類型的某段數(shù)據(jù)放在指定地址處,組成包發(fā)給下層吼渡;拆包時容为,根據(jù)參數(shù)中的格式字符串將收到的內(nèi)存中的數(shù)據(jù)存放在不同類型的變量或結(jié)構(gòu)成員中。在函數(shù)中針對不同的數(shù)據(jù)類型作不同的處理寺酪。?2.2.3?位?段
由于位段的空間分配方向因硬件平臺的不同而不同坎背,對X86平臺,位段是從右向左分配的房维;而一些嵌入式平臺沼瘫,位段是從左向右分配的。分配順序的不同導致了數(shù)據(jù)存取的錯誤咙俩。解決這一問題的一種方法是采用條件編譯的方式耿戚,針對不同的平臺定義順序不同的位段;也可以在前面所述的兩個函數(shù)中加上對位段的處理阿趁。
2.2.4?代碼優(yōu)化
嵌入式系統(tǒng)對應用軟件的質(zhì)量要求更高膜蛔,因而在嵌入式開發(fā)中尤其須注意對代碼進行優(yōu)化,盡可能地提高代碼的效率脖阵,減少代碼的大小皂股。雖然現(xiàn)代C和C++編譯器都提供了一定程度的代碼優(yōu)化,但大部分由編譯器執(zhí)行的優(yōu)化技術僅涉及執(zhí)行速度和代碼大小的平衡命黔,不可能使程序既快又小呜呐,因而必須在編寫嵌入式軟件時采取必要的措施。?
(1)提高代碼的效率
『纺肌①switch-case?語句蘑辑。在程序中經(jīng)常會使用switch-case語句,每一個由機器語言實現(xiàn)的測試和跳轉(zhuǎn)僅僅是為了決定下一步要做什么坠宴,就浪費了處理器時間洋魂。為了提高速度,可以把具體的情況按照它們發(fā)生的相對頻率排序。即把最可能發(fā)生的情況放在第一副砍,最不可能發(fā)生的情況放在最后衔肢,這樣會減少平均的代碼執(zhí)行時間。
』眙帷②?全局變量角骤。使用全局變量比向函數(shù)傳遞參數(shù)更加有效率,這樣做去除了函數(shù)調(diào)用前參數(shù)入棧和函數(shù)完成后參數(shù)出棧的需要心剥。當然启搂,使用全局變量會對程序有一些負作用。
(2)減小代碼的大小?
嵌入式系統(tǒng)編程應避免使用標準庫例程刘陶,因為很多大的庫例程設法處理所有可能的情況,所以占用了龐大的內(nèi)存空間牢撼,因而應盡可能地減少使用標準庫例程匙隔。
(3)避免內(nèi)存泄漏
用戶內(nèi)存空間(堆)為RAM中全局數(shù)據(jù)和任務堆棧空間都分配后的剩余空間熏版,為了使程序能有足夠的內(nèi)存運行纷责,必須在申請的內(nèi)存不用后及時地將其釋放,以確保再次申請時能有空間撼短。如果程序中存在內(nèi)存泄漏(即申請內(nèi)存后沒有及時釋放)的情況再膳,程序最終會因為沒有足夠的內(nèi)存空間而無法運行。?3?嵌入式系統(tǒng)的廣泛應用
嵌入式系統(tǒng)的應用前景是非常廣泛的曲横,人們將會無時無處不接觸到嵌入式產(chǎn)品喂柒,從家里的洗衣機、電冰箱禾嫉,到作為交通工具的自行車灾杰、小汽車,到辦公室里的遠程會議系統(tǒng)等等熙参。特別是以藍牙為代表的小范圍無線接入?yún)f(xié)議的出現(xiàn)艳吠,使嵌入式無線電的概念悄然興起。當嵌入式的無線電芯片的價格可被接受時孽椰,它的應用可能會無所不在昭娩。在家中、辦公室黍匾、公共場所栏渺,人們可能會使用數(shù)十片甚至更多這樣的嵌入式無線電芯片,將一些電子信息設備甚至電氣設備構(gòu)成無線網(wǎng)絡膀捷;在車上迈嘹、旅途中,人們利用這樣的嵌入式無線電芯片可以實現(xiàn)遠程辦公、遠程遙控秀仲,真正實現(xiàn)把網(wǎng)絡隨身攜帶融痛。下面介紹幾種具體的應用。?
(1)嵌入式移動數(shù)據(jù)庫
所謂的移動數(shù)據(jù)庫是支持移動計算的數(shù)據(jù)庫神僵,有兩層含義:①?用戶在移動的過程中可以聯(lián)機訪問數(shù)據(jù)庫資源雁刷。②?用戶可以帶著數(shù)據(jù)庫移動。典型的應用場合有在開著的救護車上查詢最近的醫(yī)院保礼。該系統(tǒng)由前臺移動終端沛励、后臺同步服務器組成,移動終端上有嵌入式實時操作系統(tǒng)和嵌入式數(shù)據(jù)庫炮障。中國人民大學正在開發(fā)該系統(tǒng)目派,他們和Hopen公司合作,開發(fā)了前臺移動終端"小精靈"胁赢。
(2)嵌入式系統(tǒng)在智能家居網(wǎng)絡中的應用
智能家居網(wǎng)絡(E-Home)指在一個家居中建立一個通信網(wǎng)絡企蹭,為家庭信息提供必要的通路;在家庭網(wǎng)絡操作系統(tǒng)的控制下智末,通過相應的硬件和執(zhí)行機構(gòu)谅摄,實現(xiàn)對所有家庭網(wǎng)絡上家電和設備的控制和監(jiān)測。其網(wǎng)絡結(jié)構(gòu)的組成必然有家庭網(wǎng)關系馆。家庭網(wǎng)關主要實現(xiàn)控制網(wǎng)絡和信息網(wǎng)絡的信號綜合并與外界接口送漠,以便作遠程控制和信息交換。不論是網(wǎng)關還是各家電上的控制模塊由蘑,都需有嵌入式操作系統(tǒng)闽寡。這些操作系統(tǒng)必須具有內(nèi)嵌式、實時性好尼酿、多用戶的特點下隧。南京東大移動互聯(lián)技術有限公司研制的智能多媒體家庭網(wǎng)關,就是以嵌入式Linux作為該嵌入式設備的操作系統(tǒng)谓媒,設備之間的相互通信遵從藍牙通信協(xié)議淆院,可以支持多個設備同時接入到固定電話網(wǎng)、國際互聯(lián)網(wǎng)等其它外部網(wǎng)絡句惯。
(3)嵌入式語音芯片
嵌入式語音芯片基于嵌入式操作系統(tǒng)土辩,采用語音識別和語音合成、語音學層次結(jié)構(gòu)體系和文本處理模型等技術抢野;可以應用在手持設備拷淘、智能家電等多個領域,賦予這些設備人性化的交互方式和便利的使用方法指孤;也可應用于玩具中启涯,實現(xiàn)聲控玩具贬堵、仿真寵物、與人對話的玩具结洼;也能應用于車載通信設備實現(xiàn)人機交流黎做。該芯片應用在移動通信設備中,比如松忍,手機上短消息來時蒸殿,我們不必費力地去看,而是可以聽到聲音鸣峭。?(4)基于小范圍無線通信協(xié)議的嵌入式產(chǎn)品
以藍牙為代表的小范圍無線接入?yún)f(xié)議與嵌入式系統(tǒng)的結(jié)合宏所,必將推動嵌入式系統(tǒng)的廣泛應用。近來摊溶,基于這些協(xié)議的嵌入式產(chǎn)品層出不窮爬骤,包括各種電話系統(tǒng)、無線公文包莫换、各類數(shù)字電子設備以及在電子商務中的應用盖腕。這些產(chǎn)品以其微型化和低成本的特點為它們在家庭和辦公室自動化、電子商務浓镜、工業(yè)控制、智能化建筑物和各種特殊場合的應用開辟了廣闊的前景劲厌。?
東南大學移動通信國家重點實驗室以及依托實驗室建立的南京東大移動互聯(lián)技術有限公司膛薛,從1998年開始跟蹤藍牙技術,在香港特區(qū)政府創(chuàng)新科技基金补鼻、江蘇省"十五"重大科技攻關以及國家"十五"科技攻關的資助下哄啄,先后設計和研制了多種基于藍牙技術的嵌入式產(chǎn)品。其中包括符合Bluetooth?V1.1標準的嵌入式PSTN網(wǎng)關和語音終端风范。它們基于藍牙"三合一電話"應用模型咨跌,選用了中國科學院凱思昊鵬軟件技術工程有限公司提供的Hopen?OS作為嵌入式開發(fā)的軟件平臺,選用華邦的W90221作為硬件平臺硼婿。語音終端能通過PSTN網(wǎng)關以無線的方式接入到PSTN網(wǎng)絡中锌半,實現(xiàn)和PSTN網(wǎng)用戶的互通。還有符合Bluetooth?V1.1標準的嵌入式局域網(wǎng)接入點寇漫,它基于藍?quot;局域網(wǎng)接入"應用模型刊殉,選用嵌入式Linux操作系統(tǒng)作為軟件平臺,選用Motorola公司的CodeFire?5272作為硬件平臺州胳。通過該接入點记焊,終端用戶可以自由地接入到Internet,可以同時支持多個終端用戶連接到Internet栓撞。其它一些嵌入式產(chǎn)品包括智能多媒體家庭網(wǎng)關遍膜、遠程抄表系統(tǒng)碗硬、信息家電等等。?
結(jié)?語?
以上重點介紹了嵌入式系統(tǒng)的特點瓢颅、嵌入式產(chǎn)品的開發(fā)和應用恩尾。我們在開發(fā)過程中體會到:嵌入式系統(tǒng)開發(fā)和以前從事的開發(fā)工作實質(zhì)上并無區(qū)別,唯一改變的是每個硬件平臺都是獨特的惜索,這一個不同點導致了許多附加的開發(fā)復雜性特笋,因而,在嵌入式開發(fā)過程中要格外注意軟件創(chuàng)建過程巾兆;而且猎物,在開發(fā)嵌入式產(chǎn)品之前要對選用的嵌入式硬件平臺有較多的了解,具備相應的硬件知識角塑,和硬件工程師密切配合蔫磨;在選用嵌入式操作系統(tǒng)和硬件平臺時要根據(jù)所要開發(fā)的應用的需要以及成本等方面的考慮選擇合適的系統(tǒng)和平臺。
在科技快速發(fā)展的今天圃伶,嵌入式產(chǎn)品將會越來越多地被廣泛應用堤如。我們相信,只要遵循嵌入式產(chǎn)品的開發(fā)規(guī)律窒朋,適應市場的需求搀罢,就一定能開發(fā)出越來越多的嵌入式產(chǎn)品。