當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件

  基于嵌入式系統(tǒng)的概念,闡述嵌入式系統(tǒng)的關(guān)鍵技術(shù)、嵌入式開發(fā)以及廣泛的應(yīng)用。首先,分析嵌入式系統(tǒng)的技術(shù)特點(diǎn),分別從嵌入式處理器和嵌入式操作系統(tǒng)兩方面介紹,著重說明它不同于其它操作系統(tǒng)的一些處理方法和過程;在此基礎(chǔ)上闡述嵌入式軟件的開發(fā)過程,并結(jié)合作者嵌入式軟件開發(fā)的實(shí)踐,著重闡述嵌入式軟件的一些開發(fā)技巧。接著,介紹目前嵌入式系統(tǒng)一些流行的應(yīng)用,以及南京東大移動(dòng)互聯(lián)技術(shù)有限公司自行研制的基于藍(lán)牙技術(shù)的嵌入式產(chǎn)品。最后,給出作者的體會(huì),展望嵌入式系統(tǒng)的前景。

  引 言

  在當(dāng)前數(shù)字信息技術(shù)和網(wǎng)絡(luò)技術(shù)高速發(fā)展的后PC(Post-PC)時(shí)代,嵌入式系統(tǒng)已經(jīng)廣泛地滲透到科學(xué)研究、工程設(shè)計(jì)、軍事技術(shù)、各類產(chǎn)業(yè)和商業(yè)文化藝術(shù)以及人們的日常生活等方方面面中。隨著國內(nèi)外各種嵌入式產(chǎn)品的進(jìn)一步開發(fā)和推廣,嵌入式技術(shù)越來越和人們的生活緊密結(jié)合。

  1970年左右出現(xiàn)了嵌入式系統(tǒng)的概念,此時(shí)的嵌入式系統(tǒng)很多都不采用操作系統(tǒng),它們只是為了實(shí)現(xiàn)某個(gè)控制功能,使用一個(gè)簡單的循環(huán)控制對外界的控制請求進(jìn)行處理。當(dāng)應(yīng)用系統(tǒng)越來越復(fù)雜、利用的范圍越來越廣泛的時(shí)候,每添加一項(xiàng)新的功能,都可能需要從頭開始設(shè)計(jì)。沒有操作系統(tǒng)已成為一個(gè)最大的缺點(diǎn)了。

  C語言的出現(xiàn)使操作系統(tǒng)開發(fā)變得簡單。從上世紀(jì)80年代開始,出現(xiàn)了各種各樣的商用嵌入式操作系統(tǒng)百家爭鳴的局面,比較著名的有VxWorks、pSOS和Windows CE等等,這些操作系統(tǒng)大部分是為專有系統(tǒng)而開發(fā)的。另外,源代碼開放的嵌入式Linux,由于其強(qiáng)大的網(wǎng)絡(luò)功能和低成本,近來也得到了越來越多的應(yīng)用。

  1 嵌入式系統(tǒng)的技術(shù)特點(diǎn)

  嵌入式系統(tǒng)通常包括構(gòu)成軟件的基本運(yùn)行環(huán)境的硬件和操作系統(tǒng)兩部分。嵌入式系統(tǒng)的運(yùn)行環(huán)境和應(yīng)用場合決定了嵌入式系統(tǒng)具有區(qū)別于其它操作系統(tǒng)的一些特點(diǎn)。

(1)嵌入式處理器

  嵌入式處理器可以分為三類:嵌入式微處理器、嵌入式微控制器、嵌入式DSP(Digital Signal Processor)。嵌入式微處理器就是和通用計(jì)算機(jī)的微處理器對應(yīng)的CPU。在應(yīng)用中,一般是將微處理器裝配在專門設(shè)計(jì)的電路板上,在母板上只保留和嵌入式相關(guān)的功能即可,這樣可以滿足嵌入式系統(tǒng)體積小和功耗低的要求。目前的嵌入式處理器主要包括:PowerPC、Motorola 68000、ARM系列等等。

  嵌入式微控制器又稱為單片機(jī),它將CPU、存儲(chǔ)器(少量的RAM、ROM或兩者都有)和其它外設(shè)封裝在同一片集成電路里。常見的有8051。

  嵌入式DSP專門用來對離散時(shí)間信號(hào)進(jìn)行極快的處理計(jì)算,提高編譯效率和執(zhí)行速度。在數(shù)字濾波、FFT、譜分析、圖像處理的分析等領(lǐng)域,DSP正在大量進(jìn)入嵌入式市場。

