图形用户界面 (GUI) 在嵌入式系统中变得越来越流行。可穿戴技术、工业设备、商用厨房甚至家用电器都需要方便且连接的界面,在设备上使用具有现代和复杂用户体验 (UX) 的 GUI 为许多企业的用例打开了大门,但如果嵌入式开发团队没有合适的技能组合,它也会给设计带来意想不到的挑战。
今天的文章将探讨每个嵌入式 GUI 开发人员成功所需的五项基本技能。
技能 #1 – 图形驱动技能
任何团队在设计嵌入式 GUI 时都会考虑的最后一项技能,但也许是最重要的技能之一,那就是图形驱动程序技能。 图形驱动程序是直接与微控制器或微处理器图形外设接口的软件,负责在 LCD 上绘制用户看到并与之交互的图像。图形驱动程序是从渲染引擎获取图像数据并告诉处理器它正在绘制什么的代码。
今天一个好的嵌入式 GUI 工具通常会为开发人员处理图形驱动程序,开发人员需要一个与硬件无关的渲染引擎,大部分繁重的工作都是为他们完成的。今天的嵌入式行业有几个示例,比如 Storyboard ,Storyboard 的渲染引擎 90% 与硬件无关,并且独立于硬件板支持包 (BSP)。有一小部分是为特定硬件编写的,用于优化渲染并利用特定硬件目标中的加速器。引擎本身为开发人员处理图形驱动程序。
既然 Storyboard 处理开发人员的绘图和图形,为什么具有图形驱动技能仍然很重要? GUI 嵌入式开发人员应该了解幕后发生的事情,以便他们能够解决实施过程中出现的任何问题,利用任何额外的优化,并熟悉渲染引擎的工作原理。
技能 #2 – 跟踪和调试
今天的嵌入式系统很复杂,某些事情无法按预期工作的可能性相对较高,因此,拥有跟踪和调试技能至关重要,一个好的调试器可以提取数据、观察行为、假设并最终改进系统行为。
为了最大限度地减少调试时间,开发人员还应该熟练掌握跟踪技术。GUI 开发人员可以使用几种不同类型的跟踪技术。首先,微控制器上提供通用跟踪工具,例如 Arm 微控制器上提供的串行线输出 (SWO) 和串行线调试 (SWD) 接口。这些提供高级用户可配置的跟踪功能。接下来,可以使用软件跟踪技术,例如仪器跟踪宏单元 (ITM) 和嵌入式跟踪宏 (ETM)。 ITM 允许开发人员使用 printf 语句自定义跟踪数据,而 ETM 为 CPU 执行的每条指令提供指令跟踪。到目前为止,这些都是通用的嵌入式软件跟踪技术。
嵌入式 GUI 引擎应该具有内置的日志记录和跟踪功能,以帮助开发人员。 日志和跟踪通常通过插件添加到 GUI 引擎,以配置接收跟踪数据的方式。 开发人员通常可以通过调试工具将数据记录到文件、内存地址等。 一般来说,开发人员需要成功访问两种类型的数据:性能和指标。通过访问这些数据,嵌入式开发人员可以了解重要信息,例如:
渲染引擎性能
图像加载时间
每秒帧数
CPU使用率
内存使用情况
然后,开发人员可以使用此信息来解决问题或通过优化提高系统性能。
技能 #3 - 优化
今天的嵌入式系统已经变得非常强大,但它们仍然是资源受限的系统。 它们可能在处理能力、内存或电池寿命方面受到资源限制。 许多系统都需要优化,而 GUI 可以在确保系统高效、优化并适合其最终目的方面发挥巨大作用。
在优化用户体验方面,可以做很多事情。第一个优化是利用事件驱动的软件架构,事件驱动的架构只在必要时才做一些事情!例如,我见过许多系统尝试将特定帧速率推送到显示器,例如 60 或 120 Hz。但是,如果显示器不需要更新,为什么还要推动帧速率呢?如果不需要更改显示,则可以无所事事地节省 CPU 时钟周期和电池寿命!
另一个可以应用的有用优化是使用未压缩的 TGA 直接从闪存中绘制图像。没有压缩的PNG,嵌入式开发人员可以直接从闪存中提取到他们的渲染缓冲区,从而降低内存成本并节省大量时钟周期。
优化用户体验和驱动它的软件/硬件系统可能会对系统产生深远的影响。此外,考虑到可穿戴设备甚至需要满足特定能耗要求的家用电器的能耗最小化至关重要,优化技能也至关重要。
技能#4——管理期望
开发人员几乎总是忽略的一项简单技能是正确管理期望。如果我们不能正确地管理期望,原本被认为是成功的项目可能会突然被用户或项目利益相关者视为失败。
开发人员需要小心地正确管理其利益相关者的期望!这些利益相关者可能是项目经理、高层管理人员,甚至是最终客户,这是一项微妙但必要的技能。
开发人员需要这种管理期望的能力。设定一个可以满足的合理期望,然后如果时间允许,让利益相关者惊叹并让他们感到兴奋!
技能 #5 - 平面设计
最终的技能组合无疑是许多读者期望的第一技能! GUI 开发人员需要具备图形设计技能。他们需要了解哪些颜色效果好,不仅在视网膜显示器上,而且在资源受限、微控制器驱动的面板上!
开发人员需要能够设计和构建美观且用户友好的图形界面,平面设计是一项有时必须从平面设计专家那里借来的技能,但是,开发人员通常仍需要根据嵌入式系统的运行方式来调整和调整艺术品。
要成功开发具有用户界面的嵌入式系统,嵌入式开发人员和/或团队必须具备这五项基本技能。 找到一名具备所有这些技能的工程师通常具有挑战性,但利用队友和外部资源可以极大地帮助提高成功的机会。
发表评论 取消回复