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 构建的项目应该可以无错误地编译。
|