1.FSP介绍
瑞萨电子灵活配置软件包(FSP)是一款增强型软件包,旨在为使用瑞萨电子RA系列RRM微控制器的嵌入式系统设计提供简单易用且可扩展的高质量软件。在全新ARM TrustZone和其他高级安全功能的支持下,FSP提供一种快速、通用的方式,使用量产级驱动程序、Azure RTOS、FreeRTOS和其他中间件协议栈来构建安全、互联的物联网设备。
FSP包括高性能、低内存占用的业界一流的HAL驱动程序。还包含集成了Azure RTOS和FreeRTOS的中间件协议栈,能够简化通信和安全等复杂模块的实现。e² studio IDE提供了对图形化配置工具和智能代码生成器的支持,从而使编程和调试变得更加轻松快捷。
FSP使用开放式软件生态系统,并且也为裸机编程提供了灵活性,客户可以选择使用Azure RTOS或FreeRTOS、其他自选RTOS、现有代码和第三方生态系统解决方案。
![bdc0d4b6-a87c-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/98/69/wKgZomTnXhSARxQ6AAPwyg71D1I734.png)
2.FSP配置文件configuration.xml
FSP配置文件是位于项目工程目录下的configuration.xml,e² studio读取该配置文件,然后通过图形化窗口打开。
![bdd42a02-a87c-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/98/69/wKgZomTnXhSACdgUAACkVYlzXp4393.png)
xml文件内容对应图形化窗口的项目如下所示。
可以看到图形化配置的8个项目分别对应xml文件的8个标记。
![bde90bb6-a87c-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/98/69/wKgZomTnXhSAVyKtAAEmXAzC5wY948.png)
展开raBspConfiguration可以详细看到各个配置,例如选项字节OFS0的配置等等。
![bdfdef68-a87c-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/98/69/wKgZomTnXhWALnddAAUtos61c6I762.png)
同理展开raModuleConfiguration可以看到Stack的各个模块的定义。
![be161d72-a87c-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/98/69/wKgZomTnXhWAfnCjAAGZYvwfWuU292.png)
3.FSP配置文件configuration.xml的编辑修改
FSP功能很强大,但有一部分代码互相有依赖性,必须要打包使用。我们在开发中可能会遇到只需要一部分的FSP生成的代码,下面就介绍如何通过修改xml文件,只生成指定部分的代码。
如下图,我们要生成USB操作代码r_usb_basic,但他要依赖USB协议处理模块,例如USB HMSC。而USB HMSC模块又需要FreeRTOS plus FAT支持。下面介绍仅仅生成r_usb_basic这个模块的代码,如何修改xml文件。
![be2fb07a-a87c-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/98/69/wKgZomTnXhWALpA6AAGWjHx0Pmw729.png)
![be3ee662-a87c-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/98/69/wKgZomTnXhWAOGYjAAAQSY8f9HU519.png)
1
新建RA4M2的不带RTOS的工程,添加USB HMSC的代码之后,先保存配置文件,然后关闭配置窗口。用文本编辑器打开configuration.xml文件
![be4b0e74-a87c-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/98/69/wKgZomTnXhWAKdKyAAAPrflI__M533.png)
2
查找usb_hmsc相关的内容,并将相关内容删除。
i)删除r_usb_hmsc component,从”结束。
![be5c67e6-a87c-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/98/69/wKgZomTnXhWAODrfAACbRmVIA58189.png)
ii)删除module id module.driver.hmsc_on_usb , 从“”结束。
![be77ac5e-a87c-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/98/69/wKgZomTnXhWAWwgiAAB7bo4q9ao281.png)
iii)删除stack module="module.driver.hmsc_on_usb ,并且需要将module.driver.basic_on_usb与其它主stack(例如ioport_on_ioport)对齐,注意“”也需要删除。
修改前:
![be85b2ae-a87c-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/98/69/wKgZomTnXhaAHzUwAACriBKdBTs228.png)
修改后:
![bea26b2e-a87c-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/98/69/wKgZomTnXhaAWosMAACIkWKBeec612.png)
iv)删除“config id="config.driver.usb_hmsc”这一段。
![beb94560-a87c-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/98/69/wKgZomTnXhaALV9oAAAdW6Y6zIM686.png)
3
保存.xml文件,重新打开,可以看到生成的文件只包含usb_basic部分的代码(这里红色是因为USB需要配置UCLK以及DMA),不再包含USB HMSC模块。
![bec3929a-a87c-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/98/69/wKgZomTnXhaARU-1AAHFZqimTFs595.png)
4.结束语
FSP是强大的可视化代码生成工具,我们可以通过e² studio IDE的图形化窗口配置我们所需要的外设驱动代码,以及各种中间件。而在某种情况下我们也可以通过文本编辑的方式去定制我们所需要的代码模块。
更多内容请识别下方二维码或复制下方链接到浏览器中访问查看瑞萨网站:灵活配置软件包 (FSP)
![bee6f85c-a87c-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/98/69/wKgZomTnXhaAa5e5AAAE9nJhiHs210.png)
https://www.renesas.cn/cn/zh/software-tool/flexible-software-package-fsp#overview
Github上的FSP文档请识别下方二维码或复制下方链接到浏览器中访问查看:RA Flexible Software Package Documentation: Introduction (renesas.github.io)
![befe28ce-a87c-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/98/69/wKgZomTnXhaAYQ98AAADEGuqB5U688.png)
https://renesas.github.io/fsp/
原文标题:FSP模块置文件configuration.xml介绍
文章出处:【微信公众号:瑞萨MCU小百科】欢迎添加关注!文章转载请注明出处。
-
mcu
+关注
关注
146文章
17370浏览量
353003 -
瑞萨
+关注
关注
35文章
22314浏览量
86888
原文标题:FSP模块置文件configuration.xml介绍
文章出处:【微信号:瑞萨MCU小百科,微信公众号:瑞萨MCU小百科】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】+KEIL+RASC 开发环境搭建
【RA-Eco-RA2E1-48PIN-V1.0开发板试用】开发环境搭建和程序串口烧写
LVGL适配到OpenMV工程的实现方法
![LVGL适配到OpenMV工程的实现方法](https://file1.elecfans.com/web2/M00/02/74/wKgaoma12S6Ac7UrAAAx8LFAv7w600.png)
如何优雅的在OpenMV上使用LVGL
![如何优雅的在OpenMV上使用LVGL](https://file1.elecfans.com/web2/M00/C4/8A/wKgZomX0EhWACv8DAAAUet8ikhs451.png)
Profinet远程IO模块:模拟量模块_软件组态说明
![Profinet远程IO<b class='flag-5'>模块</b>:模拟量<b class='flag-5'>模块</b>_软件组态说明](https://file1.elecfans.com/web2/M00/FE/D6/wKgaomafjlKAKn8YAAO2wsSjcZs125.png)
异步置零和同步置零的区别在哪里
Profinet远程IO模块:高速计数模块差分在软件组态说明
![Profinet远程IO<b class='flag-5'>模块</b>:高速计数<b class='flag-5'>模块</b>差分在软件组态说明](https://file1.elecfans.com/web2/M00/FE/30/wKgaomaZKECABiSqAAQa8q7lrbw014.png)
RA Overwrite模式在FSP中的支持
![RA Overwrite模式在<b class='flag-5'>FSP</b>中的支持](https://file1.elecfans.com/web2/M00/EE/25/wKgaomZqXzSAUxZRAAATebl6RjI832.png)
OpenHarmony语言基础类库【@ohos.xml (xml解析与生成)】
【JAVA UI】【HarmonyOS】【Demo】 鸿蒙如何进行 xml 解析
![【JAVA UI】【HarmonyOS】【Demo】 鸿蒙如何进行 <b class='flag-5'>xml</b> 解析](https://file1.elecfans.com/web2/M00/C0/2C/wKgZomXTCWiAOM4KAAHN-csgQK0652.png)
评论