ATOS应用指南V2.0.pdf

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ATOS应用指南V2.0

一、 概述 随着信息社会的发展,嵌入式信息产品的设计、应用得到了快速发展。嵌入 式信息产品的使用、设计面临着全新的挑战。一方面,人们对嵌入式产品的要求 越来越高,稳定可靠、功能丰富、物美价廉的信息产品将成为人们的首选。另一 方面,随着微电子工艺水平的发展,微控制器的处理能力不断提高,从8位微控 制器到16位,进而到32位微控制器,功能越来越强大,执行速度越来越快,集 成度、精确度也越来越高,应用领域进一步拓宽。微控制器芯片的性能已经能够 满足现代人们对嵌入式信息产品的更高要求。 传统的嵌入式系统多采用前后台设计,应用程序是一个死循环,调用各种函 数来完成应用。该种类型比较适合较为简单的应用程序,占用资源比较少,执行 效率比较高。随着嵌入式应用越来越复杂,传统的前后台设计已经难以满足要求, 代码复杂,结构混乱,代码的可移植性、可读性很差。 目前,很多消费类嵌入式系统都采用嵌入式实时操作系统设计,例如Linux, uC/OS,FreeRTOS等,嵌入式实时操作系统占用资源非常大,对内存要求非常高, 另外这些操作系统对不用的硬件CPU都要进行特殊移植,采用汇编方式对硬件的 寄存器进行堆栈操作,程序跳转。移植非常困难。 为此,为了能够利用有限的资源实现满足越来越复杂的工控嵌入式系统的应 用,并方便移植,便于用户开发设计了一款非抢占式嵌入式操作系统,该系统全 部利用c语言实现,结构清晰、代码可读性、移植性好,功能齐全,非常适合嵌 入式工控开发需求。 二、 简介 ATOS是一个非抢占式的嵌入式操作系统平台,采用事件机制驱动设计,任何 应用的执行都是靠事件来触发。触发事件可以是外部设备、内部定时器、其它任 务发送的邮箱、信号量等事件。系统内核分为底层事件扫描,任务调度管理两部 分。底层事件用于扫描外设发生的事件,任务调度管理则实现任务切换、任务处 理。任务按照事件触发先后顺序执行。ATOS 也是具有优先级之分,优先级高的 任务先运行。任务调度由调度周期来实现,在1个调度周期内,由事件发生的任 务按照优先级高低依次运行。每个周期内,任务都有运行的机会,且每个任务只 处理1个事件。 ATOS完全是由c语言实现,移植方便,无需考虑不同硬件间复杂配置。ATOS 具有丰富的开发模块库,为开发者提供方便,快捷、简单、稳定、可靠的嵌入式 应用程序开发平台。 ATOS主要分为内核模块和基本外围模块两部分,内核模块是实现系统切换调 度,为应用提供支撑的必不可少部分。外围模块则是为应用提供更为复杂应用的 配置,方便用户使用。 ATOS内核可分为任务管理、事件管理、任务调度、邮箱管理、信号量管理、 定时器管理、动态内存、中断管理等功能。 系统基本外围模块库包含IO扫描,LED闪烁,键盘扫描,存储支持,数据库 等模块。 本文档主要关于 ATOS 的系统原理,用户使用过程中根据硬件进行配置,调 用各个模块实现应用功能。 三、 组成 ATOS内核可分为任务管理、事件管理、任务调度、邮箱管理、信号量管理、 定时器管理、动态内存、中断管理等功能。 任务管理、事件管理、任务调度是 ATOS 的核心部分,是操作系统工作的基 础。邮箱管理、信号量管理、定时器管理、中断管理、动态内存是操作系统工作 基础。下面逐步介绍ATOS应用接口。 四、 任务管理 任务管理,是由任务控制块来实现。任务控制块是由一个单向链表所组成, 任务按照优先级的高低排列在链表当中。优先级高的任务在链表的头部,优先级 最低的任务在链表的尾部。即链表由前到后,优先级依次降低。任务调度执行时, 都是首先执行链表首部的任务,其优先级最高。每个任务创建时,都产生1个任 务控制块,然后按照优先级大小插入任务控制块链表。 任务控制块由链表指针、任务处理函数、任务号、任务优先级、事件链表组 成。 .Next,链表指针,负责将所有的任务构成向后单向链表。 .pfnEventProcessor,任务处理函数,是任务核心部分,负责处理用户编写的功 能代码。 .TaskId,任务ID号,每个任务都有1个唯一的ID号,用于标识该任务。 .TaskPrio,任务优先级,在每个任务调度周期内,优先级高的任务先执行。 .EventList,任务事件链表,当有事件发生,触发任务处理函数时,将该事件插 入到触发任务的任务事件链表中,按照先来现出,后来后出的原则。

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档