新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ARM的綜合實驗

        ARM的綜合實驗

        作者: 時間:2011-11-08 來源:網絡 收藏


        一、實驗目的
        學習做一個復雜的應用程序的方法和程序結構,結合應用以前16 次實驗所學到的知識,
        編寫一個比較綜合的應用。
        二、實驗內容
        用一個列表框作為主菜單,通過鍵盤可以選擇功能,主要的功能有:顯示bmp 文件、
        設定系統時間、USB 下載。同時,使用文本框控件作為系統的一個狀態條,顯示提示信息
        和系統的時間。
        三、預備知識
        1、用 SDT 2.5 集成開發環境,編寫和調試程序的基本過程。
        2、基于操作系統的應用程序的框架結構。
        3、會使用Source Insight 3 編輯C 語言源程序
        4、會使用消息循環響應鍵盤消息
        5、會使用文本框控件和列表框控件
        6、會編寫通過USB 連接下載的程序
        7、會控制系統的時鐘和多線程
        8、會使用系統的繪圖函數顯示圖片
        9、會使用系統的文件相關函數列出指定類型的文件
        四、實驗設備及工具(包括軟件調試工具)
        硬件: 嵌入式開發板、用于ARM7TDMI 的JTAG 仿真器、PC 機Pentumn100 以

        軟件:PC 機操作系統win98、ARM SDT 2.51 集成開發環境、仿真器驅動程序、Source
        Insight 3.0、超級終端通訊程序、USB 下載程序
        五、實驗步驟
        1、在ARM SDT 2.51 中,使用實驗一中創建好的模板,新建一個項目work1。把操作
        系統的所需要的頭文件(*.h)和庫文件(*.alf)加入工程中。
        2、用Source Insight 3 創建一個工程,把work1 中的C 語言源文件文件加入。
        3、打開Main.c 文件,在Main_Task 任務中添加代碼,使系統啟動的時候,創建一個列
        表框作為系統的選項菜單,添加三個字符串到列表框中,作為功能菜單,包括:繪制圖形、
        設置時間、USB 下載。創建兩個文本框,其中一個作為系統的狀態提示,另一個用來顯示
        系統時間。啟動消息循環, 響應鍵盤消息(OSM_KEY)和列表框被改變的消息
        (OSM_LISTCTRL_SELCHANGE)。Main_Task 的流程如圖17-1 所示。

        4、在Main_Task 任務中再創建一個新的任務,此任務負責實時的更新顯示系統的時間.

        其流程圖如圖:17-2 所示。

        提示:
        1、用CreateTextCtrl 函數創建文本框,SetTextCtrlText 函數設置文本框中的內容。
        2、用CreateListCtrl 函數創建列表框,ReLoadListCtrl 函數裝載一組字符串。
        3、使用OSTaskCreate 來創建系統任務。在uCOS-II 系統中,任務的優先級是不能
        相同的。比如:Main_Task 任務的優先級是12,Key_Scan_Task 任務的優先級是56。目
        前使用的uCOS-II 的版本只支持64 個任務,包括,還有8 個系統任務,用戶可以使用
        的任務是56 個。創建任務的時候,需要選擇合適的任務優先級(比如:14)。
        4、通過SetTextCtrlEdit 函數設置文本框是否處于編輯狀態,使用TextCtrlDeleteChar
        和AppendChar2TextCtrl 函數在文本框中刪除和追加字符。
        5、鍵盤消息是OSM_KEY,列表框選擇改變消息是OSM_LISTCTRL_SELCHANGE
        6、使用Rtc_IsTimeChange 函數,判斷系統的時鐘對應的某一位是否改變。用
        Rtc_Format 格式化系統的時鐘格式得到Unicode 字符串,可以方便的顯示到文本框控件
        里。
        7、可以使用一個指針函數的數組裝載系統的各個功能(繪制圖形、設置時間、USB
        下載)函數,便于管理。如下面的程序所示:
        void *MainFunction[]={(void*)OnDrawBmp,(void*)OnSetTime,(void*)OnUsb_Download};
        其中,OnDrawBmp,OnSetTime,OnUsb_Download 函數就是對應的繪制圖形、設置
        時間、USB 下載功能函數。可以使用如下程序所示的方法調用指定序列的函數:
        ( (void (*)(void)) (MainFunction[pMainListCtrl->CurrentSel]) )();
        其中,pMainListCtrl 表示指向系統主功能文本框的指針。
        7、用ARM SDT 2.5 編譯、下載并調試上述程序,檢查運行結果
        8、生成發行版本的.bin 文件,通過USB 下載到嵌入式開發板中,運行并檢查輸出結果。



        關鍵詞: ARM 綜合實驗

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 平原县| 沂南县| 乐都县| 兴国县| 监利县| 盘锦市| 巴里| 丽江市| 登封市| 威远县| 高陵县| 昌平区| 盐城市| 麻城市| 夹江县| 威远县| 江津市| 武鸣县| 丘北县| 中山市| 鄂州市| 新余市| 清流县| 长春市| 同仁县| 从化市| 竹山县| 辛集市| 重庆市| 扬中市| 屏东县| 徐闻县| 涿鹿县| 临湘市| 友谊县| 安陆市| 永川市| 德令哈市| 五华县| 西乡县| 蒙城县|