嵌入式Linux軟件平臺(tái)系統(tǒng)設(shè)計(jì)說(shuō)明書_第1頁(yè)
嵌入式Linux軟件平臺(tái)系統(tǒng)設(shè)計(jì)說(shuō)明書_第2頁(yè)
嵌入式Linux軟件平臺(tái)系統(tǒng)設(shè)計(jì)說(shuō)明書_第3頁(yè)
嵌入式Linux軟件平臺(tái)系統(tǒng)設(shè)計(jì)說(shuō)明書_第4頁(yè)
嵌入式Linux軟件平臺(tái)系統(tǒng)設(shè)計(jì)說(shuō)明書_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、嵌入式Linux軟件平臺(tái)系統(tǒng)設(shè)計(jì)說(shuō)明書 面向行業(yè)手持設(shè)備的嵌入式Linux軟件平臺(tái)項(xiàng)目嵌入式Linux軟件平臺(tái)系統(tǒng)設(shè)計(jì)說(shuō)明書編寫者:CY版本說(shuō)明日期版本號(hào)發(fā)布說(shuō)明作者批準(zhǔn)人簽字崗位目 錄1引言11.1編寫目的11.2背景11.3基線11.4范圍11.5定義11.6參考資料12總體設(shè)計(jì)12.1概述12.2設(shè)計(jì)思想32.3基本處理流程62.4產(chǎn)品的系統(tǒng)體系結(jié)構(gòu)82.5功能需求與系統(tǒng)單元的關(guān)系102.6人工處理過(guò)程113系統(tǒng)主要數(shù)據(jù)結(jié)構(gòu)說(shuō)明113.1數(shù)據(jù)結(jié)構(gòu)113.2數(shù)據(jù)結(jié)構(gòu)與系統(tǒng)單元的關(guān)系164接口設(shè)計(jì)164.1外部接口164.2內(nèi)部接口175運(yùn)行設(shè)計(jì)175.1系統(tǒng)初始化175.2運(yùn)行控制175.

2、3運(yùn)行結(jié)束176系統(tǒng)出錯(cuò)處理設(shè)計(jì)176.1出錯(cuò)信息176.2補(bǔ)救措施177系統(tǒng)維護(hù)設(shè)計(jì)187.1檢測(cè)點(diǎn)的設(shè)計(jì)187.2檢測(cè)專用模塊的設(shè)計(jì)188尚待解決的問(wèn)題18附錄A:嵌入式中文字庫(kù)關(guān)鍵技術(shù)和算法19glyph的矢量表示19計(jì)算轉(zhuǎn)換系數(shù)scale20附錄B: 嵌入式中文字庫(kù)數(shù)據(jù)流程圖21附錄C :全屏手寫系統(tǒng)結(jié)構(gòu)圖22附錄D:多媒體軟件移植系統(tǒng)流程圖231 引言1.1 編寫目的本文檔是為保證“面向行業(yè)手持設(shè)備的嵌入式linux軟件平臺(tái)”項(xiàng)目在整個(gè)開(kāi)發(fā)過(guò)程中的完整性、可追溯性,并保證軟件產(chǎn)品與面向行業(yè)手持設(shè)備的嵌入式Linux軟件平臺(tái)項(xiàng)目系統(tǒng)需求規(guī)格說(shuō)明書保持一致性而編寫的。預(yù)期讀者為項(xiàng)目相關(guān)開(kāi)

