【STM32F4】【银杏科技ARM+FPGA】iCore3移植RT-Thread--BSP制作

三世轮回 提交于 2020-04-19 14:39:05

一、源代码下载

下载最新版的RT-Thread源代码:https://www.rt-thread.org/page/download.html

二、工程文件简介

2.1 我们将下载好的源码进行解压,可以看到共有以下文件夹,在这里我们只关注bsp文件夹下的内容。其他文件夹的内容暂时先不理会,有兴趣的伙伴可以先了解一下。

2.2  打开bsp文件夹,我们发现RT-Thread支持n多种厂商的MCU,iCore3 ARM+FPGA双核心板ARM采用的是ST的STM32F407IGT6,因此在这里我们打开stm32的文件夹。

2.3 打开stm32文件夹,可以看到这些文件夹可以大致分为3类,分别为docs文件夹,docs文件夹为官方提供的一些图文教程(相当详细);libraries文件夹,libraries文件夹为STM32的HAL库文件及RTT编写的STM32一些常外设的驱动文件;剩下的为各开发板的最简单的bsp工程。

三、BSP工程制作

3.1 CubeMX配置

需要创建一个基于目标芯片的CubeMX工程。默认的CubeMX_Config文件夹中,双击打开CubeMX_Config.ioc工程,注意看文件路径。

打开CubeMX选择自己板子上具体的芯片型号,iCore3是STM32F407IGT6。

打开RCC和SYS设置

ARM_LED引脚设置

在connectivity下配置串口工作模式,并打开串口中断

在Clock Configuration页面配置时钟,iCore3使用的是外部24MHz晶振

在Project Manager页面,配置工程名称和存储路径

生成MDK工程后只需要保留这四个文件,其他文件可以删除

3.2 修改脚本

在Src文件下打开main.c,复制SystemClock_Config初始化代码

将配置好的时钟初始化代码替换掉board.c中的时钟代码

board.h中配置了芯片的Flash和RAM大小,根据实际使用的芯片改为对应大小(我们这里参数匹配,不用修改)

修改Kconfig文件,打开Kconfig文件

然后要修改工程构建相关文件,修改链接脚本,打开linker_scripts下的link.sct文件。根据芯片的Flash和RAM大小修改这三个地方,要以十六进制标识(这里参数和iCore3一致,无需更改)

打开SConscript文件,修改启动文件和芯片型号(与iCore3一致,无需修改)

3.3 修改template文件

选择所用的仿真器型号

3.4 Env配置

以上修改完成后,打开menuconfig,开启UART4,并生成rtconfig.h文件

打开RT-Thread Kernel下的Kernel Device Object里的the device name for console 改为uart4

退出保存后再Env中输入命令scons --target=mdk5重新生成工程

四、 实验现象

新的BSP即生成,双击工程打开,修改LED灯引脚即可

编译通过后下载,ARM_LED灯循环闪烁,打开putty,成功打印RT Thread的Logo信息

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!