赞
踩
大家知道,RT-Thread 已经支持了各式各样的 BSP 了,以 STM32 为例,RT-Thread 针对市面上很多具体的某开发板制作了对应的 BSP,如 ST 官方开发板,正点原子系列开发板,野火系列开发板等,如下图所示:
不过,有人可能问,如果我的板子是自己 DIY 画板子制作的,或者说的公司内部自己的板子,并不是市面上卖的那种开发板,能否使用 RT-Thread 的 STM32 BSP 呢?答案是完全可以的,本文将教大家如何根据已有的 STM32 BSP 快速移植 RT-Thread 到自己的 STM32 开发板上。
根据已有 STM32 的 BSP 移植 RT-Thread 到自己的 STM32 开发板步骤分为以下几步:
假如自己手上的板子芯片型号是 STM32F407VGT6,那就在已有的 STM32 BSP 中找一份与 STM32F407VGT6 相似的 BSP ,stm32f407-atk-explorer
这个 BSP 使用的是 STM32F407ZGT6,可以说是与 STM32F407VGT6 最相似的了。复制一份,改名 stm32xxx - 厂商 - 开发板名
,如 stm32f407-my-diy
,如下图:
打开这个拷贝出来的 BSP 文件夹,打开工程,修改芯片型号,如下图:
打开 bsp\stm32\stm32f407-my-diy\board\CubeMX_Config\CubeMX_Config.ioc 后:
#define RT_CONSOLE_DEVICE_NAME "uart4"
#define BSP_USING_UART
#define BSP_USING_UART4
#define LED0_PIN GET_PIN(D, 13)
\ | /
- RT - Thread Operating System
/ | \ 4.0.2 build Aug 15 2019
2006 - 2019 Copyright by rt-thread team
msh >
msh >help RT-Thread shell commands: reboot - Reboot System version - show RT-Thread version information list_thread - list thread list_sem - list semaphore in system list_event - list event in system list_mutex - list mutex in system list_mailbox - list mail box in system list_msgqueue - list message queue in system list_mempool - list memory pool in system list_timer - list timer in system list_device - list device in system help - RT-Thread shell help. ps - List threads in the system. time - Execute command with time. free - Show the memory usage in the system. msh >
到此为止,RT-Thread 就成功的移植到自己的 STM32 开发板上啦!
在下载时可能遇到下载失败的问题,只需要将下载算法重新选择一次即可。
如,遇到串口驱动 drv_uart.c 报错 error:#20:identifier "UART_HandleTypeDef" is undefined.
,是因为没有在 STM32CubeMX 中开启 UART。
解决方法:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。