没有合适的资源?快使用搜索试试~ 我知道了~
SAFERTOS中文用户手册
![star](https://csdnimg.cn/release/downloadcmsfe/public/img/star.98a08eaa.png)
温馨提示
![preview](https://dl-preview.csdnimg.cn/4523460/0001-9904cb45b2c7db8b0bc765b58650ee37_thumbnail-wide.jpeg)
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
试读
41页
学习SAFERTOS的好文档,可以快速了解safertos的设计原理和应用
资源推荐
资源详情
资源评论
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/release/download_crawler_static/4523460/bg1.jpg)
Safertos 用户手册
一、 关于这个用户手册
1.说明
这是关于 Safertos 的文档说明,safertos 是一个低开销、小型化、抢占式任务调度的
实时操作系统。SAFERTOS 预先编译在 ROM 中,提供了一种独特的方式去快速开发
可靠的高度集成的嵌入式系统。
嵌入式应用程序包含了 SAFERTOS,这样应用程序就可以被结构化为一系列独立自主
的任务。在任何时间中任务调度器将会通过任务的优先级和当前状态来选择执行任务 。
第一章,系统概述将会详细说明任务的执行。
这个文档将详细说明如何在 ROM 中来调用 SAFERTOS。
SAFERTOS 基于 FREERTOS 和 OPENRTOS 代码编写,SAFERTOS 可以应用于通用
实时操作系统和关键环境的任务。
2.应用在安全相关的系统
SAFERTOS 在正式的和严格的流程中被开发。这个流程被 TÜV SÜD 组织认定符合
SIL3 级标准。SAFERTOS 开发中使用了这样的流程。在没有相关组织的认证下使用
SAFERTOS 开发程序不代表你的程序符合 SIL3 级标准。在没有相关认证下,你的程
序是不可靠和不安全的。
3.文档概述
涉及范围
工程师在安全和商用关键领域应用团队中工作必须要有足够的训练或者足够的经验去
满足职责的胜任。本文档假定在读者已经了解概念和多任务操作系统,所以这些基本概念
将被忽略。详细信息在 FREERTOS 中可以查询到。叹号表明在一些需要注意的地方提醒
读者。
4.目录内容
第一章,“系统概述”提供了 SAFERTOS 的概述和描述了 SAFERTOS 的任务、队列、
信号量、调度器。
第二章,“安装”描述了安装和在你的应用中安装 SAFERTOS 所需要的。
第三章,“API 相关”提供了 SAFERTOS 的 API 函数。
第四章,“Stellaris® ARM® Cortex™-M3 处理器内核特殊接口信息”提供了使用处理
器内核变量的信息。
注意:用户不能够在 SAFERTOS 引用没有在第三章中 API 中包含的函数。
![](https://csdnimg.cn/release/download_crawler_static/4523460/bg2.jpg)
第一章 系统概述
这章提供了 SAFERTOS 系统的概述
1.SAFERTOS 的调度器总述
SAFERTOS 抢占式实时调度器具有如下特点:
1. 只要不超过内存容量,可以建立任意多的任务数量。
2. 每个任务被分配优先级从 0 到 10,0 为最低优先级。SAFERTOS 的源代码(相对于
ROM 中的版本)不限制优先级的数量。
3. 任务调度器将执行最高优先级的任务。
4. 相同优先级的每个任务将分享处理器的处理时间。时间分片将被使用。
5. 任务可以被锁定一个固定的时间。
6. 任务可以锁定去等待一个绝对精确的时间。
7. 任务可以锁定在一个精确的时间区间去等待队列事件。
8. 队列可以在任务之间、任务和中断函数之间传递数据。
9. 消息可以用于一个任务和其他任务的同步,同步任务和中断服务周期。
10.信号可以用来确保相互排斥的对共享资源的访问。
2.SAFERTOS 和 OPENRTOS 的不同
虽然 SAFERTOS 和 OPENRTOS 有着许多相同点,但是开发过程必须要指出值得注意的不
同点。通常下 SAFERTOS 不执行动态内存分配,SAFERTOS 执行参数数量和数据有效性
检查。SAFERTOS 是 OPENRTOS 的静态子集,OPENRTOS 向 SAFERTOS 转换在其他的
技术文档中。
3.设计目标
SAFERTOS 的设计目标是实现既定功能使用一种小型的,简单的, (和最重要的是)鲁
棒实施。
4.编码
这个部分将定义使用 SAFERTOS API 的编码。
1.工程定义
每个 C 文件使用 API 必须包含 SAFERTOS.h 头文件。这个头文件包含了 ProjDefs.h
头文件,这个头文件包含了如下定义:
![](https://csdnimg.cn/release/download_crawler_static/4523460/bg3.jpg)
2.命名转换
·历史上的函数名通常以他们返回值类型作为前缀。新增的有效性检查导致了几乎所有的
API 函数将会有返回值,这个值将会是 portBASE_TYPE(前缀为‘ x’)。这就可以想象函数
前面有 x 表示它的返回值为 portBASE_TYPE,如果为 v 表示,返回为空。
·API 函数也将包含与它相关的特性为前缀,例如 Task 或者 Queue,举例说明:
xTaskGetTickCount(),xQueueSend()
·宏定义将会用大写字母表示。例外是,错误代码将以 err 为前缀但是它包含在 ProjDefs.h
中。
![](https://csdnimg.cn/release/download_crawler_static/4523460/bg4.jpg)
系统组成
1. 任务
你的应用使用了 SAFERTOS,那么你的应用程序可被构建为多个独立自主的任务组成。每
个任务在自己的环境内执行和其他系统和调度器任务没有偶然的依赖关系。
2. 任务函数
函数如果声明一个任务就必须以 pdTASK_CODE 类型
pdTASK_CODE 声明如下:
typedef void (*pdTASK_CODE) (void *pvParameters);
void vATaskFunction( void *pvParameters )
{
/* The function executes indefinitely so enter an infinite loop. */
for( ;; )
{
/* -- Task application code goes here. -- */
}
}
注意:
任务函数不能够被终结通过返回调用(或使用 exit())如果这样做了会导致未定义的
行为。如果需要函数使用如下例子:
void vATaskFunction( void *pvParameters )
{
for( ;; )
{
/* -- Task application code here. -- */
}
/* The task deletes itself (indicated by the NULL parameter)
before reaching the end of the task function. */
xTaskDelete( NULL );
}
3. 任务状态
在一个时间内只有一个任务可以被执行,任务调度器将会执行任务根据优先级和当前
的状态。任务会位于以下的状态之一中。
![](https://csdnimg.cn/release/download_crawler_static/4523460/bg5.jpg)
任务之间的转换
剩余40页未读,继续阅读
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
- aditoyeh2012-10-15具体是一个 TI SafeRTOS user manual 的中文翻译版本,实用。
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
jervisyang
- 粉丝: 0
- 资源: 5
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)