?。?)微內(nèi)核結(jié)構(gòu)

  大多數(shù)操作系統(tǒng)至少被劃分為內(nèi)核層和應(yīng)用層兩個(gè)層次。內(nèi)核只提供基本的功能,如建立和管理進(jìn)程、提供文件系統(tǒng)、管理設(shè)備等,這些功能以系統(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)核只提供基本的功能,比如:任務(wù)的調(diào)度、任務(wù)之間的通信與同步、內(nèi)存管理、時(shí)鐘管理等。其它的應(yīng)用組件,比如網(wǎng)絡(luò)功能、文件系統(tǒng)、GUI系統(tǒng)等均工作在用戶態(tài),以系統(tǒng)進(jìn)程或函數(shù)調(diào)用的方式工作。因而系統(tǒng)都是可裁減的,用戶可以根據(jù)自己的需要選用相應(yīng)的組件。

 (3)任務(wù)調(diào)度

  在嵌入式系統(tǒng)中,任務(wù)即線程。大多數(shù)的嵌入式操作系統(tǒng)支持多任務(wù)。多任務(wù)運(yùn)行的實(shí)現(xiàn)實(shí)際是靠CPU在多個(gè)任務(wù)之間切換、調(diào)度。每個(gè)任務(wù)都有其優(yōu)先級,不同的任務(wù)優(yōu)先級可能相同也可能不同。任務(wù)的調(diào)度有三種方式:可搶占式調(diào)度、不可搶占式調(diào)度和時(shí)間片輪轉(zhuǎn)調(diào)度。不可搶占式調(diào)度是指,一個(gè)任務(wù)一旦獲得CPU就獨(dú)占CPU運(yùn)行,除非由于某種原因,它決定放棄CPU的使用權(quán);可搶占式調(diào)度是基于任務(wù)優(yōu)先級的,當(dāng)前正在運(yùn)行的任務(wù)可以隨時(shí)讓位給優(yōu)先級更高的處于就緒態(tài)的其它任務(wù);當(dāng)兩個(gè)或兩個(gè)以上任務(wù)有同樣的優(yōu)先級,不同任務(wù)輪轉(zhuǎn)地使用CPU,直到系統(tǒng)分配的CPU時(shí)間片用完,這就是時(shí)間片輪轉(zhuǎn)調(diào)度。

  目前,大多數(shù)嵌入式操作系統(tǒng)對不同優(yōu)先級的任務(wù)采用基于優(yōu)先級的搶占式調(diào)度法,對相同優(yōu)先級的任務(wù)則采用時(shí)間片輪轉(zhuǎn)調(diào)度法。

?。?)硬實(shí)時(shí)和軟實(shí)時(shí)

  有些嵌入式系統(tǒng)對時(shí)間的要求較高,稱之為實(shí)時(shí)系統(tǒng)。有兩種類型的實(shí)時(shí)系統(tǒng):硬實(shí)時(shí)系統(tǒng)和軟實(shí)時(shí)系統(tǒng)。軟實(shí)時(shí)系統(tǒng)并不要求限定某一任務(wù)必須在一定的時(shí)間內(nèi)完成,只要求各任務(wù)運(yùn)行得越快越好;硬實(shí)時(shí)系統(tǒng)對系統(tǒng)響應(yīng)時(shí)間有嚴(yán)格要求,一旦系統(tǒng)響應(yīng)時(shí)間不能滿足,就可能會(huì)引起系統(tǒng)崩潰或致命的錯(cuò)誤,一般在工業(yè)控制中應(yīng)用較多。

(5)內(nèi)存管理

  針對有內(nèi)存管理單元(MMU)的處理器設(shè)計(jì)的一些桌面操作系統(tǒng),如Windows、Linux,使用了虛擬存儲(chǔ)器的概念。虛擬內(nèi)存地址被送到MMU。在這里,虛擬地址被映射為物理地址,實(shí)際存儲(chǔ)器被分割為相同大小的頁面,采用分頁的方式載入進(jìn)程。一個(gè)程序在運(yùn)行之前,沒有必要全部裝入內(nèi)存,而是僅將那些當(dāng)前要運(yùn)行的部分頁面裝入內(nèi)存運(yùn)行。

  大多數(shù)嵌入式系統(tǒng)針對沒有MMU的處理器設(shè)計(jì),不能使用處理器的虛擬內(nèi)存管理技術(shù),采用的是實(shí)存儲(chǔ)器管理策略。因而對于內(nèi)存的訪問是直接的,它對地址的訪問不需要經(jīng)過MMU,而是直接送到地址線上輸出,所有程序中訪問的地址都是實(shí)際的物理地址;而且,大多數(shù)嵌入式操作系統(tǒng)對內(nèi)存空間沒有保護(hù),各個(gè)進(jìn)程實(shí)際上共享一個(gè)運(yùn)行空間。一個(gè)進(jìn)程在執(zhí)行前,系統(tǒng)必須為它分配足夠的連續(xù)地址空間,然后全部載入主存儲(chǔ)器的連續(xù)空間。

  由此可見,嵌入式系統(tǒng)的開發(fā)人員不得不參與系統(tǒng)的內(nèi)存管理。從編譯內(nèi)核開始,開發(fā)人員必須告訴系統(tǒng)這塊開發(fā)板到底擁有多少內(nèi)存;在開發(fā)應(yīng)用程序時(shí),必須考慮內(nèi)存的分配情況并關(guān)注應(yīng)用程序需要運(yùn)行空間的大小。另外,由于采用實(shí)存儲(chǔ)器管理策略,用戶程
序同內(nèi)核以及其它用戶程序在一個(gè)地址空間,程序開發(fā)時(shí)要保證不侵犯其它程序的地址空間,以使得程序不至于破壞系統(tǒng)的正常工作,或?qū)е缕渌绦虻倪\(yùn)行異常;因而,嵌入式系統(tǒng)的開發(fā)人員對軟件中的一些內(nèi)存操作要格外小心。

