软件|嵌入式开发:每个嵌入式 GUI 开发人员都需要的5项技能

软件|嵌入式开发:每个嵌入式 GUI 开发人员都需要的5项技能

文章图片


【软件|嵌入式开发:每个嵌入式 GUI 开发人员都需要的5项技能】图形用户界面(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 或120Hz 。 但是 , 如果显示器不需要更新 , 为什么还要推动帧速率呢?如果不需要更改显示 , 则可以无所事事地节省CPU 时钟周期和电池寿命!