- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SAFERTOS中文用户手册精选
Safertos用户手册关于这个用户手册说明这是关于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中包含的函数。系统概述这章提供了SAFERTOS系统的概述1.SAFERTOS的调度器总述SAFERTOS抢占式实时调度器具有如下特点:只要不超过内存容量,可以建立任意多的任务数量。每个任务被分配优先级从0到10,0为最低优先级。SAFERTOS的源代码(相对于ROM中的版本)不限制优先级的数量。任务调度器将执行最高优先级的任务。相同优先级的每个任务将分享处理器的处理时间。时间分片将被使用。任务可以被锁定一个固定的时间。任务可以锁定去等待一个绝对精确的时间。任务可以锁定在一个精确的时间区间去等待队列事件。队列可以在任务之间、任务和中断函数之间传递数据。消息可以用于一个任务和其他任务的同步,同步任务和中断服务周期。信号可以用来确保相互排斥的对共享资源的访问。2.SAFERTOS和OPENRTOS的不同虽然SAFERTOS和OPENRTOS有着许多相同点,但是开发过程必须要指出值得注意的不同点。通常下SAFERTOS不执行动态内存分配,SAFERTOS执行参数数量和数据有效性检查。SAFERTOS是OPENRTOS的静态子集,OPENRTOS向SAFERTOS转换在其他的技术文档中。3.设计目标SAFERTOS的设计目标是实现既定功能使用一种小型的,简单的, (和最重要的是)鲁棒实施。4.编码这个部分将定义使用SAFERTOS API的编码。1.工程定义每个C文件使用API必须包含SAFERTOS.h头文件。这个头文件包含了ProjDefs.h头文件,这个头文件包含了如下定义:2.命名转换·历史上的函数名通常以他们返回值类型作为前缀。新增的有效性检查导致了几乎所有的API函数将会有返回值,这个值将会是portBASE_TYPE(前缀为‘ x’)。这就可以想象函数前面有x表示它的返回值为portBASE_TYPE,如果为v表示,返回为空。·API函数也将包含与它相关的特性为前缀,例如Task或者Queue,举例说明:xTaskGetTickCount(),xQueueSend()·宏定义将会用大写字母表示。例外是,错误代码将以err为前缀但是它包含在ProjDefs.h中。系统组成任务你的应用使用了SAFERTOS,那么你的应用程序可被构建为多个独立自主的任务组成。每个任务在自己的环境内执行和其他系统和调度器任务没有偶然的依赖关系。任务函数函数如果声明一个任务就必须以pdTASK_CODE类型pdTASK_CODE声明如下:typedef void (*pdTASK_CODE) (void *pvParameters);void vATaskFunction( void *pvParameters ){/* The function executes indefinitely so enter an infinite loop. */for( ;; ){/* -- T
文档评论(0)