【正文】
sh 存儲(chǔ)芯片接口,2 個(gè) RS232口( 1 個(gè)自帶紅外信號(hào)收發(fā)模塊),支持 標(biāo)準(zhǔn)的語(yǔ)音錄放 Codec模塊,有 LCD 接口和電源管理部分,支持低電壓監(jiān)測(cè)等。 選定了 EP7211 后就應(yīng)選擇 RTOS 了。 RTOS的選擇有兩個(gè)方案:一是使用已經(jīng)購(gòu)買的用在油田測(cè)井系統(tǒng) SL3000型產(chǎn)品的商用 Nucleus,二是使用自主開發(fā)的、專門面向嵌入式應(yīng)用系統(tǒng)的 XGW 軟件開發(fā)平臺(tái)。 XGW 開發(fā)平臺(tái)是自主研發(fā)的,軟件產(chǎn)品升級(jí)和故障排除比較容易,產(chǎn)品成本費(fèi)用相對(duì)較低。 關(guān)于集成開發(fā)調(diào)試環(huán)境,我們購(gòu)買了 ARM 公司的 ARM選用 Multi_ICE 仿真器,支持在線仿真調(diào)試,通過(guò)并行口連接主機(jī),支持程序編譯鏈接后的程序代碼快速加載,加快了代碼調(diào)試進(jìn)度。關(guān)于嵌入式處理器 EP7211 和自主研發(fā)的 XGW軟件開發(fā)平臺(tái)等,開發(fā)人員都有一定的技術(shù)積累和豐富的工作經(jīng)驗(yàn)。在內(nèi)存 SRAM 模式中,系統(tǒng)加電冷啟動(dòng)時(shí),系統(tǒng)完成相關(guān)硬件初始化任務(wù)后執(zhí)行一段代碼,將系統(tǒng)編譯連接生成的二進(jìn)制可執(zhí)行代碼從 Flash存儲(chǔ)空間完全拷貝到 SRAM 內(nèi)存空間中,整個(gè)應(yīng)用程序調(diào)試完全在內(nèi)存空間執(zhí)行。二是在 SRAM 內(nèi)存模式調(diào)試完應(yīng)用程序的基礎(chǔ)上,執(zhí)行閃存 Flash調(diào)試,系統(tǒng)啟動(dòng)后將中斷服務(wù)程序 ISR和少量的內(nèi)核代碼拷貝到 SRAM 后在 SRAM 中執(zhí)行,其它應(yīng)用程序在 Flash中執(zhí)行。 Flash 模式減少了寶貴的 SRAM 資源需求、降低了產(chǎn)品開發(fā)成本,但是運(yùn)行速度較 SRAM 模式慢。需要指出的是,這些要素之間不是彼此獨(dú)立,而是緊密相關(guān),可能還會(huì)在某些方面相互沖突。 關(guān)鍵詞: 嵌入式系統(tǒng) 嵌入式處理器 實(shí)時(shí)操作系統(tǒng) 仿真器 調(diào)試器 引 言 在計(jì)算機(jī)、互聯(lián)網(wǎng)和通信技術(shù)高速發(fā)展的同時(shí),嵌入式系統(tǒng)開發(fā)技術(shù)也取得迅速發(fā)展。 嵌入式系統(tǒng)擁有巨大的市場(chǎng)空間,我國(guó)應(yīng) 該抓住機(jī)遇,與時(shí)俱進(jìn),奮起直追,在嵌入式系統(tǒng)領(lǐng)域趕超世界先進(jìn)水平。在 PC 領(lǐng)域,雖有 AMD 系列處理器和 Linux操作系統(tǒng)的市場(chǎng)沖擊,但是 Win_Tel( Windows+Intel)體系架構(gòu)仍占主導(dǎo)地位;可是,嵌入式系統(tǒng)本身是一個(gè)相當(dāng)分散的工業(yè),典型特征是面向用戶、面向產(chǎn)品、面向應(yīng)用的,市場(chǎng)應(yīng)用才是嵌入式系統(tǒng)開發(fā)的導(dǎo)向和前提,在當(dāng)前的嵌入式市場(chǎng)中不存在壟斷的局面。嵌入式系統(tǒng)中,軟件和硬件緊密配合,協(xié)調(diào)工作,共同完成系統(tǒng)預(yù)定的功能。本文參考一些嵌入式系統(tǒng)開發(fā)的資料,結(jié)合具體的工程實(shí)踐經(jīng)驗(yàn),系統(tǒng)總結(jié)了進(jìn)行嵌入式系統(tǒng)開發(fā)時(shí),如何全面考慮各開發(fā)要素并進(jìn)行選擇,最后結(jié)合一個(gè)具 體實(shí)例進(jìn)行詳細(xì)闡述。在嵌入式系統(tǒng)的硬件設(shè)備中,嵌入處理器是整個(gè)系統(tǒng)的核心部件,其性能的好壞直接決定整個(gè)系統(tǒng)的運(yùn)行效果。嵌入式系統(tǒng)開發(fā)面向具體應(yīng)用,不同領(lǐng)域的應(yīng)用市場(chǎng)需要不同款式和性能指標(biāo)的處理器來(lái)開發(fā),于是在嵌入式處理器市場(chǎng)中,中低端的 4 位、 8 位和 16位處理器依然存在,高性能的 32 位處理器也有很多產(chǎn)品。這些產(chǎn)品的上市,不僅豐富了嵌入式處理器產(chǎn)品,而且也更加方便了工程技術(shù)人員進(jìn)行嵌入式系統(tǒng)的技術(shù)開發(fā)和擴(kuò)大嵌入式產(chǎn)品的應(yīng)用領(lǐng)域。統(tǒng)計(jì)數(shù)字表明, 1999 年底市場(chǎng)銷售額排在前三位的公司分別是 ARM、Motorola 和 MIPS,其中 ARM 公司的芯片銷售量達(dá) ,市場(chǎng)份額超過(guò) 50%。 一是深入研究具體的嵌入式系統(tǒng)應(yīng)用需求,充分的應(yīng)用需求分析后獲取應(yīng)用系統(tǒng)的性能指標(biāo)。在工業(yè)控制等特殊領(lǐng)域,系統(tǒng)需求分析員不僅需要和工作人員、上級(jí)主管親自面談,而且要到工作現(xiàn)場(chǎng)獲取第一手信息,收集充分的資料。 第二個(gè)前提條件是,分析研究市場(chǎng)上各大廠商提供的各款嵌入式處理器的性能指標(biāo),如功耗、體積、成本、可靠性、速度、處理能力、電磁兼容性等。 開發(fā)人員通過(guò)應(yīng)用需求分析獲取了產(chǎn)品的功能性和非功能性指標(biāo),研究了市場(chǎng)上嵌入式處理器的性能參數(shù)后,能夠?qū)η度胧教幚砥髯鞒鲚^好的選擇。如簡(jiǎn)單的智能儀器 儀表 設(shè)計(jì)考慮使用 4位或者 8位低檔單片機(jī) 8051;和數(shù)字信號(hào)處理密切相關(guān)的選用 TI公司的 TMX320x系列的 DSP(數(shù)字信號(hào)處理)芯片;如果產(chǎn)品偏重于通信功能,考慮 Motorola公司的嵌入式處理器 68K系列;如果產(chǎn)品功能比較齊全,可選用嵌入式處理器領(lǐng)域的后起之秀 ARM公司的高性能嵌入式處理器 ARM 芯片系列等。因?yàn)椴煌鹃_ 發(fā)的嵌入式處理器差別較大,從一類處理器轉(zhuǎn)移到另一類處理器的難度比同一系列不同處理器間的轉(zhuǎn)移難度大得多,風(fēng)險(xiǎn)多得多。 RTOS與一般商用多任務(wù) OS(如 Unix、 Windows 以及 Linux等)有共同的一面,也有不同的一面。一般 RTOS 內(nèi)核都很小,在幾 KB~十幾 KB 之間。 由于具體嵌入式應(yīng)用的功能需求差異以及不同 RTOS 間不同的性能指標(biāo), RTOS的選擇有三種方案:一是根據(jù)應(yīng)用需要和公司技術(shù)實(shí)力,考慮自主開發(fā)研究(國(guó)內(nèi)手機(jī)廠商寧波波導(dǎo)公司部分款式的手機(jī)操作系統(tǒng)就是自主開發(fā)的);二是充分考慮系統(tǒng)需求和流行 RTOS的性能指標(biāo)及性價(jià)比選擇商用 RTOS,如 WinCE、 VxWorks 等;三是考慮嵌入式 Linux( RT_Linux), RT_Linux是開放源代碼的免費(fèi)自由軟件,互聯(lián)網(wǎng)技術(shù)論壇較多,具備較好的裁減性以支持不同的應(yīng)用范疇。這些不同名稱的 RTOS,核心軟件差異微妙而且難以琢磨,選擇時(shí)重點(diǎn)是考慮它們的性能評(píng)價(jià)指標(biāo),主要包括調(diào)度算法、 RTOS本身內(nèi)存開銷、 RTOS內(nèi)存管理模式、最大中斷禁止時(shí)間和最大任務(wù)切換時(shí)間。針對(duì)實(shí)時(shí)性要求較高的應(yīng)用,需要重點(diǎn)考慮 RTOS 的最大中斷禁止時(shí)間和最大任務(wù)切換時(shí)間。減小這兩個(gè)參數(shù)值,除了選用較高工作主頻的嵌入式處理器外,還和 RTOS 本身任務(wù)調(diào)度和中斷處理機(jī)制密切相關(guān)。如果開發(fā)網(wǎng)絡(luò)應(yīng)用,還需要考慮該 RTOS 是否支持 TCP/IP 的網(wǎng)絡(luò)組件和 I/O服務(wù)等。市場(chǎng)應(yīng)用需求的多樣性,使得 RTOS 本身應(yīng)該支持用戶自定制能力,根據(jù)應(yīng)用需要在微內(nèi)核 的基礎(chǔ)上選用標(biāo)準(zhǔn)組件。嵌入式系統(tǒng)開發(fā)調(diào)試和一般 PC 系統(tǒng)開發(fā)調(diào)試有較大差別。而在嵌入式系統(tǒng)中,調(diào)試器是運(yùn)行在桌面操作系統(tǒng)上的應(yīng)用程序,被調(diào)試程序是運(yùn)行在基于特定硬件平臺(tái)的操作系統(tǒng),兩個(gè)程序間需要實(shí)時(shí)通信。仿真器處理宿主機(jī) 和目標(biāo)機(jī)之間所有的通信,這個(gè)通信口可以是串口、并行口或者高速以太網(wǎng)接口。三者間的關(guān)系如圖 1所示??焖僭头抡娣ㄓ糜谟布O(shè)備尚未完成時(shí),直接在宿主機(jī)上對(duì)應(yīng)用程序運(yùn)行進(jìn)行仿真分析。實(shí)時(shí)在線調(diào)試法在具體的目標(biāo)機(jī)平臺(tái)上調(diào)試應(yīng)用程序,系統(tǒng)在調(diào)試狀態(tài)下的執(zhí)行情況和實(shí)際運(yùn)行模式完全一 樣,這種方式更有利于開發(fā)者實(shí)時(shí)對(duì)系統(tǒng)硬件和軟件故障進(jìn)行定位和修改,提高產(chǎn)品開發(fā)速度。 應(yīng)用需求的多樣性導(dǎo)致市場(chǎng)上仿真器和調(diào)試器的提供商也較多, Windriver 公司的 Tornado 是一個(gè)很好的開發(fā)調(diào)試 工具。如果在開發(fā)調(diào)試過(guò)程遇到技術(shù)障礙,可以通過(guò)電話或者電子郵件方式及時(shí)獲取技術(shù)支持。 4 開發(fā)隊(duì)伍的技術(shù)水平和結(jié)構(gòu)比例 嵌入式系統(tǒng)開發(fā)中選擇好了嵌入式處理器、 RTOS、仿真器和調(diào)試器等設(shè)備外,還需要考慮開發(fā)隊(duì)伍的技術(shù)水平和結(jié)構(gòu)比例。從高層規(guī)劃人員的角度分析: 20%以內(nèi)的新技術(shù),公司可以集中力量,投入足夠多的人力、物力和財(cái)力進(jìn)行突破性研究,正常情況下可以達(dá)到滿意效果。 公司運(yùn)作以市場(chǎng)作為向?qū)?,是市?chǎng)賦予它們生命。公司在開發(fā)過(guò)程中一般都盡量避免風(fēng)險(xiǎn),而且整個(gè)開發(fā)過(guò)程中始終將風(fēng)險(xiǎn)分析作為重 要的參考因素。 在項(xiàng)目開發(fā)中,分配開發(fā)人員時(shí)不僅要確保任務(wù)在給定時(shí)間期限內(nèi)完成的成功性,而且也要體現(xiàn)在鍛煉培養(yǎng)后繼人才方面。這樣,公司在選派項(xiàng)目人員時(shí),需要合理的人員結(jié)構(gòu)安排, 現(xiàn)在一般公認(rèn)的人才結(jié)構(gòu)比例是1(博士或同等學(xué)歷) ∶ 3(碩士或同等學(xué)歷) ∶ 7(學(xué)士、大?;蛲葘W(xué)歷)。 5 應(yīng)用實(shí)例解析 在詳細(xì)討論了嵌入式系統(tǒng)開發(fā)中的幾個(gè)關(guān)鍵因素后,下面具體闡述這些因素在工作中的具體體現(xiàn)。 該產(chǎn)品的基本功能包括: ① 個(gè)人數(shù)字助理 ——科學(xué)計(jì)算器、英漢互譯辭典、電話號(hào)碼簿、記事日程表等; ② 交通信息 ——列車時(shí)刻 表的車次查詢和車站查詢、民航時(shí)刻表的航班查詢等; ③ 尋呼信息 ——接收個(gè)人和公共尋呼信息,個(gè)人尋呼內(nèi)容實(shí)時(shí)語(yǔ)音合成并播放,尋呼方式更新列車和民航時(shí)刻表數(shù)據(jù)等。處理器外圍需要自帶語(yǔ)音錄放電路完成語(yǔ)音錄入和播放,串行口和紅外通信口進(jìn)行數(shù)據(jù)通信, LCD 接口電路提供用戶輸入接口,也需要電源管理模塊完成便攜式電子產(chǎn)品的低功耗設(shè)計(jì)。 EP7211 提供了 SRAM 和 Flash 存儲(chǔ)芯片接口,2 個(gè) RS232口( 1 個(gè)自帶紅外信號(hào)收發(fā)模塊),支持 標(biāo)準(zhǔn)的語(yǔ)音錄放 Codec模塊,有 LCD 接口和電源管理部分,支持低電壓監(jiān)測(cè)等。 選定了 EP7211 后就應(yīng)選擇 RTOS 了。 RTOS的選擇有兩個(gè)方案:一是使用已經(jīng)購(gòu)買的用在油田測(cè)井系統(tǒng) SL3000型產(chǎn)品的商用 Nucleus,二是使用自主開發(fā)的、專門面向嵌入式應(yīng)用系統(tǒng)的 XGW 軟件開發(fā)平臺(tái)。 XGW 開發(fā)平臺(tái)是自主研發(fā)的,軟件產(chǎn)品升級(jí)和故障排除比較容易,產(chǎn)品成本費(fèi)用相對(duì)較低。 關(guān)于集成開發(fā)調(diào)試環(huán)境,我們購(gòu)買了 ARM 公司的 ARM選用 Multi_ICE 仿真器 ,支持在線仿真調(diào)試,通過(guò)并行口連接主機(jī),支持程序編譯鏈接后的程序代碼快速加載,加快了代碼調(diào)試進(jìn)度。關(guān)于嵌入式處理器 EP7211 和自主研發(fā)的 XGW軟件開發(fā)平臺(tái)等,開發(fā)人員都有一定的技術(shù)積累和豐富的工作經(jīng)驗(yàn)。在內(nèi)存 SRAM 模式中,系統(tǒng)加 電冷啟動(dòng)時(shí),系統(tǒng)完成相關(guān)硬件初始化任務(wù)后執(zhí)行一段代碼,將系統(tǒng)編譯連接生成的二進(jìn)制可執(zhí)行代碼從 Flash存儲(chǔ)空間完全拷貝到 SRAM 內(nèi)存空間中,整個(gè)應(yīng)用程序調(diào)試完全在內(nèi)存空間執(zhí)行。二是在 SRAM 內(nèi)存模式調(diào)試完應(yīng)用程序的基礎(chǔ)上,執(zhí)行閃存 Flash調(diào)試,系統(tǒng)啟動(dòng)后將中斷服務(wù)程序 ISR和少量的內(nèi)核代碼拷貝到 SRAM 后在 SRAM 中執(zhí)行,其它應(yīng)用程序在 Flash中執(zhí)行。 Flash 模式減少了寶貴的 SRAM 資源需求、降低了產(chǎn)品開發(fā)成本,但是運(yùn)行速度較 SRAM 模式慢。需要指出的是,這些要素之間不是彼此獨(dú)立,而是緊密相關(guān),可能還會(huì)在某些方面相互沖突。Go away! You mustn39。 I hesitated, but childhood is a time thic kly beset with inprehensible, though important, conventions, so I withdrew a few yards and turned my back. I heard her breathing hard. Then she was crying again. I turned round. 39。t,39。You mustn39。 she said. 39。 I promised. She was very brave. Nothing more than the puppy noises. When I did succeed in getting the foot free, it looked queer: I mean, it was all twisted and puffy I didn39。I39。 I told her. 39。ll crawl,39。 it awed me slightly. I helped her to stand up on her sound foot, and steadied her while she pointed out where her home was, and the trickle of smoke that marked it. When I looked back she was on all fours again, disappearing into the bushes. I found the house w ithout much difficulty, and knoc ked, a little nervously. A tall woman answered. She had a fine, hand some face with large bright eyes. Her dress was russet and a little shorter than those most of the women at home wore, but it carried the conventional cross, from neck to hem and breast to breast, in a green that matched the scarf on her head. 39。s mother?39。What is it?39。Oh!39。Her foot!39。Where is she?39。Oh, my poor darling!39。He39。 39。 Sophie told her. 39。m sorry, Mummy. I tried hard, but I couldn39。 Her mother nodded slowly. She sighed. 39。t be helped now. Up you get.39。s back, and we all went back to the house together. The mandments and precepts one learns as a child can be remembered by rote, but they mean little until