3、發(fā)人員、項(xiàng)目管理人員和SCM、SQA人員、客戶代表。1.2 背景項(xiàng)目名稱:面向行業(yè)手持設(shè)備的嵌入式Linux軟件平臺(tái)用戶: 無(wú)線手持通信設(shè)備廠商1.3 基線面向行業(yè)手持設(shè)備的嵌入式Linux軟件平臺(tái)項(xiàng)目系統(tǒng)需求規(guī)格說(shuō)明書1.4 范圍本軟件結(jié)構(gòu)設(shè)計(jì)說(shuō)明書所涉及的內(nèi)容范圍包括總體的結(jié)構(gòu)設(shè)計(jì),系統(tǒng)單元的結(jié)構(gòu)設(shè)計(jì),系統(tǒng)主要數(shù)據(jù)結(jié)構(gòu)說(shuō)明,接口設(shè)計(jì),運(yùn)行設(shè)計(jì),系統(tǒng)出錯(cuò)處理設(shè)計(jì)和維護(hù)設(shè)計(jì)。1.5 定義無(wú)。1.6 參考資料1) 面向行業(yè)手持設(shè)備的嵌入式Linux軟件平臺(tái)項(xiàng)目系統(tǒng)需求規(guī)格說(shuō)明書面向行業(yè)手持設(shè)備的嵌入式Linux開(kāi)發(fā)平臺(tái)項(xiàng)目總體開(kāi)發(fā)計(jì)劃2) 本文件中引用的其他文獻(xiàn)、資料以及軟件開(kāi)發(fā)標(biāo)準(zhǔn)。2 總體設(shè)

4、計(jì)2.1 概述2.1.1 功能描述本產(chǎn)品要實(shí)現(xiàn)的功能包括:l 嵌入式Linux系統(tǒng)l 目標(biāo)系統(tǒng)的軟件開(kāi)發(fā)環(huán)境l 對(duì)運(yùn)行平臺(tái)提供的各種接口,提供穩(wěn)定的驅(qū)動(dòng)程序l 基于QT/embedded的圖形用戶界面l 中文圖形界面l 中英文手寫輸入、鍵盤輸入l 多媒體播放器l 個(gè)人助理套件l 英漢詞典l 瀏覽器l 面向交通、物流行業(yè)的應(yīng)用編程接口本參考平臺(tái)包括開(kāi)發(fā)包和運(yùn)行包。要求參考平臺(tái)具備高度的可配置性,方便開(kāi)發(fā)人員根據(jù)其需要在參考平臺(tái)的基礎(chǔ)上進(jìn)行添加、裁減和上層開(kāi)發(fā),快速形成產(chǎn)品。2.1.2 運(yùn)行環(huán)境開(kāi)發(fā)平臺(tái)的運(yùn)行環(huán)境:推薦采用PIII650以上CPU,內(nèi)存大于128M,硬盤空間大于4G;推薦完全安裝普

5、華Linux 3.0,并安裝開(kāi)發(fā)包和目標(biāo)系統(tǒng)源代碼。運(yùn)行包硬件環(huán)境:硬件采用PXA250開(kāi)發(fā)板,規(guī)格如下:l socketed processor for easy upgradesl 64 MBytes SDRAMl 32 MBytes Boot ROMl 32 MBytes Flash Memoryl 1 MByte SRAMl one Intel SA-1111 Companion Chip, which provides: one PCMCIA slot one Compact Flash slot one USB Host port PS/2 keyboard and mouse s

6、upportl Standard Microsystems LAN91C96* Ethernet controllerl touch-screen panel controllers: Philips UCB 1400* Burr Brown ADS7846*l audio CODECs with MIC, LINE IN, and HEADPHONE connectors: Philips UCB 1400 Cirrus CS4201*l Sharp LM8V31 LCD panel, with support for other LCD typesl one USB Client port

7、l pulse width modulation controll one infrared (IrDA) transceiverl Full Function and Bluetooth UART serial portsl one slot for one Secure Digital memory card or MultiMediaCardl I2C bus communicationsl logic analyzer connectionsl one expansion-card slot for custom developmentl isolatable processor co

8、re voltage for precise power measurementsl eight 7-segment LED digits, eight discrete LEDs, eight discrete switches, and twohexadecimal-encoding switches for use by application software2.2 設(shè)計(jì)思想2.2.1 系統(tǒng)構(gòu)思本項(xiàng)目向用戶提供參考平臺(tái)包含開(kāi)發(fā)包和運(yùn)行包,在系統(tǒng)設(shè)計(jì)中因此也分為開(kāi)發(fā)平臺(tái)和運(yùn)行平臺(tái),其中開(kāi)發(fā)平臺(tái)系統(tǒng)構(gòu)思如圖1所示,運(yùn)行平臺(tái)構(gòu)思如圖2所示。目標(biāo)系統(tǒng)源碼包PXA開(kāi)發(fā)包PC環(huán)境目標(biāo)系統(tǒng)交叉編譯工

