UCOS-III
秋山刀名鱼丶
一年之内毫无半点成绩,想起来做人真是没趣。
展开
-
uCOS-III任务堆栈溢出检测及统计任务堆栈使用量的方法【转载】
此文章转载于点击进入原创地址uCOS-III任务堆栈溢出检测及统计任务堆栈使用量的方法在操作系统任务设计的时候,通常会遇到一个比较麻烦的问题,也就是任务堆栈大小设定的问题,为此我们我需要知道一些问题: 1.1. 任务堆栈一但溢出,意味着系统的崩溃,在有MMU或者MPU的系统中,对堆栈溢出的检测十分简单,因为这是MMU和MPU必备的功能之一。(uCOS-II/uCOS-III中均有针对没有MMU和转载 2017-07-29 14:24:50 · 3393 阅读 · 3 评论 -
【转载】UCOS临界代码问题以及解决办法
先上图 ①:有两个任务1和2(任务1优先级<任务2优先级),两个任务用到了同一个全局变量nGlobalVar,然后中断来了!中断打断了任务1,中断退出之后,一定退回到任务1继续往下执行吗? 解答:答案是否定的!!答案是否定的!!因为在中断退出前,实现了任务切换,更高优先级的,就绪的任 务被执行!!所以说中断退出后,程序可能跳转到任务2!!②:如果任务2中修改了nGlobalVa转载 2017-09-05 22:24:07 · 898 阅读 · 0 评论 -
UCOS_III(原子战舰STM32)学习笔记二
- 1.任务堆栈#define START_STK_SIZE 512CPU_STK START_TASK_STK[START_STK_SIZE]任务堆栈定义为512,CPU_STK 为uint型[4个字节],故定义的堆栈数组 START_TASK_STK大小为512*4=2048字节。- 2.任务堆栈初始化任务如何才能切换回上一个任务并且还能接着从上次被中断的地方开始运行?恢原创 2018-01-30 22:23:33 · 713 阅读 · 0 评论 -
UCOS_III(原子战舰STM32)学习笔记三
- 1、任务调度-(1) UCOS_III为可剥夺型内核 当一个高优先级的任务准备就绪,并且此时发生了任务调度,那么这个高优先级的任务就会获得CPU的使用权! UCOSIII中的任务调度是由任务调度器来完成! 任务调度器有2种: ①任务级调度器为函数OSSched()。 ②中断级调度器为函数OSIntExit(),当退出外部中断服务函数的时候使用中断级任务调度。原创 2018-02-03 14:32:41 · 595 阅读 · 0 评论 -
UCOS_III(原子战舰STM32)学习笔记一
1、UCOS_III主要使用系统的滴答定时器(倒计时计数器)来做高精度延迟;滴答定时器的中断优先级最低(优先级为15); 2、`void delay_init() {if SYSTEM_SUPPORT_OS //如果使用了OSu32 reload;endif①SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);/原创 2017-07-20 16:46:14 · 2371 阅读 · 0 评论