LVGLPack自动生成指导手册(上)

原创 瑞萨MCU小百科 2024-01-26 12:00


1

Pack介绍


在使用RA系列MCU的项目开发过程中,当需要添加某个外设的驱动时,首先想到的是在FSP中添加某个stack,然后进行配置。这里的stack,就是由各个pack生成并显示的。所以pack的功能就在于配置和显示各个外设驱动和一些中间件。这会大大减少开发过程中对寄存器的依赖。


e2 studio提供了非常自由且功能强大的pack制作工具给用户,用户可以定制化自己的pack,供别人或者自己使用。所以当你有需要模块化的某部分代码,可以考虑做成pack的形式,给您的客户或者自己使用。下面介绍pack的生成方法。


2

构建运行时的代码


本文介绍如何利用e2 studio生成自定义的pack,目标是允许将一组独立的源文件添加到e2 studio项目中,并以与Renesas FSP提供的模块类似的方式进行配置。


创建可配置模块的初始步骤是创建一个e2 studio应用程序项目,其中包括要分发的源代码,根据现有的FSP板级支持代码进行构建,并正确执行。对于新的Renesas FSP模块,必须遵循包括文件夹命名和层次结构在内的编码规范。对于第三方模块开发人员,源代码的布局和内容更加灵活,但仍然必须遵守某些原则。


要打包的源代码可以视为多个CMSIS组件。一个CMSIS组件表示一组源文件,这些文件将一起添加到项目中或从项目中删除。对于模块化的代码库,不是所有的源文件对于编译和有效执行代码都是必要的,因此,将代码库拆分成多个组件是有用的,这些组件可以完全独立地进行选取或遵从某些非循环依赖关系进行选取。每个组件都将包括:

1

一组C语言源代码文件

2

一组内部头文件(*.h),仅由上述C源代码文件包含,无需添加到应用程序范围的包含文件夹列表中

3

一组API头文件(*.h),可能会被工程中其他地方的源代码文件包含,需要将它们添加到应用程序范围的包含文件夹列表中


当考虑将多个component添加到一个项目中时,需要遵守以下规范:

1

所有代码必须放在项目的指定device系列的vendor文件夹下。如果“Vendor 1”提供的组件与瑞萨RA系列MCU一起使用,则所有源文件都将放在项目中RA/vendor1/的单个文件夹下的文件夹结构中。为了保持一致性,文件夹的名称应使用小写

2

在上面创建的单个文件夹下,文件夹和文件层次结构更加灵活,可以保留提供者自己的约定,但文件夹/文件不能包含空格。对于名为“component1”的组件,建议采用以下层次结构,将API头文件保存在单独的文件夹中:

(1)C源代码和内部头文件:

ra/vendor1/component1/src/

(2)API头文件:

ra/vendor/component1/inc/


在以这种方式添加源代码之后,项目的include路径应扩展为包括各种组件的API头文件夹,用于测试组件的测试代码应添加src/文件夹,然后应该确认项目的正确编译和执行。


3

创建CMSIS Pack步骤


首先,确保要生成pack的源代码可以被编译和正确执行。比如LVGL在生成pack前,需要对LVGL代码进行编译以及测试。如以下工程RA6M3_LVGL_Demos_Release,将所有有关源文件添加到工程,然后在hal_entry对其进行测试,代码烧录到板子并且运行正常。



测试完后即可按照步骤生成pack。点击菜单栏FileExport,显示如下弹出对话框后,选择“Renesas FSP User Pack”,并点击Next




在对话框中选择Create a standard user pack,然后输入Vendor、Name和Version,这里输入的内容就是生成pack的名字。点Next



点击右上角绿色“”图标,创建一个新的component,然后对新的组件进行配置。


对new component进行一个配置,包含“Vendor”、”Class”、”Group”、“Sub-group”、“Variant”、”Version”。其中“Sub-group”和“Variant”为可选,可以不填。




点击OK后,将产生一个新的component——“This is a LVGL pack”,接下来就是把源文件添加到pack中,步骤如下:

1

点击选中新建的component

2

选中后的component底色会变为灰色,点击右上角图标。

3

勾选需要添加的文件。

4

选好文件后点击<Add>,右边方框内会看到已添加好的文件,这时候还可以对各个文件进行属性的修改和移除。



按照上述步骤完成后,还需要添加头文件的包含路径,点击下方绿色“+”图标进行添加。



点击OK后,显示如下,此时勾选刚刚新建的component,直接点击Finish



在安装目录下,可以找到刚才新建的 LVGL.GUI_test.4.3.0.pack



返回FSP Configuration视图,Components选项卡下,已经可以显示上面新建的pack。此时,可以直接勾选使用。



4

声明pack


上一章节中,已经生成了pack,但是e2 studio还不能直接对pack进行配置和使用。所以需要对pack进行一些声明和配置。可以从以下路径找到上述生成的pack:

C:\Users\xxxxxx\.eclipse\com.renesas.platform_1605949689\internal\projectgen\ra\packs


