浅谈单片机开发---操作系统

原创 2012年04月01日 18:59:39

工作中分析了一下现状,项目繁多,需求不一,团队成员单片机开发经验缺乏,编程风格各异,几乎没有可以重复利用的模块,无现成提高开发效率与测试的工具。

为使开发更迅速,流程更标准,同时也让系统模块化更强,拥有更好的复用性,需要有一个单片机操作系统。现有的操作系统琳琅满目,开源的无技术支持,商用的价格高,最重要的是我们的系统虽然繁杂,但更倾向于控制型,使用这些操作系统对团队开发要求较高,而且占用资源多,所以使用这种类型的操作系统就显的大才 小用了。但我们更不希望裸奔,为此,我们需要开发适合自己团队的系统。

我们的目标是:1、传统的开发模式;2、标准化的开发流程;3、高效的开发效率;4、丰富的接口(或工具)

有了这个大体目标,根据我们现有或规划的项目需求,设计了我们的操作系统AEOS。

AEOS工作简介与原理:

AEOS是一种非调度式操作系统,结构小巧,极易移植,占用空间小,可根据需要裁减。由于其非调度的特性,符合我们传统的开发模式,但对于多任务开发则较为麻烦。它提供了任务管理、时间管理、事件管理等基本功能。

AEOS以定时的方式执行任务,为了每个任务都可以获得CPU资源,要求任务执行时间尽可能的短,如果时间较长则需要通过状态机来实现,等待资源或者延迟处理的时候通过跳转状态来释放CPU资源。

任务管理:

AEOS最多支持32个普通任务和32个紧急任务,没有优先级之分,每个任务都需要规定执行周期。普通任务的实时性较差,其性能取决于每个任务构建合理性,每个任务执行时间都需要尽可能的短,如果任务执行的时间比较长则使用状态机API来实现,这样才能保证每个任务都能够较快的获取CPU资源。紧急任务 的实时性很高,但也要求任务的执行时间更为严格,必须属于微秒级别才能使用。

AEOS有一个统计任务,该任务用户可根据需要选择是否打开,打开则会通过可调的执行周期打印出各个任务的执行时间与当前CPU占用率。这个对于系统调试阶段非常重要,这个有助于我们分析任务设计的合理性。

时间管理:

AEOS的时基由1ms的定时中断产生,任务的执行都是由这个时基为基础。AEOS提供了程序断点计时的功能,可方便计算出程序段的执行时间,这些功能有助于验证开发的合理性,也有助于状态机设计中的超时处理。

事件管理:

AEOS的事件与传统OS的事件定义不同,这里的事件一般都用于中断处理。在中断服务程序中只做简单的数据保存,保存后产生相应事件,系统就会自动调用事件处理函数,而且这种事件处理的优先级高于普通任务。

AEOS还提供了子事件处理,可用于中断处理较复杂,且多个应用程序都需要获取这个中断资源的时候,等同于一个中断虚拟出多个中断源,每个应用程序可根据自己需要是否要调用该中断源。


      

      

浅谈操作系统之虚拟内存

首先我们来看一个概念
  • qq_30137611
  • qq_30137611
  • 2017年03月26日 19:53
  • 721

Unix操作系统发展历史

以下内容总结自《鸟哥的Linux私房菜 -- 基础学习篇(第三版)》 1965年前后,贝尔实验室、MIT、GE共同发起Multics项目,目的是让大型主机可以同时供300台以上的终端机连接使...
  • njchina
  • njchina
  • 2015年08月14日 14:08
  • 1032

单片机上操作系统的好处

自己在上学的时候,搞过2年的单片机STM32编程,当时还记得一心想在上面跑个操作系统,UCOS操作系统,但是当时自己为什么要上这个操作系统,不是特别的清楚,后来自己在实际工作中,做了应用软件,感觉有了...
  • zhanghuaichao
  • zhanghuaichao
  • 2017年09月24日 07:57
  • 713

单片机开发

http://www.embcom.net/http://www.haccom.cn/index.htmlhttp://www.51sunray.com/index.asphttp://2002s.c...
  • lxbg90058
  • lxbg90058
  • 2010年04月29日 16:41
  • 231

大家来谈谈单片机,arm开发的工作方法吧。

做芯片固件开发,51或者arm的核。     玩过单片机或者arm的同志应该知道,这种直接驱硬件裸奔的程序,经常出现一些奇奇怪怪的问题,有时候一个寄存器配置不恰当,有时候忘记喂看门狗导致芯片复位。总...
  • jack2164
  • jack2164
  • 2013年12月13日 23:35
  • 467

Atmel Studio-SAM单片机开发 ---EXTINT

Atmel Studio-SAM单片机开发 ---EXTINT
  • ly461693690
  • ly461693690
  • 2017年07月31日 09:14
  • 336

实时多任务操作系统(RTOS)进入单片机开发领域

实时多任务操作系统(RTOS)进入单片机开发领域内 容1.实时多任务操作系统(RTOS)(1)更加面向硬件系统,而不是操作者嵌入式系统处理器一般都是独立工作的,没有人的直接参与;即使参与,也没有大量的...
  • vcbear
  • vcbear
  • 2001年08月03日 16:42
  • 2133

浅谈操作系统

电饭锅该死的风格是大法官法第四个
  • flesh_man
  • flesh_man
  • 2015年03月22日 14:46
  • 161

单片机模拟器

目前正在写一个51系列单片机的模拟器,会陆续写一些开发过程及进展情况。。。...
  • nesert
  • nesert
  • 2005年10月20日 17:33
  • 503

JAVA版微信支付

JAVA版微信支付 本人用的开发框架是:struts2(用了struts2的0配置,对于struts的0配置不熟悉的可以看看这个博客了解下 http://www.cnblogs....
  • bestlove12345
  • bestlove12345
  • 2016年07月07日 09:25
  • 728
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:浅谈单片机开发---操作系统
举报原因:
原因补充:

(最多只允许输入30个字)