Xml文件介绍
xml文件的使用是非常广泛的,同样FSP的pack也需要用上xml文件。xml文件主要用来声明各个module和对各个模块进行配置。下面来讲一下xml文件的编写和一些注意事项。
Xml文件的编写
Pack生成后,最重要的就是对应xml文件的编写了,因为需要xml文件对pack所有属性进行声明,才能被FSP识别和配置。
如上所述,模块描述xml文件最终必须添加到pack中名为.module_descriptions/的文件夹中,并且必须按以下方式命名:
2.1 声明一个FSP模块
模块描述xml文件声明现有component的FSP模块,该模块应在FSP配置编辑器中以特定名称显示。打开在.module_descriptions中的xml文件。这里已经提前编辑好,下面以这个文件为模板,讲解xml文件的编写以及注意事项。
这个Module中,包含了“display”、“id”、“common”、“config” 等属性。
其中“display=Graphics|LVGL8.3.6” 说明在stack下可以找到Graphics→LVGL8.3.6。显示的名字可以根据实际情况定义。如下图:
“id”属性的值必须是唯一的,“id=module.LVGL8.3.6”说明这个module的ID为module.LVGL8.3.6,可以在其他地方被配置或者应用。
“common”属性表示instance的数量。
“config”属性表示,这个module用于配置。
其中“require”字段表示此module需要连接的接口、显示的值等。比如xml文件中
表示需要一个driver.display的接口,显示提示信息“Add Display Driver”。
2.2 config属性详解
对于在stack加的所有module,都可以通过config属性来对其进行配置。config可以由各个property和content等属性组成。config字段中,包含了3个属性,分别是“id”、“path”、“version”,其中id="config.LVGL8.3.6",说明配置作用于config.LVGL8.3.6这个id。Path=“lv_conf.h”说明在生成代码后,将会在ra_cfg/文件夹下生成一个lv_conf.h。
实际效果:
下面先介绍property属性,property属性在FSP configuration中可以被显示和修改。同时可以加字段对其进行限制,限制对应的id属性是整数、字符串、范围等。比如下面的代码,在属性中显示LVGL→Common→LVGL horizon size,这个的id是config.LVGL.horizon_size, 默认值是480。限制条件是这个id的值必须为整数,并且必须要大于等于0。
字符输入实际效果如下
以上是可以直接输入一个数值的例子。如果要某个id的属性是一个下拉选项,其属性设置如下,用修饰:
下拉选择实际效果如下:
2.3 content属性
用
实际效果:
2.4 引用
以上,介绍了如何设置各个id的属性,以及设置id的值。设置完id的值后,如何作用到代码,这涉及到引用的问题。比如要引用config.LVGL.color_depth这个id的值,需要用特殊符号${config.LVGL.color_depth}。
实际效果:
至此,Xml文件的基本用法介绍完毕。
xml文件注意事项
1
不能直接在属性中直接用“&&”符号,需要加转译符,表达式为“&&”
2
不能直接用“>”号,转译后为“>”
3
config要放在module前面
4
config id要和所需要配置的module对应
5
module除了可以require一个interface,也可以对外提供一个interface,给其他module引用。如
总结
Renesas的e2 studio提供了一个强大的user pack制作工具,方便客户自定义自己的pack。为模块化编程、可视化配置参数提供很好的支持。Pack制作好后,可以分发给其他人以及自己后续使用,减少移植带来的痛苦。加一个pack就可以得到你想要的功能并且编译0 warning 0 error,主打的是一个方便!可以使用xml文件对所生成代码进行规范,和可视化配置,主打的是一个灵活!赶快使用起来吧。
您可复制下方网址到浏览器中打开进入瑞萨中文论坛查看:
https://community-ja.renesas.com/zh/forums-groups/mcu-mpu/
1
END
1
推荐阅读
RA6快速设计指南系列文章合集
基于RA6M3的ThreadX+GUIX HMI教程
资料分享 | DShanMCU-RA6M5开发板学习资料