?。?)內(nèi)核加載方式

  嵌入式操作系統(tǒng)內(nèi)核可以在Flash上直接運(yùn)行,也可以加載到內(nèi)存中運(yùn)行。Flash的運(yùn)行方式,是把內(nèi)核的可執(zhí)行映像燒寫到Flash上,系統(tǒng)啟動(dòng)時(shí)從Flash的某個(gè)地址開始執(zhí)行。這種方法實(shí)際上是很多嵌入式系統(tǒng)所采用的方法。內(nèi)核加載方式是把內(nèi)核的壓縮文件存放在Flash上,系統(tǒng)啟動(dòng)時(shí)讀取壓縮文件在內(nèi)存里解壓,然后開始執(zhí)行。這種方式相對復(fù)雜一些,但是運(yùn)行速度可能更快,因?yàn)镽AM的存取速率要比Flash高。

  由于嵌入式系統(tǒng)的內(nèi)存管理機(jī)制,嵌入式操作系統(tǒng)對用戶程序采用靜態(tài)鏈接的形式。在嵌入式系統(tǒng)中,應(yīng)用程序和操作系統(tǒng)內(nèi)核代碼編譯、鏈接生成一個(gè)二進(jìn)制影像文件來運(yùn)行。

  2 嵌入式系統(tǒng)開發(fā)相關(guān)技術(shù)

  相對于在Windows環(huán)境下的開發(fā)應(yīng)用程序,嵌入式系統(tǒng)開發(fā)有著很多的不同。不同的硬件平臺(tái)和操作系統(tǒng)帶來了許多附加的開發(fā)復(fù)雜性。

  2.1 嵌入式開發(fā)過程

  在嵌入式開發(fā)過程中有宿主機(jī)和目標(biāo)機(jī)的角色之分:宿主機(jī)是執(zhí)行編譯、鏈接、定址過程的計(jì)算機(jī);目標(biāo)機(jī)指運(yùn)行嵌入式軟件的硬件平臺(tái)。首先須把應(yīng)用程序轉(zhuǎn)換成可以在目標(biāo)機(jī)上運(yùn)行的二進(jìn)制代碼。這一過程包含三個(gè)步驟:編譯、鏈接、定址。編譯過程由交叉編譯器實(shí)現(xiàn)。所謂交叉編譯器就是運(yùn)行在一個(gè)計(jì)算機(jī)平臺(tái)上并為另一個(gè)平臺(tái)產(chǎn)生代碼的編譯器。常用的交叉編譯器有GNU C/C++(gcc)。編譯過程產(chǎn)生的所有目標(biāo)文件被鏈接成一個(gè)目標(biāo)文件,稱為鏈接過程。定址過程會(huì)把物理存儲(chǔ)器地址指定給目標(biāo)文件的每個(gè)相對偏移處。該過程生成的文件就是可以在嵌入式平臺(tái)上執(zhí)行的二進(jìn)制文件。

  嵌入式開發(fā)過程中另一個(gè)重要的步驟是調(diào)試目標(biāo)機(jī)上的應(yīng)用程序。嵌入式調(diào)試采用交叉調(diào)試器,一般采用宿主機(jī)-目標(biāo)機(jī)的調(diào)試方式,它們之間由串行口線或以太網(wǎng)或BDM線相連。交叉調(diào)試有任務(wù)級、源碼級和匯編級的調(diào)試,調(diào)試時(shí)需將宿主機(jī)上的應(yīng)用程序和操作系統(tǒng)內(nèi)核下載到目標(biāo)機(jī)的RAM中或直接燒錄到目標(biāo)機(jī)的ROM中。目標(biāo)監(jiān)控器是調(diào)試器對目標(biāo)機(jī)上運(yùn)行的應(yīng)用程序進(jìn)行控制的代理(Debugger Agent),事先被固化在目標(biāo)機(jī)的Flash、ROM中,在目標(biāo)機(jī)上電后自動(dòng)啟動(dòng),并等待宿主機(jī)方調(diào)試器發(fā)來的命令,配合調(diào)試器完成應(yīng)用程序的下載、運(yùn)行和基本的調(diào)試功能,將調(diào)試信息返回給宿主機(jī)。

 2.2 向嵌入式平臺(tái)移植軟件

  大部分嵌入式開發(fā)人員選用的軟件開發(fā)模式是先在PC機(jī)上編寫軟件,再進(jìn)行軟件的移植工作。在PC機(jī)上編寫軟件時(shí),要注意軟件的可移植性,選用具有較高移植性的編程語言(如C語言),盡量少調(diào)用操作系統(tǒng)函數(shù),注意屏蔽不同硬件平臺(tái)帶來的字節(jié)順序、字節(jié)對齊等問題。以下是我們在移植協(xié)議棧過程中的一些體會(huì)。

  2.2.1 字節(jié)順序

  字節(jié)順序是指占內(nèi)存多于一個(gè)字節(jié)類型的數(shù)據(jù)在內(nèi)存中的存放順序,通常有小端、大端兩種字節(jié)順序。小端字節(jié)序指低字節(jié)數(shù)據(jù)存放在內(nèi)存低地址處,高字節(jié)數(shù)據(jù)存放在內(nèi)存高地址處;大端字節(jié)序是高字節(jié)數(shù)據(jù)存放在低地址處,低字節(jié)數(shù)據(jù)存放在高地址處?;赬86平臺(tái)的PC機(jī)是小端字節(jié)序的,而有的嵌入式平臺(tái)則是大端字節(jié)序的。因而對int、uint16、uint32等多于1字節(jié)類型的數(shù)據(jù),在這些嵌入式平臺(tái)上應(yīng)該變換其存儲(chǔ)順序。通常我們認(rèn)為,在空中傳輸?shù)淖止?jié)的順序即網(wǎng)絡(luò)字節(jié)序?yàn)闃?biāo)準(zhǔn)順序,考慮到與協(xié)議的一致以及與同類其它平臺(tái)產(chǎn)品的互通,在程序中發(fā)數(shù)據(jù)包時(shí),將主機(jī)字節(jié)序轉(zhuǎn)換為網(wǎng)絡(luò)字節(jié)序,收數(shù)據(jù)包處將網(wǎng)絡(luò)字節(jié)序轉(zhuǎn)換為主機(jī)字節(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ù)可以存放在任意地址處。由于這些限制,在這些平臺(tái)上編程時(shí)有很大的不同。首先,結(jié)構(gòu)體成員之間會(huì)有空洞,比如這樣一個(gè)結(jié)構(gòu):
