![cathy的头像 cathy的头像](https://cdn.eetrend.com/files/styles/picture200/public/letter-avatars/u-593.png?itok=XTs2kpZ8)
首先,什么是BSP呢?
BSP(Board Support Package)是板级支持包,是介于主板硬件层和应用代码层之间的一层,应该说是属于硬件驱动的一部分,主要目的是为了让MCU顺利启动,并使之能够更好的运行于硬件主板。
当我们创建一个RA的工程时,我们会在下图中选择所使用的电路板,所对应的就是BSP文件,其中包括了使用电路板上MCU的型号、时钟、引脚和外围功能等设置。
![“RA](http://mcu.eetrend.com/files/2022-03/wen_zhang_/100558700-246614-1.png)
那么用户是否可以创建针对自己主板的BSP文件呢,答案当然是肯定的,请参考以下步骤。
01、使用“Custom User Board(Any Device)”创建项目并选择正确的设备(本例中为RA6M4)。
![“RA](http://mcu.eetrend.com/files/2022-03/wen_zhang_/100558700-246615-2.png)
02、选择Flat->No RTOS->Bare Metal–Minimal作为项目配置。
在本例中,我们会以在BSP文件中加入一些LED的配置为例,所以可以选择裸机应用工程。如果需要建立与以太网等功能相关的工程,则需要选择建立一个基于RTOS的项目。请根据实际应用选择适合放入BSP文件的项目类型。
![“RA](http://mcu.eetrend.com/files/2022-03/wen_zhang_/100558700-246616-3.png)
![“RA](http://mcu.eetrend.com/files/2022-03/wen_zhang_/100558700-246617-4.png)
![“RA](http://mcu.eetrend.com/files/2022-03/wen_zhang_/100558700-246618-5.png)
03、将board文件夹添加到ra/目录,并在其下方添加一个文件夹,该文件夹使用board的名称(全部小写,如本例中的ra6m4_iot):
![“RA](http://mcu.eetrend.com/files/2022-03/wen_zhang_/100558700-246619-6.png)
04、点击生成工程内容,将文件ra_cfg/fsp_cfg/bsp/board_cfg.h复制到src/目录下。
![“RA](http://mcu.eetrend.com/files/2022-03/wen_zhang_/100558700-246621-8.png)
然后在配置器的组件选项卡中,取消选中自定义板:
![“RA](http://mcu.eetrend.com/files/2022-03/wen_zhang_/100558700-246622-9.png)
并再次重新生成项目内容。这将删除文件ra_cfg/fsp_cfg/bsp/board_cfg.h。(文件src/board_cfg.h仅用于测试板文件实际编译和工作,使用最终bsp时,工具会自动生成文件ra_cfg/fsp_cfg/bsp/board_cfg.h。)
05、将需要的BSP文件添加到对应的主板目录:
![“RA](http://mcu.eetrend.com/files/2022-03/wen_zhang_/100558700-246623-10.png)
文件board.h应该包含板类型的定义:
![“RA](http://mcu.eetrend.com/files/2022-03/wen_zhang_/100558700-246624-11.png)
06、在文件src/board_cfg.h中为board目录中的文件board.h添加#include:
![“RA](http://mcu.eetrend.com/files/2022-03/wen_zhang_/100558700-246625-12.png)
07、构建项目,应该没有build errors,并且确认文件中的代码都参与编译:
![“RA](http://mcu.eetrend.com/files/2022-03/wen_zhang_/100558700-246626-13.png)
08、现在需要配置引脚。在配置器的引脚选项卡中,有默认引脚配置:
![“RA](http://mcu.eetrend.com/files/2022-03/wen_zhang_/100558700-246627-14.png)
09、点击“Manage configurations”:
![“RA](http://mcu.eetrend.com/files/2022-03/wen_zhang_/100558700-246628-15.png)
10、重命名引脚配置以匹配板的名称:
![“RA](http://mcu.eetrend.com/files/2022-03/wen_zhang_/100558700-246629-16.png)
单击“OK”以接受更改。在Pins选项卡中,编辑引脚配置以匹配它所对应的主板功能配置,例如P114引脚用于控制RA6M4_IOT板上的LED,就将其配置为GPIO输出模式:BSP中可以对多个引脚配置,请根据实际需要,添加更多引脚配置。
![“RA](http://mcu.eetrend.com/files/2022-03/wen_zhang_/100558700-246630-17.png)
11、BSP选项卡中的设置,以及配置器的时钟选项卡也包含在BSP中,因此需要为目标板正确配置这些内容。
12、此时,构建和测试BSP以确保正确设置主板文件和引脚配置,只有当您对所有内容都满意时才继续实际创建BSP。
13、确保没有未保存更改的打开文件(源文件和配置文件Configuration.xml),保存并关闭所有打开的文件。
14、在项目资源管理器中右键单击项目,选择“Export FSP User Pack”,然后选择“Create a board pack”:
![“RA](http://mcu.eetrend.com/files/2022-03/wen_zhang_/100558700-246631-18.png)
15、填写供应商和板名:
![“RA](http://mcu.eetrend.com/files/2022-03/wen_zhang_/100558700-246632-19.png)
16、然后点击“下一步”。在下一个屏幕上,填写Sub-group和Board Name(这需要小写,以匹配板文件夹名称):
![“RA](http://mcu.eetrend.com/files/2022-03/wen_zhang_/100558700-246633-20.png)
17、点击添加主板源文件:
![“RA](http://mcu.eetrend.com/files/2022-03/wen_zhang_/100558700-246635-22.png)
18、单击“OK”,然后单击“Finish”创建BSP包文件,将显示如下消息:
![“RA](http://mcu.eetrend.com/files/2022-03/wen_zhang_/100558700-246636-23.png)
19、紧接着是另一条消息(e2 studio检测到新的BSP包文件):
![“RA](http://mcu.eetrend.com/files/2022-03/wen_zhang_/100558700-246637-24.png)
20、单击“OK”和“Yes”清除2条消息。
新的BSP包文件现已成功创建。要测试BSP,请创建一个新的FSP项目,该板的BSP应出现在可用板列表中:
![“RA](http://mcu.eetrend.com/files/2022-03/wen_zhang_/100558700-246638-25.png)
21、可以确认一下,新建工程将使用板的引脚配置,并且使用BSP构建的项目应该可以无错误地编译。
![“RA](http://mcu.eetrend.com/files/2022-03/wen_zhang_/100558700-246639-26.png)
至此,已经完成自定义BSP的所有步骤。
那么接下来,您可能要问,我创建好的BSP如何导出并应用于其他开发者的开发环境中(e2 studio下)呢?
首先,我们需要找到本机中所安装e2 studio的modules和packs文件夹所在位置。
菜单中点击“Help”–>“About e2 studio”–>“Installation Details”
![“RA](http://mcu.eetrend.com/files/2022-03/wen_zhang_/100558700-246640-27.png)
![“RA](http://mcu.eetrend.com/files/2022-03/wen_zhang_/100558700-246641-28.png)
可以看到如下对话框
点击“Support Folders”
并点击“e2 studio support area”右侧链接
![“RA](http://mcu.eetrend.com/files/2022-03/wen_zhang_/100558700-246642-29.png)
![“RA](http://mcu.eetrend.com/files/2022-03/wen_zhang_/100558700-246643-30.png)
在\internal\projectgen\ra\modules和\internal\projectgen\ra\packs文件夹下,可以看到刚刚创建好的BSP文件
“modules”文件夹下有两个.xml文件
![“RA](http://mcu.eetrend.com/files/2022-03/wen_zhang_/100558700-246644-31.png)
“packs”文件夹下有一个.pack
![“RA](http://mcu.eetrend.com/files/2022-03/wen_zhang_/100558700-246645-32.png)
按照同样的寻找位置的方法,将这个三个文件拷到其他电脑的相应位置,就可以正常使用这个BSP文件了。
来源:瑞萨MCU小百科
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。