嵌入式软件开发与8051微控制器知识解析
1. 嵌入式软件开发基础
1.1 实时系统调度与RTOS
在简单的实时应用中,定时器间隔设置有一个经验法则,即间隔要足够短,以确保关键功能能按期望的频率得到处理。对于包含多个并发任务的大型复杂实时系统,则需要使用实时操作系统(RTOS)来进行基于优先级的多任务调度。
RTOS是一个后台程序,它能够控制和调度多个有时间限制的任务的执行与通信,安排资源共享,并在任务间分配关注点。市面上有多种适用于不同微控制器的商用RTOS,如POSIX和CMX - RTX等,它广泛应用于复杂的硬实时嵌入式软件中。
以一个初始化主任务启动两个需要永久运行的任务为例,这两个任务相对独立,一个是主控制任务,另一个用于监控外部事件并通知主控制任务。可以使用状态图以并行模式设计这两个任务。以下是8051 RTX51对该应用模型的实现代码:
#include <reg51.h>
#include <rtx51.h>
void task1 (void) _task_ 1
//task1 is assigned a priority 0 by default
//4 priority levels: 0 - 3 in RTX51
{
while(1)
{
os_wait(K_SIG,0,0);// wait in blocked state
// for signal to be activated
// to a ready state
proc1();
o
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



