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

一、源代码下载

下载最新版的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信息

 代码包下载:

链接:https://pan.baidu.com/s/1BFXbRupGqrtuqHmg5xAA9A

提取码:et4e

 

posted @   XiaomaGee  阅读(778)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示