您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术基于MDK RTX的COrtex—M3多任务应用设计 正文
基于MDK RTX的COrtex—M3多任务应用设计

基于MDK RTX的COrtex—M3多任务应用设计

点击数:7161 次   录入时间:03-04 12:03:42   整理:http://www.55dianzi.com   嵌入式系统-技术

  将应用分解为4个任务,RL—RTX的第一个任务必须是系统任务Init Task,该任务用来初始化其他3个任务,任务创建完毕后,3个任务都处于READY状态;第2个任务t_phase_ADC Task用来读取A/D采样的数据;第3个任务t_phase_DEA Task用来处理采样的数据;第4个任务t_phase_DIS Task用来将数据送到LCD液晶屏上,显示、控制LED灯闪烁和蜂鸣器高频报警。图4显示了任务触发的流程。

任务触发的流程

点击看原图

  定义任务:

程序

点击看原图

  使用os_tsk_create创建任务t_phase_ADC、t_phase_DEA、t_phase_DIS。

  os_tsk_delete_self删除自身任务,实现任务切换。任务的创建和初始化是在主函数中定义的:

程序

点击看原图

  任务初始化完毕后,3个任务都处于就绪状态。t_phase_ADC任务用来采样,多次采样取平均值,通过给任务t_phase_DEA发信号signal_func(t_phase_DEA),唤醒t_phase_DEA任务。

程序

  os_evt_wait_and进行控制。该任务判断采样的数据是否在警戒温度范围内,如果出现温度异常,置标志位为1。执行完自身任务后,通过signal_func(t_phase_DIS),将唤醒t_phase_DIS任务。

程序

点击看原图

  t_phase_DIS任务用来在LCD液晶屏上显示温度值。如果发现标志位为1,则LED灯闪烁和蜂鸣器高频报警。

  4.2 应用设计测试

  采用基本RMA可调度性测试。式1用来完成系统的基本RMA可调度性测试。

程序

点击看原图

  这里:Ci为与周期性任务i相关的最坏执行时间,Ti为与任务i相关的周期,n为任务的个数。

  U(n)是利用系数,式1的右边是理论处理器利用率的上界。如果给定一组任务,其处理器利用率小于理论利用率上界,则这组任务是可调度的。U的值随n的增加而下降;当n的值为无限时,最终收敛于69%。

  表4总结了使用RMA进行调度的3个任务的特性。

使用RMA进行调度的3个任务的特性

  使用式1,该应用设计处理器利用率计算如下:

程序

点击看原图

  应用设计总的利用率是27.42%,低于78%的理论边界。此4个任务的系统是可调度的,该应用设计是成功的。

  结 语

  本文描述了如何在Cortex—M3上使用MDK RL—RTX的方法,并给出了一个简单的多任务应用设计。可以看出多任务的程序设计被大大简化了,它不但满足多个任务的时间要求,降低了开发难度,而且程序的可读性和可维护性也有了很大的提高。利用MDK RL—RTX构建的嵌入式工业控制系统具有成本低、性能高等特点,应用广泛,有着良好的发展前景。



上一页  [1] [2] 


本文关键字:暂无联系方式嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术

《基于MDK RTX的COrtex—M3多任务应用设计》相关文章>>>