查看: 1519|回复: 0

创建自定义BSP

[复制链接]

93

主题

136

帖子

8万

积分

管理员

11111

Rank: 9Rank: 9Rank: 9

积分
84460
QQ
发表于 2022-5-31 16:44:49 | 显示全部楼层 |阅读模式
BSP(Board Support Package)板级支持包,是介于主板硬件和操作系统之间的一层,应该说是属于操作系统的一部分,主要目的是为了支持操作系统,使之能够更好的运行于硬件主板。
  当我们创建一个RA的工程时,我们会在下图中选择所使用的的电路板,所对应的就是BSP文件,其中包括了使用电路板上MCU的型号、引脚和外围功能的设置。


  那么用户是否可以创建自己板子的BSP文件呢,答案当然是肯定,请参考以下步骤。
(1)使用“Custom User Board (Any Device)”创建项目并选择正确的设备(本例中为 RA6M4)。


(2)选择 Flat->No RTOS->Bare Metal – Minimal 作为项目配置(在本例中,因为我们只在 BSP 文件中放置了一些 LED),但是选择适合放入 BSP 文件的项目类型(例如,如果有与以太网 PHY 相关的文件,那么为了测试这些文件,将需要一个基于 RTOS 的项目)。
(3)将 board 文件夹添加到 ra/ 目录,并在其下方添加一个文件夹,该文件夹使用 board 的名称(全部小写):


(4)生成工程内容,将文件ra_cfg/fsp_cfg/bsp/board_cfg.h复制到src/目录下。然后在配置器的组件选项卡中,取消选中自定义板:

  并再次重新生成项目内容。这将删除文件 ra_cfg/fsp_cfg/bsp/board_cfg.h。(文件src/board_cfg.h仅用于测试板文件实际编译和工作,使用最终bsp时,工具会自动生成文件ra_cfg/fsp_cfg/bsp/board_cfg.h)
  
(5)将需要的BSP文件添加到板子目录:




  文件 board.h 应该包含板类型的定义:



6)在文件 src/board_cfg.h 中为 board 目录中的文件 board.h 添加#include



7)构建项目,它应该没有错误地构建,并且板文件中的代码不应被任何预处理器指令排除:



8)现在需要设置引脚配置。在配置器的引脚选项卡中,有默认引脚配置:



9)点击“管理配置”:


10)重命名引脚配置以匹配板的名称:



  单击“确定”以接受更改。在 Pins 选项卡中,现在编辑引脚配置以匹配它所针对的板的配置,例如 Pin 01_14 用于控制 RA6M4_IOT板上的 LED



  BSP 中可以有多个引脚配置,如果需要,添加更多引脚配置。
(11) BSP 选项卡中的设置,以及配置器的时钟选项卡也包含在 BSP 中,因此需要为目标板正确配置这些。
(12)此时,构建和测试 BSP 以确保正确设置板文件和引脚配置,只有当您对所有内容都满意时才继续实际创建 BSP。
(13)确保没有未保存更改的打开文件(源文件和配置文件 Configuration.xml),保存并关闭所有打开的文件。
(14)在项目资源管理器中右键单击项目,选择“Export FSP User Pack”,然后选择“Create a board pack”:



15)填写供应商和板名:


16)然后点击“下一步”。在下一个屏幕上,填写子组(使用板名称)和板名称(这需要小写,以匹配板文件夹名称):


17)点击添加板源文件


18)单击“确定”,然后单击“完成”创建 BSP 包文件,将显示消息:


(19)紧接着是另一条消息(e2studio 检测到新的 BSP 包文件):


(20)单击“是”和“确定”清除 2 条消息。
新的 BSP 包文件现已成功创建。要测试 BSP,请创建一个新的 FSP 项目,该板的 BSP 应出现在可用板列表中:
(21)将使用板的引脚配置:


并且使用 BSP 构建的项目应该可以无错误地编译。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

用户排行榜

RA助手

主题: 116帖子:134精华:0

RA_Lance

主题: 93帖子:136精华:9

lugl

主题: 52帖子:150精华:1

xujiwei263

主题: 18帖子:86精华:0

Juggernaut

主题: 12帖子:118精华:0

books咦

主题: 11帖子:11精华:2
快速回复 返回顶部 返回列表