嵌入式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è),還剩24頁(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、面向行業(yè)手持設(shè)備的嵌入式Linux 軟件平臺(tái)項(xiàng)目嵌入式 Linux 軟件平臺(tái)系統(tǒng)設(shè)計(jì)說(shuō)明書編寫者:CY方案書版本說(shuō)明批準(zhǔn)人日期版本號(hào)發(fā)布說(shuō)明作者簽字崗位方案書目錄1引言. .11.1編寫目的 .11.2背景 .11.3基線 .11.4范圍 .11.5定義 .11.6參考資料 .12總體設(shè)計(jì) .12.1概述 .12.2設(shè)計(jì)思想 .32.3基本處理流程 .52.4產(chǎn)品的系統(tǒng)體系結(jié)構(gòu) .82.5功能需求與系統(tǒng)單元的關(guān)系 .92.6人工處理過程 .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)部接口 .17

2、5運(yùn)行設(shè)計(jì) .175.1系統(tǒng)初始化 .175.2運(yùn)行控制 .175.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ì) .18方案書7.2 檢測(cè)專用模塊的設(shè)計(jì).188尚待解決的問題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)流程圖23方案書1 引言1.1編寫目的本文檔是為保證“面向行業(yè)手持設(shè)備的嵌入式linux 軟件平臺(tái) ”項(xiàng)目在整個(gè)開發(fā)過程中的完整性、可追溯性,并保

3、證軟件產(chǎn)品與面向行業(yè)手持設(shè)備的嵌入式Linux 軟件平臺(tái)項(xiàng)目系統(tǒng)需求規(guī)格說(shuō)明書保持一致性而編寫的。預(yù)期讀者為項(xiàng)目相關(guān)開發(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ō)明書面向

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

5、0 以上 CPU,內(nèi)存大于128M ,硬盤空間大于4G;推薦完全安裝普華 Linux 3.0 ,并安裝開發(fā)包和目標(biāo)系統(tǒng)源代碼。運(yùn)行包硬件環(huán)境:硬件采用PXA250開發(fā)板,規(guī)格如下:socketed processor for easy upgrades64 MBytes SDRAM32 MBytes Boot ROM32 MBytes Flash Memory1 MByte SRAMone Intel? SA- 1111? Companion Chip, which provides: one PCMCIA slot one Compact Flash slot one USB Host po

6、rt PS/2 keyboard and mouse supportStandard Microsystems LAN91C96* Ethernet controllertouch-screen panel controllers: Philips UCB 1400* Burr Brown ADS7846*audio CODECs with MIC, LINE IN, and HEADPHONE connectors: Philips UCB 1400 Cirrus CS4201*Sharp LM8V31 LCD panel, with support for other LCD types方

7、案書one USB Client portpulse width modulation controlone infrared (IrDA) transceiverFull Function and Bluetooth UART serial portsone slot for one Secure Digital memory card or MultiMediaCardI2C bus communicationslogic analyzer connectionsone expansion-card slot for custom developmentisolatable process

8、or core voltage for precise power measurementseight 7-segment LED digits, eight discrete LEDs, eight discrete switches, and two hexadecimal-encoding switches for use by application software2.2設(shè)計(jì)思想系統(tǒng)構(gòu)思本項(xiàng)目向用戶提供參考平臺(tái)包含開發(fā)包和運(yùn)行包,在系統(tǒng)設(shè)計(jì)中因此也分為開發(fā)平臺(tái)和運(yùn)行平臺(tái),其中開發(fā)平臺(tái)系統(tǒng)構(gòu)思如圖1 所示 , 運(yùn)行平臺(tái)構(gòu)思如圖2 所示。PXA250 的Linux 核 心Bash源代碼Q

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

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

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

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