9、具具具具目標(biāo)系統(tǒng)下載工具Qpe源代碼目標(biāo)系統(tǒng)裁減工具目標(biāo)系統(tǒng)打包工具目標(biāo)系統(tǒng)遠(yuǎn)程調(diào)試工具PXA250的Linux核心和glibc庫(kù)Bash源代碼標(biāo)準(zhǔn)Linux系統(tǒng)圖1 開(kāi)發(fā)平臺(tái)系統(tǒng)構(gòu)思嵌入式GUI嵌入式矢量字庫(kù)全屏手寫識(shí)別輸入法嵌入式多媒體套件嵌入式文本瀏覽器郵件客戶端中文終端文件管理器基本庫(kù)和擴(kuò)展庫(kù)支持(C庫(kù)、網(wǎng)絡(luò)、多媒體(IPP)、圖形)音頻I/O驅(qū)動(dòng)LCD驅(qū)動(dòng)網(wǎng)卡驅(qū)動(dòng)觸摸屏、鍵盤、鼠標(biāo)驅(qū)動(dòng)Linux核心USB驅(qū)動(dòng)背光燈驅(qū)動(dòng)串口驅(qū)動(dòng)圖2 運(yùn)行平臺(tái)系統(tǒng)構(gòu)思2.2.2 關(guān)鍵技術(shù)與算法 關(guān)鍵技術(shù):嵌入式Linux操作系統(tǒng):主要是基于IntePXA 250 硬件平臺(tái)進(jìn)行嵌入式Linux系統(tǒng)優(yōu)化,保

10、證系統(tǒng)具備良好的可移植性和可擴(kuò)展性,此過(guò)程主要涉及的技術(shù)包括:l 系統(tǒng)可剪裁可配置技術(shù);l 支持無(wú)硬盤及閃存工作方式技術(shù);l JFFS2 文件系統(tǒng)技術(shù);l 支持隨時(shí)直接關(guān)機(jī);l 支持運(yùn)行時(shí)核心模塊動(dòng)態(tài)加載機(jī)制;嵌入式圖形用戶界面:l 支持基于Framebuffer的GUI系統(tǒng);l 支持GIF、JPEG、XPM、PNG、BMP等常用圖像格式;l 提供易用的、可定制的、功能完善的人機(jī)交互界面;l 提供已預(yù)制的應(yīng)用模塊接口,提供對(duì)應(yīng)用程序添加的擴(kuò)展機(jī)制等;l 圖形界面支持完整的中文機(jī)制及環(huán)境;l 為提高用戶的開(kāi)發(fā)效率,提供豐富的控件集和開(kāi)發(fā)工具;面向行業(yè)類的應(yīng)用編程接口庫(kù):l 提供具體行業(yè)的API函

11、數(shù)的實(shí)現(xiàn)機(jī)制;l 實(shí)現(xiàn)不同系統(tǒng)平臺(tái)間的通訊;l 使開(kāi)發(fā)出的API函數(shù)能夠讓開(kāi)發(fā)人員較方便地實(shí)現(xiàn)上層應(yīng)用程序與底層硬件之間的通訊;嵌入式JAVA:l 嵌入式Java虛擬機(jī);l 提供Java處理程序;l 支持Java applet和Java application;l 提供Java工具;l 提供Java運(yùn)行環(huán)境;嵌入式中文信息處理子系統(tǒng):l 全面的中文顯示支持;l 提供多種中文輸入法;l 嵌入式中文字體;l 支持嵌入式手寫輸入;本項(xiàng)目目的是提供系統(tǒng)平臺(tái),所以具體算法主要由合作廠商提供相關(guān)接口,本項(xiàng)目設(shè)計(jì)的主要算法有:l 基于IPP的多媒體編解碼算法l 矢量字體的輪廓描繪、填充、平滑算法(算法分析見(jiàn)

12、附錄A)l 高效、準(zhǔn)確的手寫筆跡匹配識(shí)別算法2.2.3 關(guān)鍵數(shù)據(jù)結(jié)構(gòu)無(wú)2.3 基本處理流程(1) 系統(tǒng)流程圖開(kāi)發(fā)平臺(tái)系統(tǒng)流程如圖3所示: 圖3 開(kāi)發(fā)平臺(tái)系統(tǒng)流程圖根據(jù)開(kāi)發(fā)需要對(duì)參考平臺(tái)進(jìn)行配置根據(jù)配置對(duì)源代碼進(jìn)行編譯鏈接庫(kù)文件,形成可執(zhí)行代碼生成動(dòng)態(tài)庫(kù)或靜態(tài)庫(kù)判斷是否需要裁減根據(jù)需要進(jìn)行裁減按配置要求對(duì)相關(guān)文件進(jìn)行打包判斷是否需要打包寫入目標(biāo)系統(tǒng)YYNN運(yùn)行平臺(tái)系統(tǒng)流程圖如圖4所示.開(kāi)發(fā)板加電初始化設(shè)備掛裝文件系統(tǒng)加載busybox啟動(dòng)init進(jìn)程加載圖形界面(QPE)上層應(yīng)用(記事本,媒體播放,關(guān)機(jī)等)退出運(yùn)行環(huán)境關(guān)機(jī)圖4 運(yùn)行平臺(tái)系統(tǒng)流程圖(2) 數(shù)據(jù)流程圖本項(xiàng)目提供系統(tǒng)平臺(tái),因此項(xiàng)目沒(méi)有