这个路径可以从e2 studio里面的help→Installation Details→Support Folders的e2 studio support area进去用7z或者其他压缩软件打开pack,其中内容如下图所示。其中ra文件夹下,就是第二章里所添加的源代码,已经被打包在里面。Pack里面的xxx.pdsc文件为component的所有描述信息。



为了pack使用方便,需要给pack新建一个.module_descriptions的文件夹,然后在这个文件夹下面建一个AA##BB##CC##DD##EE##FF.xml文件。这个文件的名字必须与新建component时所填的内容一致,各个字段要对应,并且用“##”隔开。没有内容的字段,对应的文件名可以不填,如EE不填,名字为AA##BB##CC##DD####FF.xml。



最终pack的所有文件应该如下:



修改pack中的tooling_Support.xml文件,添加module descriptions路径的描述。最终内容如下:



至此,一个完整的pack已经创建好。


Tips 1

如果直接打开pack不能直接新建.module_descriptions和.xml文件,可以先解压pack,再新建文件夹和文件,最后再压缩成zip,后缀改成.pack即可。



Tips 2

如果已经忘记了新建的component的名字,可以打开pack中的xxx.pdsc文件,里面会有component的名字显示。



Pack生成后还有一个比较重要的事情,就是xml文件的编写。后续继续介绍xml文件是如何对代码产生影响的,以及一些使用注意事项。且看下回分解。


您可复制下方网址到浏览器中打开进入瑞萨中文论坛查看:

https://community-ja.renesas.com/zh/forums-groups/mcu-mpu/


未完待续


推荐阅读

RA6快速设计指南系列文章合集

基于RA6M3的ThreadX+GUIX HMI教程

资料分享 | DShanMCU-RA6M5开发板学习资料

更多精彩内容,请点击

