• 【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

     

  • 相关阅读:
    Android 报错Android
    转:JavaWeb学习总结(一) 写得相当不错
    infer 编译代码审查命令记录
    转:infoQ 2015开发者资料下载
    转:java 进阶之路
    转:使用gradle 构建编译程序
    web开发者的博客
    转:http2基本中文翻译
    转:http2的资料与使用
    转:百度手机地图网络性能优化实践
  • 原文地址:https://www.cnblogs.com/xiaomagee/p/12727411.html
Copyright © 2020-2023  润新知