freeRTOS学习二
临界段,用一句话概括就是一段在执行时不能被中断的代码段。
临界段被打断的情况,一个是系统调度,还有一个就是外部中断。
对临界段的保护就是对中断的开和关。
空闲任务与阻塞延时

xTicksToDelay是任务控制块的一个成员,用于记录任务需要延时的时间,单位为SysTick的中断周期。
多优先级
FreeRTOS中,数字优先级越小,逻辑优先级也越小。
空闲任务的优先级最低,为0。空闲任务一直处于就绪状态。
就绪列表是一个数组,里面存储的是就绪任务的TCB中的xStateListItem节点。
创建任务时,会根据任务的优先级将任务插入到就绪列表不同的位置。相同的优先级会插入就绪列表的同一链表中。
任务延时列表
当任务需要延时时,则先将任务挂起,即先将任务从就绪列表中删除,然后插入任务延时列表,同时更新下一个任务的解锁时刻变量xNextTaskUnblockTime的值,xNextTaskUnblockTime = xTickCount (系统时基计数器)+ xTicksToDelay。
动态创建任务

freeRTOS学习二的更多相关文章
- emberjs学习二(ember-data和localstorage_adapter)
		emberjs学习二(ember-data和localstorage_adapter) 准备工作 首先我们加入ember-data和ember-localstorage-adapter两个依赖项,使用 ... 
- ReactJS入门学习二
		ReactJS入门学习二 阅读目录 React的背景和基本原理 理解React.render() 什么是JSX? 为什么要使用JSX? JSX的语法 如何在JSX中如何使用事件 如何在JSX中如何使用 ... 
- TweenMax动画库学习(二)
		目录 TweenMax动画库学习(一) TweenMax动画库学习(二) TweenMax动画库学习(三) Tw ... 
- Hbase深入学习(二) 安装hbase
		Hbase深入学习(二) 安装hbase This guidedescribes setup of a standalone hbase instance that uses the local fi ... 
- Struts2框架学习(二) Action
		Struts2框架学习(二) Action Struts2框架中的Action类是一个单独的javabean对象.不像Struts1中还要去继承HttpServlet,耦合度减小了. 1,流程 拦截器 ... 
- Python学习二:词典基础详解
		作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7862377.html 邮箱:moyi@moyib ... 
- Quartz学习--二  Hello Quartz! 和源码分析
		Quartz学习--二 Hello Quartz! 和源码分析 三. Hello Quartz! 我会跟着 第一章 6.2 的图来 进行同步代码编写 简单入门示例: 创建一个新的java普通工程 ... 
- SpringCloud学习(二):微服务入门实战项目搭建
		一.开始使用Spring Cloud实战微服务 1.SpringCloud是什么? 云计算的解决方案?不是 SpringCloud是一个在SpringBoot的基础上构建的一个快速构建分布式系统的工具 ... 
- DjangoRestFramework学习二之序列化组件、视图组件 serializer  modelserializer
		DjangoRestFramework学习二之序列化组件.视图组件 本节目录 一 序列化组件 二 视图组件 三 xxx 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 序列化组 ... 
随机推荐
- RabbitMQ与Spring集成配置
			1.引入相关jar包 //RabbitMQ compile group: 'org.springframework.amqp', name: 'spring-rabbit', version: '1. ... 
- sed 和awk的执行方式
			sed 测试案例: 在有cat的行末开始追加<---,直到有dog的行结束 [root@L shells]# cat catDog.txt snake snake pig bird dog ca ... 
- Luogu P2516 [HAOI2010]最长公共子序列 DP
			首先$LIS$显然:$f[i][j]=max(f[i][j-1],f[i-1][j],(a[i]==b[j])*f[i-1][j-1])$ 考虑如何转移数量: 首先,不管$a[i]$是否等于$b[j] ... 
- PHP mysqli_fetch_field() 函数
			返回结果集中下一字段(列),然后输出每个字段名称.表格和最大长度: <?php // 假定数据库用户名:root,密码:123456,数据库:RUNOOB $con=mysqli_connect ... 
- Dockerfile中echo使用
			Dockerfile 中的echo的使用方式和bash中的使用方式是有区别的 下面是一个 Dockerfile 通过echo的方式更换apt-get源和pip源 FROM python:3.5.8-s ... 
- delphi将两个Strlist合并,求交集 (保留相同的)
			Function StrList_Join(StrListA,StrListB:String):String; //将两个Strlist合并,求交集 (保留相同的) var SListA,SListB ... 
- vmware中桥接模式和NAT的区别
			桥接模式 在桥接模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机(主机和虚拟机处于对等地 位),它可以访问网内任何一台机器.在桥接模式下,我们往往需要为虚拟主机配置IP地址.子网掩 ... 
- [Linux]awk RSTART,RLENGTH
			转自 http://blog.sina.com.cn/s/blog_6d76c7e20102v381.html awk 是一门非常优秀的文本处理工具,甚至可以上升作为一门程序设计语言. 它处理文本的速 ... 
- sudo 问题:sorry, you must have a tty to run sudo
			写定时任务时候遇到 如下问题 To start backup... -- :: sudo: sorry, you must have a tty to run sudo The backup to c ... 
- CDQ分治的嵌套
			CDQ的嵌套 上一篇博客介绍了一下CDQ的入门思想.这里再介绍一下它的进阶,CDQ套CDQ.其实如果对入门思想掌握的透彻,嵌套也是很容易掌握的,思想是一样的. 什么是嵌套 简单地说,有的问题,如果用一 ... 