13、核心數(shù)據(jù)流程,相關(guān)模塊的數(shù)據(jù)流程見(jiàn)附錄B。2.4 產(chǎn)品的系統(tǒng)體系結(jié)構(gòu)系統(tǒng)單元如下例表所示:單元名稱標(biāo)識(shí)符功能開(kāi)發(fā)平臺(tái)包kfptb交叉編譯源代碼,并打包下載到PXA開(kāi)發(fā)板設(shè)備/接口驅(qū)動(dòng)程序qdcx訪問(wèn)設(shè)備/接口的IO端口/寄存器/配置空間,進(jìn)行設(shè)備檢測(cè)和參數(shù)設(shè)定,并初始化設(shè)備。處理中斷請(qǐng)求,完成數(shù)據(jù)讀寫操作檢測(cè)錯(cuò)誤和處理異常中軟嵌入式Linux操作系統(tǒng)czxt嵌入式Linux核心、基本庫(kù)和擴(kuò)展庫(kù)(C庫(kù)、網(wǎng)絡(luò)、多媒體、圖形庫(kù))嵌入式中文GUIzwguiQPE圖形環(huán)境(窗口管理、中文字庫(kù)、中文手寫)上層應(yīng)用scyyQPE下的上層應(yīng)用程序(包含個(gè)人助理套件、多媒體應(yīng)用等)2.4.1 系統(tǒng)層次結(jié)構(gòu)運(yùn)行平

14、臺(tái)系統(tǒng)層次結(jié)構(gòu)如圖5所示:中軟嵌入式Linux操作系統(tǒng)設(shè)備/接口驅(qū)動(dòng)程序嵌入式中文GUI全屏中文手寫嵌入式中文字庫(kù)上層應(yīng)用(關(guān)鍵是多媒體應(yīng)用)圖5 運(yùn)行平臺(tái)系統(tǒng)層次結(jié)構(gòu)圖2.4.2 系統(tǒng)單元設(shè)計(jì)開(kāi)發(fā)平臺(tái):將現(xiàn)有的交叉編譯工具、調(diào)試器、軟件包下載工具等整合在一起,并增加裁減、打包工具。設(shè)備/接口驅(qū)動(dòng)程序:在現(xiàn)有的相關(guān)驅(qū)動(dòng)程序源代碼基礎(chǔ)上,對(duì)PS/2,USB, 以太網(wǎng)口,LCD以及音頻口進(jìn)行測(cè)試,并實(shí)現(xiàn)x86平臺(tái)到PXA平臺(tái)的移植。中軟嵌入式Linux操作系統(tǒng):使用開(kāi)發(fā)平臺(tái)提供的交叉編譯工具編譯基于PXA平臺(tái)的嵌入式Linux核心和基本庫(kù)以及啟動(dòng)程序,并使用開(kāi)發(fā)平臺(tái)的相關(guān)工具下載到開(kāi)發(fā)板上。嵌入式

