模板下載:編輯器
連接:https://pan.baidu.com/s/10a9Hi0MD14obR_B1LAQEFA 提取碼:z76n
一、MDK使用MDK5.26及其以上版本。函數
二、IAR使用IAR8.30及其以上版本。學習
三、因爲Mircium當前僅提供了IAR的底層移植文件,參考修改製做了個MDK版本的。優化
四、新版的底層移植文件比較好用,支持M3,M4和M7,含浮點支持。spa
五、製做了一個滴答定時器和PendSV中斷入口彙編文件os_cpu_isr.asm,之後不用繁瑣的修改啓動文件的中斷入口函數名,直接添加此貼文件便可。debug
六、新版的中斷管理分爲Kernel Aware和Non-Kernel Aware調試
(1)Kernel Aware 表示受到uCOS-II管理的中斷服務程序。code
(2)Non-Kernel Aware 表示不受管理的中斷服務程序,中斷使用跟裸機同樣,但不可調用uCOS-II的API。orm
/* ********************************************************************************************************* * * 模塊名稱 : uCOS-II * 文件名稱 : main.c * 版 本 : V1.0 * 說 明 : uCOS-II程序模板 * 實驗目的: * 1. 學習MDK和IAR的uCOS-II程序模板建立。 * 實驗內容: * 1. 共建立了以下幾個任務,經過按下按鍵K1能夠經過串口打印任務堆棧使用狀況 * ================================================== * 優先級 使用棧 剩餘棧 百分比 任務名 * Prio Used Free Per Taskname * 63 53 75 41% uC/OS-II Idle * 62 57 71 44% uC/OS-II Stat * 4 61 67 47% uC/OS-II Tmr * 0 144 368 28% App Task Start * 1 137 375 26% App Task MspPro * 2 139 373 27% App Task UserIF * 3 163 349 31% App Task COM * 串口軟件建議使用SecureCRT(V7光盤裏面有此軟件)查看打印信息。 * App Task Start任務 :啓動任務,這裏用做BSP驅動包處理。 * App Task MspPro任務 :消息處理,這裏用做浮點數串口打印。 * App Task UserIF任務 :按鍵消息處理。 * App Task COM任務 :浮點數串口打印。 * 2. (1) 凡是用到printf函數的所有經過函數App_Printf實現。 * (2) App_Printf函數作了信號量的互斥操做,解決資源共享問題。 * 注意事項: * 1. 爲了支持uC/Probe調試組件: * (1).MDK要勾選option->output -> Debug Infomation選項,選擇優化等級0 * (2).IAR要選擇選擇優化等級low,其中以下兩個地方比勾選 * a. option->C/C++ Compiler->Output選項中勾選Generate debug information。 * b. option->linker->Output選項中勾選Include Generate debug information in output。 * (3).使能uCOS-II宏定義 * #define OS_DEBUG_EN 1u * #define OS_TASK_STAT_EN 1u 同時初始化統計任務 * #define CPU_CFG_INT_DIS_MEAS_EN 1u * (4).爲了方便調試,參數OS_APP_HOOKS_EN,OS_ARG_CHK_EN和OS_CPU_HOOKS_EN都使能。 * 2. 本實驗推薦使用串口軟件SecureCRT,要不串口打印效果不整齊。此軟件在 * V7開發板光盤裏面有。 * 3. 務必將編輯器的縮進參數和TAB設置爲4來閱讀本文件,要不代碼顯示不整齊。 * * 修改記錄 : * 版本號 日期 做者 說明 * V1.0 2019-05-01 Eric2013 1. ST固件庫1.3.0版本 * 2. BSP驅動包V1.2 * 3. uCOS-II版本V2.92.16 * 4. uC/CPU版本V1.31.04 * 5. uC/LIB版本V1.38.03 * * Copyright (C), 2019-2030, 安富萊電子 www.armfly.com * ********************************************************************************************************* */
uC-Probeblog