STM32平台RT-Thread最小系统移植搭建 - STM32F107VCT6

前言

  • 手头有几块之前画的STM32系列的开发板,最近熟悉了RT-Thread,所以移植RT-Thread,进一步学习RT-Thread各种应用。
  • 板子分:STM32F103几个系列,STM32F107,STM32F429等。
  • 板子是没有生命的,只有给了它软件,供上电源,才能让它们发挥作用。
  • 很多工程师,连最基础的引脚配置都没搞明白,就开始了RTOS的使用。

最小系统

  • 移植最小系统的作用:万事开头难,入门后,方可自由发挥。
  • 熟悉环境搭建、引脚配置、供电逻辑、调试接线、调试工具使用、调试环境验证等。
  • 移植好最小系统,才能更进一步研究RT-Thread的内核、组件、设备驱动等。
  • 知识体系的不健全,会让学习嵌入式的道路变得很坎坷。

工程搭建

  • RT-Thread 源码,相信下载(git clone)下来,发现很大。
  • 若使用git管理,比较的麻烦。
  • 里面上百兆的BSP,很多都是其他的平台的,所以,没有必要全部保留。

RT-Thread下载地址,请使用Git下载

https://gitee.com/rtthread/rt-thread.git

工程裁剪与重新构建:

系统构建

更改了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第一步。
  • 嵌入式软件开发,大体可以分为偏底层与偏应用两部分,更多的工程师,需要更多的掌握。
  • 不要偏科,我会硬件,只做硬件,我会软件,只做软件,技术在不断的更新,跟上时代的发展。

猜你喜欢

转载自blog.csdn.net/tcjy1000/article/details/111414399