15、中文GUI:開(kāi)放源碼的圖形環(huán)境QPE的修改和漢化(另包括全屏中文手寫單元和嵌入式中文字庫(kù)單元),然后交叉編譯修改后的QPE源碼并下載到開(kāi)發(fā)板上(全屏中文手寫流程圖見(jiàn)附錄C)上層應(yīng)用:修改一些已有源碼的應(yīng)用并交叉編譯下載到開(kāi)發(fā)板上,關(guān)鍵是實(shí)現(xiàn)一個(gè)基于Intel IPP的多媒體播放器,主要方法是在分析QPE多媒體軟件底層接口的基礎(chǔ)上,移植替換底層解碼庫(kù)。(多媒體解碼流程圖見(jiàn)附錄D)2.5 功能需求與系統(tǒng)單元的關(guān)系開(kāi)發(fā)平臺(tái):l 可以在PC機(jī)上交叉編譯PXA的應(yīng)用程序l 可對(duì)生成的PXA目標(biāo)代碼進(jìn)行裁減l 可對(duì)生成的系統(tǒng)進(jìn)行打包集成l 可以將軟件包下載到PXA開(kāi)發(fā)板,并寫入Flashl 提供minic

16、om,可通過(guò)串口進(jìn)行調(diào)試l 可在PXA開(kāi)發(fā)板上通過(guò)gdb/gdbserver調(diào)試二進(jìn)制代碼設(shè)備/接口驅(qū)動(dòng)程序:l 能使用PS2接口的鍵盤和鼠標(biāo)l 能通過(guò)USB口使用外接設(shè)備l 能使用10M 以太網(wǎng)接口l 能使用LCD和觸摸屏l 能使用外接的音頻輸入輸出設(shè)備中軟嵌入式Linux操作系統(tǒng):l 在開(kāi)發(fā)板上Linux核心正常啟動(dòng)l 在開(kāi)發(fā)板上能使用Linux基本指令嵌入式中文GUI:l 完善穩(wěn)定的QPE圖形界面l 全面漢化處理l 手寫識(shí)別率高l 中文字體美觀、清晰l 字符顯示能夠無(wú)級(jí)縮放上層應(yīng)用:l 嵌入式中文套件l 郵件客戶端l 多媒體應(yīng)用軟件(能正常播放MPEG4和MP3文件,多媒體文件播放流暢,

17、播放速率至少達(dá)到25幀/秒)2.6 人工處理過(guò)程開(kāi)發(fā)平臺(tái):根據(jù)目標(biāo)系統(tǒng)需求,修改配置文件或Makefile軟件的配置、編譯過(guò)程,包括configure、make、make install等軟件裁剪、打包和下載過(guò)程。運(yùn)行平臺(tái):無(wú)。3 系統(tǒng)主要數(shù)據(jù)結(jié)構(gòu)說(shuō)明 3.1 數(shù)據(jù)結(jié)構(gòu)本項(xiàng)目主要是提供一個(gè)系統(tǒng)平臺(tái),因此沒(méi)有全局的數(shù)據(jù)結(jié)構(gòu),系統(tǒng)單元的數(shù)據(jù)結(jié)構(gòu)如下:a)嵌入式中文字庫(kù)主要數(shù)據(jù)結(jié)構(gòu)FT_Outline_typedef struct FT_Outline_ short n_contours; /* number of contours in glyph */ short n_points; /* nu

18、mber of points in the glyph */ FT_Vector* points; /* the outlines points */ char* tags; /* the points flags */ short* contours; /* the contour end points */ int flags; /* outline masks */ FT_Outline;n_contours:表示在一個(gè)glyph outline中所有的字形輪廓的數(shù)目n_points:表示在一個(gè)glyph outline的矢量表示中,所有坐標(biāo)點(diǎn)的數(shù)目。Points:一個(gè)指向有n_poin

