• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > EDA/PCB > 設計應用 > μC/GUI在Nios II嵌入式平臺上的移植研究

    μC/GUI在Nios II嵌入式平臺上的移植研究

    作者: 時間:2010-11-29 來源:網絡 收藏

    e.JPG
    2.2.2 過程
    首先建立一個硬件系統,采用Altera公司的QuartusⅡ9.0版本的配套軟件,硬件系統在QuartusⅡ集成的 SOPCBuilder系統開發工具中建立,添加Ⅱ處理、JTAG調試模塊、添加定時器SDRAM控制器、BUFFER IP、TFT LCD IP以及其他部分組件,最后生成一個硬件系統。然后在ⅡIDE環境下針對該系統建立一個TFT LCD軟件工程,并且將μC/有關的源代碼拷貝到工程目錄下,修改LCDConf.h、Conf. h、LCDLin32.c以及_X_uCOS.c文件,使之與LCD控制相匹配,在該系統中,LCD采用16位數據總線,而CPU是32位的 Ⅱ軟核處理器,先查看一下μC/GUI所支持的數據寬度信息,其數據寬度和NiosⅡ處理器所支持的寬度基本吻合,只要在改動代碼時注意就可以。 以下是具體的代碼實現情況:

    因為這里是基于TFT LCD IP核的,所以要定義LCD的讀寫函數,即LCD_READ_MEM(Off)和LCD_WRITE_MEM(Off,data)以及顯示緩存區的起 始位置,讀寫函數中的Off和data都是32位的無符號數,而操作函數IORD_32DIRECT()以及IOWR_32DIRECT()都是一次執行 32位數的操作,剛好和NiosⅡ處理器的數據寬度相匹配。由于支持μC/OS-Ⅱ操作系統,所以要對GUI_X_uCOS.c文件進行修改,增加系統延 時函數OSTimeDly(1),使之能與μC/OSⅡ操作系統實現無縫銜接,以及3個子函數,void GUI_X_Log(const char*s){GUI_USE_PARA (s);};void GUI_X_Warn
    (const char*s){GUI_USE_PARA(s);};void GUI_X_ErrorOut(const char*s){ GUI_USE_PARA(s);};LCDLin32.e是對應3200型號控制器的驅動文件,由于在LCDConf.h中已經對用到的參量進行設置,所以無需修改,剩下的工作就是把不用的文件進行剔除,以減少編譯時產生多余的代碼量。

    3 驗證
    在NiosⅡIDE環境下修改配置文件以及驅動文件,然后編譯該系統,系統編譯成功,編譯成功之后還有MICRIUM公司的聯系方式,這個是提醒用戶該系列軟件如果要用于商業目的是需要買license的,用于研究目的是免費的。
    圖片驗證是采用μC/GUI自帶的位圖轉換工具uC-GUI-BitmapConvert.exe,該工具可以將.bmp格式圖片轉換成指定的C語言數組 的形式保存,例如將蘭博基尼跑車標志的圖片轉換成RGB565的格式進行保存,加入工程,編譯工程,然后下載驗證,如圖4所示。窗口管理組件驗證采用代碼 包中自帶的一個測試代碼,其效果如圖5所示。實驗結果表明,移植是成功的。

    h.jpg

    4 結論
    本文介紹了μC/GUI界面系統,以及NiosⅡ嵌入式系統,詳細介紹了移植的過程,以及最終實現移植。實驗結果表明,在嵌入式系統中使 用μC/GUI進行人機界面的開發,不但移植簡單、使用靈活,而且功能強大,穩定高效,大大降低了在嵌入式系統中開發圖形人機界面的復雜程度,而且 μC/GUI還提供了幾個非常實用的工具軟件,其中包括一個仿真器,它使得在進行移植工作的同時,就可以在仿真器上進行軟件界面部分的程序編寫,加快了整 個系統的開發進度。還有位圖轉換工具,可以輕松地將圖片轉換成C語言數組的形式保存,方便界面開發。μC /GUI還支持其他PS2鼠標、PS2鍵盤、觸摸屏,包含豐富的繪圖庫、動畫顯示優化、還可以自己加入中文字體,通過使用μC/GUI的各項功能,相信可 以在嵌入式系統中開發出功能強大的人機界面,而且在嵌入式系統中有很好的應用前景。


    上一頁 1 2 3 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 库车县| 胶州市| 上饶县| 罗城| 大足县| 普陀区| 虎林市| 杭州市| 内黄县| 吴江市| 保靖县| 定远县| 离岛区| 白银市| 万宁市| 齐河县| 藁城市| 荔浦县| 武威市| 新丰县| 高清| 拜泉县| 乌审旗| 吉安市| 武乡县| 铜陵市| 阜阳市| 达孜县| 雷州市| 常州市| 留坝县| 西乌珠穆沁旗| 甘洛县| 海伦市| 广平县| 忻州市| 汨罗市| 边坝县| 加查县| 沙湾县| 阿坝县|