基于μC/OS-II的便携式飞行参数数据卸载器
3 嵌入式系统移植及实现功能
嵌入式实时操作系统μC/OS-II是一个可移植、固化、裁剪的占先式实时多任务内核,要想在μC/OS-II内核上进行应用程序的开发,就要在μC/OS-II的基础上建立完整的实时操作系统。一个相对完整的嵌入式实时多任务操作系统,需要进行较多扩展工作。为外部设备建立相应的API函数,创建图形用户界面函数和建立文件系统等。
μC/OS-II的工作流程为首先进行操作系统初始化OSInit(),主要完成任务控制块初始化。随后就可以开始创建新任务OSTaskCreate()、初始化任务堆栈区。最后调用OSStait()函数,启动多任务调度。在多任务调度开始后,启动时钟节拍源开始计时。当中断时,系统把当前正在执行的任务挂起,保护现场,进行中断处理。
μC/GUI是μC/OS-II设计者所开发的一种用于嵌入式应用的图形支持软件。μC/GUI的主要特点有:通过可选组件可以实现个性定制。具有丰富的开发工具和小封装的特点。可适用各种内存容量的系统。相比较其它常用的GUI而言,μC/GUI具有其独特的优势,并且可以方便地移植到μC/OS-II系统上。
3.1 系统软件移植
文中基于μC/OS-II内核系统软件结构的整体框图如图3所示。本文引用地址://m.amcfsurvey.com/article/193415.htm
(1)系统外围设备的硬件部分。系统外围设备的硬件部分是保证系统能够实现指定功能的最底层的部分。系统外围设备硬件部分包括:液晶屏LCD、Flash存储器、文件管理控制芯片、键盘驱动芯片、JTAG调试接口等。
(2)驱动程序模块。驱动程序是连接底层的硬件和上层的应用程序接口API函数的纽带,每个器件的开发都有一个通用API驱动,API对该驱动程序的结构,函数和参数名称都进行了标准化。如stm32f10x固件库里提供了各种资源的接口,可方便地利用库函数对GPIO、SPI等外设接口进行编程。
(3)操作系统的API函数。在操作系统中提供标准的API函数,可以加速用户应用程序的开发,在API函数中,提供了大量的常用模块简化应用程序的编写,如任务管理函数、时间管理函数、信号量管理函数等。
(4)实时操作系统的多任务管理。μC/OS-II作为操作系统内核,主要任务是完成多任务间的调度和同步。在建立多任务时指定优先级,对μC/OS-II这个可剥夺内核而言,让进入就绪态的优先级最高的任务开始运行。
(5)用户应用程序。用户的应用程序建立在系统的主任务基础之上。用户应用程序主要通过调用系统的API函数对系统进行操作,完成用户的要求。在用户的应用程序中也可以创建自己的任务。任务之间的协调主要依赖于系统对任务的调度以及任务优先级的分配。
(6)通用图形界面。用户将配置好LCD驱动的μC/GUI加入μC/OS-II实时操作系统之中,利用一个任务对GUI进行初始化,随后进行相应的功能显示。
评论