评论
  • 01. 什么是过程能力分析?过程能力研究利用生产过程中初始一批产品的数据,预测制造过程是否能够稳定地生产符合规格的产品。可以把它想象成一种预测。通过历史数据的分析,推断未来是否可以依赖该工艺持续生产高质量产品。客户可能会要求将过程能力研究作为生产件批准程序 (PPAP) 的一部分。这是为了确保制造过程能够持续稳定地生产合格的产品。02. 基本概念在定义制造过程时,目标是确保生产的零件符合上下规格限 (USL 和 LSL)。过程能力衡量制造过程能多大程度上稳定地生产符合规格的产品。核心概念很简单:
    优思学院 2025-01-12 15:43 90浏览
  • 说到福特,就要从亨利·福特(Henry Ford)这个人物说起。在发明大王爱迪生的电气工厂担任工程师的福特下班后,总是在自家仓库里努力研究和开发汽车。1896年,福特终于成功制造出一辆三轮车,开启了福特汽车的传奇。最初几年,福特都是独自制造汽车并同时进行销售。 (今天很多人都知道的精益管理中的5S方法,或多或少地受到了福特 CANDO方法的影响。)1903年,福特从牧师、律师、银行家、会计师等十一位股东那里筹集了十万美元,并在自家庭院成立了美国第五百零三家汽车公司——福特汽车公司(Fo
    优思学院 2025-01-10 11:21 29浏览
  • LVGL(Light and Versatile Graphics Library)是一个免费的开源图形库,旨在为各种微控制器(MCU)和微处理器(MPU)创建美观的用户界面(UI)。LVGL可以在占用很少资源的前提下,实现丝滑的动画效果和平滑滚动的高级图形,具有轻量化、跨平台可用性、易于移植、操作友好以及免费使用等诸多优势。近期,飞凌嵌入式为OK3506J-S开发板移植了最新9.2版本的LVGL,支持多种屏幕构件以及鼠标、键盘、触摸等多种输入方式, 能够带来更加友好的操作界面;同时,启动速度也
    飞凌嵌入式 2025-01-10 10:57 24浏览
  • 随着通信技术的迅速发展,现代通信设备需要更高效、可靠且紧凑的解决方案来应对日益复杂的系统。中国自主研发和制造的国产接口芯片,正逐渐成为通信设备(从5G基站到工业通信模块)中的重要基石。这些芯片凭借卓越性能、成本效益及灵活性,满足了现代通信基础设施的多样化需求。 1. 接口芯片在通信设备中的关键作用接口芯片作为数据交互的桥梁,是通信设备中不可或缺的核心组件。它们在设备内的各种子系统之间实现无缝数据传输,支持高速数据交换、协议转换和信号调节等功能。无论是5G基站中的数据处理,还是物联网网关
    克里雅半导体科技 2025-01-10 16:20 70浏览
  • Snyk 是一家为开发人员提供安全平台的公司,致力于协助他们构建安全的应用程序,并为安全团队提供应对数字世界挑战的工具。以下为 Snyk 如何通过 CircleCI 实现其“交付”使命的案例分析。一、Snyk 的挑战随着客户对安全工具需求的不断增长,Snyk 的开发团队面临多重挑战:加速交付的需求:Snyk 的核心目标是为开发者提供更快、更可靠的安全解决方案,但他们的现有 CI/CD 工具(TravisCI)运行缓慢,无法满足快速开发和部署的要求。扩展能力不足:随着团队规模和代码库的不断扩大,S
    艾体宝IT 2025-01-10 15:52 151浏览
  • 新年伊始,又到了对去年做总结,对今年做展望的时刻 不知道你在2024年初立的Flag都实现了吗? 2025年对自己又有什么新的期待呢? 2024年注定是不平凡的一年, 一年里我测评了50余块开发板, 写出了很多科普文章, 从一个小小的工作室成长为科工公司。 展望2025年, 中国香河英茂科工, 会继续深耕于,具身机器人、飞行器、物联网等方面的研发, 我觉得,要向未来学习未来, 未来是什么? 是掌握在孩子们生活中的发现,和精历, 把最好的技术带给孩子,
    丙丁先生 2025-01-11 11:35 76浏览
  • 根据Global Info Research(环洋市场咨询)项目团队最新调研,预计2030年全球无人机电池和电源产值达到2834百万美元,2024-2030年期间年复合增长率CAGR为10.1%。 无人机电池是为无人机提供动力并使其飞行的关键。无人机使用的电池类型因无人机的大小和型号而异。一些常见的无人机电池类型包括锂聚合物(LiPo)电池、锂离子电池和镍氢(NiMH)电池。锂聚合物电池是最常用的无人机电池类型,因为其能量密度高、设计轻巧。这些电池以输出功率大、飞行时间长而著称。不过,它们需要
    GIRtina 2025-01-13 10:49 63浏览
  • 随着全球向绿色能源转型的加速,对高效、可靠和环保元件的需求从未如此强烈。在这种背景下,国产固态继电器(SSR)在实现太阳能逆变器、风力涡轮机和储能系统等关键技术方面发挥着关键作用。本文探讨了绿色能源系统背景下中国固态继电器行业的前景,并强调了2025年的前景。 1.对绿色能源解决方案日益增长的需求绿色能源系统依靠先进的电源管理技术来最大限度地提高效率并最大限度地减少损失。固态继电器以其耐用性、快速开关速度和抗机械磨损而闻名,正日益成为传统机电继电器的首选。可再生能源(尤其是太阳能和风能
    克里雅半导体科技 2025-01-10 16:18 48浏览
  • ARMv8-A是ARM公司为满足新需求而重新设计的一个架构,是近20年来ARM架构变动最大的一次。以下是对ARMv8-A的详细介绍: 1. 背景介绍    ARM公司最初并未涉足PC市场,其产品主要针对功耗敏感的移动设备。     随着技术的发展和市场需求的变化,ARM开始扩展到企业设备、服务器等领域,这要求其架构能够支持更大的内存和更复杂的计算任务。 2. 架构特点    ARMv8-A引入了Execution State(执行状
    丙丁先生 2025-01-12 10:30 67浏览
  • 随着数字化的不断推进,LED显示屏行业对4K、8K等超高清画质的需求日益提升。与此同时,Mini及Micro LED技术的日益成熟,推动了间距小于1.2 Pitch的Mini、Micro LED显示屏的快速发展。这类显示屏不仅画质卓越,而且尺寸适中,通常在110至1000英寸之间,非常适合应用于电影院、监控中心、大型会议、以及电影拍摄等多种室内场景。鉴于室内LED显示屏与用户距离较近,因此对于噪音控制、体积小型化、冗余备份能力及电气安全性的要求尤为严格。为满足这一市场需求,开关电源技术推出了专为
    晶台光耦 2025-01-13 10:42 67浏览
  • 电动汽车(EV)正在改变交通运输,为传统内燃机提供更清洁、更高效的替代方案。这种转变的核心是电力电子和能源管理方面的创新,而光耦合器在其中发挥着关键作用。这些不起眼的组件可实现可靠的通信、增强安全性并优化电动汽车系统的性能,使其成为正在进行的革命中不可或缺的一部分。光耦合器,也称为光隔离器,是一种使用光传输电信号的设备。通过隔离高压和低压电路,光耦合器可确保安全性、减少干扰并保持信号完整性。这些特性对于电动汽车至关重要,因为精确控制和安全性至关重要。 光耦合器在电动汽车中的作用1.电池
    腾恩科技-彭工 2025-01-10 16:14 52浏览
  • 在不断发展的电子元件领域,继电器——作为切换电路的关键设备,正在经历前所未有的技术变革。固态继电器(SSR)和机械继电器之间的争论由来已久。然而,从未来发展的角度来看,固态继电器正逐渐占据上风。本文将从耐用性、速度和能效三个方面,全面剖析固态继电器为何更具优势,并探讨其在行业中的应用与发展趋势。1. 耐用性:经久耐用的设计机械继电器:机械继电器依靠物理触点完成电路切换。然而,随着时间的推移,这些触点因电弧、氧化和材料老化而逐渐磨损,导致其使用寿命有限。因此,它们更适合低频或对切换耐久性要求不高的
    腾恩科技-彭工 2025-01-10 16:15 55浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