Keil自带的嵌入式操作系统上手简单,配合其自带的教程很容易入门。附例程代码
学习过程中发现一个很有趣的验证实验
该实验例程包含所有关于RTOS操作系统的例程,方便新手对于嵌入式系统的学习和使用。
接下来详细说明以下如何创建该项目。
本例程以STM32F103ZE为例,首先创建一个相关项目。
其次,加载运行环境
按照图中所示打勾即可。
接下来右键Source Group,选择“为Source Group 1添加新的项目”,出现对话框,依次左键2、3、4即可添加main.c主函数。同样的添加串口通信函数:
这样工程的框架就搭建好了,如下图所示:
这时编译会发现有好多错误
这是因为Keil自带的验证例程是基于ARMCM3的,可以通过双击第一个错误
找到“ARMCM3.h”的头文件找不到,我们只需要将这个头文件换成"stm32f10x.h"即可。这个时候在进行编译发现,只有一个错误了:
这个错误是说没有选择可用的串口外设。这个问题是小case了,在本次例子中采用Keil自带的串口通信外设,外设的配置在"RTE_Device.h"中进行设置就好。
按照图示,依次选择就好。然后再一次进行编译发现如下错误:
这个需要配置一下串口外设的具体属性:
按照图示依次进行配置就好。然后再编译发现全部通过,没有错误。到这,已经快成功了,接下来是对系统属性进行简单的配置,主要设计堆和栈大小的分配,还有就是时钟频率的匹配。另外,由于涉及到中断0的使用。在32中,中断向量0是指向看门口中断的,但是在本实例中应该指向
这个函数,因此对于启动文件进行如下修改
到此启动文件修改完毕。接下来简单的修改以下主函数即可:
/*----------------------------------------------------------------------------
* Name: main.c
*----------------------------------------------------------------------------*/
/* Includes ------------------------------------------------------------------*/
#include "cmsis_rv.h"
/* Private functions ---------------------------------------------------------*/
extern int stdout_init(void);
/**
* @brief Main program
* @param None
* @retval None
*/
int main (void) {
stdout_init();
cmsis_rv();
}
ok。大功告成,将程序下载到stm32中,连接控制板的USART_1将测试结果进行打印,获得如下结果
至此,基于Keil自带的嵌入式操作系统在STM32环境中进行验证实验完成,Keil自带操作系统验证例程中有好多例子方便初学者学习仿写,是一个不错的教材,尤其能够在STM32上进行实现,通过在线仿真更加方便了对其系统使用方法技巧的深入了解。Keil自带操作系统的验证例程主要在以下文件中: