STM32
直播中

徐胤

7年用户 1069经验值
私信 关注
[问答]

请问一下怎样去移植RT-Thread最小系统呢

RT-Thread最小系统的作用有哪些?
怎样去移植RT-Thread最小系统呢?


回帖(1)

张嘉

2021-10-27 11:44:55
  前言
  手头有几块之前画的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第一步。
  嵌入式软件开发,大体可以分为偏底层与偏应用两部分,更多的工程师,需要更多的掌握。
  不要偏科,我会硬件,只做硬件,我会软件,只做软件,技术在不断的更新,跟上时代的发展。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分