




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、嵌入式Linu軟件平臺系統(tǒng)設(shè)計項目說明書面向行業(yè)手持設(shè)備的嵌入式Linux軟件平臺項目嵌入式Linux軟件平臺系統(tǒng)設(shè)計說明書編寫者:CY版本說明日期版本號發(fā)布說明作者批準(zhǔn)人簽字崗位目 錄1引言1編寫目的1背景1基線1范圍1定義1參考資料12總體設(shè)計1概述1設(shè)計思想3基本處理流程6產(chǎn)品的系統(tǒng)體系結(jié)構(gòu)8功能需求與系統(tǒng)單元的關(guān)系10人工處理過程113系統(tǒng)主要數(shù)據(jù)結(jié)構(gòu)說明11數(shù)據(jù)結(jié)構(gòu)11數(shù)據(jù)結(jié)構(gòu)與系統(tǒng)單元的關(guān)系164接口設(shè)計16外部接口16內(nèi)部接口175運行設(shè)計17系統(tǒng)初始化17運行控制17運行結(jié)束176系統(tǒng)出錯處理設(shè)計17出錯信息17補(bǔ)救措施177系統(tǒng)維護(hù)設(shè)計18檢測點的設(shè)計18188尚待解決的問題
2、18附錄A:嵌入式中文字庫關(guān)鍵技術(shù)和算法19glyph的矢量表示19計算轉(zhuǎn)換系數(shù)scale20附錄B: 嵌入式中文字庫數(shù)據(jù)流程圖21附錄C :全屏手寫系統(tǒng)結(jié)構(gòu)圖22附錄D:多媒體軟件移植系統(tǒng)流程圖231 引言1.1 編寫目的本文檔是為保證“面向行業(yè)手持設(shè)備的嵌入式linux軟件平臺”項目在整個開發(fā)過程中的完整性、可追溯性,并保證軟件產(chǎn)品與面向行業(yè)手持設(shè)備的嵌入式Linux軟件平臺項目系統(tǒng)需求規(guī)格說明書保持一致性而編寫的。預(yù)期讀者為項目相關(guān)開發(fā)人員、項目管理人員和SCM、SQA人員、客戶代表。1.2 背景項目名稱:面向行業(yè)手持設(shè)備的嵌入式Linux軟件平臺用戶: 無線手持通信設(shè)備廠商1.3 基線
3、面向行業(yè)手持設(shè)備的嵌入式Linux軟件平臺項目系統(tǒng)需求規(guī)格說明書1.4 范圍本軟件結(jié)構(gòu)設(shè)計說明書所涉及的內(nèi)容范圍包括總體的結(jié)構(gòu)設(shè)計,系統(tǒng)單元的結(jié)構(gòu)設(shè)計,系統(tǒng)主要數(shù)據(jù)結(jié)構(gòu)說明,接口設(shè)計,運行設(shè)計,系統(tǒng)出錯處理設(shè)計和維護(hù)設(shè)計。1.5 定義無。1.6 參考資料1) 面向行業(yè)手持設(shè)備的嵌入式Linux軟件平臺項目系統(tǒng)需求規(guī)格說明書面向行業(yè)手持設(shè)備的嵌入式Linux開發(fā)平臺項目總體開發(fā)計劃2) 本文件中引用的其他文獻(xiàn)、資料以及軟件開發(fā)標(biāo)準(zhǔn)。2 總體設(shè)計2.1 概述2.1.1 功能描述本產(chǎn)品要實現(xiàn)的功能包括:l 嵌入式Linux系統(tǒng)l 目標(biāo)系統(tǒng)的軟件開發(fā)環(huán)境l 對運行平臺提供的各種接口,提供穩(wěn)定的驅(qū)動程序
4、l 基于QT/embedded的圖形用戶界面l 中文圖形界面l 中英文手寫輸入、鍵盤輸入l 多媒體播放器l 個人助理套件l 英漢詞典l 瀏覽器l 面向交通、物流行業(yè)的應(yīng)用編程接口本參考平臺包括開發(fā)包和運行包。要求參考平臺具備高度的可配置性,方便開發(fā)人員根據(jù)其需要在參考平臺的基礎(chǔ)上進(jìn)行添加、裁減和上層開發(fā),快速形成產(chǎn)品。2.1.2 運行環(huán)境開發(fā)平臺的運行環(huán)境:推薦采用PIII650以上CPU,內(nèi)存大于128M,硬盤空間大于4G;推薦完全安裝普華Linux ,并安裝開發(fā)包和目標(biāo)系統(tǒng)源代碼。運行包硬件環(huán)境:硬件采用PXA250開發(fā)板,規(guī)格如下:l socketed processor for eas
5、y 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 supportl Standard Microsystems LAN91C96* Ethernet controllerl touch-screen panel c
6、ontrollers: 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 portl pulse width modulation controll one infrared (IrDA) transceiverl Full Function
7、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 core voltage for precise power measurementsl eight 7-segment LED digits, eight disc
8、rete LEDs, eight discrete switches, and twohexadecimal-encoding switches for use by application software2.2 設(shè)計思想2.2.1 系統(tǒng)構(gòu)思本項目向用戶提供參考平臺包含開發(fā)包和運行包,在系統(tǒng)設(shè)計中因此也分為開發(fā)平臺和運行平臺,其中開發(fā)平臺系統(tǒng)構(gòu)思如圖1所示,運行平臺構(gòu)思如圖2所示。目標(biāo)系統(tǒng)源碼包PXA開發(fā)包PC環(huán)境目標(biāo)系統(tǒng)交叉編譯工具具具具目標(biāo)系統(tǒng)下載工具Qpe源代碼目標(biāo)系統(tǒng)裁減工具目標(biāo)系統(tǒng)打包工具目標(biāo)系統(tǒng)遠(yuǎn)程調(diào)試工具PXA250的Linux核心和glibc庫Bash源代碼標(biāo)準(zhǔn)Linux系統(tǒng)
9、圖1 開發(fā)平臺系統(tǒng)構(gòu)思嵌入式GUI嵌入式矢量字庫全屏手寫識別輸入法嵌入式多媒體套件嵌入式文本瀏覽器郵件客戶端中文終端文件管理器基本庫和擴(kuò)展庫支持(C庫、網(wǎng)絡(luò)、多媒體(IPP)、圖形)音頻I/O驅(qū)動LCD驅(qū)動網(wǎng)卡驅(qū)動觸摸屏、鍵盤、鼠標(biāo)驅(qū)動Linux核心USB驅(qū)動背光燈驅(qū)動串口驅(qū)動圖2 運行平臺系統(tǒng)構(gòu)思2.2.2 關(guān)鍵技術(shù)與算法 關(guān)鍵技術(shù):嵌入式Linux操作系統(tǒng):主要是基于IntePXA 250 硬件平臺進(jìn)行嵌入式Linux系統(tǒng)優(yōu)化,保證系統(tǒng)具備良好的可移植性和可擴(kuò)展性,此過程主要涉及的技術(shù)包括:l 系統(tǒng)可剪裁可配置技術(shù);l 支持無硬盤及閃存工作方式技術(shù);l JFFS2 文件系統(tǒng)技術(shù);l 支持隨
10、時直接關(guān)機(jī);l 支持運行時核心模塊動態(tài)加載機(jī)制;嵌入式圖形用戶界面:l 支持基于Framebuffer的GUI系統(tǒng);l 支持GIF、JPEG、XPM、PNG、BMP等常用圖像格式;l 提供易用的、可定制的、功能完善的人機(jī)交互界面;l 提供已預(yù)制的應(yīng)用模塊接口,提供對應(yīng)用程序添加的擴(kuò)展機(jī)制等;l 圖形界面支持完整的中文機(jī)制及環(huán)境;l 為提高用戶的開發(fā)效率,提供豐富的控件集和開發(fā)工具;面向行業(yè)類的應(yīng)用編程接口庫:l 提供具體行業(yè)的API函數(shù)的實現(xiàn)機(jī)制;l 實現(xiàn)不同系統(tǒng)平臺間的通訊;l 使開發(fā)出的API函數(shù)能夠讓開發(fā)人員較方便地實現(xiàn)上層應(yīng)用程序與底層硬件之間的通訊;嵌入式JAVA:l 嵌入式Java
11、虛擬機(jī);l 提供Java處理程序;l 支持Java applet和Java application;l 提供Java工具;l 提供Java運行環(huán)境;嵌入式中文信息處理子系統(tǒng):l 全面的中文顯示支持;l 提供多種中文輸入法;l 嵌入式中文字體;l 支持嵌入式手寫輸入;本項目目的是提供系統(tǒng)平臺,所以具體算法主要由合作廠商提供相關(guān)接口,本項目設(shè)計的主要算法有:l 基于IPP的多媒體編解碼算法l 矢量字體的輪廓描繪、填充、平滑算法(算法分析見附錄A)l 高效、準(zhǔn)確的手寫筆跡匹配識別算法2.2.3 關(guān)鍵數(shù)據(jù)結(jié)構(gòu)無2.3 基本處理流程(1) 系統(tǒng)流程圖開發(fā)平臺系統(tǒng)流程如圖3所示: 圖3 開發(fā)平臺系統(tǒng)流程圖
12、根據(jù)開發(fā)需要對參考平臺進(jìn)行配置根據(jù)配置對源代碼進(jìn)行編譯鏈接庫文件,形成可執(zhí)行代碼生成動態(tài)庫或靜態(tài)庫判斷是否需要裁減根據(jù)需要進(jìn)行裁減按配置要求對相關(guān)文件進(jìn)行打包判斷是否需要打包寫入目標(biāo)系統(tǒng)YYNN運行平臺系統(tǒng)流程圖如圖4所示.開發(fā)板加電初始化設(shè)備掛裝文件系統(tǒng)加載busybox啟動init進(jìn)程加載圖形界面(QPE)上層應(yīng)用(記事本,媒體播放,關(guān)機(jī)等)退出運行環(huán)境關(guān)機(jī)圖4 運行平臺系統(tǒng)流程圖(2) 數(shù)據(jù)流程圖本項目提供系統(tǒng)平臺,因此項目沒有核心數(shù)據(jù)流程,相關(guān)模塊的數(shù)據(jù)流程見附錄B。2.4 產(chǎn)品的系統(tǒng)體系結(jié)構(gòu)系統(tǒng)單元如下例表所示:單元名稱標(biāo)識符功能開發(fā)平臺包kfptb交叉編譯源代碼,并打包下載到PXA
13、開發(fā)板設(shè)備/接口驅(qū)動程序qdcx訪問設(shè)備/接口的IO端口/寄存器/配置空間,進(jìn)行設(shè)備檢測和參數(shù)設(shè)定,并初始化設(shè)備。處理中斷請求,完成數(shù)據(jù)讀寫操作檢測錯誤和處理異常中軟嵌入式Linux操作系統(tǒng)czxt嵌入式Linux核心、基本庫和擴(kuò)展庫(C庫、網(wǎng)絡(luò)、多媒體、圖形庫)嵌入式中文GUIzwguiQPE圖形環(huán)境(窗口管理、中文字庫、中文手寫)上層應(yīng)用scyyQPE下的上層應(yīng)用程序(包含個人助理套件、多媒體應(yīng)用等)2.4.1 系統(tǒng)層次結(jié)構(gòu)運行平臺系統(tǒng)層次結(jié)構(gòu)如圖5所示:中軟嵌入式Linux操作系統(tǒng)設(shè)備/接口驅(qū)動程序嵌入式中文GUI全屏中文手寫嵌入式中文字庫上層應(yīng)用(關(guān)鍵是多媒體應(yīng)用)圖5 運行平臺系統(tǒng)層
14、次結(jié)構(gòu)圖2.4.2 系統(tǒng)單元設(shè)計開發(fā)平臺:將現(xiàn)有的交叉編譯工具、調(diào)試器、軟件包下載工具等整合在一起,并增加裁減、打包工具。設(shè)備/接口驅(qū)動程序:在現(xiàn)有的相關(guān)驅(qū)動程序源代碼基礎(chǔ)上,對PS/2,USB, 以太網(wǎng)口,LCD以及音頻口進(jìn)行測試,并實現(xiàn)x86平臺到PXA平臺的移植。中軟嵌入式Linux操作系統(tǒng):使用開發(fā)平臺提供的交叉編譯工具編譯基于PXA平臺的嵌入式Linux核心和基本庫以及啟動程序,并使用開發(fā)平臺的相關(guān)工具下載到開發(fā)板上。嵌入式中文GUI:開放源碼的圖形環(huán)境QPE的修改和漢化(另包括全屏中文手寫單元和嵌入式中文字庫單元),然后交叉編譯修改后的QPE源碼并下載到開發(fā)板上(全屏中文手寫流程圖
15、見附錄C)上層應(yīng)用:修改一些已有源碼的應(yīng)用并交叉編譯下載到開發(fā)板上,關(guān)鍵是實現(xiàn)一個基于Intel IPP的多媒體播放器,主要方法是在分析QPE多媒體軟件底層接口的基礎(chǔ)上,移植替換底層解碼庫。(多媒體解碼流程圖見附錄D)2.5 功能需求與系統(tǒng)單元的關(guān)系開發(fā)平臺:l 可以在PC機(jī)上交叉編譯PXA的應(yīng)用程序l 可對生成的PXA目標(biāo)代碼進(jìn)行裁減l 可對生成的系統(tǒng)進(jìn)行打包集成l 可以將軟件包下載到PXA開發(fā)板,并寫入Flashl 提供minicom,可通過串口進(jìn)行調(diào)試l 可在PXA開發(fā)板上通過gdb/gdbserver調(diào)試二進(jìn)制代碼設(shè)備/接口驅(qū)動程序:l 能使用PS2接口的鍵盤和鼠標(biāo)l 能通過USB口使
16、用外接設(shè)備l 能使用10M 以太網(wǎng)接口l 能使用LCD和觸摸屏l 能使用外接的音頻輸入輸出設(shè)備中軟嵌入式Linux操作系統(tǒng):l 在開發(fā)板上Linux核心正常啟動l 在開發(fā)板上能使用Linux基本指令嵌入式中文GUI:l 完善穩(wěn)定的QPE圖形界面l 全面漢化處理l 手寫識別率高l 中文字體美觀、清晰l 字符顯示能夠無級縮放上層應(yīng)用:l 嵌入式中文套件l 郵件客戶端l 多媒體應(yīng)用軟件(能正常播放MPEG4和MP3文件,多媒體文件播放流暢,播放速率至少達(dá)到25幀/秒)2.6 人工處理過程開發(fā)平臺:根據(jù)目標(biāo)系統(tǒng)需求,修改配置文件或Makefile軟件的配置、編譯過程,包括configure、make、
17、make install等軟件裁剪、打包和下載過程。運行平臺:無。3 系統(tǒng)主要數(shù)據(jù)結(jié)構(gòu)說明 3.1 數(shù)據(jù)結(jié)構(gòu)本項目主要是提供一個系統(tǒng)平臺,因此沒有全局的數(shù)據(jù)結(jié)構(gòu),系統(tǒng)單元的數(shù)據(jù)結(jié)構(gòu)如下:a)嵌入式中文字庫主要數(shù)據(jù)結(jié)構(gòu)FT_Outline_typedef struct FT_Outline_ short n_contours; /* number of contours in glyph */ short n_points; /* number of points in the glyph */ FT_Vector* points; /* the outlines points */ char*
18、 tags; /* the points flags */ short* contours; /* the contour end points */ int flags; /* outline masks */ FT_Outline;n_contours:表示在一個glyph outline中所有的字形輪廓的數(shù)目n_points:表示在一個glyph outline的矢量表示中,所有坐標(biāo)點的數(shù)目。Points:一個指向有n_points 個FT_Vector元素的數(shù)組的指針,給出了outlines 點坐標(biāo)Tags:一個指向有n_points 個char元素的數(shù)組的指針,給出每個outline
19、 point的類型。Contours: 一個n_contours 個短整型元素的數(shù)組,給出了每個contour的結(jié)束點的索引。Flags:一系列bit flags用來表示outline的特征。b)全屏中文手寫主要數(shù)據(jù)結(jié)構(gòu)class QMatcher /識別庫標(biāo)準(zhǔn)接口類public:QMatcher (); /初始化virtual QMatcher();/析構(gòu)virtual void setType();/設(shè)置識別類型virtual void setSpeed();/設(shè)置識別速度virtual unsigned long getType();/獲得識別類型virtual short getSpe
20、ed();/獲得識別速度virtual int Recognize();/識別處理virtual struct rangelist *TypeRange();/獲得識別類型表列;struct Q_PACKED QIMPenGlyphLink/每個點的坐標(biāo)結(jié)構(gòu) signed char dx; signed char dy;class QIMPenStroke/記錄每一個筆畫中的各個點public: QIMPenStroke();/初始化 void clear();/清空 bool isEmpty();/判斷是否為空int length();/返回點的個數(shù) const QArray &chain(
21、);/返回各個點QPoint startingPoint();/返回開始點void beginInput( QPoint p );/開始記錄 bool addPoint( QPoint p );/把點加入links數(shù)組void endInput();/某個筆畫結(jié)束protected:QArray links;/某個筆畫的各個點的坐標(biāo);typedef QList QIMPenStrokeList;/一個字的所有筆畫c)多媒體軟件移植主要數(shù)據(jù)結(jié)構(gòu)(1) mp3解碼所用到的結(jié)構(gòu)typedef struct /*/1. ippsUnpackFrameHeader_MP3 */IppMP3FrameHe
22、ader 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 */ Ipp8s ScaleFactorMAX_CHAN*IPP_MP3_SF_BUF_LEN;/* mp3 scalefactors 信息表*/int Scf
23、siMAX_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 coefficient set for each channel */* 5. ippsReQuantize_MP3_32s_I */ Ipp32s RequantBufIPP_MP
24、3_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;/* Overlap-add buffer required by IMDCT primitive */int PreviousIMDCTMAX_CHAN;/* Number
25、 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_CHAN;/* Index used by the PQMF for internal maintainence of the V buffer */* Main Da
26、ta 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 輸出緩沖長度 */ MP3DecoderState;(2) mpeg4解碼所用到的結(jié)構(gòu)/* 視頻屬性結(jié)構(gòu) */typedef enum IPP_VIDEO_LUMINANCE,/* 亮度 */IPP_VIDEO_CHROMINANCE,/* 色度
27、*/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-VOP */IPP_VIDEO_INTRA= 3,/* I and P picture, or I- and P-VOP */IPP_VIDEO_INTRA_Q=
28、 4,/* I and P picture, or I- and P-VOP */IPP_VIDEO_INTER4V_Q= 5,/* P picture or P-VOP()*/IPP_VIDEO_DIRECT= 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 */ IppMacroblock
29、Type;/* 矢量動作結(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)系嵌入式中文字庫單元,在對矢量字庫的處理中,數(shù)據(jù)結(jié)構(gòu)FT_Outline_中描述了字形輪廓的矢量表示,按照設(shè)置的字體格式,對字形輪廓的矢量表示的進(jìn)行轉(zhuǎn)換,并以此生成位圖,輸出顯示字符。全屏中文手寫單元,在鼠標(biāo)輸入過程中,利用數(shù)據(jù)結(jié)構(gòu)QI
30、MPenStroke記錄每一個筆畫中的各個點,利用Qmatcher識別引擎作為調(diào)用識別庫標(biāo)準(zhǔn)接口,在手寫識別程序和識別庫之間進(jìn)行數(shù)據(jù)交換,并產(chǎn)生候選字列表。多媒體軟件移植單元,主要通過這些數(shù)據(jù)結(jié)構(gòu)在解碼過程來描述媒體文件,并在最后通過數(shù)據(jù)結(jié)構(gòu)返回上層軟件。4 接口設(shè)計4.1 外部接口 用戶接口開發(fā)平臺:采用命令行方式與用戶交互信息。運行平臺:用戶通過手寫輸入或者虛擬終端同開發(fā)板交互信息。 其它外部接口開發(fā)平臺:硬件接口:通過串口、并口、網(wǎng)口與開發(fā)板通訊。軟件接口:通過minicom、ftp、telnet與運行環(huán)境交互信息。運行平臺:嵌入式GUI:TrollTech公司。中英文手寫輸入:清華文通
31、。嵌入式中文字庫:長沙東文4.2 內(nèi)部接口運行平臺系統(tǒng)單元接口如6所示:上層應(yīng)用QPE中文圖形環(huán)境全屏中文手寫嵌入式中文字庫設(shè)備驅(qū)動中軟嵌入式Linux核心圖6 運行平臺系統(tǒng)單元接口5 運行設(shè)計5.1 系統(tǒng)初始化加電復(fù)位,核心引導(dǎo),執(zhí)行初始化腳本,建立基本運行環(huán)境,啟動圖形界面。5.2 運行控制無5.3 運行結(jié)束退出系統(tǒng),關(guān)閉電源。6 系統(tǒng)出錯處理設(shè)計6.1 出錯信息本項目可能出錯的信息有:運行平臺系統(tǒng)啟動失敗,某設(shè)備不支持等。(x86平臺圖形界面和應(yīng)用編程中出現(xiàn)的錯誤由開發(fā)人員根據(jù)實際情況修改調(diào)試,在此不做預(yù)測)6.2 補(bǔ)救措施根據(jù)出錯信息重新交叉編譯Linux核心源碼,寫入目標(biāo)系統(tǒng)運行。7
32、 系統(tǒng)維護(hù)設(shè)計7.1 檢測點的設(shè)計無7.2 檢測專用模塊的設(shè)計無8 尚待解決的問題無附錄A:嵌入式中文字庫關(guān)鍵技術(shù)和算法glyph的矢量表示Glyph image的矢量表示被稱為outline,outline是一系列封閉的路徑稱之為contours組成,每個contours劃定了一個glyph的外部和內(nèi)部區(qū)域,它是由線段和貝塞爾曲線組成。Contours是由一系列的points來表示,通過control points來定義曲線的弧是二次還是三次的貝塞爾曲線。因此,每一個point都對應(yīng)一個tag標(biāo)志,說明其是normal還是control point。每一個contour對應(yīng)下列四種情況:圖一
33、圖二圖三圖四由三個數(shù)組來進(jìn)行描述:points數(shù)組包含了contours所有的點,tags數(shù)組包含了與每一個point相對應(yīng)的flag,contours數(shù)組包含了一個contour結(jié)束點的索引。n_points是outline所有的點數(shù),n_contours是outline包含的contours的數(shù)量。Tag可以為以下的三種value:FT_Curve_Tag_On:表示其所對應(yīng)的point在曲線上,兩個連續(xù)的FT_Curve_Tag_On的point表示一個直線段。如圖一所示。FT_Curve_Tag_Conic:表示其所對應(yīng)的point不在曲線上,但是一個control point,在兩個
34、FT_Curve_Tag_On的point中間有一個FT_Curve_Tag_Conic的point表示了一段二次貝塞爾曲線,如圖二所示。FT_Curve_Tag_Cubic:也表示所對應(yīng)的point是一個control point,在兩個FT_Curve_Tag_On的point中間有兩個FT_Curve_Tag_ Cubic的points表示了一段三次貝塞爾曲線,如圖三所示。如果在兩個FT_Curve_Tag_On的point中間有兩個FT_Curve_Tag_ Conic的points,則會在兩個off points的中間加上一個虛擬的point,形成兩個二次的貝塞爾曲線。如圖四所示。計算轉(zhuǎn)換系數(shù)scale設(shè)char_width為設(shè)置的字體大小,horz_re
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 12 家鄉(xiāng)的喜與憂(教學(xué)設(shè)計)2023-2024學(xué)年統(tǒng)編版道德與法治四年級下冊
- 專題十八 做情緒情感的主人(教學(xué)設(shè)計)2024年七年級下冊道德與法治部編版下冊
- 四平職業(yè)大學(xué)《DSP應(yīng)用技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣州體育學(xué)院《商業(yè)空間室內(nèi)設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖北民族大學(xué)《金融營銷》2023-2024學(xué)年第二學(xué)期期末試卷
- 鄭州城市職業(yè)學(xué)院《操作系統(tǒng)原理理論》2023-2024學(xué)年第二學(xué)期期末試卷
- 華南師范大學(xué)《空間分析與應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 9 獵人海力布(教學(xué)設(shè)計)-2024-2025學(xué)年語文五年級上冊統(tǒng)編版
- 大量程固體物位儀表項目效益評估報告
- 鹽城師范學(xué)院《研究性學(xué)習(xí)理論與實踐》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣東省汕頭市潮陽區(qū)2024-2025學(xué)年高二上學(xué)期期末考試英語試題
- 2025年蘇州經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試近5年??及鎱⒖碱}庫含答案解析
- 2025年湖南工程職業(yè)技術(shù)學(xué)院高職單招數(shù)學(xué)歷年(2016-2024)頻考點試題含答案解析
- 醫(yī)院培訓(xùn)課件:《PET-CT的臨床應(yīng)用》
- (課件)-幼兒園中班社會教案《新年里的開心事》
- 2025海南省交通投資控股限公司招聘30人高頻重點提升(共500題)附帶答案詳解
- 宋代美學(xué)研究
- 行政管理學(xué)知識點全套
- 船舶安全管理培訓(xùn)課件
- 《工業(yè)機(jī)器人現(xiàn)場編程》課件-任務(wù)3.涂膠機(jī)器人工作站
- 供應(yīng)鏈管理(第2版)課件:常用的供應(yīng)鏈管理方法
評論
0/150
提交評論