RT-Thread最小系统的移植方法

嵌入式技术

1372人已加入

描述

背景

  • 目标为进一步研究RT-Thread,掌握系统移植的基本方法
  • RT-Thread 最新代码BSP里,已经有STM32H743的BSP了。

操作方法

  • 为了工程的简练,重构RT-Thread 工程

移植

  • 内核文件目录

移植

  • libraries目录

移植

  • BSP目录,可以找一个平台相似的

移植

  • 解决重构路径引起的问题:

移植

构建的路径的修改

移植

  • 编译

移植

确认连接脚本是否正确。

移植

运行

  • 这里LED灯的引脚,需要跟实际原理图对应上
LED 引脚 RT-Thread Pin 编号
LED_R 红色 PB14 GET_PIN(B, 14)
LED_G 绿色 PB0 GET_PIN(B, 0)
LED_Y 黄色 PE1 GET_PIN(E, 1)
#include < rtthread.h >
#include < rtdevice.h >
#include < board.h >

/* defined the LEDR LEDG LEDY pins */
#define LEDR_PIN    GET_PIN(B, 14)
#define LEDG_PIN    GET_PIN(B, 0)
#define LEDY_PIN    GET_PIN(E, 1)

int main(void)
{
    int count = 1;

    /* set LEDS pin mode to output */
    rt_pin_mode(LEDR_PIN, PIN_MODE_OUTPUT);
    rt_pin_mode(LEDG_PIN, PIN_MODE_OUTPUT);
    rt_pin_mode(LEDY_PIN, PIN_MODE_OUTPUT);

    rt_kprintf("hello, STM32H743 RT-Thread!\\r\\n");

    while (count++)
    {
        rt_pin_write(LEDR_PIN, PIN_HIGH);
        rt_pin_write(LEDG_PIN, PIN_HIGH);
        rt_pin_write(LEDY_PIN, PIN_HIGH);
        rt_thread_mdelay(500);
        rt_pin_write(LEDR_PIN, PIN_LOW);
        rt_pin_write(LEDG_PIN, PIN_LOW);
        rt_pin_write(LEDY_PIN, PIN_LOW);
        rt_thread_mdelay(500);
    }
    return RT_EOK;
}

运行效果

移植

  • 验证通过,LED正常闪烁,串口MSH 正常。

总结

  • STM32H743 资源比较丰富,有2M Flash,SRAM也比较大(1M,用户512K),可以做点更复杂的工作。
  • 继续研究RT-Thread 移植与使用,总结与积累,学以致用。
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分