μC/OS-Ⅱ在电解质分析仪上的应用研究
1 μC /OS-II在MB90F543上的移植
1.1 μC/OS-II简介
μC/OS-II是一种专门为微处理器设计的占先式实时多任务操作系统,具有源代码公开、可移植性和可裁减性强、代码可固化、稳定性和可靠性高等特点。其内核主要提供任务管理、内存管理、时间管理等服务,系统最多可以支持64个任务(8个留于系统),每个任务均有自己独立的优先级。由于内核为占先式的,因此总是运行优先级最高的任务。系统提供了丰富的函数可供调用,实现任务间的通信和切换。μ/OS-II的大部分代码都是使用标准的A-NIS C编写的。只有与处理器相关的一部分代码使用汇编语言。因此具有极强的移植性,在大多数8位、16位和32位处理器上都能稳定的运行。
1.2 MB90F543简介
MB90F543单片机是FFMC-16LX系列中具有两个CAN总线接口的一款,嵌入PLL时钟电路,最高时钟频率可达16MHz,有6KBytes片内RAM, 128KBytes片内FLASH ROM,总线寻址空间达16MBytes,提供8个中断优先级, 34个中断源,可扩展智能I/O应用功能,支持C语言编程与多任务处理,系统堆栈指针,指针间接寻址,桶式移位寄存器指令。它的特点是具有强大的外围功能且性价比高,例如:Watchdog定时器、低功耗管理、外部中断、8/16位定时器、扩充智能I/O服务等通用功能以及PPG、ICU、OCU、PWC、A/D转换、CAN控制器、LCD驱动器、步进马达控制器等专用功能,使得该单片机适用于各种工业系统、办公自动化设备、医疗器械、过程控制系统的高速实时过程处理。
1.3 代码移植简介
代码移植,需要修改或编写与处理器硬件相关的代码。包括与处理器相关的数据类型定义,函数定义,存储器操作等。其中的主要任务有: (1)修改头文件OS_CPU.H相关内容,包含:数据类型定义、堆栈增长方向、中断相关的一些宏定义等。(2)OS_CPU_C. C中编写任务堆栈初始化函数系统HOOK函数。(3)OS_CPU _A. ASM中编写四个汇编语言函数: OSStartHighRdy()、OSCtxSw()、OSIntCtxSw()和OSTick2ISR()。OSStartHighRdy()在多任务系统启动函数OS2Start()中调用,完成的功能是:设置系统运行标志位OSRunning=TRUE;将就绪表中最高优先级任务的栈指针Load到SP中,并强制中断返回。OSCtxSw()在任务级任务切换函数中调用。OSIntCtxSw()在退出中断服务函数OSIntExit()中调用,实现中断级任务切换。OSTickISR()是系统时钟节拍中断服务函数,这是一个周期性中断,为内核提供时钟节拍。其具体的移植过程并不是本文的重点,在此只给出OSTickISR()函数的代码:
2 多任务电解质分析仪系统软件设计
根据电解质分析仪系统的功能及MB90F543单片机的特性,进行系统任务的划分,确定各个任务的优先级,并确定所有任务之间的调度。
相关文章
- 2022-01-01基于CAN总线的电动汽车整车参数测试网络
- 2023-12-22载流薄板中裂纹形成瞬间尖端附近的热电磁场
- 2023-11-1845#钢支座裂纹分析
- 2023-03-08弱磁探测技术发展现状
- 2023-12-29二维流动模型的喷射器性能分析研究
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。