19、ts 個(gè)FT_Vector元素的數(shù)組的指針,給出了outlines 點(diǎn)坐標(biāo)Tags:一個(gè)指向有n_points 個(gè)char元素的數(shù)組的指針,給出每個(gè)outline point的類型。Contours: 一個(gè)n_contours 個(gè)短整型元素的數(shù)組,給出了每個(gè)contour的結(jié)束點(diǎn)的索引。Flags:一系列bit flags用來(lái)表示outline的特征。b)全屏中文手寫主要數(shù)據(jù)結(jié)構(gòu)class QMatcher /識(shí)別庫(kù)標(biāo)準(zhǔn)接口類public:QMatcher (); /初始化virtual QMatcher();/析構(gòu)virtual void setType();/設(shè)置識(shí)別類型virtual v

20、oid setSpeed();/設(shè)置識(shí)別速度virtual unsigned long getType();/獲得識(shí)別類型virtual short getSpeed();/獲得識(shí)別速度virtual int Recognize();/識(shí)別處理virtual struct rangelist *TypeRange();/獲得識(shí)別類型表列;struct Q_PACKED QIMPenGlyphLink/每個(gè)點(diǎn)的坐標(biāo)結(jié)構(gòu) signed char dx; signed char dy;class QIMPenStroke/記錄每一個(gè)筆畫中的各個(gè)點(diǎn)public: QIMPenStroke();/初始化

21、 void clear();/清空 bool isEmpty();/判斷是否為空int length();/返回點(diǎn)的個(gè)數(shù) const QArray &chain();/返回各個(gè)點(diǎn)QPoint startingPoint();/返回開(kāi)始點(diǎn)void beginInput( QPoint p );/開(kāi)始記錄 bool addPoint( QPoint p );/把點(diǎn)加入links數(shù)組void endInput();/某個(gè)筆畫結(jié)束protected:QArray links;/某個(gè)筆畫的各個(gè)點(diǎn)的坐標(biāo);typedef QList QIMPenStrokeList;/一個(gè)字的所有筆畫c)多媒體軟件移植主要

22、數(shù)據(jù)結(jié)構(gòu)(1) mp3解碼所用到的結(jié)構(gòu)typedef struct /*/1. ippsUnpackFrameHeader_MP3 */IppMP3FrameHeader FrameHdr; /* MP3 幀頭信息*/Ipp8u HdrBufHDR_BUF_SIZE;/* MP3幀頭緩沖區(qū)*/Ipp8u *pHdrBuf;/* MP3幀頭緩沖區(qū)指針*/* 2. ippsUnpackSideInfo_MP3 */IppMP3SideInfo SideInfoMAX_GRANMAX_CHAN;/* MP3 side信息表 */* 3. ippsUnpackScaleFactors_MP3_1u8s

23、 */ Ipp8s ScaleFactorMAX_CHAN*IPP_MP3_SF_BUF_LEN;/* mp3 scalefactors 信息表*/int ScfsiMAX_CHAN*SCF_BANDS;/* Scalefactor 信息選擇表 */*4. ippsHuffmanDecode_MP3_1u32s */Ipp32s IsXrMAX_CHAN*IPP_MP3_GRANULE_LEN;/* Huffman 解碼緩沖區(qū)和 IMDCT流緩沖區(qū) */int NonZeroBoundMAX_CHAN;/* Non-zero bounds on Huffman IMDCT coefficien

24、t set for each channel */* 5. ippsReQuantize_MP3_32s_I */ Ipp32s RequantBufIPP_MP3_GRANULE_LEN;/* Work space buffer required by requantization primitive */* 6. ippsMDCTInv_MP3_32s */Ipp32s XsMAX_CHAN*IPP_MP3_GRANULE_LEN;/* IMDCT 輸出/PQMF 輸入緩沖區(qū) */Ipp32s OverlapAddBufMAX_CHAN*IPP_MP3_GRANULE_LEN;/* Ove

25、rlap-add buffer required by IMDCT primitive */int PreviousIMDCTMAX_CHAN;/* Number of IMDCTs computed on previous granule/frame */* 7. ippsSynthPQMF_MP3_32s16s */Ipp32s PQMF_V_BufMAX_CHAN*IPP_MP3_V_BUF_LEN;/* V buffer - used by fast DCT-based algorithm for synthesis PQMF bank */int PQMF_V_IndxMAX_CHA

