2 μC/OS-II的移植
移植就是使一个实时内核能在某个微处理器或微控制器上运行。为了便于内核的移植,μC/OS-II的大部分代码用C语言编写。移植工作主要集中在os_cpu.h,os_cpu_C.C、os_cpu_a.asm三个文件上。os_cpu.h主要涉及到与编译器相关的数据类型的定义、堆栈类型定义、两个宏定义和几个函数说明。os_cpu_C.C包含与移植有关的10个C函数,除第一个任务堆栈初始化函数外的9个函数,需要声明,由系统函数调用,方便用户可以在操作系统中加入自己需要的功能。os_cpu_a.asm包含与移植有关的4个汇编语言函数:OSStartHighRdy()、OSCtxSw ()、OSINTCtxSw ()、STICkISR ()。
控制器采用瑞萨单片机SH7137,具有SH2的内核,支持集成开发环境HEW,可以生成重入代码,有足够的寄存器来关、开中断,指令可以对堆栈进行操作,因此,μC/OS-II可以移植到SH7137控制器上。
3 系统程序设计
实现了嵌入式控制器系统的硬件设计和μC/OS-II操作系统的移植,但这只是个嵌入式控制器的系统平台。在实际应用中还必须对相应外围功能模块的操作达到控制目的。针对外围功能模块编写一个接口函数,就可以在编写应用软件时调用这些函数来传递数据,另外,能够针对具体应用编写并调试一些具体有相对独立性的、通用性的函数,将大大简化编程结构,并使程序模块化,形成一个统一的接口的函数库。如图3所示。
在整个嵌入式控制器的设计上,硬件设计,为整个控制器最底层,其中包括SOM核心板、底板以及输入输入的IO模块,操作系统的处于控制器的第二层,负责与处理底层硬件的接口,同时为处理上层应用程序提供接口,本控制器移植的是开源的嵌入式操作系统:μC/OS-II。本系统的第三层为应用开发层,主要是实现针对用户所要求处理问题的应用程序,这一层主要面向用户,其中应用开层包含了一个函数驱动库,这是这个模块函数接口,为二次开发人员提供的,方便其调用系统的模块函数接口,同时也方便用户调用,便于开发,减少用户利用本控制器开发产品的周期。
硬件驱动库主要集成了人机界面的控制、RS232串口通信讯模块、RS485通信模块、CAN接口通信模块以及IO输入输出等模块的数据处理。硬件驱动库具有统一的数据定义和统一的函数接口。
4 结束语
本文基于SH7137嵌人式控制器采用核心板+底板的开发模式,实现功能模块化、可配置化的功能,具有通用性、可编程、良好的人机界面等特点。整个控制系统可以根据使用的场合和对象进行模块配置,为其带来灵活多变、成本低廉等优势。
上一页 [1] [2]