KEIL_RTX资源介绍
调度方法:时间片轮转。
参考文档:Keil参考手册和rtl.h(任务的每个.c文件都应包含此头文件)头文件这两个文档

1)事件管理:让一个进程等待一个事件,这个事件可以由其它进程和中断触发(只能在中断中使用)。事件不用预先创建(但应先set后wait),wflags与event_flags都是u16类型,每一位代表一个事件,所以每个任务可有16个事件(1~16)。设定单一事件event_flags1<<(n-1),因此可以进行位的与或运算。
固定消息长度发送
RTX核有一个功能强大的固定内存块内存分配函数。它们是线程安全、可重入,且能被RTX核无限制的使用。建议使用固定内存块分配函数发送固定大小的消息。需要为这个消息对象对内存池作适当地初始化。
U32 mpool[邮箱的条数*(2*sizeof(U32))/4 + 3]; /* Reserve a memory for 16 messages */
_init_box (mpool, sizeof(mpool), sizeof(struct message));
发送方:U32 *mptr;
mptr = _alloc_box (mpool); /* Allocate a memory for the message */
mptr[0] = 0x3215fedc; /* Set the message content. */
mptr[1] = 0x00000015;
os_mbx_send (MsgBox, mptr, 0xffff); /* Send a message to a 'MsgBox' */
接收方: os_mbx_wait (MsgBox, &rptr, 0xffff); /* Wait for the message to arrive. */
rec_val[0] = rptr[0]; /* Store the content to 'rec_val' */
rec_val[1] = rptr[1];
_free_box (mpool, rptr); /* Release the memory block */
变长数据长度信息发送:必须使用可变大小内存块的内存分配函数。 RVCT 库在Stdlib.h文件中提供了这个函数(不可重入)
在malloc()和free()函数执行期间必须禁止系统定时器中断。tsk_lock()函数可禁止定时器中断,而tsk_unlock()函数使能定时器中断。
(5)延时: os_dly_wait(),延时的单位:系统节拍。
任务的创建:__tast关键字来修饰函数,一个任务被创建多次即可以有多个实例。
os_tsk_create (xxx_task, 0);
os_tsk_delete_self ();
id1 = os_tsk_self(); /* Obtain own system task identification number */
2个系统任务 os_clock_demon
和 os_idle_demon() /*空闲任务的钩子函数*/
#define OS_PRIVCNT 0 /*RTX内核采用 OS_PRIVCNT 使存储空间的利用最优化*/
#define OS_STKCHECK 1 /*堆栈检查:速度慢但可以指出堆栈有问题的任务ID*/
堆栈大小(用U32):#define OS_STKSIZE 100 /*所以为400字节*/
KEIL_RTX资源介绍的更多相关文章
- Puppet自动化运维-资源介绍篇(4)
1.什么是资源? 资源是Puppet最基础的元素,每个资源的定义都具有标题,类型,以及一系列的属性. 资源定义有如下的特性: (1) Puppet使用title在编译时区分每个资源,使用命名变量在 ...
- Unity编程标准导引-1.2官方资源介绍
1.2.官方资源介绍 Unity官方提供了丰富的学习和参考资源,有以下类别: Unity手册以及API文档 Unity的官方教程 AssetStore 1.2.1 Unity手册以及API文档 前述文 ...
- 《玩转D语言系列》二、D语言现状、基本规定和相关资源介绍
这算是本系列文章的一个序吧,主要是为以后的学习做铺垫,文本分为三个部分,第一部分是对于网上一些比较旧的资料的问题的一些更正,当然我也不可能看过所有的资料,难免会有遗漏.第二部分是D语言最基本的规定,第 ...
- [vue三部曲]第一部:vue脚手架的搭建和目录资源介绍,超详细!
第一步 node环境安装 1.1 如果本机没有安装node运行环境,请下载node 安装包进行安装1.2 如果本机已经安装node的运行换,请更新至最新的node 版本下载地址:https://nod ...
- puppet(2)-资源介绍
puppet- 资源介绍: 类型.属性与状态同实现方式分离.仅指定目标状态 type {'title': attribute => value, ... } 查看支持的资源类型: puppet ...
- 国外一些好用的UX/UI设计工具和资源介绍
你今天使用的设计工具也许不再适合以后的网页和APP设计项目了.新的工具不断的推出市场,目标只有一个,让你的工作更快.更容易而且工作成效更好.以下就是各种工具的介绍入口,当您点击标题就会看到各种很好的工 ...
- kubernetes的Ingress资源介绍
Ingress 的资源帮助信息介绍 [root@master ~]# kubectl explain ingress KIND: Ingress VERSION: extensions/v1beta1 ...
- Kubernetes的service资源介绍
service 三种工作模式:userspace.iptables.ipvs 删除手动创建的service [root@master ~]# kubectl delete svc redis serv ...
- Android样式(style)和主题(theme)资源介绍-android学习之旅(五十六)
样式(style)资源 代码示例 <?xml version="1.0" encoding="utf-8"?> <LinearLayout x ...
随机推荐
- Java8初体验(2):Stream语法详解
原文出处: 一冰_天锦 上篇文章Java8初体验(1):lambda表达式语法比较详细的介绍了lambda表达式的方方面面,细心的读者会发现那篇文章的例子中有很多Stream的例子.这些Stream的 ...
- 对xml文件的sax解析(增删改查)之一
crud(增删改查): c:creat r:retrieve u:update d:delete 以下笔记来自于韩顺平老师的讲解. 现在是用java来操作. 第一步:新建java工程.file-new ...
- linux应用之vi编辑器的安装、配置及用法
vi(vim是其高级版本)是linux系统上用于文本编辑的一个应用.它的功能十分强大,在日常的系统管理活动或编程中用得都很多.所以用好vi是很有必要的. 学习vi主要学的知识点有:1.vi的配置.2. ...
- Linux GCC常用命令学习
1简介 GCC 的意思也只是 GNU C Compiler 而已.经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言:它现在还支持 Ada 语言.C++ 语言.Java 语言.Objective ...
- css 内容超出宽度自动换行
1. word-break:break-all;只对英文起作用,以字母作为换行依据2. word-wrap:break-word; 只对英文起作用,以单词作为换行依据 PS:要设定宽度!
- vue中的 v-if VS v-show
相同点:都是动态显示DOM元素. 不同点:1.v-if是动态的向DOM树内添加或者删除DOM元素:v-show是通过设置DOM元素的display样式属性控制显隐: 2.v-if切换有一个局部编译/卸 ...
- bzoj3625
fft 分治虽然是万能的,但是太慢了 分治是nlog^2n的,太慢了,于是我们用求逆和开根 设f(x)表示答案为x的方案数 c表示物品的生成函数 那么f=f*f*c+1 f*f表示左右儿子的方案数 c ...
- 3.javascript转换日期字符串为Date对象
js中文网 阮一峰 1.求format“xxxx年xx月xx日 xx:xx”类型的两个日期天数差 var start = "2017年09月17日 13:51"; var end ...
- 爬虫库之BeautifulSoup学习(一)
Beautiful Soup的简介 简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据. 官方解释如下: Beautiful Soup提供一些简单的.pytho ...
- HDFS源码分析四-HDFS Client
4. HDFS Client ( 未完待续 ) 目录: 4.1 认识 DFSClient ( 未完待续 ) 4.2 输入流 ( 未完待续 ) 4.3 输出流 ( 未完待续 ) 4.4 Distribu ...