簡介:主流嵌入式LINUX下GUI解決方案,基本概念介紹GUIGRAPHICALUSERINTERFACES圖形用戶界面GUI,圖形用戶接口為用戶提供界面友好的所見所得的操作環(huán)境主流解決方案QT/EMBEDDED圖形庫大而全,能夠開發(fā)較為復(fù)雜的圖形系統(tǒng)MICROWINDOWS項目規(guī)模較小、功能較為薄弱,缺乏等三方軟件開發(fā)的支持MINIGUI小巧、靈活,源碼相對較少,基本概念,QTQT是TROLLTECH公司所開發(fā)的一個跨平臺FRAMEWORK環(huán)境一個運(yùn)行的平臺,有一堆常用的“庫”多平臺的C圖形用戶界面應(yīng)用程序框架支持組件編程(把系統(tǒng)分割成一些組件或設(shè)施的一種思想,修改項目代碼的一些部分不會破壞整個系統(tǒng))TROLLTECH跨平臺應(yīng)用程序界面框架QT嵌入式LINUX開發(fā)的應(yīng)用程序平臺,能夠應(yīng)用到PDA和各種移動設(shè)備QTOPIAQT/EQT庫開發(fā)商TROLLTECH公司開發(fā)的面向嵌入式系統(tǒng)的QT版本采用C封裝豐富的控件資源較好的可移植性,QT/EMBEDDED,QT/E實(shí)現(xiàn)結(jié)構(gòu)QT/EMBEDDED的底層圖形引擎基于FRAMEBUFFER計算機(jī)顯示存儲器的一部分,存放屏幕圖像的內(nèi)容。FRAMEBUFFER是一種驅(qū)動程序接口將顯示設(shè)備抽象為幀緩沖區(qū)顯示內(nèi)存的一個映像(用戶)QWSSERVER負(fù)責(zé)事件的服務(wù)分發(fā),,QT/EMBEDDED,QPE(QTPLAMTOPENVIRONMENT)針對PDA軟件的整體解決方案底層的GUI系統(tǒng)、WINDOWMANAGER、SOFTKEYBOARD上層的PIM(個人信息管理器)、瀏覽器、多媒體QTOPIA是基于QT/EMBEDDED開發(fā)的一個嵌入式的窗口系統(tǒng)和應(yīng)用程序集QTOPIA平臺組成QTOPIA庫QT/E,LIBQPE,LIBQTOPIA1,QTOPIAPIMQTOPIASERVER/LAUCHER控制窗口系統(tǒng)進(jìn)程間通信發(fā)起所有應(yīng)用和其他核心任務(wù)的主要服務(wù)程序,,系統(tǒng)平臺介紹,系統(tǒng)平臺軟件結(jié)構(gòu)圖引導(dǎo)裝載程序VIVI設(shè)備驅(qū)動(包括幀緩存FB)嵌入式LINUX內(nèi)核文件系統(tǒng)YAFFS(只讀CRAMFS,需做修改)基于QT/EMBEDDED和QTOPIA的用戶圖形界面以及應(yīng)用程序,,,QT/E、QTOPIA,構(gòu)建GUI時用于QT開發(fā)的典型工具TMAKE跨平臺的MAKEFILE生成器MOC用于QTC擴(kuò)展的METRAOBJECT編譯器DESIGNER用于設(shè)計窗口組建的應(yīng)用程序,UI文件UIC從界面文件生成代碼的用戶界面編譯器(CPPUNSIGNEDSHORTXUNSIGNEDSHORTYUNSIGNEDSHORTPAD}TS_RET驅(qū)動程序提供給上層應(yīng)用程序使用的信息,用來存儲觸摸屏的返回值,,項目進(jìn)度,觸摸屏坐標(biāo)確定觸摸屏本身有自己的指標(biāo)分辨率,比如20482048(即它的坐標(biāo)系),它和我們LCD顯示屏的坐標(biāo)系(比如大點(diǎn)的1024768)是兩個概念。通過ADS控制器的SPI/I2C總線讀取到的觸摸屏的坐標(biāo)信息,是觸摸屏(貼在LCD上面很像包裝紙的一層薄膜)以它本身坐標(biāo)原點(diǎn)O(物理的固定的,4個邊角的某一個)為參考的坐標(biāo)對(X,Y)原理是兩個電壓值(NX,NY),根據(jù)觸摸屏X,Y方向的參考電壓,做個線性比較,得到其坐標(biāo)值(X,Y),,項目進(jìn)度,觸摸屏坐標(biāo)確定實(shí)際使用過程中,唯一的參考定位是LCD屏的坐標(biāo)系(X,Y),TSLIB就是把兩個2維線性坐標(biāo)系通過幾個樣值的比較,對應(yīng)轉(zhuǎn)換,即(X,Y)X,Y(1)計算程序,調(diào)用LCD顯示驅(qū)動程序,在LCD上打印幾個光標(biāo),選擇方便計算的,比如(X1,Y1),X2,Y22觸摸屏驅(qū)動程序應(yīng)該還沒有設(shè)計完成,這里只需要做到其觸摸屏控制器初始化函數(shù)、坐標(biāo)數(shù)據(jù)讀取函數(shù)和相應(yīng)的點(diǎn)擊中斷程序工作就可以了。分別點(diǎn)擊這些點(diǎn),程序中讀出這些點(diǎn)對應(yīng)的觸摸屏坐標(biāo)值(X1,Y1),(X2,Y2)3這時候,就可以得到了兩個坐標(biāo)系的對應(yīng)關(guān)系,具體就是代入程序中讀到的采樣值求解下面對應(yīng)方程的6個系數(shù)A,B,C,D,E,F{XAXBYC,YEXFYG},,項目進(jìn)度,TSLIB校正原理觸摸動作模擬鼠標(biāo)動作傳統(tǒng)的鼠標(biāo)相對定位系統(tǒng),只和前一次鼠標(biāo)的位置坐標(biāo)有關(guān)觸摸屏絕對坐標(biāo)系統(tǒng)絕對坐標(biāo)系統(tǒng)的特點(diǎn)每一次定位坐標(biāo)與上一次定位坐標(biāo)沒有關(guān)系,每次觸摸的數(shù)據(jù)通過校準(zhǔn)轉(zhuǎn)為屏幕上的坐標(biāo),不管在什么情況下,觸摸屏這套坐標(biāo)在同一點(diǎn)的輸出數(shù)據(jù)是穩(wěn)定的。不過由于技術(shù)原理的原因,并不能保證同一點(diǎn)觸摸每一次采樣數(shù)據(jù)相同,不能保證絕對坐標(biāo)定位,點(diǎn)不準(zhǔn),這就是觸摸屏最怕出現(xiàn)的問題漂移。對于性能質(zhì)量好的觸摸屏來說,漂移的情況出現(xiàn)并不是很嚴(yán)重。所以很多應(yīng)用觸摸屏的系統(tǒng)啟動后,進(jìn)入應(yīng)用程序前,先要執(zhí)行校準(zhǔn)程序。,,項目進(jìn)度,TSLIB校正原理LCD坐標(biāo)和觸摸屏的物理坐標(biāo)的比較從觸摸屏中讀出的是點(diǎn)的物理坐標(biāo),其坐標(biāo)軸的方向、XY值的比例因子、偏移量、縮放因子都與LCD坐標(biāo)不同,,項目進(jìn)度,TSLIB校正原理使觸摸屏坐標(biāo)和LCD坐標(biāo)一一對應(yīng),且以插件形式提供附加功能如濾波、防抖。TSLIB的API接口TSDEV表示觸摸屏設(shè)備FD打開觸摸屏設(shè)備的文件描述符LIST指針,依次存放指向TSLIB插件的指針,,項目進(jìn)度,TSLIB校正原理TSLIB的API接口TS_SAMPLE存放按鍵消息X,Y按鍵的坐標(biāo)位置(以LCD坐標(biāo)系為基準(zhǔn))PRESSURE按鍵的輕重程度TV按鍵發(fā)生的時間,,項目進(jìn)度,TSLIB校正原理TSLIB的函數(shù)TS_OPEN打開觸摸屏設(shè)備TS_CONFIG讀取觸摸屏配置文件并決定加載模塊VARIANCE限定點(diǎn)擊力度方差DEJITTER去除點(diǎn)擊抖動LINEAR將觸摸屏上的坐標(biāo)轉(zhuǎn)換成LCD的坐標(biāo)TS_CLOSE釋放觸摸屏設(shè)備及相關(guān)資源TS_FD返回打開的觸摸屏設(shè)備的文件描述符TS_READ從觸摸屏設(shè)備讀取采樣點(diǎn)坐標(biāo)開發(fā)板上運(yùn)行CALIBRATE程序,觸摸屏上任何一點(diǎn)的坐標(biāo)就可以在主機(jī)LCD屏上回顯出來。于是,就采集到了4個角的物理坐標(biāo)假設(shè)是64英寸屏,640X480分辨率,則它們的像素坐標(biāo)分別是(20,20)、(20,460)、620,460和620,20。這樣,使用待定系數(shù)法就可以算出坐標(biāo)系之間的平移關(guān)系。比如VXXFACTORPXXOFFSETVYYFACTORPYYOFFSET,,QT/E、QTOPIA,QTE/QTOPIA在2410S上的移植使用TSLIBEXPORTTSLIB_CONSOLEDEVICENONETSLIB運(yùn)行需要的控制臺,這里就是LCD屏幕,設(shè)定控制臺設(shè)備為NONE,否則默認(rèn)為/DEV/TTY,EXPORTTSLIB_FBDEVICE/DEV/FB0指定幀緩沖設(shè)備EXPORTTSLIB_TSDEVICE/DEV/TOUCHSCREEN/0RAW指定觸摸屏設(shè)備節(jié)點(diǎn)文件EXPORTTSLIB_CALIBFILE/ETC/POINTERCAL指定觸摸屏校準(zhǔn)文件PINTERCAL的存放位置EXPORTTSLIB_CONFFILE/ETC/TSCONF指定TSLIB配置文件的位置EXPORTTSLIB_PLUGINDIRQTDIR/LIB/TS指定觸摸屏插件所在路徑校準(zhǔn)屏幕(5點(diǎn)校準(zhǔn))/TS_CALIBRATE用戶點(diǎn)擊從TS驅(qū)動獲得數(shù)據(jù)屏上坐標(biāo)位置運(yùn)行PDA/QPE,,
下載積分: 4 賞幣
上傳時間:2024-01-06
頁數(shù): 24
大?。?0.36(MB)
子文件數(shù):
簡介:COPYRIGHT2014FUJITSULIMITED,SIMULINK及基于模型設(shè)計的嵌入式應(yīng)用,FNST第三事業(yè)部第一開發(fā)部主任工程師孫忠瀟SIMULINK基礎(chǔ)版主及代碼生成版主HYOWINNER2014年5月24日,2,COPYRIGHT2014FUJITSULIMITED,目錄,SIMULINK是什么各家釋意用戶群分析學(xué)習(xí)難度分析SIMULINK能夠做什么視頻處理音頻處理工業(yè)流程模擬發(fā)動機(jī)控制自定義娛樂工具箱TARGETSUPPORTPACKAGE目標(biāo)芯片的驅(qū)動工具箱基于模型的嵌入式設(shè)計及應(yīng)用MBDMODELBASEDDESIGN代碼自動生成相關(guān)知識MBDDEMO濾波器建模,生成代碼以及驗證,3,COPYRIGHT2014FUJITSULIMITED,SIMULINK是什么,百度SIMULINK是MATLAB最重要的組件之一,它提供一個動態(tài)系統(tǒng)建模、仿真和綜合分析的集成環(huán)境。MATLAB2013BSIMULINKOPENSTHESIMULINK?LIBRARYBROWSERHYOWINNERSIMULINKSIMULINKSIMUSIMULATION仿真具象化邏輯及結(jié)果LINK連接模塊與庫連接設(shè)計與需求連接模型與代碼連接你我與MATLAB/SIMULINK連接,4,COPYRIGHT2014FUJITSULIMITED,SIMULINK是什么,模塊庫,,模型,,波形,,5,COPYRIGHT2014FUJITSULIMITED,SIMULINK是什么,SIMULINK的使用者都期待其功能更加強(qiáng)大,能快速實(shí)現(xiàn)想要做的事,期待,6,COPYRIGHT2014FUJITSULIMITED,SIMULINK是什么,7,COPYRIGHT2014FUJITSULIMITED,SIMULINK能夠做什么,,視頻幀差分使能錄像仿真,,8,COPYRIGHT2014FUJITSULIMITED,SIMULINK能夠做什么,,使用自帶模塊搭建音頻解析器,方便快捷。稍作加工即可實(shí)現(xiàn)播放開始后進(jìn)行音量調(diào)節(jié)、暫停、繼續(xù)以及播放停止等動作。構(gòu)成音樂播放器,9,COPYRIGHT2014FUJITSULIMITED,SIMULINK能夠做什么,10,COPYRIGHT2014FUJITSULIMITED,SIMULINK能夠做什么,11,COPYRIGHT2014FUJITSULIMITED,SIMULINK能夠做什么,SIMULINK能夠做什么,TARGETSUPPORTPACKAGE是針對某一系列MCU/DSP芯片的驅(qū)動代碼配置與自動生成工具箱,給MBD嵌入式開發(fā)者提供快速算法驗證環(huán)境,F(xiàn)M4TSP主要有以下優(yōu)點(diǎn)1無需編寫驅(qū)動代碼使用者通過簡單的對話框設(shè)置即可生成驅(qū)動代碼2生成代碼有效錯誤的不合理的驅(qū)動配置模型會通過錯誤提示讓使用者改正3流程自動化從模型代碼生成,IDE啟動,工程創(chuàng)建,編譯,下載一鍵完成,TSP,12,COPYRIGHT2014FUJITSULIMITED,13,COPYRIGHT2014FUJITSULIMITED,基于模型的嵌入式設(shè)計及應(yīng)用,MODELBASEDDESIGN,基于模型設(shè)計是一種流程,較之傳統(tǒng)軟件開發(fā)流程而言,使開發(fā)者能夠更快捷、以更少的成本花費(fèi)進(jìn)行開發(fā)。適用范圍包括信號處理,控制系統(tǒng),通信行業(yè)。表述系統(tǒng)的模型是整個開發(fā)流程的中心,貫穿需求,設(shè)計,實(shí)施與測試。模型本身就是一個可執(zhí)行的規(guī)格書,開發(fā)者修改優(yōu)化模型就是對設(shè)計的修繕,無需到實(shí)施之后通過測試再進(jìn)行系統(tǒng)驗證,可以通過仿真在早期設(shè)計時期就及時進(jìn)行正確性驗證,并且在實(shí)施階段,特別是對于嵌入式軟件,代碼由模型生成。,基于模型設(shè)計,14,COPYRIGHT2014FUJITSULIMITED,基于模型的嵌入式設(shè)計及應(yīng)用,以一個簡單的濾波器設(shè)計作為需求,通過基于模型設(shè)計簡化流程將需求與算法設(shè)計綁定起來,以保證所有需求都被覆蓋,最終實(shí)現(xiàn)需求與設(shè)計的一致性。,需求,15,COPYRIGHT2014FUJITSULIMITED,基于模型的嵌入式設(shè)計及應(yīng)用,根據(jù)濾波器的數(shù)學(xué)表達(dá)關(guān)系進(jìn)行模型建立模型,并設(shè)計輸入輸出進(jìn)行仿真,以驗證模型計算的正確性。模型輸入包括濾波系數(shù)和需要濾波的信號帶噪聲的正弦波仿真時,選擇合適的算法至關(guān)重要。,模型建立與仿真,模型建立與仿真,16,COPYRIGHT2014FUJITSULIMITED,基于模型的嵌入式設(shè)計及應(yīng)用,應(yīng)用于嵌入式開發(fā)的模型往往需要選擇固定步長的解算器,而不選用變步長的解算器這是因為微控制器的時鐘信號是以固定頻率的周期工作,雖然可以實(shí)現(xiàn)倍頻和分頻,往往在一個應(yīng)用的過程中每個基礎(chǔ)時鐘信號是保持不變的。,解算器的選擇,解算器的選擇,17,COPYRIGHT2014FUJITSULIMITED,基于模型的嵌入式設(shè)計及應(yīng)用,SYSTEMTARGETFILE是SIMULINK生成代碼不可或缺的起到總領(lǐng)作用的文件。它決定了自身被選擇時模型配置的動作,自定義GUI的追加,模型生成代碼的類型,以及主函數(shù)MAIN的生成與否,生成方式等等。GRTTLC快速原型ERTTLC嵌入式C代碼,通常使用此項或在此之上進(jìn)行自定義硬件目標(biāo)TSP工具的定制CUSTOM往往都是以ERTTLC為基礎(chǔ),追加自定義硬件對應(yīng)的配置或功能,系統(tǒng)目標(biāo)文件,所謂TLC即TARGETLANGUAGECOMPILER的縮寫是一種解釋性編程語言,可以將模型編譯出來的RTW文件按照BLOCK級TLC程序轉(zhuǎn)化為目標(biāo)代碼。,聯(lián)編文件,,聯(lián)編文件,即MAKEFILE文件MK,在MAKE_RTW指令下以系統(tǒng)模板聯(lián)編文件SYSTEMTEMPLATEMAKEFILE即SYSTEMTMF為基礎(chǔ),生成MODELMK聯(lián)編程序,主要負(fù)責(zé)將模型產(chǎn)生的程序,附件的庫文件和自定義的模塊進(jìn)行編譯和鏈接。系統(tǒng)模板聯(lián)編文件TMF允許用戶指定編譯器,編譯選項,以及可執(zhí)行文件生成時所附帶的信息。,,基于模型的嵌入式設(shè)計及應(yīng)用,18,COPYRIGHT2014FUJITSULIMITED,通過RMISETUP注冊ACTIVEXCONTROLS后SIMULINKMODEL菜單欄增加了需求追蹤功能追加了鏈接之后,文檔中出現(xiàn)SIMULINK的小圖標(biāo),能夠從需求文檔鏈接到模型;每當(dāng)需求出現(xiàn)了變更可以通過鏈接檢查是否及時反映到所設(shè)計的模型中,以保持一致性,需求與模型關(guān)聯(lián),基于模型的嵌入式設(shè)計及應(yīng)用,19,COPYRIGHT2014FUJITSULIMITED,隨著模型復(fù)雜度的提高,人工檢查模型屬性,配置以及對于MAAB標(biāo)準(zhǔn)的遵守度逐漸成為負(fù)擔(dān),使用SIMULINK工具欄中的MODELADVISOR工具可以自動進(jìn)行標(biāo)準(zhǔn)以及模型配置和屬性的檢查,并產(chǎn)生檢查報告。檢查的內(nèi)容1是否會導(dǎo)致系統(tǒng)仿真出錯2是否會導(dǎo)致生成的代碼無效SIMULINKCODEREMBEDDEDCODER3生成的代碼是否符合安全標(biāo)準(zhǔn)SIMULINKCODEREMBEDDEDCODERSIMULINKVV,模型檢查與驗證,基于模型的嵌入式設(shè)計及應(yīng)用,20,COPYRIGHT2014FUJITSULIMITED,使用PROFILERREPORT來了解模型每個環(huán)節(jié)的時間消耗和調(diào)用次數(shù)。報告中會提示模型執(zhí)行時間,調(diào)用函數(shù)清單和每個函數(shù)調(diào)用的詳細(xì)效率分析信息使用注意1如果算法模型使用MODELREFERRENCE引用,那么需要使該模型在NORMAL模式2在進(jìn)行PROFILER時并不分析MODELREFERRENCE內(nèi)部,需要單獨(dú)分析,模型效率分析,基于模型的嵌入式設(shè)計及應(yīng)用,21,COPYRIGHT2014FUJITSULIMITED,初次嘗試,先使用ERTTLC作為系統(tǒng)目標(biāo)文件生成嵌入式C代碼ERTTLC會啟動代碼生成過程,將模塊轉(zhuǎn)化為C代碼未經(jīng)過任何優(yōu)化的代碼可讀性不強(qiáng),代碼自動生成,初次嘗試,先使用ERTTLC作為系統(tǒng)目標(biāo)文件生成嵌入式C代碼ERTTLC會啟動代碼生成過程,將模塊轉(zhuǎn)化為C代碼未經(jīng)過任何優(yōu)化的代碼可讀性不強(qiáng),代碼自動生成,基于模型的嵌入式設(shè)計及應(yīng)用,代碼自動生成提高可讀性,22,COPYRIGHT2014FUJITSULIMITED,1為模型增加信號名2通過信號線屬性配置存儲數(shù)據(jù)類型,代碼自動生成提高可讀性1,基于模型的嵌入式設(shè)計及應(yīng)用,1為模型增加信號名2通過M代碼在BASEWORKSPACE創(chuàng)建信號數(shù)據(jù)對象3關(guān)聯(lián)數(shù)據(jù)對象與模型信號DISABLEIMPLICITSIGNALRESOLUTIONGCS命令可自動關(guān)聯(lián),代碼自動生成提高可讀性2,代碼自動生成提高可讀性2,23,COPYRIGHT2014FUJITSULIMITED,基于模型的嵌入式設(shè)計及應(yīng)用,1將模型轉(zhuǎn)換為子系統(tǒng)2在BLOCKPARAMETER中配置為原子子系統(tǒng)3CODEGENERATION頁面定義函數(shù)名與文件名,代碼自動生成結(jié)構(gòu)化,24,COPYRIGHT2014FUJITSULIMITED,基于模型的嵌入式設(shè)計及應(yīng)用,最終目的是將通過模型生成的代碼下載到目標(biāo)硬件中去使用,那么模型生成的代碼能不能如實(shí)地反映仿真過程是必須要去驗證的。模型與代碼的一致性驗證可以通過處理器在環(huán)仿真PROCESSORINTHELOOP,PIL來驗證。,代碼的有效性驗證,25,COPYRIGHT2014FUJITSULIMITED,MOREABOUTSIMULINKTOBECONTINUED,CMEXS函數(shù),子系統(tǒng)MASK,TLC語言,SIMULINKBLOCKHELP文檔制作,自定義SIMULINKLIBRARY,LEVEL1MS函數(shù)自動生成,CALLBACKS,ICONDRAWCOMMAND,模型定點(diǎn)化,,26,COPYRIGHT2014FUJITSULIMITED,
下載積分: 4 賞幣
上傳時間:2024-01-06
頁數(shù): 27
大?。?3.89(MB)
子文件數(shù):