26、N;/* Index used by the PQMF for internal maintainence of the V buffer */* Main Data Decoding Buffer */Ipp8u MainDataBufMAIN_DATA_BUF_SIZE;/* 數(shù)據(jù)區(qū)解碼緩沖區(qū)*/ int MainDataEnd;/* 數(shù)據(jù)區(qū)指針 */* Application Interface Parameters */int Channels;/* 通道數(shù)量 */int pcmLen;/* pcm 輸出緩沖長(zhǎng)度 */ MP3DecoderState;(2) mpeg4解碼所用到的結(jié)構(gòu)

27、/* 視頻屬性結(jié)構(gòu) */typedef enum IPP_VIDEO_LUMINANCE,/* 亮度 */IPP_VIDEO_CHROMINANCE,/* 色度 */IPP_VIDEO_ALPHA/* Alpha component */ IppVideoComponent;/* Macroblock Types */typedef enum IPP_VIDEO_INTER= 0,/* P picture or P-VOP */IPP_VIDEO_INTER_Q= 1,/* P picture or P-VOP */IPP_VIDEO_INTER4V= 2,/* P picture or P-

28、VOP */IPP_VIDEO_INTRA= 3,/* I and P picture, or I- and P-VOP */IPP_VIDEO_INTRA_Q= 4,/* I and P picture, or I- and P-VOP */IPP_VIDEO_INTER4V_Q= 5,/* P picture or P-VOP(H.263)*/IPP_VIDEO_DIRECT= 6,/* B picture or B-VOP (MPEG-4 only) */IPP_VIDEO_INTERPOLATE= 7,/* B picture or B-VOP */IPP_VIDEO_BACKWARD

29、= 8,/* B picture or B-VOP */IPP_VIDEO_FORWARD= 9/* B picture or B-VOP */ IppMacroblockType;/* 矢量動(dòng)作結(jié)構(gòu) */typedef struct _IppMotionVector Ipp16sdx;Ipp16sdy; IppMotionVector;/* 透明狀態(tài)結(jié)構(gòu) */enum IPP_VIDEO_TRANSPARENT= 0,IPP_VIDEO_PARTIAL= 1,IPP_VIDEO_OPAQUE= 2;3.2 數(shù)據(jù)結(jié)構(gòu)與系統(tǒng)單元的關(guān)系嵌入式中文字庫(kù)單元,在對(duì)矢量字庫(kù)的處理中,數(shù)據(jù)結(jié)構(gòu)FT_Out

30、line_中描述了字形輪廓的矢量表示,按照設(shè)置的字體格式,對(duì)字形輪廓的矢量表示的進(jìn)行轉(zhuǎn)換,并以此生成位圖,輸出顯示字符。全屏中文手寫單元,在鼠標(biāo)輸入過(guò)程中,利用數(shù)據(jù)結(jié)構(gòu)QIMPenStroke記錄每一個(gè)筆畫中的各個(gè)點(diǎn),利用Qmatcher識(shí)別引擎作為調(diào)用識(shí)別庫(kù)標(biāo)準(zhǔn)接口,在手寫識(shí)別程序和識(shí)別庫(kù)之間進(jìn)行數(shù)據(jù)交換,并產(chǎn)生候選字列表。多媒體軟件移植單元,主要通過(guò)這些數(shù)據(jù)結(jié)構(gòu)在解碼過(guò)程來(lái)描述媒體文件,并在最后通過(guò)數(shù)據(jù)結(jié)構(gòu)返回上層軟件。4 接口設(shè)計(jì)4.1 外部接口4.1.1 用戶接口開(kāi)發(fā)平臺(tái):采用命令行方式與用戶交互信息。運(yùn)行平臺(tái):用戶通過(guò)手寫輸入或者虛擬終端同開(kāi)發(fā)板交互信息。4.1.2 其它外部接口開(kāi)發(fā)

