資料介紹
本課程設計是使用我們學習過的嵌入式系統的有關知識,在 ARM9 嵌入式硬件開發平臺和μC/OS-II 的軟件開發框架下,實現一個還有 AD 轉換,按鍵,LCD等硬件功能的實時多任務的簡單貪吃蛇的設計。文中首先μC/OSII 系統和 ARM9進行了介紹,然后對設計要求進行分析,給出了系統總體上設計,并對各個功能模塊進行了介紹,緊接著給出了 系統軟件設計,最后介紹了系統的調試方法和測試結果。
1、μC /OS-II 操作系統 μC/OS-II 是一種可移植的,可植入 ROM 的,可裁剪的,搶占式的,實時多任務操作系統內核。它被廣泛應用于微處理器、微控制器和數字信號處理器。uC/OS-II 只是一個實時操作系統內核,它僅僅包含了任務調度,任務管理,時間管理,內存管理和任務間的通信和同步等基本功能。沒有提供輸入輸出管理,文件系統,網絡等額外的服務。但由于 uC/OS-II 良好的可擴展性和源碼開放,這些非必須的功能完全可以由用戶自己根據需要分別實現。 uC/OS-II 目標是實現一個基于優先級調度的搶占式的實時內核,并在這個內核之上提供最基本的系統服務,如信號量,郵箱,消息隊列,內存管理,中斷管理等
μC/OS-II 是專門為計算機的嵌入式應用設計的, 絕大部分代碼是用 C 語言編寫的。 CPU 硬件相關部分是用匯編語言編寫的、總量約 200 行的匯編語言部分被壓縮到最低限度,為的是便于移植到任何一種其它的 CPU 上。
μC /OS-II 中最多可以支持 64 個任務,分別對應優先級 0~63,其中 0 為最高優先級。63 為最低級,系統保留了 4 個最高優先級的任務和 4 個最低優先級的任務,所有用戶可以使用的任務數有 56 個,每個任務都有不同的優先級,用戶在創建任務的時候定義該任務的優先級。μC/OS 操作系統中每個任務可以有 5 種狀態:休眠態、就緒態、運行態、等待或掛起狀態、中斷態,在任一個時候,任務的狀態一定是這 5 種狀態之一。任務在等待消息、郵箱或者信號量等事件的到來的時候會進入掛起狀態,當任務接到消息以后,則處于就緒狀態。
uC/OS-II 的時間管理是通過定時中斷來實現的,該定時中斷一般為 10毫秒或 100 毫秒發生一次,時間頻率取決于用戶對硬件系統的定時器編程來實現。中斷發生的時間間隔是固定不變的,該中斷也成為一個時鐘節拍。
uC/OS-II 要求用戶在定時中斷的服務程序中,調用系統提供的與時鐘節拍相關的系統函數,例如中斷級的任務切換函數,系統時間函數。在 ANSI C 中是使用 malloc 和 free 兩個函數來動態分配和釋放內存。但在嵌入式實時系統中,多次這樣的操作會導致內存碎片,且由于內存管理算法的原因,malloc 和 free 的執行時間也是不確定。
uC/OS-II 中把連續的大塊內存按分區管理。每個分區中包含整數個大小相同的內存塊,但不同分區之間的內存塊大小可以不同。用戶需要動態分配內存時,系統選擇一個適當的分區,按塊來分配內存。釋放內存時將該塊放回它以前所屬的分區,這樣能有效解決碎片問題,同時執行時間也是固定的。
對一個多任務的操作系統來說,任務間的通信和同步是必不可少的。uC/OS-II 中提供了 4 種同步對象,分別是信號量,郵箱,消息隊列和事件。所有這些同步對象都有創建,等待,發送,查詢的接口用于實現進程間的通信和同步。uC/OS-II 采用的是可剝奪型實時多任務內核。可剝奪型的實時內核在任何時候都運行就緒了的最高優先級的任務。 uC/os-II 的任務調度是完全基于任務優先級的搶占式調度,也就是最高優先級的任務一旦處于就緒狀態,則立即搶占正在運行的低優先級任務的處理器資源。為了簡化系統設計,uC/OS-II 規定所有任務的優先級不同,因為任務的優先級也同時唯一標志了該任務本身。
隨著信息化技術的發展和數字化產品的普及,以計算機技術、芯片技術和軟件技術為核心的嵌入式系統再度成為當前研究和應用的熱點。
- 基于51單片機的貪吃蛇游戲設計 0次下載
- 基于51單片機的貪吃蛇游戲設計 2次下載
- 基于51單片機的貪吃蛇游戲設計
- micro:bit貪吃蛇游戲開源分享
- 基于STM32的貪吃蛇小游戲
- 基于stm32的貪吃蛇小游戲
- 基于51單片機和OLED屏幕的貪吃蛇游戲
- 基于LabVIEW的貪吃蛇游戲源代碼 73次下載
- 使用51單片機實現貪吃蛇游戲的程序免費下載
- 51單片機的貪吃蛇游戲 40次下載
- 貪吃蛇游戲設計貪吃蛇收尾基本完成 3次下載
- 貪吃蛇游戲(verilog) 51次下載
- 吳鑒鷹12864系列(連載)之基于12864的貪吃蛇游戲的設計詳 7次下載
- 貪吃蛇游戲單片機程序 20次下載
- C語言教程之貪吃蛇游戲的問題 0次下載
- 基于FPGA的貪吃蛇游戲設計 999次閱讀
- C語言零基礎項目:吃豆人小游戲!詳細思路+源碼分享 1265次閱讀
- 西門子S7-1500用SCL語言編寫的俄羅斯方塊和貪吃蛇程序可仿真 3186次閱讀
- 算法的學習與貪吃蛇的實現框架 882次閱讀
- 「行空板Python入門教程」第六課:貪吃蛇小游戲 1733次閱讀
- 基于C語言實現的貪吃蛇小游戲 1979次閱讀
- 英創信息技術ARM9工控板遠程抓拍圖像應用介紹 1820次閱讀
- 米爾科技 ATMEL AT91SAM9G45 ARM9單板機概述 4253次閱讀
- 如何使用ARM9芯片進行嵌入式工控機的設計 6659次閱讀
- 基于嵌入式linux開發板的貪吃蛇游戲運行 9574次閱讀
- 初學者是選ARM7還是ARM9?uCOS還是Linux? 7577次閱讀
- ARM9入門學習心得分享 7103次閱讀
- 學ARM9入門需要多久_學ARM9要看的書籍 9885次閱讀
- 介紹arm9時鐘與定時器 8228次閱讀
- 基于ARM9和GPRS的實時電力負控管理系統的設計 2159次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多