13、數(shù)據(jù)流程圖本項(xiàng)目提供系統(tǒng)平臺(tái),因此項(xiàng)目沒有核心數(shù)據(jù)流程,相關(guān)模塊的數(shù)據(jù)流程見附錄 B。2.4產(chǎn)品的系統(tǒng)體系結(jié)構(gòu)系統(tǒng)單元如下例表所示 :單元名稱標(biāo)識(shí)符功能開發(fā)平臺(tái)包kfptb交叉編譯源代碼, 并打包下載到 PXA 開發(fā)板設(shè)備 /接口驅(qū)動(dòng)程序qdcx訪問設(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)用scy

14、yQPE 下的上層應(yīng)用程序(包含個(gè)人助理套件、 多媒體應(yīng)用等)系統(tǒng)層次結(jié)構(gòu)運(yùn)行平臺(tái)系統(tǒng)層次結(jié)構(gòu)如圖5 所示:方案書上層應(yīng)用(關(guān)鍵是多媒體應(yīng)用)嵌入式中文 GUI圖 5運(yùn)行平臺(tái)系統(tǒng)層次結(jié)構(gòu)圖系統(tǒng)單元設(shè)計(jì)開發(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):使用開發(fā)平臺(tái)提供的交叉編譯工具編譯基于PXA 平臺(tái)的嵌入式Linux 核心和基本庫(kù)以及啟動(dòng)程序,并使用開發(fā)平臺(tái)的相關(guān)工

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

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

17、文件播放流暢,播放速率至少達(dá)到25 幀 /秒)方案書2.6人工處理過程開發(fā)平臺(tái):根據(jù)目標(biāo)系統(tǒng)需求,修改配置文件或Makefile軟件的配置、編譯過程,包括configure 、 make、 make install 等軟件裁剪、打包和下載過程。運(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),因此沒有全局的數(shù)據(jù)結(jié)構(gòu),系統(tǒng)單元的數(shù)據(jù)結(jié)構(gòu)如下:a) 嵌入式中文字庫(kù)主要數(shù)據(jù)結(jié)構(gòu)FT_Outline_typedef structFT_Outline_shortn_contours;/* number of contours in glyph*/shortn_points

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

19、39; 個(gè) FT_Vector 元素的數(shù)組的指針,給出了outline's 點(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