31、平臺(tái):硬件接口:通過(guò)串口、并口、網(wǎng)口與開(kāi)發(fā)板通訊。軟件接口:通過(guò)minicom、ftp、telnet與運(yùn)行環(huán)境交互信息。運(yùn)行平臺(tái):嵌入式GUI:TrollTech公司。中英文手寫輸入:清華文通。嵌入式中文字庫(kù):長(zhǎng)沙東文4.2 內(nèi)部接口運(yùn)行平臺(tái)系統(tǒng)單元接口如6所示:上層應(yīng)用QPE中文圖形環(huán)境全屏中文手寫嵌入式中文字庫(kù)設(shè)備驅(qū)動(dòng)中軟嵌入式Linux核心圖6 運(yùn)行平臺(tái)系統(tǒng)單元接口5 運(yùn)行設(shè)計(jì)5.1 系統(tǒng)初始化加電復(fù)位,核心引導(dǎo),執(zhí)行初始化腳本,建立基本運(yùn)行環(huán)境,啟動(dòng)圖形界面。5.2 運(yùn)行控制無(wú)5.3 運(yùn)行結(jié)束退出系統(tǒng),關(guān)閉電源。6 系統(tǒng)出錯(cuò)處理設(shè)計(jì)6.1 出錯(cuò)信息本項(xiàng)目可能出錯(cuò)的信息有:運(yùn)行平臺(tái)系統(tǒng)啟

32、動(dòng)失敗,某設(shè)備不支持等。(x86平臺(tái)圖形界面和應(yīng)用編程中出現(xiàn)的錯(cuò)誤由開(kāi)發(fā)人員根據(jù)實(shí)際情況修改調(diào)試,在此不做預(yù)測(cè))6.2 補(bǔ)救措施根據(jù)出錯(cuò)信息重新交叉編譯Linux核心源碼,寫入目標(biāo)系統(tǒng)運(yùn)行。7 系統(tǒng)維護(hù)設(shè)計(jì)7.1 檢測(cè)點(diǎn)的設(shè)計(jì)無(wú)7.2 檢測(cè)專用模塊的設(shè)計(jì)無(wú)8 尚待解決的問(wèn)題無(wú)附錄A:嵌入式中文字庫(kù)關(guān)鍵技術(shù)和算法glyph的矢量表示Glyph image的矢量表示被稱為outline,outline是一系列封閉的路徑稱之為contours組成,每個(gè)contours劃定了一個(gè)glyph的外部和內(nèi)部區(qū)域,它是由線段和貝塞爾曲線組成。Contours是由一系列的points來(lái)表示,通過(guò)control

33、points來(lái)定義曲線的弧是二次還是三次的貝塞爾曲線。因此,每一個(gè)point都對(duì)應(yīng)一個(gè)tag標(biāo)志,說(shuō)明其是normal還是control point。每一個(gè)contour對(duì)應(yīng)下列四種情況:圖一圖二圖三圖四由三個(gè)數(shù)組來(lái)進(jìn)行描述:points數(shù)組包含了contours所有的點(diǎn),tags數(shù)組包含了與每一個(gè)point相對(duì)應(yīng)的flag,contours數(shù)組包含了一個(gè)contour結(jié)束點(diǎn)的索引。n_points是outline所有的點(diǎn)數(shù),n_contours是outline包含的contours的數(shù)量。Tag可以為以下的三種value:FT_Curve_Tag_On:表示其所對(duì)應(yīng)的point在曲線上,兩個(gè)

34、連續(xù)的FT_Curve_Tag_On的point表示一個(gè)直線段。如圖一所示。FT_Curve_Tag_Conic:表示其所對(duì)應(yīng)的point不在曲線上,但是一個(gè)control point,在兩個(gè)FT_Curve_Tag_On的point中間有一個(gè)FT_Curve_Tag_Conic的point表示了一段二次貝塞爾曲線,如圖二所示。FT_Curve_Tag_Cubic:也表示所對(duì)應(yīng)的point是一個(gè)control point,在兩個(gè)FT_Curve_Tag_On的point中間有兩個(gè)FT_Curve_Tag_ Cubic的points表示了一段三次貝塞爾曲線,如圖三所示。如果在兩個(gè)FT_Curve_Tag_On的point中間有兩個(gè)FT_Curve_Tag_ Conic的points,則會(huì)在兩個(gè)off points的中間加上一個(gè)虛擬的point,形成兩個(gè)二次的貝塞爾曲線。如圖四所示。計(jì)算轉(zhuǎn)換系數(shù)scale設(shè)char_width為設(shè)置的字體大小,horz_r

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論