![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
uC/OS
文章平均质量分 79
叮当小菜
做汽车GPS相关配件的,车联网等嵌入式开发
展开
-
3.任务管理机制
这是我按照自己每天学习的进程来写的,期间遇到很多问题,都是慢慢的去解决,所以进度会相对比较慢一点原创 2017-06-15 14:14:37 · 5774 阅读 · 0 评论 -
宏定义有无参数宏定义和带参数宏定义两种
宏定义有无参数宏定义和带参数宏定义两种。 无参数的宏定义的一般形式为 # define 标识符 字符序列其中# define之后的标识符称为宏定义名(简称宏名),要求宏名与字符序列之间用空格符分隔。这种宏定义要求编译预处理程序将源程序中随后所有的定名的出现(注释与字符串常量中的除外)均用字符序列替换之。前面经常使用的定义符号常量是宏定义的最简单应用。如有:转载 2017-06-15 10:40:41 · 27833 阅读 · 2 评论 -
C语言三种预处理功能
伪指令(或预处理指令)定义:预处理指令是以#号开头的代码行。#号必须是该行除了任何空白字符外的第一个字符。#后是指令关键字,在关键字和#号之间允许存在任意个数的空白字符。整行语句构成了一条预处理指令,该指令将在编译器进行编译之前对源代码做某些转换。下面是部分预处理指令:指令 用途# 空指令,无任何效果#include 包含一个源代码文件#def转载 2017-06-15 10:11:17 · 683 阅读 · 0 评论 -
在C语言中,static静态变量,extern外部变量的区别
1:什么是staticstatic,叫做静态变量。一般用于全局变量里面,首先,我们来考虑一下为什么要用到static,我们可以想一下,一个项目其实是由很多位工程师一起来完成的,他们之间是互相独立完成自己所要完成的一个模块的,这就有可能出现定义相同的全局变量或者全局函数名(记住,我这边所说的全局变量指的是针对各自工程师的模块中),这样一旦整合到一起就会出现编译报错,因为会有相同的变量或者函数。原创 2017-06-14 14:19:57 · 4421 阅读 · 0 评论 -
移植操作系统的对微处理器的要求
1.什么是移植?就是使选用的实时内核能在某一个特定的微处理器上运行。为了方便移植,大部分的实时操作系统代码都是用C语言编写的。但仍然需要用C和汇编语言编写一些与微处理器相关的代码,因为有一些操作需要汇编语言才能实现。2.操作系统对微处理器的要求?首先,要移植操作系统,就要明白操作系统对微处理器的要求。由于本身操作系统在设计上就充分考虑到了可移植性的问题,所以移植相对来说还是比较容易的。原创 2017-06-27 15:57:10 · 435 阅读 · 0 评论 -
六 上下文切换
一 定义当UCOS-III转向执行另一项新任务的时候,他保存了当前任务的CPU寄存器到堆栈,并从新任务的堆栈CPU寄存器载入CPU,这个过程叫做上下文切换上下文切换需要一些开支,CPU的寄存器越多,开支越大。上下文切换的时间基本取决于有多少个CPU寄存器需要被存储和载入。上下文切换的代码是移植UCOS -II 时编写的,该部分代码要适用于处理器,这些代码被放在C和汇编文件中:OS_原创 2017-06-26 08:57:10 · 1098 阅读 · 1 评论 -
1.什么是uC/OS III,以及uC/OS III的结构
这是我自己每天学习uC/OS III的一些笔记,仅供参考。原创 2017-06-14 10:46:30 · 1150 阅读 · 0 评论 -
四. 就绪列表
准备运行的任务被放置于就绪列表中。就绪列表包括2 个部分:位映像组包含了优先级信息,一个表包含了所有指向就绪任务的指针。一 优先级显示了优先级的位映像组。它的宽度取决于CPU_DATA 的数据类型(见CPU.H),它可以是8 位、16 位、32 位。根据处理器相应地设定。uC/OS-III 支持多达OS_CFG_PRIO_MAX 种不同的优先级(见OS_CFG.H)。在uC/OS-I原创 2017-06-20 15:32:51 · 864 阅读 · 0 评论 -
任务管理机制二
本文是为了续前面的任务管理机制的。六.内部任务在uC/OS-III 初始化的时候,它会创建至少2 个内部的任务(OS_IdleTask()和OS_TickTask()),3 个可选择的任务(OS_StatTask(),OS_TmrTaks(),OS_IntQTask())。这些可选择的任务在编译时由OS_CFG.H 中的配置决定。1空闲任务 OS_IdleTask()OS_原创 2017-06-19 09:03:00 · 714 阅读 · 0 评论 -
2.临界段代码学习
临界段代码的定义临界段代码,也称作临界域,是一段不可分割的代码。uC/OS-III中包含了很多临界段代码。如果临界段可能被中断,那么就需要关中断以保护临界段。如果临界段可能被任务级代码打断,那么需要锁调度器保护临界段。uC/OS-III 中的临界段的保护方法决定于ISR 中对消息的处理方式。详见 “ 中断管理” 。如果OS_CFG_ISR_POST_DEFERRED_EN 被设为0(见OS_C原创 2017-06-15 09:11:53 · 783 阅读 · 0 评论