ucos-III前言

前言
自从 2009年 uC/OS-III实时操作系统面世以来,uC/OS-III的性能和稳定性已经日趋完善。
uC/OS-III对前面版本取精弃粕,推陈出新,功能和性能比起 uC/OS-II已经上了很大一步台阶。
uC/OS-III 正在逐渐取代 uC/OS-II,学习 uC/OS-III 已经成为许多嵌入式工程师迫在眉睫的一件
事。 下面是 uC/OS 系统各个版本的对比。

uC/OS-III 的源码已经跟前面版本的源码相差很大,很多方面都做了更加规范的修改,很
多处理问题的机制也有很大的突破。 因此,如果通过前面版本的书籍来理解 uC/OS-III,还是
会比较费解。 现在市面上讲解 uC/OS-III 的书籍或资料都寥寥无几,讲解源码原理的更是少之又少。

嵌入式操作系统是为了区别于通用的计算机系统,人们把嵌入到对象体系
中,为实现对象体系智能化控制的计算机系统,称作嵌入式计算机系统,简称嵌入式系统。

μCOS-III 的源码可读性比较强,相比 RTX 和 FreeRTOS 都要好很多,代码写的非常规范,是学习研究的好资料。 
ST 公司有一个手册是专门讲嵌入式解决方案的,这里就把 RTOS 相关的粘贴出来。

有一本时间触发嵌入式系统设计模(patterns for time-triggered embedded systems)
的书,作者是 Michael J. Pont,他在这个领域深有研究,而且有很多相关的论文发表,有兴趣的可以搜索
一些他的文章进行深入的了解。作为入门,大家可以看一下时间触发嵌入式系统这本书的第 11 页,1.7
Time-triggered systems(一定要读)对时间触发做了入门性的介绍,讲的非常好。如果读英文有点吃
力的话,可以选择读中文版。

初次见面ucosIII,之后开始系统移植操作。

时间: 2024-10-11 22:41:38

ucos-III前言的相关文章

UCOS iii 钩子函数 中断服务函数 临界区 延时函数

钩子函数 功能: 扩展任务功能,被其他任务调用  算是消息机制 1.OSIdleTaskHook(),空闲任务调用这个函数,可以用来让CPU进入低功耗模式 2.OSInitHook(), 系统初始化函数OSInit()调用此函数. 3.OSStatTaskHook(),统计任务每秒中都会调用这个函数,此函数允许你向统计任务中添加自己的应用函数. 4.OSTaskCreateHook(),任务创建的钩子函数. 5.OSTaskDelHook(), 任务删除的钩子函数. 6.OSTaskReturn

UCOS iii 定时器

定时器 功能 定时结束后自动调用回调函数.使用回调函数完成任务. 创建: 1 OS_TMR tmr1; //定时器1 2 3 void tmr1_callback(void *p_tmr, void *p_arg); //定时器1回调函数 4 5 OSTmrCreate((OS_TMR *)&tmr1, //定时器1 6 7 (CPU_CHAR *)"tmr1", //定时器名字 8 9 (OS_TICK )20, //初始延时20*10=200ms 10 11 (OS_TIC

ucos III中任务之间的数据通信和任务划分

1. 如果将关系密切(比如两个任务之间需要经常收发数据)的若干功能分别用不同的任务来实现,则需要进行大量的任务之间数据通信和同步通信,这系统来说是一个很大的负担.因此应该将关系密切的若干功能组合成一个任务,相关数据为各个功能共享,因此可以节省大量的资源. 2. 任务之间的切换需要占用CPU的资源,所以用时间片对任务进行切换,那么时间片的设定是一个取舍值,太小则切换频繁占用CPU太多资源,太大则任务反应速度太慢,所以一般根据经验设定为1ms. 原文地址:https://www.cnblogs.co

STM32移植uCGUI+触摸屏显示,没有加入uCOS Ⅱ

实验板子 ——李想STM32开发板 开发工具—— keil uVision5.0 for MDK 本次终极任务为显示示波器的GUI界面,此文章只是简单总结移植uCGUI+触摸屏,之后会加入视窗管理器及uCOSⅡ. 下面说说移植步骤,会穿插一些个人简单的理解,为像我一样的新手提供方便. 步骤分为三大步: 一.移植uCGUI 二.显示汉字 三.移植触摸屏 一.移植uCGUI 1.建立工程模版. 个人会先建立一个工程模板,里边只包含系统的一些文件,主函数是while(1);的循环.每次项目用到就直接复

重磅消息,Micrium的uCOS全家桶将推出免费商业授权

说明: 1.预计将在下个月末的Embedded World 2020正式宣布开源免费商用. 2.uCOS全家桶一旦宣布免费商用,将给那些还在收费的RTOS带来一波冲击.其中最值的关注的是去年微软收购ThreadX后,当前还没有宣布以那种授权方式供用户使用. 3.全家桶包括:μC/OS-II, μC/OS-III, μC/FS, μC/TCP-IP, μC/USB-Device, μC/USB-Host, μC/CAN μC/Modbus 和 μC/GUI,其中μC/GUI没有包含在这次免费使用的

第1章1节《MonkeyRunner源码剖析》概述:前言(原创)

天地会珠海分舵注:本来这一系列是准备出一本书的,详情请见早前博文"寻求合作伙伴编写<深入理解 MonkeyRunner>书籍".但因为诸多原因,没有如愿.所以这里把草稿分享出来,所以错误在所难免.有需要的就参考下吧,转发的话还请保留每篇文章结尾的出处等信息. 前言 相信大家做过安卓移动平台UI自动化开发的必然会用过,至少听过MonkeyRunner这个名字.MonkeyRunner是一个针对安卓平台的UI自动化测试框架,这个框架的其中一个但绝不是唯一的优点是支持用当今非常流

HDU2122 Ice_cream’s world III【Kruskal】

Ice_cream's world III Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 997    Accepted Submission(s): 321 Problem Description ice_cream's world becomes stronger and stronger; every road is built

矩阵经典题目七:Warcraft III 守望者的烦恼(矩阵加速递推)

https://www.vijos.org/p/1067 很容易推出递推式f[n] = f[n-1]+f[n-2]+......+f[n-k]. 构造矩阵的方法:构造一个k*k的矩阵,其中右上角的(k-1)*(k-1)的矩阵是单位矩阵,第k行的每个数分别对应f[n-1],f[n-2],,f[n-k]的系数.然后构造一个k*1的矩阵,它的第i行代表f[i],是经过直接递推得到的.设ans[][]是第一个矩阵的n-k次幂乘上第二个矩阵,f[n]就是ans[k][1]. 注意:用__int64 #in

NOSDK--关于android一键打包及统一接入国内多个平台SDK的想法与实现(前言)

前言 一,一键打包的实现 1.1 shell文件介绍 1.2 自动刷新mk文件 1.3 自动拷贝资源 1.4 使用ant实现打包 1.5 拷贝icon 二,统一接入多个平台 1.1 nosdk框架介绍 1.2 nosdk_library基本库介绍 1.3 游戏逻辑与sdk平台的分离 1.4 xx平台接入示例 三,后记 做SDK平台接入工作已经有一年多了,自认对于大多平台的sdk都基本熟悉了,因此计划写一个系列的文章,介绍自己对于一键打包及统一接入多个平台sdk的一些想法与实现,算是对于这一年多的

260. Single Number III

260. Single Number III DescriptionHintsSubmissionsDiscussSolution DiscussPick One Given an array of numbers nums, in which exactly two elements appear only once and all the other elements appear exactly twice. Find the two elements that appear only o