4000336002

中公优就业it培训学校天津校区

天津南开区嵌入式开发培训机构

来源:中公优就业it培训学校天津校区 发布时间:2023/9/22 15:41:47

    天津南开区嵌入式开发培训机构,小编推荐中公优就业.中公优就业是中公教育IT培训品牌,致力于培养面向电商及互联网领域的人才,以学员就业为目的,优质就业为宗旨,是一家集互联网营销师,UI设计培训,?SEO优化师,SEM竞价师,社会化媒体运营师,电商运营师,互联网产品经理,网页设计师,Web前端工程师,PHP工程师,Android工程师,iOS工程师,Java工程师,C/C++工程师,软件测试工程师等课程为一体的IT培训机构.

  1 引言

  当前,嵌入式开发领域对产品的要求越来越多.如通信速率,稳定性,产品功能,可扩展性,可移植性,适应性等。为了适应这些要求,作者对低版本的μC/OS-II做了一些改进。并选择一款性价比高的微处理器LPC2210作为其运行的硬件平台。本文论述的继电器保护装置除可以动态地实现模拟量和开关量的数据采集外,还可以作为web终端通过远程主机对终端进行控制或访问。

  2 μC/OS-II其内核结构

  宏观的讲,μC/OS-Ⅱ大致分成内核结构、任务管理、时间管理、任务之间的通信与同步和CPU的移植等5个部分。由于嵌入式多任务应用功能软件系统是应用设计的范畴,所以并不包含在内核中。内核保留给上层应用的接口有3个,分别是软保护、任务间的通信ITC、和设备服务DSR。一个μC/OS-II内核现状的结构图如图1所示。

  图1 μC/OS-Ⅱ内核现状结构简图

  3 μC/OS-Ⅱ关键算法逻辑

  μC/OS-II采用的是可剥夺型内核,它总是执行就绪条件下级较高的任务。系统通过两种方法进行任务调度:一是时钟节拍或其它硬件中断到来后,系统会调用函数执行切换任务功能;二是任务主动进入挂起态或等待态,这时系统通过发软中断命令或依靠处理器执行陷阱指令来完成任务切换,中断服务程序或陷阱处理程序的向量地址必须指向函数OSCtxSw()。任务的级地标识了任务,即使两个任务的重要性是相同的,任务间也必须有级上的差异,这就意味着的任务被处理完成之后,必须进入等待态或者挂起态,否则低级的任务永远也不可能执行,从而严重暴露出μC/OS-Ⅱ的缺点,甚至造成系统瘫痪。在产品的开发中也不难发现其内核算法存在的一些问题,如内核具体代码方面的、体系结构方面的、以及移植作者方面的问题,其中较显著的就是硬实时性和设备驱动框架问题。

  3.1硬保护算法的改进

  在μC/OS-II操作系统中,临界区、硬保护和软保护是几个紧密联系的概念,而硬保护算法又与开关中断、堆栈和局部变量相联系。从保护的角度考虑,系统的代码可以划分为三种运行环境,即任务环境、中断环境和设备环境。当代码运行于这三种环境中时,需要的保护有很大的区别。下面将对临界区及其保护措施中的部分概念作出定义。

  定义1:和中断环境相关的系统保护称为硬保护(HP,Hard Protect)。

  定义2:和设备环境相关的系统保护称为设备保护(DP , Device Protect)。

  定义3:纯粹任务之间的保护称为软保护(SP,Soft Protect)。

  区别使用不同的保护机制对提高系统的中断能力和稳定性是非常重要的。当系统中大部分功能是与硬件设备进行数据交流时应尽量用软保护SP和设备保护DP代替硬保护HP,也是提高系统实时反应能力的重要手段。硬保护的方法有三种,在三种硬保护算法的实现方法中。种方法只是单纯的开关中断,因此较简单;但在嵌套调用时通常会出现内层的开中断代码干扰外层保护的逻辑。第二种方法借助堆栈功能很好地解决了种方法的嵌套问题,但堆栈指针无法确定。第三种方法是在每个硬保护代码的函数中定义一个局部变量,进入保护前保存状态,退出保护时恢复状态。当OS_CRITICAL_METHOD==3时,实现代码如下:

  Void functionx()

  {

  #if OS_CRITICAL_METHOD==3

  OS_CPU_SR cpu_sr;

  #endif

  ??

  OS_ENTER_CRITICAL();

  ?? //需要硬保护的临界区代码

  OS_EXIT_CRITICAL();

  }

领取试听课
每天限量名额,先到先得
温馨提示:为不影响您的学业,来校区前请先电话或QQ咨询,方便我校安排相关的专业老师为您解答
  • 详情请进入 中公优就业it培训学...

关于我们 | 招生信息 | 新闻中心 | 学校动态

版权所有:搜学搜课(www.soxsok.com)