| 
 
| 1、MDK使用MDK5.26及其以上版本。 2、IAR使用IAR8.30及其以上版本。
 3、由于Mircium当前仅提供了IAR的底层移植文件,参考修改制作了个MDK版本的。
 4、新版的底层移植文件比较好用,支持M3,M4和M7,含浮点支持。
 5、制作了一个滴答定时器和PendSV中断入口汇编文件os_cpu_isr.asm,以后不用繁琐的修改启动文件的中断入口函数名,直接添加此贴文件即可。
 6、新版的中断管理分为Kernel Aware和Non-Kernel Aware
 (1)Kernel Aware 表示受到uCOS-II管理的中断服务程序。
 (2)Non-Kernel Aware 表示不受管理的中断服务程序,中断使用跟裸机一样,但不可调用uCOS-II的API。
 
 /*
 *********************************************************************************************************
 *
 *        模块名称 : 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
 *
 *********************************************************************************************************
 */
 | 
 |