资料介绍
嵌入式系统论文
利用实时内核开发嵌入式多任务程序
摘要:嵌入式系统应用日益复杂化,传统的前台/后台程序开发机制已经不能满足需求,
目前更多地采用抢占式实时内核开发嵌入式多任务系统。实时内核为多任务应用程序提
供最基本和最重要的服务。本文介绍实时内核和多任务,并提出利用实时内核进行系统
开发时,根据系统功能合理构成任务的方法。
关键词:实时内核 多任务 任务构造 嵌入式系统
随着嵌入式系统的广泛使用,传统的前台/后台程序开发机制已经不能满足日益复杂
和多样化的嵌入式应用需求,因而常常采用嵌入式实时操作系统内核(简称实时内核)
开发实时多任务程序。嵌入式实时内核提供多任务、任务管理、时间管理、任务间通信
和同步、内存管理等重要服务,使嵌入式应用程序容易设计和扩展。内核是管理微处理
器或者微控制器时间的软件,确保所有时间关键的事件尽可能高效地得到处理;允许将
系统分成多个独立的任务,每个任务处理程序的一部分,从而简化系统的设计过程。
一、非抢占式内核和抢占式内核
实时内核分为两种:非抢占式内核和抢占式内核。这两种内核都由中断服务例程(I
SR)处理异步事件。在非抢占式内核中,一个ISR使优先级更高的任务就绪,并不立即将
CPU控制权交给优先级高的任务,而是返回到被中断的当前任务。只有当前任务执行某种
操作明确放弃CPU时,优先级高的新任务才得到CPU控制权。非抢占式内核对实时事件的
响应时间不确定,因而极少在实时应用中使用。图1所示为非抢占式内核程序流程:①低
优先级任务(LPT)执行;②低优先级任务被中断;③执行中断服务例程,使高优先级任务
(HPT)就绪;④中断服务例程返回到被中断的低优先级任务;⑤低优先级任务继续执行;
⑥低优先级任务放弃CPU;⑦高优先级任务运行。
目前在大多数嵌入式实时多任务系统应用中,对系统实时响应要求很高,因此采用抢
占式内核确保时