基于EP7312的公用信息終端的設(shè)計(jì)
初始化存儲(chǔ)器系統(tǒng):系統(tǒng)集成有MMU來(lái)管理內(nèi)存空間。
改變處理器模式、狀態(tài):本系統(tǒng)讓處理器一直處于超級(jí)用戶(hù)模式。
初始化C語(yǔ)言所需的存儲(chǔ)器空間:在初始化期間應(yīng)將系統(tǒng)需要讀寫(xiě)的數(shù)據(jù)和變量從
FLASH拷貝到SDRAM里。并要對(duì)一些全局的數(shù)據(jù)進(jìn)行初始化,如BSS數(shù)據(jù)段。
跳轉(zhuǎn)到C程序入口:?jiǎn)?dòng)代碼跳到C程序的入口,開(kāi)始一段NUCLEUS操作系統(tǒng)的初始化和應(yīng)用程序初始化的代碼。
啟動(dòng)代碼的流程框圖如圖3。
3.2 ISDN協(xié)議棧的移植
信息終端通過(guò)ISDN網(wǎng)接入INTERNET,因此必須在操作系統(tǒng)之上移植ISDN協(xié)議棧。本文采用的ISDN用戶(hù)-網(wǎng)絡(luò)接口協(xié)議棧和X.25協(xié)議棧是來(lái)自 ISDN-BRICKS的商用軟件包,它滿(mǎn)足ITU-T的I.430、Q.921、Q.931、X.25和X.31以及相應(yīng)的中國(guó)標(biāo)準(zhǔn)[1~5]。
ISDN和X25協(xié)議棧軟件包是一個(gè)按照相關(guān)標(biāo)準(zhǔn)編寫(xiě)的通用軟件包。該軟件包按多進(jìn)程/多任務(wù)操作系統(tǒng)環(huán)境設(shè)計(jì),支持不同的實(shí)現(xiàn)環(huán)境,如操作系統(tǒng)、CPU和編譯系統(tǒng)等。一個(gè)多進(jìn)程/多任務(wù)操作系統(tǒng)環(huán)境一般必須具有以下功能:進(jìn)程/任務(wù)調(diào)度、進(jìn)程/任務(wù)之間的通信、共享資源的互斥訪問(wèn)、內(nèi)存管理以及定時(shí)管理。但是,即使同是多任務(wù)操作系統(tǒng),也還存在著實(shí)現(xiàn)機(jī)制和函數(shù)調(diào)用句法的不同。NUCLEUS雖是一個(gè)能提供上述功能的實(shí)時(shí)操作系統(tǒng),但通用的ISDN和X25協(xié)議棧軟件包必須經(jīng)過(guò)移植,才能在NUCLEUS操作系統(tǒng)下運(yùn)行。因此,ISDN和X25協(xié)議棧軟件包的移植工作必須在以下幾個(gè)方面進(jìn)行:
(1)將創(chuàng)建SERVER移植為創(chuàng)建NUCLEUS的任務(wù);
共享資源,如消息塊、數(shù)據(jù)緩沖區(qū)塊、定時(shí)管理單元數(shù)據(jù)塊以及動(dòng)態(tài)分配內(nèi)存塊;
(3)將對(duì)通用郵箱的收發(fā)操作移植為對(duì) NUCLEUS的消息隊(duì)列的收發(fā)操作;
(4)將對(duì)共享資源的鎖定管理移植為對(duì) NUCLEUS的信號(hào)燈的管理;
(5)將定時(shí)管理模塊移植為NUCLEUS的定時(shí)超時(shí)函數(shù);
(6)將通用的禁中斷操作移植為NUCLEUS的禁中斷操作。
3.3 應(yīng)用程序設(shè)計(jì)要點(diǎn)
應(yīng)用程序包括主控模塊,廣告模塊,維護(hù)模塊,語(yǔ)音模塊,輸入法,瀏覽器等。
在設(shè)計(jì)過(guò)程中要注意以下幾點(diǎn):
注意內(nèi)存釋放:內(nèi)存申請(qǐng)一定要釋放,特別是程序在對(duì)錯(cuò)誤進(jìn)行處理的時(shí)候。
特定地址保護(hù):嵌入式操作系統(tǒng)并不像WIN DOWS操作系統(tǒng)那樣對(duì)一些重要的地址都作了保護(hù)。因此在寫(xiě)應(yīng)用程序時(shí)要特別注意指針的運(yùn)用,不能讓非法指針出現(xiàn)。
注意多任務(wù)的環(huán)境:因?yàn)樵谇度胧较到y(tǒng)中每個(gè)模塊都有自己的任務(wù),當(dāng)前任務(wù)的運(yùn)行不能影響其它模塊。
4 結(jié)束語(yǔ)
本文所介紹的信息終端在硬件上具有性能穩(wěn)定,功耗極低,接入方式簡(jiǎn)便,使用方便的特點(diǎn)。在操作系統(tǒng)移植和驅(qū)動(dòng)程序的開(kāi)發(fā)上與硬件緊密結(jié)合,具有良好的入網(wǎng)兼容性,人機(jī)交互良好等特點(diǎn)。目前,該系統(tǒng)已經(jīng)成功應(yīng)用于全國(guó)大部分的電信公話(huà)局,總裝機(jī)達(dá)兩萬(wàn)臺(tái),取得良好經(jīng)濟(jì)和社會(huì)效益。
參考文獻(xiàn):
[1] EP7312 Datasheet.Cirrus Logic, Dec., 1999.
[2] Stallings W.Networking standars : a guide to OSI,ISDN,LAN, and MAN standars. Addison-Wesley , 1993
[3] ISDN-BRICKS System Management Interface Guide. NETBRICKS SA, 2000.9.
[4] Nucleus PLUS Reference Manual Accelerated Technology, Inc. 2001. [5] 王京林 岳春生 張海英 ARM7在嵌入式應(yīng)用中啟動(dòng)程序的實(shí)現(xiàn)[J],計(jì)算機(jī)與信息技術(shù), 2000.10.
評(píng)論