20、void setType();/ 設(shè)置識(shí)別類型virtual void setSpeed();/ 設(shè)置識(shí)別速度virtual unsigned long getType();/ 獲得識(shí)別類型virtual short getSpeed();/ 獲得識(shí)別速度virtual intRecognize();/ 識(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/ 記錄每一

21、個(gè)筆畫中的各個(gè)點(diǎn)public:QIMPenStroke();/ 初始化void clear();/ 清空bool isEmpty();/ 判斷是否為空int length();/ 返回點(diǎn)的個(gè)數(shù)const QArray<QIMPenGlyphLink> &chain();/返回各個(gè)點(diǎn)QPoint startingPoint();/ 返回開始點(diǎn)void beginInput( QPoint p );/ 開始記錄bool addPoint( QPoint p );/ 把點(diǎn)加入links 數(shù)組void endInput();/ 某個(gè)筆畫結(jié)束protected:QArray<Q

22、IMPenGlyphLink> links;/某個(gè)筆畫的各個(gè)點(diǎn)的坐標(biāo);方案書typedef QList<QIMPenStroke> QIMPenStrokeList;/一個(gè)字的所有筆畫c)多媒體軟件移植主要數(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. ippsUn

23、packSideInfo_MP3*/IppMP3SideInfo SideInfoMAX_GRANMAX_CHAN;/* MP3 side 信息表*/*3. ippsUnpackScaleFactors_MP3_1u8s*/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_

24、LEN;/* Huffman解碼緩沖區(qū)和IMDCT流緩沖區(qū)*/int NonZeroBoundMAX_CHAN;/* Non-zero bounds on HuffmanIMDCT coefficient set for each channel */*5. ippsReQuantize_MP3_32s_I*/方案書Ipp32s RequantBufIPP_MP3_GRANULE_LEN;/* Work space bufferrequired by requantization primitive */*6. ippsMDCTInv_MP3_32s*/Ipp32s XsMAX_CHAN*IP

25、P_MP3_GRANULE_LEN;/* IMDCT輸出 /PQMF輸入緩沖區(qū)*/Ipp32s OverlapAddBufMAX_CHAN*IPP_MP3_GRANULE_LEN;/* Overlap-add bufferrequired by IMDCT primitive */int PreviousIMDCTMAX_CHAN;/* Number of IMDCTs computedon previous granule/frame */*7. ippsSynthPQMF_MP3_32s16s*/Ipp32s PQMF_V_BufMAX_CHAN*IPP_MP3_V_BUF_LEN;/*

26、"V" buffer - used byfast DCT-based algorithm for synthesis PQMF bank */int PQMF_V_IndxMAX_CHAN;/* Index used by the PQMF forinternal maintainence of the "V" buffer */*Main Data Decoding Buffer*/Ipp8u MainDataBufMAIN_DATA_BUF_SIZE;/*數(shù)據(jù)區(qū)解碼緩沖區(qū)*/int MainDataEnd;/*數(shù)據(jù)區(qū)指針*/*Application

27、Interface Parameters*/int Channels;/*通道數(shù)量*/int pcmLen;/* pcm輸出緩沖長(zhǎng)度*/ MP3DecoderState;方案書(2) mpeg4 解碼所用到的結(jié)構(gòu)/*視頻屬性結(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

28、picture or P-VOP */IPP_VIDEO_INTER_Q= 1, /* P picture or P-VOP */IPP_VIDEO_INTER4V= 2, /* P picture or P-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=

29、 6, /* B picture or B-VOP (MPEG-4 only) */IPP_VIDEO_INTERPOLATE= 7, /* B picture or B-VOP */IPP_VIDEO_BACKWARD= 8, /* B picture or B-VOP */IPP_VIDEO_FORWARD= 9/* B picture or B-VOP */ IppMacroblockType;/*矢量動(dòng)作結(jié)構(gòu)*/typedef struct _IppMotionVector Ipp16s dx;Ipp16s dy; IppMotionVector;/*透明狀態(tài)結(jié)構(gòu)*/enum 方案書I

30、PP_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_Outline_ 中描述了字形輪廓的矢量表示,按照設(shè)置的字體格式,對(duì)字形輪廓的矢量表示的進(jìn)行轉(zhuǎn)換,并以此生成位圖,輸出顯示字符。全屏中文手寫單元,在鼠標(biāo)輸入過程中,利用數(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)生候選字列表。多媒體軟件移植單元,主要通過這些數(shù)據(jù)結(jié)構(gòu)在

31、解碼過程來(lái)描述媒體文件,并在最后通過數(shù)據(jù)結(jié)構(gòu)返回上層軟件。4 接口設(shè)計(jì)4.1外部接口用戶接口開發(fā)平臺(tái):采用命令行方式與用戶交互信息。運(yùn)行平臺(tái):用戶通過手寫輸入或者虛擬終端同開發(fā)板交互信息。其它外部接口開發(fā)平臺(tái):硬件接口:通過串口、并口、網(wǎng)口與開發(fā)板通訊。軟件接口:通過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)用設(shè)備驅(qū)動(dòng)QPE 中文圖形環(huán)境全屏中文手寫嵌入式中文字中軟嵌入式 Linux 核心圖 6運(yùn)行平臺(tái)系統(tǒng)單元

32、接口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)啟動(dòng)失敗,某設(shè)備不支持等。(x86 平臺(tái)圖形界面和應(yīng)用編程中出現(xiàn)的錯(cuò)誤由開發(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ú)方案書附錄 A:嵌入式中文字庫(kù)關(guān)鍵技術(shù)和算法glyph 的矢量表示Glyph image 的矢量表

33、示被稱為outline ,outline 是一系列封閉的路徑稱之為contours 組成,每個(gè) contours劃定了一個(gè)glyph 的外部和內(nèi)部區(qū)域,它是由線段和貝塞爾曲線組成。Contours 是由一系列的points 來(lái)表示,通過control 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)的fl

34、ag , 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è)連續(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中間有

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論