论文部分内容阅读
随着嵌入式处理器能力的提高和应用程序功能的复杂化,迫使应用程序必然需要划分为多个重要性不同的任务,在各个任务间优化地分配CPU时间和系统资源,同时还要保证实时性和可靠性。靠用户自己编写一个实现上述功能的内核一般是不现实的,而这种需求又是相当普遍的。在这种形势之下,高性能实时操作系统(RTOS)内核的应用就成为一种必然的发展趋势。
嵌入式系统的关键技术包括以应用为中心的硬件平台设计和面向应用的操作系统及软件产品的开发。本文以测控系统终端单元的基本构件为应用背景,论述了以C8051F020单片机为核心的硬件平台的设计和在此平台下的基于gC/OS-II的软件设计方法。首先介绍了关于嵌入式系统的几个基本概念,即:嵌入式系统、嵌入式操作系统、实时操作系统和嵌入式实时操作系统,并且结合嵌入式系统的发展,说明嵌入式系统的应用价值。
通过对RTLinux、VxWorks和ItC/OS-II这3种实时内核在内核结构、调度算法和开发环境的对比,选择了gC/OS-II作为软件开发平台,然后通过前/后台系统和实时内核的对比,清晰地说明了实时内核平台下关键任务的响应时间是可预测的。接下来介绍了gC/OS-II提供的典型的系统服务,重点介绍任务调度、信号量、消息邮箱的概念及典型应用。
在硬件设计部分,针对具体的应用背景,选择SiliconLab公司的C8051F020单片机作为控制器,扩展了HMI和以太网接口电路。
实时内核的应用过程中,内核的移植是一个难点,本文对gC/OS-II在C8051F020单片机移植过程中的难点进行详细的分析和说明,而且根据文中介绍的方法,完全可以把gC/OS-II移植到其它的处理器或控制器上。
软件设计部分,首先简要介绍了实时系统软件开发的基本概念、目标和方法,在此基础上遵循DARTS设计方法中的数据流分析、任务接口定义的思想设计了下列API函数、键盘、LCD、UART、模拟量输入/输出和以太网精简ARP协议。最后,对全文进行概要的总结。