前言
手头有几块之前画的STM32系列的开发板,最近熟悉了RT-Thread,所以移植RT-Thread,进一步学习RT-Thread各种应用。
板子分:STM32F103几个系列,STM32F107,STM32F429等。
板子是没有生命的,只有给了它软件,供上电源,才能让它们发挥作用。
很多工程师,连最基础的引脚配置都没搞明白,就开始了RTOS的使用。
最小系统
移植最小系统的作用:万事开头难,入门后,方可自由发挥。
熟悉环境搭建、引脚配置、供电逻辑、调试接线、调试工具使用、调试环境验证等。
移植好最小系统,才能更进一步研究RT-Thread的内核、组件、设备驱动等。
知识体系的不健全,会让学习嵌入式的道路变得很坎坷。
工程搭建
RT-Thread 源码,相信下载(git clone)下来,发现很大。
若使用git管理,比较的麻烦。
里面上百兆的BSP,很多都是其他的平台的,所以,没有必要全部保留。
工程裁剪与重新构建:
系统构建
更改了rt-thread的内核源码的目录,初次构建,需要更改下Kconfig、scons构建的脚本
编译与运行
构建通过,打开工程,这里使用Keil MDK(STM32开发比较经典的IDE)。
调整LED引脚,让LED闪烁起来!!
#include 《rtthread.h》
#include 《rtdevice.h》
#include 《board.h》
/* defined the LED_RUN pin: PC9 */
#define LED_RUN_PIN GET_PIN(C, 9)
int main(void)
{
int count = 1;
/* set LED1 pin mode to output */
rt_pin_mode(LED_RUN_PIN, PIN_MODE_OUTPUT);
while (count++)
{
rt_pin_write(LED_RUN_PIN, PIN_HIGH);
rt_thread_mdelay(500);
rt_pin_write(LED_RUN_PIN, PIN_LOW);
rt_thread_mdelay(500);
}
return RT_EOK;
}
总结
这里没有配置 stm32f1xx_hal_msp.c,因为引脚配置,RT-Thread已经提供了操作的接口,默认所有的GPIO时钟都已经开启。
最小系统搭建完成,不代表移植完成,只能说是刚踏入RT-Thread第一步。
嵌入式软件开发,大体可以分为偏底层与偏应用两部分,更多的工程师,需要更多的掌握。
不要偏科,我会硬件,只做硬件,我会软件,只做软件,技术在不断的更新,跟上时代的发展。
前言
手头有几块之前画的STM32系列的开发板,最近熟悉了RT-Thread,所以移植RT-Thread,进一步学习RT-Thread各种应用。
板子分:STM32F103几个系列,STM32F107,STM32F429等。
板子是没有生命的,只有给了它软件,供上电源,才能让它们发挥作用。
很多工程师,连最基础的引脚配置都没搞明白,就开始了RTOS的使用。
最小系统
移植最小系统的作用:万事开头难,入门后,方可自由发挥。
熟悉环境搭建、引脚配置、供电逻辑、调试接线、调试工具使用、调试环境验证等。
移植好最小系统,才能更进一步研究RT-Thread的内核、组件、设备驱动等。
知识体系的不健全,会让学习嵌入式的道路变得很坎坷。
工程搭建
RT-Thread 源码,相信下载(git clone)下来,发现很大。
若使用git管理,比较的麻烦。
里面上百兆的BSP,很多都是其他的平台的,所以,没有必要全部保留。
工程裁剪与重新构建:
系统构建
更改了rt-thread的内核源码的目录,初次构建,需要更改下Kconfig、scons构建的脚本
编译与运行
构建通过,打开工程,这里使用Keil MDK(STM32开发比较经典的IDE)。
调整LED引脚,让LED闪烁起来!!
#include 《rtthread.h》
#include 《rtdevice.h》
#include 《board.h》
/* defined the LED_RUN pin: PC9 */
#define LED_RUN_PIN GET_PIN(C, 9)
int main(void)
{
int count = 1;
/* set LED1 pin mode to output */
rt_pin_mode(LED_RUN_PIN, PIN_MODE_OUTPUT);
while (count++)
{
rt_pin_write(LED_RUN_PIN, PIN_HIGH);
rt_thread_mdelay(500);
rt_pin_write(LED_RUN_PIN, PIN_LOW);
rt_thread_mdelay(500);
}
return RT_EOK;
}
总结
这里没有配置 stm32f1xx_hal_msp.c,因为引脚配置,RT-Thread已经提供了操作的接口,默认所有的GPIO时钟都已经开启。
最小系统搭建完成,不代表移植完成,只能说是刚踏入RT-Thread第一步。
嵌入式软件开发,大体可以分为偏底层与偏应用两部分,更多的工程师,需要更多的掌握。
不要偏科,我会硬件,只做硬件,我会软件,只做软件,技术在不断的更新,跟上时代的发展。
举报