typedef struct test{
char a;
uint16 b;
}TEST

  結(jié)構(gòu)TEST在單字節(jié)對齊的平臺(tái)上占內(nèi)存三個(gè)字節(jié),而在以上所述的嵌入式平臺(tái)上有可能占三個(gè)或四個(gè)字節(jié),視成員a的存儲(chǔ)地址而定。當(dāng)a存儲(chǔ)地址為偶數(shù)時(shí),該結(jié)構(gòu)占四個(gè)字節(jié),在a與b之間存在一個(gè)字節(jié)的空洞。對于通信雙方都是對結(jié)構(gòu)成員操作的,這種情況不會(huì)出錯(cuò),但如果有一方是逐字節(jié)讀取內(nèi)容的(通信協(xié)議大都如此),就會(huì)錯(cuò)誤地讀到其它字節(jié)的內(nèi)容。其次,若對內(nèi)存中數(shù)據(jù)以強(qiáng)制類型轉(zhuǎn)換的方式讀取,字節(jié)對齊的不
同會(huì)引起數(shù)據(jù)讀取的錯(cuò)誤。因?yàn)榧偃缰羔樦冈诨鶖?shù)內(nèi)存地址處,我們想取得占內(nèi)存兩個(gè)字節(jié)的數(shù)據(jù)存放在uint16型的變量中,強(qiáng)制類型轉(zhuǎn)換的結(jié)果是取得了該指針?biāo)傅刂放c前一地址處的數(shù)據(jù),并沒有按照我們的愿望取該指針?biāo)傅刂放c后一地址處的數(shù)據(jù),這樣就導(dǎo)致了數(shù)據(jù)讀取的錯(cuò)誤。

  解決字節(jié)對齊有許多方法,比如可以在GCC的項(xiàng)目管理文件MakeFile中增加編譯選項(xiàng)--pack-struct;但這種方法只能去除結(jié)構(gòu)中的空洞,并不能解決強(qiáng)制類型轉(zhuǎn)換引起的錯(cuò)誤。為了增強(qiáng)軟件的可移植性以及和同類其它平臺(tái)產(chǎn)品的互通性,我們在收數(shù)據(jù)包處增加了拆包的函數(shù),發(fā)數(shù)據(jù)包處增加了組包的函數(shù)。這兩個(gè)函數(shù)解決了字節(jié)序的問題,也解決了字節(jié)對齊的問題。即組包時(shí)根據(jù)參數(shù)中的格式字符串將內(nèi)存中的不同數(shù)據(jù)類型的某段數(shù)據(jù)放在指定地址處,組成包發(fā)給下層;拆包時(shí),根據(jù)參數(shù)中的格式字符串將收到的內(nèi)存中的數(shù)據(jù)存放在不同類型的變量或結(jié)構(gòu)成員中。在函數(shù)中針對不同的數(shù)據(jù)類型作不同的處理。

  2.2.3 位 段

  由于位段的空間分配方向因硬件平臺(tái)的不同而不同,對X86平臺(tái),位段是從右向左分配的;而一些嵌入式平臺(tái),位段是從左向右分配的。分配順序的不同導(dǎo)致了數(shù)據(jù)存取的錯(cuò)誤。解決這一問題的一種方法是采用條件編譯的方式,針對不同的平臺(tái)定義順序不同的位段;也可以在前面所述的兩個(gè)函數(shù)中加上對位段的處理。

  2.2.4 代碼優(yōu)化

  嵌入式系統(tǒng)對應(yīng)用軟件的質(zhì)量要求更高,因而在嵌入式開發(fā)中尤其須注意對代碼進(jìn)行優(yōu)化,盡可能地提高代碼的效率,減少代碼的大小。雖然現(xiàn)代C和C++編譯器都提供了一定程度的代碼優(yōu)化,但大部分由編譯器執(zhí)行的優(yōu)化技術(shù)僅涉及執(zhí)行速度和代碼大小的平衡,不可能使程序既快又小,因而必須在編寫嵌入式軟件時(shí)采取必要的措施。

