# stm32f4_disc_rtthread_study **Repository Path**: yukaigit/stm32f4_disc_rtthread_study ## Basic Information - **Project Name**: stm32f4_disc_rtthread_study - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-09-22 - **Last Updated**: 2025-02-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # BSP 移植模板 ## 简介 本文档为 立创天空星 开发板的 BSP (板级支持包) 说明。 ## 移植说明 1. 下载 rt-thread 原码 2. 进入到 `rt-thread/bsp/stm32/libraries/templates` 目录下拷贝使用的单片机的型号的文件夹,这里拷贝使用 stm32f4xx 做为一个项目的根目录。 3. 运行 `/board/CubeMX_Config/CubeMX_Config.ioc` 配置单片机时钟、调试口为SWD。使能USART1,异步模式,打开USART1 global interrupt。配置时钟树。生成代码前注意要关闭“为每个外设生成单独的.c/h文件”的选项。 4. **拷贝初始化函数**。在 **board/board.c** 文件中存放了函数 `SystemClock_Config()` ,该函数负责初始化系统时钟。当使用 CubeMX 工具对系统时钟重新配置的时候,需要更新这个函数。 该函数由 CubeMX 工具生成,默认存放在`board/CubeMX_Config/Src/main.c` 文件中。但是该文件并没有被包含到我们的工程中,因此需要将这个函数从 main.c 中拷贝到 board.c 文件中。在整个 BSP 的制作过程中,这个函数是唯一要要拷贝的函数。![图片](README.assets/复制时钟配置.png) 5. **配置FLASH 和 RAM 的相关参数**。在 **board.h** 文件中配置了 FLASH 和 RAM 的相关参数,这个文件中需要修改的是 `STM32_FLASH_SIZE` 和 `STM32_SRAM_SIZE` 这两个宏控制的参数。本次制作的 BSP 所用的 STM32F407ZGT6 芯片的 flash 大小为 1024k,ram 的大小为 128k,因此对该文件作出如下的修改:![图片](README.assets/board头文件配置.png) 6. **配置board中的Kconfig** ![图片](README.assets/boardKconfig.png) 7. 修改链接脚本 ![图片](README.assets/链接脚本.png) ![图片](README.assets/链接脚本1.png) ![图片](README.assets/链接脚本2.png) 8. 修改构建脚本 **SConscript** 脚本决定 MDK/IAR 工程的生成以及编译过程中要添加文件。 在这一步中需要修改芯片型号以及芯片启动文件的地址,修改内容如下图所示: ![图片](README.assets/BoardSconscript.png) 9. 拷贝rt-thread文件 ![图片](README.assets/新建文件夹.png) ![图片](README.assets/复制源文件.png) ![图片](README.assets/复制源文件1.png) 10. 更改 Kconfig 文件 ![图片](README.assets/根目录Kconfig.png) ![图片](README.assets/rt-threadKconfig.png) ![图片](README.assets/KconfigBoard1.png) 11. SConstruct指定rt-thread根目录 ![图片](README.assets/指定根目录RTT.png) 至此就可以使用env工具来配置了 ![图片](README.assets/Kconfig配置完成进入Menuconfig.png) #### 编译下载 双击 project.uvprojx 文件,打开 MDK5 工程,编译并下载程序到开发板。 > 工程默认配置使用 xxx 仿真器下载程序,在通过 xxx 连接开发板的基础上,点击下载按钮即可下载程序到开发板 #### 运行结果 下载程序成功之后,系统会自动运行,【这里写开发板运行起来之后的现象,如:LED 闪烁等】。 连接开发板对应串口到 PC , 在终端工具里打开相应的串口(115200-8-1-N),复位设备后,可以看到 RT-Thread 的输出信息: ```bash \ | / - RT - Thread Operating System / | \ 3.1.1 build Nov 19 2018 2006 - 2018 Copyright by rt-thread team msh > ``` ### 进阶使用 此 BSP 默认只开启了 GPIO 和 串口1 的功能,如果需使用 SD 卡、Flash 等更多高级功能,需要利用 ENV 工具对BSP 进行配置,步骤如下: 1. 在 bsp 下打开 env 工具。 2. 输入`menuconfig`命令配置工程,配置好之后保存退出。 3. 输入`pkgs --update`命令更新软件包。 4. 输入`scons --target=mdk4/mdk5/iar` 命令重新生成工程。 本章节更多详细的介绍请参考 [STM32 系列 BSP 外设驱动使用教程](../docs/STM32系列BSP外设驱动使用教程.md)。 ## 注意事项 - xxx ## 联系人信息 维护人: - [xxx](https://个人主页), 邮箱: