|
0.png (42.83 KB, 下載次數: 164)
下載附件
2016-10-11 17:53 上傳
所有資料打包下載:
基于stm32 ucos ucgui的綜合例子.rar
(15.05 MB, 下載次數: 384)
2016-10-11 17:51 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
/*
*********************************************************************************************************
*
* 例程名稱 : uC/OS-II_創建任務&郵箱例程
* uC/OS-II 版本 :V2.86
* ST固件庫版本 :V3.4.0
* 例程版本 : V1.0
* 作 者 : armfly
* 開發環境 : KEIL的uVision V3.70、uVision V4.10、IAR的EWARM V5.30
*
*********************************************************************************************************
*/
【1】例程介紹
本例程提供如下功能:
(1) 提供一個基于u/COS-II操作系統的應用程序框架
(2) 演示如何創建多個任務
(3) 演示如何使用郵箱進行兩個任務之間的通信
本程序共創建了6個任務:
(1) u/COS-II Idle任務,這是由操作系統創建的空閑任務,優先級最低
(2) u/COS-II Stat任務,這是由操作系統創建的統計任務,統計CPU運行時間、CPU占用率等
(3) u/COS-II Tmr任務,這是由操作系統創建的定時器任務,為應用程序提供軟件定時器,未用
(4) AppTaskStart任務,這是由用戶創建的啟動任務,完成如下工作:
(a) 初始化BSP
(b) 創建1個郵箱AppUserIFMbox
(c) 創建2個任務,1個是用戶界面任務AppTaskUserIF,1個是按鍵檢測任務AppTaskKbd
(d) 之后控制LED1指示燈按照100ms的周期閃爍
(5) AppTaskKbd任務,這是由AppTaskStart創建的按鍵檢測任務
按鍵檢測任務AppTaskKbd實時檢測USER鍵和TAMPER鍵的狀態,當有鍵按下時,則向郵箱AppUserIFMbox
發送一條消息,消息內容為按鍵碼變量的指針。
(6) AppTaskUserIF任務,這是由AppTaskStart創建的用戶界面任務
戶界面任務AppTaskUserIF等待郵箱中的消息,如果USER鍵按下的消息則打印u/COS-II系統信息,如果
收到TAMPER鍵按下則打印所有的任務名稱和任務優先級;如果沒有收到任何信息則打印一個旋轉的字符和
CPU運行時間(單位為1個滴答)。
【2】例程文件夾說明
├─Libraries : 存放第3方提供的庫或其源代碼,這些代碼一般是成熟的并經過驗證的代碼。
│ ├─CMSIS : CMSIS中間件源代碼(目的是提供統一的調試接口),這是ST官方提供的固件庫的一部分。
│ ├─STM32F10x_StdPeriph_Driver : STM32F10x系列MCU的固件庫源代碼,這是ST官方提供的固件庫的核心代碼。
│ └─uCOS-II : u/COS-II操作系統源代碼,這是Micrium公司開發的多任務操作系統。
│
├─User : 這里存放用戶自己編寫的源代碼
│ ├─app : 存放應用程序源代碼
│ └─bsp : 存放底層驅動程序源代碼,也就是板級支持包
│
└─project : 這里存放各類開發工具的工程文件
├─EWARMv5 : IAR公司EWARM工程文件
├─MDK-ARM(uV3) :KEIL的MDK工程文件,uVision3版本。uV3不能打開uV4版本的工程。
├─MDK-ARM(uV4) : KEIL的MDK工程文件,uVision4版本。uV4可以打開uV3版本的工程。
└─SourceInsight :SourceInsight工程文件,這是一款源代碼編輯和瀏覽工具。
【3】工程中源代碼分組說明
└─Flash : Target名稱:Flash、CpuRAM 或 ExtSRAM
├─APP : 用戶自己編寫的應用程序
├─BSP : 用戶自己編寫的底層驅動程序
├─RVMDK : 和IDE開發工具相關的啟動代碼,一般是匯編源代碼
├─StdPeriph_Driver : STM32F10x系列MCU的固件庫源代碼
├─CMSIS : CMSIS中間件源代碼
├─uCOS-II/Source : u/COS-II操作系統源代碼
├─uCOS-II/Port : u/COS-II操作系統內核接口層源代碼
├─uCOS-II-CPU : u/COS-II操作系統CPU接口層源代碼
├─Scatter : KEIL鏈接器用到的鏈接配置文件
└─Doc : 存放一些文檔
【4】工程中Target說明
Flash : 目標代碼定位在CPU內部Flash。ROM地址: 0x08000000 RAM地址: 0x20000000
CpuRAM : 目標代碼定位在CPU內部RAM。 ROM地址: 0x20000000 RAM地址: 0x20008000
ExtSRAM : 目標代碼定位在外部SRAM。 ROM地址: 0x68000000 RAM地址: 0x20000200 (前面0x200空間存放
中斷向量表)
【5】資源占用情況
【安富萊STM32F103ZE-EK開發板V2和V3】
- CPU時鐘:72MHz
- CPU的GPIO:
a) PF6連接了LED1指示燈
b) PG8連接了USER鍵,低電平表示按下
c) PC13連接了TAMPER鍵,低電平表示按下
- CPU的USART1:
a) PA9用于USART1的TX,連接到板子上的RS232芯片(SP3232)
b) PA10用于USART1的RX,連接到板子上的RS232芯片(SP3232)
c) 串口為2線模式,無硬件流控,即無CTS和RTS口線
d) 波特率為115200bps
e) 8個數據位、1個起始位、1個停止位、無校驗位、bit0先傳輸
f) 軟件查詢方式,未用中斷
- CPU的中斷
a) PendSV Handler 用于u/COS-II內核,直接調用OSPendSV()函數
b) SysTick_Handler 用于u/COS-II滴答,調用了Tmr_TickISR_Handler()函數
【安富萊STM32F103VE-EK開發板】
- CPU時鐘:72MHz
- CPU的GPIO:
a) PB15連接了LED1指示燈,輸出低電平點亮LED
b) PE1連接了USER鍵,低電平表示按下
c) PC13連接了TAMPER鍵,低電平表示按下
- CPU的USART1:
a) PA9用于USART1的TX,連接到板子上的RS232芯片(SP3232)
b) PA10用于USART1的RX,連接到板子上的RS232芯片(SP3232)
c) 串口為2線模式,無硬件流控,即無CTS和RTS口線
d) 波特率為115200bps
e) 8個數據位、1個起始位、1個停止位、無校驗位、bit0先傳輸
f) 軟件查詢方式,未用中斷
- CPU的中斷
a) PendSV Handler 用于u/COS-II內核,中斷向量等于OSPendSV()函數地址
b) SysTick_Handler 用于u/COS-II滴答,調用了Tmr_TickISR_Handler()函數
【6】調試方法
- 可以選擇IAR的EWARM或者KEIL的MDK兩種IDE進行開發調試
- 工程文件\Project\EWARMv5\project.eww,可以使用EWARM打開
- 工程文件\Project\MDK-ARM(uV3)\project.Uv2,可以使用MDK(uV3)打開
- 工程文件\Project\MDK-ARM(uV4)\project.uvproj,可以使用MDK(uV4)打開
- 工程文件\Project\SourceInsight\Demo.PR,可以使用SourceInsight打開
- 使用ARM仿真器(J-Link、ST-Link、U-Link)下載程序,或者通過串口ISP下載程序
- 支持在CPU內部Flash中調試、在CPU內部RAM中調試、在外部SRAM中調試
- 將開發板的COM1串口用一根直連串口線連接到計算機的RS232串口或者用USB轉RS232串口線連接到計算機USB口
- 計算機上運行超級終端軟件(windows開始菜單-附件-通信-超級終端)或者串口工具軟件SecureCRT
注意:其它一些串口助手之類的軟件不支持控制指令,將導致用戶看不到字符旋轉效果
- 程序運行后,串口軟件的窗口將顯示一個旋轉的字符和動態的CPU運行時間,刷新周期為100ms
- 當按下USER鍵時,串口軟件的窗口將顯示u/COS-II系統信息
- 當按下TAMPER鍵時,串口軟件的窗口將顯示u/COS-II系統所有的任務名稱和對應的任務優先級
【7】開發工具軟件
- 所有的開發工具軟件路徑 : \光盤\04.工具軟件
- SecureCRT :一個優秀的功能強大的超級終端工具
- SourceInsight : 一個優秀的源代碼編輯和瀏覽工具
- KEIL_MDK : KEIL公司開發的集成開發環境(IDE)軟件
- IAR_EWARM : IAR公司開發的集成開發環境(IDE)軟件
- J-Link ARM : SEGGER公司開發的J-Link仿真器驅動軟件(無需IDE支持,可以直接下載程序)
【8】參考資料
- 開發板的用戶手冊路徑: \光盤\01.文檔\01.開發板用戶手冊
- 開發板的硬件原理圖路徑: \光盤\02.硬件資料\01.硬件原理圖
- 開發板所有芯片的數據手冊路徑: \光盤\02.硬件資料\03.外圍芯片數據手冊
- CPU的型號、引腳、封裝等詳細資料,請參考《STM32F103CDE數據手冊.pdf》(ST官方發布的數據手冊)
文件路徑: \光盤\02.硬件資料\02.STM32 CPU數據手冊
- CPU內部資源的詳細介紹,請參考《STM32_RM_CH_V10_1.pdf》(ST官方發布的參考手冊)
文件路徑: \光盤\02.硬件資料\02.STM32 CPU數據手冊
- CPU庫函數的詳細使用方法,請參考《stm32f10x_stdperiph_lib_um.chm》(英文)
文件路徑: \光盤\01.文檔\07.ST庫函數手冊(chm格式,英文)
- u/COS-II相關函數的詳細使用方法,請參考《uCOS-II用戶手冊.chm》(中文)
文件路徑: \光盤\03.軟件資料\06.uCOS_II & ucGUI\
- MDK和EWARM開發環境的教程路徑:\光盤\01.文檔\02.KEIL和IAR軟件使用教程
|
評分
-
查看全部評分
|