(1)提高代碼的效率

 ?、賡witch-case 語句。在程序中經(jīng)常會(huì)使用switch-case語句,每一個(gè)由機(jī)器語言實(shí)現(xiàn)的測試和跳轉(zhuǎn)僅僅是為了決定下一步要做什么,就浪費(fèi)了處理器時(shí)間。為了提高速度,可以把具體的情況按照它們發(fā)生的相對頻率排序。即把最可能發(fā)生的情況放在第一,最不可能發(fā)生的情況放在最后,這樣會(huì)減少平均的代碼執(zhí)行時(shí)間。

  ② 全局變量。使用全局變量比向函數(shù)傳遞參數(shù)更加有效率,這樣做去除了函數(shù)調(diào)用前參數(shù)入棧和函數(shù)完成后參數(shù)出棧的需要。當(dāng)然,使用全局變量會(huì)對程序有一些負(fù)作用。

?。?)減小代碼的大小

  嵌入式系統(tǒng)編程應(yīng)避免使用標(biāo)準(zhǔn)庫例程,因?yàn)楹芏啻蟮膸炖淘O(shè)法處理所有可能的情況,所以占用了龐大的內(nèi)存空間,因而應(yīng)盡可能地減少使用標(biāo)準(zhǔn)庫例程。

?。?)避免內(nèi)存泄漏

  用戶內(nèi)存空間(堆)為RAM中全局?jǐn)?shù)據(jù)和任務(wù)堆??臻g都分配后的剩余空間,為了使程序能有足夠的內(nèi)存運(yùn)行,必須在申請的內(nèi)存不用后及時(shí)地將其釋放,以確保再次申請時(shí)能有空間。如果程序中存在內(nèi)存泄漏(即申請內(nèi)存后沒有及時(shí)釋放)的情況,程序最終會(huì)因?yàn)闆]有足夠的內(nèi)存空間而無法運(yùn)行。

  3 嵌入式系統(tǒng)的廣泛應(yīng)用

  嵌入式系統(tǒng)的應(yīng)用前景是非常廣泛的,人們將會(huì)無時(shí)無處不接觸到嵌入式產(chǎn)品,從家里的洗衣機(jī)、電冰箱,到作為交通工具的自行車、小汽車,到辦公室里的遠(yuǎn)程會(huì)議系統(tǒng)等等。特別是以藍(lán)牙為代表的小范圍無線接入?yún)f(xié)議的出現(xiàn),使嵌入式無線電的概念悄然興起。當(dāng)嵌入式的無線電芯片的價(jià)格可被接受時(shí),它的應(yīng)用可能會(huì)無所不在。在家中、辦公室、公共場所,人們可能會(huì)使用數(shù)十片甚至更多這樣的嵌入式無線電芯片,將一些電子信息設(shè)備甚至電氣設(shè)備構(gòu)成無線網(wǎng)絡(luò);在車上、旅途中,人們利用這樣的嵌入式無線電芯片可以實(shí)現(xiàn)遠(yuǎn)程辦公、遠(yuǎn)程遙控,真正實(shí)現(xiàn)把網(wǎng)絡(luò)隨身攜帶。下面介紹幾種具體的應(yīng)用。

  (1)嵌入式移動(dòng)數(shù)據(jù)庫

  所謂的移動(dòng)數(shù)據(jù)庫是支持移動(dòng)計(jì)算的數(shù)據(jù)庫,有兩層含義:① 用戶在移動(dòng)的過程中可以聯(lián)機(jī)訪問數(shù)據(jù)庫資源。② 用戶可以帶著數(shù)據(jù)庫移動(dòng)。典型的應(yīng)用場合有在開著的救護(hù)車上查詢最近的醫(yī)院。該系統(tǒng)由前臺(tái)移動(dòng)終端、后臺(tái)同步服務(wù)器組成,移動(dòng)終端上有嵌入式實(shí)時(shí)操作系統(tǒng)和嵌入式數(shù)據(jù)庫。中國人民大學(xué)正在開發(fā)該系統(tǒng),他們和Hopen公司合作,開發(fā)了前臺(tái)移動(dòng)終端"小精靈"。

 (2)嵌入式系統(tǒng)在智能家居網(wǎng)絡(luò)中的應(yīng)用

  智能家居網(wǎng)絡(luò)(E-Home)指在一個(gè)家居中建立一個(gè)通信網(wǎng)絡(luò),為家庭信息提供必要的通路;在家庭網(wǎng)絡(luò)操作系統(tǒng)的控制下,通過相應(yīng)的硬件和執(zhí)行機(jī)構(gòu),實(shí)現(xiàn)對所有家庭網(wǎng)絡(luò)上家電和設(shè)備的控制和監(jiān)測。其網(wǎng)絡(luò)結(jié)構(gòu)的組成必然有家庭網(wǎng)關(guān)。家庭網(wǎng)關(guān)主要實(shí)現(xiàn)控制網(wǎng)絡(luò)和信息網(wǎng)絡(luò)的信號(hào)綜合并與外界接口,以便作遠(yuǎn)程控制和信息交換。不論是網(wǎng)關(guān)還是各家電上的控制模塊,都需有嵌入式操作系統(tǒng)。這些操作系統(tǒng)必須具有內(nèi)嵌式、實(shí)時(shí)性好、多用戶的特點(diǎn)。南京東大移動(dòng)互聯(lián)技術(shù)有限公司研制的智能多媒體家庭網(wǎng)關(guān),就是以嵌入式Linux作為該嵌入式設(shè)備的操作系統(tǒng),設(shè)備之間的相互通信遵從藍(lán)牙通信協(xié)議,可以支持多個(gè)設(shè)備同時(shí)接入到固定電話網(wǎng)、國際互聯(lián)網(wǎng)等其它外部網(wǎng)絡(luò)。

?。?)嵌入式語音芯片

  嵌入式語音芯片基于嵌入式操作系統(tǒng),采用語音識(shí)別和語音合成、語音學(xué)層次結(jié)構(gòu)體系和文本處理模型等技術(shù);可以應(yīng)用在手持設(shè)備、智能家電等多個(gè)領(lǐng)域,賦予這些設(shè)備人性化的交互方式和便利的使用方法;也可應(yīng)用于玩具中,實(shí)現(xiàn)聲控玩具、仿真寵物、與人對話的玩具;也能應(yīng)用于車載通信設(shè)備實(shí)現(xiàn)人機(jī)交流。該芯片應(yīng)用在移動(dòng)通信設(shè)備中,比如,手機(jī)上短消息來時(shí),我們不必費(fèi)力地去看,而是可以聽到聲音。

?。?)基于小范圍無線通信協(xié)議的嵌入式產(chǎn)品
  

以藍(lán)牙為代表的小范圍無線接入?yún)f(xié)議與嵌入式系統(tǒng)的結(jié)合,必將推動(dòng)嵌入式系統(tǒng)的廣泛應(yīng)用。近來,基于這些協(xié)議的嵌入式產(chǎn)品層出不窮,包括各種電話系統(tǒng)、無線公文包、各類數(shù)字電子設(shè)備以及在電子商務(wù)中的應(yīng)用。這些產(chǎn)品以其微型化和低成本的特點(diǎn)為它們在家庭和辦公室自動(dòng)化、電子商務(wù)、工業(yè)控制、智能化建筑物和各種特殊場合的應(yīng)用開辟了廣闊的前景。

  東南大學(xué)移動(dòng)通信國家重點(diǎn)實(shí)驗(yàn)室以及依托實(shí)驗(yàn)室建立的南京東大移動(dòng)互聯(lián)技術(shù)有限公司,從1998年開始跟蹤藍(lán)牙技術(shù),在香港特區(qū)政府創(chuàng)新科技基金、江蘇省"十五"重大科技攻關(guān)以及國家"十五"科技攻關(guān)的資助下,先后設(shè)計(jì)和研制了多種基于藍(lán)牙技術(shù)的嵌入式產(chǎn)品。其中包括符合Bluetooth V1.1標(biāo)準(zhǔn)的嵌入式PSTN網(wǎng)關(guān)和語音終端。它們基于藍(lán)牙"三合一電話"應(yīng)用模型,選用了中國科學(xué)院凱思昊鵬軟件技術(shù)工程有限公司提供的Hopen OS作為嵌入式開發(fā)的軟件平臺(tái),選用華邦的W90221作為硬件平臺(tái)。語音終端能通過PSTN網(wǎng)關(guān)以無線的方式接入到PSTN網(wǎng)絡(luò)中,實(shí)現(xiàn)和PSTN網(wǎng)用戶的互通。還有符合Bluetooth V1.1標(biāo)準(zhǔn)的嵌入式局域網(wǎng)接入點(diǎn),它基于藍(lán)牙"局域網(wǎng)接入"應(yīng)用模型,選用嵌入式Linux操作系統(tǒng)作為軟件平臺(tái),選用Motorola公司的CodeFire 5272作為硬件平臺(tái)。通過該接入點(diǎn),終端用戶可以自由地接入到Internet,可以同時(shí)支持多個(gè)終端用戶連接到Internet。其它一些嵌入式產(chǎn)品包括智能多媒體家庭網(wǎng)關(guān)、遠(yuǎn)程抄表系統(tǒng)、信息家電等等。

  結(jié) 語

  以上重點(diǎn)介紹了嵌入式系統(tǒng)的特點(diǎn)、嵌入式產(chǎn)品的開發(fā)和應(yīng)用。我們在開發(fā)過程中體會(huì)到:嵌入式系統(tǒng)開發(fā)和以前從事的開發(fā)工作實(shí)質(zhì)上并無區(qū)別,唯一改變的是每個(gè)硬件平臺(tái)都是獨(dú)特的,這一個(gè)不同點(diǎn)導(dǎo)致了許多附加的開發(fā)復(fù)雜性,因而,在嵌入式開發(fā)過程中要格外注意軟件創(chuàng)建過程;而且,在開發(fā)嵌入式產(chǎn)品之前要對選用的嵌入式硬件平臺(tái)有較多的了解,具備相應(yīng)的硬件知識(shí),和硬件工程師密切配合;在選用嵌入式操作系統(tǒng)和硬件平臺(tái)時(shí)要根據(jù)所要開發(fā)的應(yīng)用的需要以及成本等方面的考慮選擇合適的系統(tǒng)和平臺(tái)。

  在科技快速發(fā)展的今天,嵌入式產(chǎn)品將會(huì)越來越多地被廣泛應(yīng)用。我們相信,只要遵循嵌入式產(chǎn)品的開發(fā)規(guī)律,適應(yīng)市場的需求,就一定能開發(fā)出越來越多的嵌入式產(chǎn)品。

參考文獻(xiàn)

1 Labrosse Jean J. μC/OS-II--源碼公開的實(shí)時(shí)嵌入式操作系統(tǒng). 邵貝貝譯. 北京:中國電力出版社,2001
2 Kirk Zurell. 嵌入式系統(tǒng)的C程序設(shè)計(jì). 艾克武等譯. 北京:機(jī)械工業(yè)出版社,2001
3 Tanenbaum Andrew S, Woodhull Albert S. 操作系統(tǒng):設(shè)計(jì)與實(shí)現(xiàn). 第2版. 王鵬等譯. 北京:電子工業(yè)出版社,1998
4 http://.cn
5 BSIG. Specification ofthe Bluetooth System (Core) Version1.1. http://, 2000





本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