Keil5创建基于RTX的STM32工程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011976086/article/details/54342447

综述

从keil4到keil5,keil的功能越来越强大。特别是keil5之后,出现了RTE配置环境,我感觉特别方便,省去了那么多移植步骤,对于像我们这种“懒癌”真是福音啊!RTX这款实时操作系统还是我在逛论坛是发现的,不看不知道,一看忘不了啊!从此就觉得得好好研习一番,不过实时操作系统原理基本都一样。但是RTX有它独特之处,就是它中断延时对M3/M4内核可以实现零等待,带有免版税,确定性的RTOS。话不多说,咱们开始创建RTX工程。前提是你得安装了keil5,我的是5.22版本。

创建工程

1.创建一个新工程
2.选择你的平台芯片。(我的是F103VET6)
这里写图片描述
3.勾选必要的组件。这里RTOS有2个版本,我选择的是版本4,版本区别可以点击后面的Description链接查看说明。当勾选其中的一个组件时,RTE窗口会提示缺少的组件(感叹标志),此时缺少什么就勾选什么
版本选择
此图是描述RTOS如何使用,就相当于用户手册一样
版本描述
4.一个完整工程必要的组件。我创建的工程只是简单的使用实时系统闪了个灯。RCC、GPIO、Framework必不可少
完整组件
5.勾选完组件后,点击OK,回到工程界面。然后给Source Group1增加mian.c文件
在这点右键
6.选择Use Code Template ,添加mian.c文件
这里写图片描述
7.配置RTE_Device.h 和 RTX_Conf_CM.c文件。RTE_devie.h文件要配置正确的时钟系统
RTE_Deive.h
配置RTXConf,这些选项跟UCOSIII很相似,基本上看命名上就能读懂
RTX_Conf配置
8.添加bsp文件到工程中去,并增加头文件路径
这里写图片描述

编写用户任务

RTX的任务编写同UCOS差不多,包括线程函数、线程ID、线程对象。其实,注释已经给你很好的提示啦,只需要按着照做就可以啦
这里写图片描述
编写完后,就可以编译下载运行了。回顾流程,RTX使用还是非常简单。没有像UCOS、FreeRTOS移植那么麻烦。当然,你使用keil4还是得移植,其移植也非常简单。另外,可能有读者发现没有中断服务文件stm32f10x_it.c,当你要使用譬如串口中断服务时,需要添加中断服务函数,这个文件的添加跟mian.c的文件是一样的。当然,读者也可以将中断服务函数写在bsp文件里,但这不是我的习惯,我比较喜欢统一管理的方式。
中断服务文件
当然,更方便的是调试功能,从Debug选项卡选择OS Support->System and Thread viewr,可以看到当前系统运行的线程状态。另一个Event viewr选型则需要平台的调试接口留出swo接口才行,也就是标准的SWD接口。否则是用不了此功能。
调试

总结

RTX和keil5联合使用,就如同双剑合璧,历害无比。使用keil调试RTX也是非常直观的,虽然ucos也有uc probe工具可以调试使用,但那个需要收费,不是很方便。况且,keil5的RTE环境还可以直接创建FileSystem、GUI、ETH、USB等复杂的工程,非常方便。

猜你喜欢

转载自blog.csdn.net/u011976086/article/details/54342447