打印

基于V7开发板的最新版uCOS-III V3.07.03程序模板,含MDK和IAR,支持uC/Probe,与之前版本变化较大

[复制链接]
339|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
スモモ|  楼主 | 2018-8-4 07:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
对MDK的AC6也做了支持:
http://www.armbbs.cn/forum.php?mod=viewthread&tid=93592

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-III管理的中断服务程序。
(2)Non-Kernel Aware 表示不受管理的中断服务程序,中断使用跟裸机一样,但不可调用uCOS-III的API。
7、uCOS-III进入V3.07.00版本后与之前的版本变化较大,确切的说是更好用了。新的内核部分越来越向uCOS-II靠拢,之前臃肿的功能和不合理方案都已经放弃。
uCOS-III刚推出的时候,搞了不少功能,什么中断延迟提交,多事件等待,专门搞一个滴答定时器任务等新功能。升级到当前的V3.07.00后,都被干掉了,不实用。

/*
*********************************************************************************************************
*                                          
*        模块名称 : uCOS-III
*        文件名称 : mian.c
*        版    本 : V1.0
*        说    明 : uCOS-III程序模板
*              实验目的:
*                1. 学习MDK和IAR的uCOS-III程序模板创建。              
*              实验内容:
*                1. 共创建了如下几个任务,通过按下按键K1可以通过串口打印任务堆栈使用情况
*                    ===============================================================
*                     优先级 使用栈 剩余栈 百分比 利用率   任务名
*                      Prio   Used  Free   Per    CPU     Taskname
*                        5    141    371   27%    0.00%   App Task COM
*                        4    157    355   30%    0.01%   App Task UserIF
*                        3    142    370   27%    0.00%   App Msp Pro
*                        2    146    366   28%    0.41%   App Task Start
*                       61     62     66   48%    0.00%   uC/OS-III Timer Task
*                       62     68     32   68%    0.03%   uC/OS-III Stat Task
*                       63     54     10   84%   99.53%   uC/OS-III Idle Task                    
*                    串口软件建议使用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-III宏定义
*                       #define OS_CFG_DBG_EN             1u
*                       #define OS_CFG_STAT_TASK_EN       1u 同时初始化统计任务
*                              #define CPU_CFG_INT_DIS_MEAS_EN   1u
*                   (4).为了方便调试,参数OS_CFG_APP_HOOKS_EN,OS_CFG_ARG_CHK_EN都使能
*                2. 本实验推荐使用串口软件SecureCRT,要不串口打印效果不整齐。此软件在
*                   V7开发板光盘里面有。
*                3. 务必将编辑器的缩进参数和TAB设置为4来阅读本文件,要不代码显示不整齐。
*
*        修改记录 :
*                版本号   日期         作者            说明
*       V1.0    2019-05-01   Eric2013    1. ST固件库1.3.0版本
*                                        2. BSP驱动包V1.2
*                                        3. uCOS-III版本V3.07.03
*                                        4. uC/CPU版本V1.31.04
*                                        5. uC/LIB版本V1.38.03
*                                       
*        Copyright (C), 2019-2030, 安富莱电子 www.armfly.com
*
*********************************************************************************************************
*/

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

458

主题

484

帖子

1

粉丝