RT-Thread学习笔记1—移植
环境
硬件环境:STM32F103ZET6(野火mini开发板)
软件环境:STM32Cube + Keil5
使用STM32Cube快速生成例程
先使用STM32Cube生成一个简单的led闪烁的例程,搭建未移植RT-Thread的环境。(STM32Cube的使用方式不在本文中详述)
当前开发板上,led部分的原理图如下:我们使用LED1,也就是PB0引脚。
在STM32Cube中,我们设置PB0为输出,并且定义名称为LED1。
在main函数的循环中添加LED亮灭延时的代码,其中Delay函数为阻塞软延时函数。
// An highlighted block
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
Delay(1000);
HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET);
Delay(1000);
HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET);
}
/* USER CODE END 3 */
编译通过,烧写到板子后,可以观察到LED循环亮灭。
至此,基本环境搭建完成,接下来就准备移植RT-Thread到基本环境中了。
获取RT-Thread源码
获取RT-Thread源码的方式有很多
1.可以通过去RT-Thread官网下载源码;
2.Keil5支持RT-Thread的pack,pack可以在Keil的官网下载;
3. …
本此使用第二种方法,即使用RT-Thread的pack。
将pack安装好后,在Keil里点击Manage Run-Time Environment后查询是否生效并配置
如下图证明pack有效,此次简单移植,只需勾选kernel即可
确认后,会发现在工程里多了个RTOS。
移植
RTOS目录结构
首先来看生成的RTOS目录中的文