《Qt:2022嵌入式产品开发规划及要求指南(42页).pdf》由会员分享,可在线阅读,更多相关《Qt:2022嵌入式产品开发规划及要求指南(42页).pdf(42页珍藏版)》请在三个皮匠报告上搜索。
1、1 Qt 公司|嵌入式产品开发规划及要求指南CLICK TO START嵌入式产品开发 规划及要求指南2 Qt 公司|嵌入式产品开发规划及要求指南前言现在是开发嵌入式产品的黄金时代。大量的开源软件技术栈、社区资源、芯片和电子组件,让我们可以在最短时间内开发出画面精美、功能丰富的产品。但矛盾的是,面对海量技术选择,如果没有明确且坚定的技术选型标准,可能会使软件开发工作陷入海量的非生产性学习和研究中。更糟糕的是,技术路线押宝错误可能会迫使工程团队返工而延迟新产品上市或过早淘汰刚发布不久的产品。为简化物联网(IoT)或嵌入式项目开始时的信息过载,我们研究了各种最重要的评判标准,列出了最常用技术清单,
2、并以易于比较的方式对其进行评级分类。我们衷心希望本指南可以降低您开发新产品时的工作量和风险。OUR METHODOLOGY4SETTING THE SCOPE6DEVELOPMENT PROCESS13SOFTWARE STACK21HARDWARE29WRAP-UP393 Qt 公司|嵌入式产品开发规划及要求指南目录我们的方法论设定范围确定开发流程选择软件选择硬件总结SETTING THE SCOPEDEVELOPMENT PROCESSSOFTWARE STACKHARDWAREWRAP-UP4 Qt 公司|嵌入式产品开发规划及要求指南我们的方法论您如何开发新的嵌入式或物联网设备?传统的方
3、法相对简单:概述需求、设计硬件板、并为其开发运行软件。但是,今天这一方式不再奏效。竞争激烈、市场窗口短、客户期望高。这些压力导致两个直接影响。首先是现在软件决定了产品设计,而非硬件。这是因为软件开发需要大量的时间和资源,并可以成就或破坏设备的整体用户体验。其次,公司必须比以往任何时候都更加灵活,需要随机应变。要开发现代嵌入式产品,您需要采取四个非常重要的步骤。设定范围我们的方法论确定开发流程选择软件选择硬件总结设定范围我们的方法论确定开发流程选择软件选择硬件总结1324SETTING THE SCOPEDEVELOPMENT PROCESSSOFTWARE STACKHARDWAREWRAP-
4、UP5 Qt 公司|嵌入式产品开发规划及要求指南设定范围。选择软件。确定开发流程。选择硬件。产品的软件技术栈决定能力范围及平台适配范围。选择的软件应支持最广泛的硬件平台,且具备可靠的支持和维护计划,同时对库或组件的外部依赖最少,并且具有行业标准、稳定的 API 和可重用组件。与传统方法一样,先编写您的市场需求文档以描述产品的功能集和可用性。必须确保与高层管理者、市场营销部门、技术支持和开发团队一起认真讨论该产品的软件可能扩展的范围。确保您已与客户交流,并了解您的竞争对手。您将基于所有这些信息,提出一些具有“前瞻性”特性,并将它们纳入到需求文档中。选择满足您要求并且兼容软件的硬件平台。成本、可靠
5、性和可靠交付是传统标准;可以同时向上和向下扩展的硬件平台是一个加分项。理解软件开发者、UX 设计师和硬件工程师之间的互动方式。确保您开发的工具和工作流程支持高效可靠的产品开发,以及团队快速行动和快速适应的能力。设定范围确定开发流程选择软件选择硬件总结我们的方法论OUR METHODOLOGYDEVELOPMENT PROCESSSOFTWARE STACKHARDWAREWRAP-UP6 Qt 公司|嵌入式产品开发规划及要求指南设定范围在编写第一行代码或选择第一个组件之前,您需要回答许多嵌入式项目的相关问题。这些问题可以归结为:项目的整体范围是什么?今天所做的选择能否支撑未来的产品路线图?如果
6、不了解项目涉及的方方面面,您可能会浪费大量时间来重新设计和改造。本节涵盖了在预规划阶段需确定的重大选择,包括您可能未考虑过的选项。设定范围我们的方法论确定开发流程选择软件选择硬件总结设定范围我们的方法论确定开发流程选择软件选择硬件总结设定范围OUR METHODOLOGYDEVELOPMENT PROCESSSOFTWARE STACKHARDWAREWRAP-UP7 Qt 公司|嵌入式产品开发规划及要求指南产品生命周期打造成功的产品是一回事。但是产品发布一段时间后,能否继续在动态市场中占一席之地是另一回事。您并不总是计划更新版本来添加新功能或修复 bug(这些都会迫使您淘汰硬件、更新网络安全
7、、改变用户预期)。产品维护需要可依赖的、稳定的软件组件。您需要寻找长期支持的软件版本,以避免非必要的强制性版本升级。如果正在开发最前沿的嵌入式产品,您肯定需要强大的跨平台支持,不用担心硬件淘汰或用户偏好改变。确定开发流程选择软件选择硬件总结我们的方法论设定范围OUR METHODOLOGYDEVELOPMENT PROCESSSOFTWARE STACKHARDWAREWRAP-UP8 Qt 公司|嵌入式产品开发规划及要求指南可重用性和跨平台什么时候需要抽象层好代码很难写,所以要在尽可能多的平台上实现重用。确定您的软件技术栈需要运行的处理器架构、硬件平台和操作系统。将软件的外部依赖集中到几个控
8、制良好的模块上,您会发现软件重用更加容易。软件组件不需要在所有平台的排列组合上都可以运行,但您肯定希望尽可能避免开发定制的变通方案。尽管支持开源非常棒,但不要为了确保项目支持所需的硬件/软件组合而被迫为开源模块做贡献。必须选择已经支持您所需平台的软件框架。如果从一开始就不使用跨平台兼容的软件框架,您可能需要创建抽象层来使软件免受不断变化的依赖项的影响。诚然,这需要额外的前期工作。但是,与事后修改整个代码库相比,尽早实现合理的抽象层可以节省大量时间。不是所有部分都需要抽象层,专注于那些在更换硬件、操作系统或第三方组件时最有可能发生变化的部分。不要试图使其完美,因为无论设计有多深思熟虑,抽象层可能
9、无法兼容将来所有的变化。开发目标发生变化时再作微调也没关系的。设定范围我们的方法论确定开发流程选择软件选择硬件总结我们的方法论确定开发流程选择软件选择硬件总结设定范围OUR METHODOLOGYDEVELOPMENT PROCESSSOFTWARE STACKHARDWAREWRAP-UP9 Qt 公司|嵌入式产品开发规划及要求指南国际化按语言分类的国内生产总值(GDP)您是否打算将产品限制在一种语言或区域内?肯定不会,除非您可以脱离全球受众且放弃扩大市场份额的能力。即便初始发行版仅提供英文版本,也请确保开发代码使用的语言、工具和 UI 框架能够很容易实现国际化(i18n)转换。您需要可以为
10、开发者和翻译人员提供直观可溯源的字符串常量以及与业务逻辑分离的 UI。荷兰语 1%印尼语 1.1%朝鲜语 1.4%阿拉伯语 2%印地语 2.1%俄语 2.1%意大利语 2.9%葡萄牙语 3.4%法语 4.2%德语 4.9%西班牙语 5.2%日语 5.6%英语 28.2%其他 13.1%汉语 22.8%最新可查估算:Unicode Technical Note#13。确定开发流程选择软件选择硬件总结我们的方法论设定范围OUR METHODOLOGYDEVELOPMENT PROCESSSOFTWARE STACKHARDWAREWRAP-UP10 Qt 公司|嵌入式产品开发规划及要求指南通信、可
11、更新性和安全性众所周知,当今大多数嵌入式设备都需要通信,尤其是支持安全补丁、bug 修复和功能更新的 OTA 升级功能。需要明确更新是由设备、后台、用户,还是三者组合推动。尽管许多开发者试图创建自己的 OTA 更新方案,但这里有一定的复杂性和严重后果,因此强烈建议改用商用成熟的解决方案。如果选择开源,请确保所选项目不仅支持您的硬件,并在其发展规划中承诺积极维护。此外,请务必规划 OTA 解决方案所需的额外存储空间,有些功能将增加您的Flash 占用空间一倍以上。通信需要软件安全,并且该安全功能必须是内置形式,而非外挂形式。在上传文件、用户输入和网络连接时,应保护软件免受最坏情况的影响。确保您的
12、软件工程师接受过网络安全最佳实践方面的培训,并在需要时与网络安全专家合作。硬件也需要安全检查:不要在生产系统上暴露那些专门为开发、调试或测试过程而添加的端口或组件,并确保您使用硬件锁和安全功能(如 Secure Core 或 TrustZone)。查找 以下 OTA 功能防 止 OTA 滥 用 的验证和加密措施补丁验证、镜像验证以及重试机制,实现可靠发布自动生成补丁的集成构建工具跟踪现场软件版本和更新尝试的诊断报告差分计算和压缩,包的大小最小化交付节流和变体分段以降低服务器负载处理不良部署紧急情况的回滚功能设定范围我们的方法论确定开发流程选择软件选择硬件总结我们的方法论确定开发流程选择软件选择
13、硬件总结设定范围OUR METHODOLOGYDEVELOPMENT PROCESSSOFTWARE STACKHARDWAREWRAP-UP11 Qt 公司|嵌入式产品开发规划及要求指南配套的移动端应用因为随处可见的智能手机,当今的嵌入式设备都会配有提供远程访问的移动端应用,它可以为公司提供联系客户的新途径。但是,在不同的平台上编写两个独立应用程序会使工作量加倍。这意味着无论开发者认为 Swift 或 Kotlin 在移动开发上多有吸引力,选择同时适用于苹果、安卓和嵌入式平台的单一语言和工具链肯定是最简单的。这样,您只需创建一次移动应用程序,就可以在所有设备之间共享开发资源、图形素材、可用性
14、设计和代码库了。确定开发流程选择软件选择硬件总结我们的方法论设定范围OUR METHODOLOGYDEVELOPMENT PROCESSSOFTWARE STACKHARDWAREWRAP-UP12 Qt 公司|嵌入式产品开发规划及要求指南云计算及更多功能您知道吗?当然,您的物联网或嵌入式产品还要考虑添加许多其它功能。例如功能向云端迁移分别在设备端和云端实现设备功能,让您可以即时向每个现场产品添加功能,并将部分产品逻辑和资源迁移到可伸缩的替代方案。集成人工智能(AI)收集有关硬件故障、日志信息和使用模式的数据,并使用机器学习来构建界面更友好、行为更智能的产品。数字孪生收集设备状态信息,从而可在
15、台式机或移动设备上显示虚拟的物理设备。区块链使用可验证、不可更改且可信的跨系统交易记录增加数据保护。尽管区块链通常用于货币,但当可信数据存储至关重要时,它也可应用于嵌入式设备:记录传感器数据以供合规和监管审查 验证消息以进行第三方身份验证 记录防篡改数据以进行流程监督 存储用于认证的制造信息 共享校准记录以确保测量可靠性设定范围我们的方法论确定开发流程选择软件选择硬件总结我们的方法论确定开发流程选择软件选择硬件总结设定范围OUR METHODOLOGYSETTING THE SCOPESOFTWARE STACKHARDWAREWRAP-UP13 Qt 公司|嵌入式产品开发规划及要求指南确定开
16、发流程项目开始时的目标应该是开发工作流程,在不牺牲(甚至提高)质量的情况下缩短开发时间。这包括简化四项主要职能之间的流程:用户体验设计、软件开发、硬件工程和质量保证(QA)。还要考虑更好的工具、协作设计和敏捷方法。设定范围确定开发流程选择软件选择硬件总结我们的方法论确定开发流程OUR METHODOLOGYSETTING THE SCOPESOFTWARE STACKHARDWAREWRAP-UP14 Qt 公司|嵌入式产品开发规划及要求指南软件开发您希望软件开发工具链易于学习且使用高效,以便新人可以快速上手,而经验丰富的开发者可以快速编写高质量代码。您的工具应产生最佳结果:二进制文件小、执行
17、速度快,以及运行时资源消耗低。尽管有许多出色的开源工具可选,但如果有助于简化开发流程,请不要犹豫在工具上花钱,这是值得投资的。确保在开发工作中选择正确的工具,以便团队能获得新的编程范例、更高效的开发方式、对新硬件的支持以及非常重要的 bug 修复。在选择有效的第三方工具时,请确保您所依赖的软件工具更新不会太快或不可预测,导致开发过程中产生额外的磨合期。向同一供应商采购大多数工具可以最大限度地减少团队之间的分发和兼容性问题。高效且稳定的工具设定范围我们的方法论确定开发流程选择软件选择硬件总结设定范围我们的方法论选择软件选择硬件总结确定开发流程OUR METHODOLOGYSETTING THE
18、SCOPESOFTWARE STACKHARDWAREWRAP-UP15 Qt 公司|嵌入式产品开发规划及要求指南构建过程是软件开发中的无名英雄:它保证了一致、可靠和可追踪的软件版本。尽管几乎每个构建系统都会有自研的模块,但请尽量使您的构建工具和脚本符合行业标准和常用工具。其他机构已解决了您团队遇到的问题 不要害怕使用这些工具。缺乏适当的测试框架可能会扼杀项目。您越依赖测试工具套件来满足对测试架构和持续集成(CI)的需求,则手动创建的需求就越少。使用现成商业版或开源版工具的另一个重要好处是,与您自己开发的解决方案相比,这些工具功能丰富并维护得当。不要节省测试时间,因为在集成调试之前和交付客户之
19、前发现问题要非常重要。构建测试设定范围选择软件选择硬件总结我们的方法论确定开发流程OUR METHODOLOGYSETTING THE SCOPESOFTWARE STACKHARDWAREWRAP-UP16 Qt 公司|嵌入式产品开发规划及要求指南UX 设计和 UX 工作流程用户体验(UX)是当今产品最显著的差异化部分。当人们获得良好体验时,就会忠于品牌。完美的用户界面必须同时结合设计师和开发者的创造力;他们还要拥有一个能够在一个项目中同时支持双方技能并行工作的框架。设计和开发的敏捷工作流程如果能避免以下几种浪费时间的场景,就能更快地构建更好的产品:开发者重新实现的设计画面 因误解规格或交接
20、不完整导致的设计错误 传统 UX 工作中的僵化流程扼杀了可用性设计师需要使用趁手的工具来创造、可视化和原型化最重要的用户体验。您希望这些工具支持用户界面(UI)和业务逻辑的明确分离,以便设计师可以在整个软件开发过程中测试和改进 UI 设计。在 公 司 内 部 实 现 流 畅 的 UX 工作流程需要正确的上海品茶。阅读此白皮书,深入探讨用户体验如何对项目的成功至关重要,以及如何在公司内部培养支持用户体验的文化。在项目早期阶段就创建能在实际目标硬件上运行的设计原型,这可以消除不必要的部门间反馈迭代。在真实的嵌入式硬件上运行 UI 设计可让设计师确认真实的视觉品质,例如屏幕大小、纵横比和色彩深度。更
21、重要的是,这提供了有关性能的即时反馈。由于 UI 设计理念受到手机等移动设备的影响,而这些设备会比真正的嵌入式设备的性能好很多,因此设计师可以了解其 UI是否过渡占用资源或性能不佳,以便在设计完成前对其进行调整。设定范围我们的方法论确定开发流程选择软件选择硬件总结设定范围我们的方法论选择软件选择硬件总结确定开发流程OUR METHODOLOGYSETTING THE SCOPESOFTWARE STACKHARDWAREWRAP-UP17 Qt 公司|嵌入式产品开发规划及要求指南集成开发环境软件开发者会在集成开发环境(IDE)上投入大量时间进行编码、测试和调试。但是一个好的 IDE 还需要更多
22、功能:集成化寻找能够支持整个软件开发过程的完全集成工具 设计、编写、构建、调试、分析、测试、本地化和部署。有了可与真实设备配合并具备某种形式的目标仿真的集成开发环境,即便没有足够的原型硬件可用也能让开发继续进行。GUI 设计设计师使用 WYSIWYG(所见即所得)工具创建产品的图形用户界面(GUI),以构建带有控件和视觉元素的画面。您的 IDE 应直接支持图形用户界面的设计,无论在工作站上还是目标平台上。这将节省大量时间,尤其是在原型设计和可用性微调期间。找到一个允许设计师未经特殊培训就能构建 UI 的环境也是必要的。设定范围选择软件选择硬件总结我们的方法论确定开发流程OUR METHODOL
23、OGYSETTING THE SCOPESOFTWARE STACKHARDWAREWRAP-UP18 Qt 公司|嵌入式产品开发规划及要求指南寻找可以与设计工具(例如 Adobe Photoshop、Autodesk 3dsMax、Blender,Figma、Maya、Modo 或 Sketch)集成的IDE,以便艺术家们可以将这些素材直接添加到项目中。如果这些工具还可以导入 UI 动作、动画和交互,则就可以让设计团队直接指定这些 UI 元素,而不是由开发者重新实现。版本控制和构建系统可能不起眼,但对于可靠的软件和高效的开发环境而言绝对必不可少。IDE 直接集成各种版本控制系统和构建工具能让
24、开发者的工作更加轻松、高效。良好的插件生态系统可帮助 IDE 支持公司的工作流程和工具,开发者可以根据个人喜好适配和节省开发时间。用于静态代码分析和性能指标的插件为开发者提供了对其软件的关键洞察,以便对其进行修复和优化。素材导入项目管理扩展设定范围我们的方法论确定开发流程选择软件选择硬件总结设定范围我们的方法论选择软件选择硬件总结确定开发流程1472563OUR METHODOLOGYSETTING THE SCOPESOFTWARE STACKHARDWAREWRAP-UP19 Qt 公司|嵌入式产品开发规划及要求指南更少的 bug更好的网络安全性能提升更轻松快捷的升级附加功能更容易的跨系统
25、兼容性更好的第三方支持您将如何管理产品的维护版本?我们谈论的不是修复 bug 和功能更新,而是您使用的外部软件的变化。所有产品的依赖项(操作系统、驱动程序、库、框架和工具)都在以您无法控制的方式以自己的步调变化。这些可能会带来问题,例如失效的应用程序编程接口(API)、冲突的应用程序二进制接口(ABI)、不兼容的工具链和不推荐使用的软件。考虑将软件构建模块整合到您的应用中,即使在旧版本上也能提供长期支持、bug 修复和网络安全补丁。因此,您希望第三方工具拥有强大、蓬勃发展的开发者社区。保持最新软件的七个理由维护设定范围选择软件选择硬件总结我们的方法论确定开发流程OUR METHODOLOGYS
26、ETTING THE SCOPESOFTWARE STACKHARDWAREWRAP-UP20 Qt 公司|嵌入式产品开发规划及要求指南最后,选择大型生态系统。软件工具能否得到广泛支持在解决棘手问题、寻找现成并且兼容的库或招募人才方面等方面影响巨大。寻找在多个领域提供深度支持的解决方案:专业的在线论坛,stack overflow 关键字,git 示例代码库和职位搜索。您最爱的工具链拥有的插件、应用程序、命令行工具或第三方开发者越多,越有可能已有人创建了您需要的解决方案。它可以让您快速寻找到帮助,无论是详细的文档、API 示例、在线提示,甚至可以雇用外包服务。社区和文档软件堆栈组件的基本要素源
27、代码可用性无供应商锁定总拥有成本低快速上市蓬勃发展的开发者社区良好支持的工具生态系统设定范围我们的方法论确定开发流程选择软件选择硬件总结设定范围我们的方法论选择软件选择硬件总结确定开发流程OUR METHODOLOGYSETTING THE SCOPEDEVELOPMENT PROCESSHARDWAREWRAP-UP21 Qt 公司|嵌入式产品开发规划及要求指南选择软件您产品的核心是软件。您使用的软件平台决定了产品功能的范围以及会带来的限制。我们来看看定义您开发环境的一些最流行选项。设定范围确定开发流程选择软件选择硬件总结我们的方法论$OUR METHODOLOGYSETTING THE S
28、COPEDEVELOPMENT PROCESSHARDWAREWRAP-UP22 Qt 公司|嵌入式产品开发规划及要求指南操作系统软件栈中最有影响力的组件可能是操作系统。您选择的操作系统决定了您可以将哪些软件整合到您的软件中。它还可以使某些任务变得容易,但也会使其他任务变得极其困难。(尽管远不及使用裸机并自己完成所有工作那么困难!)我们比较了嵌入式市场中最流行的八种操作系统:易于开发高效性确定性行为(实时)API通信图形硬件支持开源社区许可证价格定制及防护成本 排名最低,排名最高。请参考附录 A 中的首字母缩略词、缩写词对照表本电子书中的图表是一种快速简便的评估,它强调了软、硬件的重要性,而不
29、盲从快速变化的市场趋势,掌握了每个组件的核心本质。(随着发展速度的加快,无法随时全面更新这份指南。)这些图表的典型用例包括大型(工业、医疗、自动化)、中型(信息娱乐、白色家电、网亭)和小型应用程序(手持设备、物联网、可穿戴设备)。如果某个组件有多个版本,我们将列出功能最强大的发行版。我们选择了一些最受欢迎的硬件选项,但请与您的供应商联系,以获取更全面的产品清单。EmbeddedLinuxAndroidQNX NeutrinoRTOSGreenHillsINTEGRITYWind RiverVxWorksAmazonFreeRTOSwebOSWindowsfor IoT设定范围我们的方法论确定开
30、发流程选择软件选择硬件总结设定范围我们的方法论确定开发流程选择硬件总结选择软件POSIX POSIX POSIX POSIX FreeRTOS UWP POSIX UWPYes Yes No No No Yes Yes NoOUR METHODOLOGYSETTING THE SCOPEDEVELOPMENT PROCESSHARDWAREWRAP-UP23 Qt 公司|嵌入式产品开发规划及要求指南容器和虚拟机监控程序当今功能强大的处理器已为嵌入式带来了桌面和云端解决方案,包括两种细分产品软件架构的强大方法:容器和虚拟机监控程序。容器可以加快嵌入式项目的开发速度:使环境设置即时且一致,标准化测
31、试框架以及维护多个独立的工具/库配置。当在目标硬件上使用时,容器也可以成为一个非常不错的构建环节,因为它提供了简单的设备配置、方便的硬件供应商更新,可以对同一套代码库进行完美测试。虚拟机专门用于实现目标的安全保护,沙盒运行机制和独立运行功能。它们使您可以在一个芯片上同时运行多个操作系统(OS)。例如,您可以在 QNX Neutrino RTOS 或 GreenHills INTEGRITY RTOS 等操作系统上运行对系统至关重要或对安全至关重要的功能,在嵌入式 Linux等第二个操作系统上运行该产品的主 UI,并运行如安卓或 WebOS 等可下载的第三方应用程序的第三个操作系统。在构建具有功
32、能安全要求的设备时,虚拟机也发挥着重要作用。设定范围确定开发流程选择硬件总结我们的方法论选择软件/1/2OUR METHODOLOGYSETTING THE SCOPEDEVELOPMENT PROCESSHARDWAREWRAP-UP24 Qt 公司|嵌入式产品开发规划及要求指南语言在操作系统之上构建应用程序需要使用某种编程语言。每种编程语言都有其优势和劣势,它们深入开发过程并影响嵌入式应用程序的开发。这些限制包括每种语言可以支持的 GUI 类型。我们对嵌入式行业中最受欢迎的几种语言比较如下:嵌入式、裸机、物联网嵌入式、裸机、独立应用程序、物联网Web、云计算Web云计算、数据科学嵌入式、裸
33、机CC+JavaPython/MicroPythonJavaScript/HTML5/CSSRust设定范围我们的方法论确定开发流程选择软件选择硬件总结设定范围我们的方法论确定开发流程选择硬件总结选择软件优势易于开发表达能力易于维护Longevity运行时效率库/模块可用性低级接口(LLI)连接支持支持图形支持开发者社区 排名最低,排名最高。请参考附录 A 中的首字母缩略词、缩写词对照表1 包含平台库时,能提供高级别的连接和网络支持2 Java 开发者社区规模,不包括安卓时(低)和包括安卓时(高)OUR METHODOLOGYSETTING THE SCOPEDEVELOPMENT PROCE
34、SSHARDWAREWRAP-UP25 Qt 公司|嵌入式产品开发规划及要求指南GUI 框架技术栈中最重要部分之一是图形用户界面(GUI)。您使用的 GUI 框架不仅会影响应用程序的外观,还会影响其可以实现的功能、将产品推向市场的速度以及可以支持的平台。无论您能用他人预先构建和预先测试的代码做什么,您都不必自己设计、编写代码和测试。GUI 框架的关键特征是其跨平台功能。它支持多少个平台,并且能否始终支持所有平台?如果您要切换硬件,需要支持多种操作系统,或需要在嵌入式产品与移动、桌面配套应用之间共享源代码,则需要此功能。增长和变化不可避免,因此不要仅仅根据今天的平台需求来选择。寻找支持多种桌面操
35、作系统(Linux、MacOS、Windows)、移动操作系统(安卓、iOS)和嵌入式操作系统(QNX、INTEGRITY、Linux/Wayland、Linux/X11,UWP、VxWorks)以及众多硬件架构和平台的 GUI 框架。跨平台强大的跨平台 GUI 以多种方式助力您的产品上市时间。拥有丰富的预编译库、开发者导向的特性以及活跃支持社区的工具可以大大提高开发者的工作效率,并加速产品上市。统一的开发体验。优质的工具可以为用户提供相同的体验,无论他们使用什么平台,让他们能够一致地使用所有平台。代码重用。平台之间功能、API、构建环境和素材管理之间的一致性使开发者能轻松地在嵌入式,移动和桌
36、面解决方案之间移植代码。易于开发。平台之间功能、强大的跨平台工具链使开发者可以使用自己喜欢的环境(生产力更高),而不是强迫他们在每个受支持的目标上进行开发或构建。设定范围确定开发流程选择硬件总结我们的方法论选择软件OUR METHODOLOGYSETTING THE SCOPEDEVELOPMENT PROCESSHARDWAREWRAP-UP26 Qt 公司|嵌入式产品开发规划及要求指南组件语言开发支持外观:操作系统、框架、还是定制每个GUI框架不仅支持widget,还支持多种其他技术。也要在这里寻找多样性。寻找具有众多组件选项的框架,例如 2D 和 3D 设计和可视化、嵌入式浏览器、外围设
37、备支持、通用网络协议、国际化、全面的多媒体支持、数据库集成、传感器访问、图表等,任何可以帮助您的团队减少开发工作量的预编译库。框架可以提供适用于不同语言的 API,从而使您的开发团队可以选用其最高效的编程语言。它还为开发者提供了选择最佳编程语言的灵活性。例如,如果您的框架同时支持 C+和 Python,则团队可以在性能至上时选择 C+,而在开发速度优先时选择 Python。寻找自带 IDE 或提供 Visual Studio Code、Visual Studio 或 Eclipse 等流行 IDE 插件的 GUI 框架。您的 UI 必须易于设计、构建、测试和调试。专业的开发环境也是关键。关于产
38、品外观的优点总有争论。应该使用操作系统自带的组件,框架提供的控件还是自定义外观?不幸的是,并不是所有平台都能提供 UI,许多嵌入式产品都使用 Linux,而Linux 没有默认 UI。更不用说如果您的产品在多个操作系统上运行,则每个平台看起来都会不同。我们认为,选择一个被普遍理解、干净且有吸引力的 UI 通常是最好的整体折衷方案无论是由您自定义构建还是由框架提供。它将帮助整个产品系列保持一致的品牌外观。设定范围我们的方法论确定开发流程选择软件选择硬件总结设定范围我们的方法论确定开发流程选择硬件总结选择软件OUR METHODOLOGYSETTING THE SCOPEDEVELOPMENT P
39、ROCESSHARDWAREWRAP-UP27 Qt 公司|嵌入式产品开发规划及要求指南没有屏幕的嵌入式设备有意义吗?尤其对于物联网产品,答案通常为“是”。无显示屏产品将其UI 交付给用户的浏览器,从而使该产品仍能以低很多的成本提供出色的用户体验。您不必使用原始 HTML、CSS 和 JavaScript 构建网页,在当今这个时代,您不应该这样做。有很多 JavaScript 框架可以节省开发工作,实现有吸引力的、基于浏览器的用户界面。某些 GUI 框架甚至可以让您使用 WebGL 或 WebAssembly 导出其 UI 代码,这样即使非基于 Web 的 GUI 工具也可以提供基于浏览器的无
40、头体验。无头 UI设定范围确定开发流程选择硬件总结我们的方法论选择软件OUR METHODOLOGYSETTING THE SCOPEDEVELOPMENT PROCESSHARDWAREWRAP-UP28 Qt 公司|嵌入式产品开发规划及要求指南应用软件需要的不仅仅是 GUI。您的产品可能需要大量预构建和预测试的库:网络协议、JSON 和/或 XML 解析、机器学习、矩阵数学,快速傅立叶变换(FFT)、随机数生成器、密码学、多线程支持、图像处理、正则表达式、数据库支持等等。其中大多都不简单,代码越复杂,您越应该依赖经受住时间考验的软件,而不是自己编写。您也许能获得许多已包含在 GUI 框架中
41、的预包装库。您可能还需要整合众多受支持的外部库,例如 Boost、Apache Portable Runtime(APR)、NumPy、TensorFlow 或许多其他库,具体取决于您的实现语言。无论您需要什么功能,都需要寻找最小库集,这些库可以通过兼容且易于理解的 API 和出色的文档来全面满足您的需求。库设定范围我们的方法论确定开发流程选择软件选择硬件总结设定范围我们的方法论确定开发流程选择软件选择硬件总结设定范围我们的方法论确定开发流程选择软件选择硬件总结设定范围我们的方法论确定开发流程选择硬件总结选择软件OUR METHODOLOGYSETTING THE SCOPEDEVELOPME
42、NT PROCESSSOFTWARE STACKWRAP-UP29 Qt 公司|嵌入式产品开发规划及要求指南选择硬件既然我们研究了软件需求,是时候研究硬件了。许多产品功能和未来规划将具象您的硬件选择。例如,如果产品需要显示 3D 流体动画时,最好选择具有硬件加速的产品。如果需要快速的移动通信,则需要 WiFi 连接、USB 或两者兼备。如果它具有包含手势、触摸或语音等交互模型,则需要包含必要的硬件和传感器。让我们看一下需要考虑哪些硬件选项。设定范围确定开发流程选择软件选择硬件总结我们的方法论设定范围确定开发流程选择软件选择硬件总结我们的方法论OUR METHODOLOGYSETTING THE
43、 SCOPEDEVELOPMENT PROCESSSOFTWARE STACKWRAP-UP30 Qt 公司|嵌入式产品开发规划及要求指南嵌入式系统中的芯片能力跨度非常大,从具有 16 核的 3 GHz 64 位处理器和硬件加速的多显示器 4K 图形处理单元(GPU)到具有四个输入/输出(I/O)引脚的微型 8 位微处理器。此时,您应该对产品当前和将来的需求范围已有概念。选择一个初始的硬件集合,该集合可以涵盖您产品的需求,比如一个硬件家族。最好考虑同时具有高端和低端选项的系统和架构。选择可以在一个产品系列中的多个产品中重复使用的组件,充分利用这点将为您带来的更大采购数量。如果您行业制造的产品使
44、用寿命长,请确保您选择的零件在未来几年内都能持续供应。也就是说,请注意软件栈对硬件的最低处理,速度和内存要求。不要让成本缩减压力迫使您选择性能不足的硬件,因为在开发周期的后期进行强制性的硬件迁移会更加昂贵。产品线和可扩展性设定范围我们的方法论确定开发流程选择软件选择硬件总结设定范围我们的方法论确定开发流程选择软件总结选择硬件AMDIntelNXPRenesasTIEval boardKontron D3713-V4 mITXAvnet BOX NUC6CAYS AJLNXP i.MX 8 QuadMax MEK R-Car H3 Starter KitTI AM572x EVMSoC*AMD
45、Ryzen V1807BIntel Apollo Lake(Celeron J3455)NXP i.MX8R-CAR H3AM5728Memory4 DDR4,2 DIMM (up to 32GB),ECC option2GB onboard DDR (up to 8GB),32GB eMMCLPDDR4(x64),32GB eMMC384K sys RAM,DDR4,80MB onboard flash,8GB eMMC,microSD2GB DDR3L,4GB eMMC,microSDPeripheralsHDMI,4 x DP+,4K,Vega GPU,PCIe,SATA,audio,G
46、igE,USB 3.1+2.0HDMI,Intel HD 500 GPU,audio,GigE,PCIe,SATA,USB 3.0+2.0,WiFi ac,BT,MIPI,LVDS,4K,PMIC,GPU,PCIe,audio,GigE,USB 3.0,CAN,up to 4 HDMI displays HDMI,PowerVR GPU,LVDS,WiFi,BT,audio,Eth 10/100,USB 2.07 capacitive touch screen,HDMI,audio,PowerVR GPU,GigE,SATA,MiniPCIe,USB 3.0Architecturex86-64
47、x86-64ARM-64ARM-64ARM-32Processing powerV1807B x 4 core 3.8GHzJ3455 x 4 core 1.5GHzA72 x 2 core 1.6 GHz;A53 x 4 core 1.2 GHz;M4 x 2 core 266 MHzA57 x 4 core 1.5 GHz;A53 x 4 core 1.2 GHzA15 x 2 core 1.5GHz,M4 x 2 coreUse casesLargeLargeLargeLargeMediumPower drawLongevityUnique featuresUp to 4 display
48、s 4KNUC is mini-PC,but SoC is embedded-compatibleAccel,gyro,pressure,light sensorsAutomotive,EAVB,440 pin expansionCamera option,2 x C66x DSPsOUR METHODOLOGYSETTING THE SCOPEDEVELOPMENT PROCESSSOFTWARE STACKWRAP-UP31 Qt 公司|嵌入式产品开发规划及要求指南SoC/CPU片上系统(SoC)的中央处理器(CPU)可能是嵌入式系统中最重要、影响最大和最昂贵的硬件组件。它还可以将您锁定在
49、整个产品系列的决策中。下表列举了一些功能最强大、最受欢迎的现成SoC评估板。排名最低,排名最高。请参考附录 A 中的首字母缩略词、缩写词对照表*SoC 可能包含评估板未公开的其他功能。设定范围确定开发流程选择软件总结我们的方法论选择硬件BroadcomIntelNvidiaRockchipTIQualcommSBCRaspberry Pi 4 Model BRadxa Rock Pi XJetson TX2Pine64 ROCKPro64BeagleBoard X-15Arduino Yn 2SoC*Intel Cherry TrailTegra X2Rockchip RK3399 SOCSi
50、tara AM5728QC Atheros AR9331Memory8GB RAM,microSD4GB RAM,32GB flash,microSD8GB RAM,32GB eMMCLPDDR4(up to 4GB),eMMC,microSD2GB RAM,4GB flash,microSD64MB RAM,16MB flash,microSDPeripheralsHDMI,4K,MIPI,VideoCore VI GPU,WiFi ac,GigE,USB 3.0+2.0,BT 5.0Intel Gen8 GPU,HDMI,audio,WiFi ac,GigE,USB 3.0+2.0,BT
51、4.2HDMI 2.0,4K,GP10B GPU,GigE,MIPI,6 cameras,USB 3.0+2.04K,MIPI,Mali GPU,audio,GigE,USB 3.0+2.0,HDMI,PowerVR GPU,audio,GigE,SATA,USB 3.0+2.0Audio,100Eth,WiFi b/g/n,USB 2.0ArchitectureARM-32x86-64ARM-64ARM-64ARM-32MIPS32Processing powerA72 x 4 core 1.5GHzAtom x 4 core 1.44GHzDenver 2 x 2 core 2.0GHz,
52、A57 x 4 core 2.0 GHzA72 x 2 core 2.0GHz,A53 x 4 core 2.0GHz A15 x 2 core 1.5GHz;M4 x 2 core 212 MHz24K 400MHzUse casesMediumLargeLargeMediumMediumSmallPower drawLongevityUnique featuresExpansion ecosystemWindows compatible256 CUDA cores for AI or comp vision,video encoder/decodersWifi ac+BT and touc
53、h panel optional modules,big.LITTLE arch for low power2 TMS DSPs,4 x PRU for low-latency I/O controlATmega32U4 micro on boardOUR METHODOLOGYSETTING THE SCOPEDEVELOPMENT PROCESSSOFTWARE STACKWRAP-UP32 Qt 公司|嵌入式产品开发规划及要求指南单板计算机也许您的产品无需定制电路板即可生产。如果是这样,则有如下多种单板计算机(SBC)设计可用。排名最低,排名最高。请参考附录 A 中的首字母缩略词、缩写词
54、对照表*SoC 可能包含评估板未公开的其他功能设定范围我们的方法论确定开发流程选择软件选择硬件总结设定范围我们的方法论确定开发流程选择软件总结选择硬件OUR METHODOLOGYSETTING THE SCOPEDEVELOPMENT PROCESSSOFTWARE STACKWRAP-UP33 Qt 公司|嵌入式产品开发规划及要求指南RAM在 CPU 之后,RAM 通常是嵌入式板上第二贵的组件。如果您的嵌入式设备没有足够大的随机存取存储器(RAM),您将面临应用程序最终可能无法放入可用内存的风险。为了尽早发现这些阻碍因素,请在您的目标硬件上运行系统中最大的内存消耗者(操作系统、图形用户界面
55、、数据库等),并在尽可能接近真实运行时环境的测试环境下独立运行。仔细跟踪它们的最高内存用量,并以一定的比例将它们加在一起。您需要好工具帮助您了解应用程序生命周期中的内存使用情况,以便您确定需要关注的最大内存占用组件。有了遵循您使用模式的初步数据,它还可以指导您设置影响内存的应用程序配置,从而最终需要将它们配置为量产状态。这还包括专用的预留部分,比如图形显示缓冲区、音频缓冲区或磁盘缓存等。内存工具这不仅仅是别人的软件 不要忘了测试您的应用程序以确保它不是内存问题的原因。使用 Cppcheck、heob、GammaRay 或valgrind 等工具对代码执行静态和运行时分析以及发现过多的内存分配或
56、内存泄漏非常有用。设定范围确定开发流程选择软件总结我们的方法论选择硬件OUR METHODOLOGYSETTING THE SCOPEDEVELOPMENT PROCESSSOFTWARE STACKWRAP-UP34 Qt 公司|嵌入式产品开发规划及要求指南闪存大多数主板可以使用 microSD 卡或其他外部闪存接口,从而使开发者可以利用大量备用磁盘空间进行开发,并在开发结束时优化所需的容量。闪存面临更大的挑战通常是速度,除非使用相当快的闪存,否则任何受磁盘限制的应用程序都会受到影响。在 SD 卡标准体系中(无论是 standard、mini 还是 micro),class 或 video
57、class 标记了写入的速度(MB/秒);一张 class 10 的卡可以写入 10MB/秒,而一张 V90 的卡可以写入 90MB/秒。拥有多个不同 class 的 microSD 卡可能会很有用。通过更换不同的存储卡,可以简单地测量闪存速度的影响,让您取得成本与速度之间的最佳平衡。话虽如此,如果您的评估板带有板载闪存,您将希望最大程度地使用它与 SD 卡相比,它几乎总是可以提供更好的冗余和性能。闪存文件系统可以采用完全不同的策略和权衡方法来管理设备的损耗平衡、错误检测/纠正和崩溃恢复能力。尝试在不同的文件系统下测试您的应用程序,查看哪种系统性能最佳,特别当您的应用程序依赖于以下任何行为:格
58、式化闪存快速启动大量小文件读写快速目录扫描高速批量读取高性能磁盘压缩高频连续写入设定范围我们的方法论确定开发流程选择软件选择硬件总结设定范围我们的方法论确定开发流程选择软件总结选择硬件MicrochipNXPRenesasSTTIEval boardPIC32MZ Embedded Graphics with Stacked DRAM Starter Kiti.MX RT 1170 EVKRH850/D1M1A32F769I-DISC0 discovery kitC2000 Delfino MCU F28379D LaunchPadMCUPIC32MZ DAi.MX RT 1176 DVMAA
59、RH850 G3MSTM32F7TMS320-F28379DMemory32MB SDRAM,4MB flash,microSD64MB RAM,336MB flash,SD card4MB RAM,5MB flash,DDR2,ECC option532KB RAM,2MB flash,microSD204KB RAM,1MB flashPeripherals5.0 WVGA,2D GPU,audio,Eth 10/100,USB 2.0,CAN,6 x SPI,ADC5.5 720p display,OpenVG GPU,MIPI,audio,USB,CAN,GigE,EAVB,SIM2D
60、 GPU,sprites,LVTTL vid in,audio,2 x I2C,6 x CSI,3 x CAN,Eth 10/100,EAVB 4 touch display,2D GPU,MIPI,audio,USB,4 x I2C,6 x SPI,3 x CAN,Eth 10/100 USB,ADC/DACs,PWMs,CANArchitectureMIPS32Cortex-M7+M4RH850Cortex-M7C28XProcessor speed252MHzM7 1GHz,M4 400MHz240MHZ216MHz200MHz x 2Temperature rating40 to 12
61、5C40 to 125C-40 to+150 C40 to+105 C40 to 125CPower drawLongevityUnique featuresDisplay through MEB expansion module,crypto option avail,Raspberry Pi headerMag+accel sensors,Arduino headerAutomotiveopt WiFi module,Arduino header2 CLA FPUs,Trig+Complex math units,BoosterPack header,no graphics support
62、HARDWAREOUR METHODOLOGYSETTING THE SCOPEDEVELOPMENT PROCESSSOFTWARE STACKWRAP-UP35 Qt 公司|嵌入式产品开发规划及要求指南微控制器当今的微控制器(MCU)的功能已经非常强大,并且会越来越强大 如果不需要最大马力,这是一个完美的选择。由于这些芯片通常没有内存管理单元(MMU),因此您需要裸机运行应用程序,或选择能够支持非 MMU 芯片的操作系统,例如 Azure RTOS、ThreadX 或 Amazon FreeRTOS。您还需要特别注意 RAM 和闪存的使用。我们对比了以下具有各种功能和架构的微控制器。排名最
63、低,排名最高。请参考附录 A 中的首字母缩略词、缩写词对照表设定范围确定开发流程选择软件总结我们的方法论选择硬件Touch screen 2DTouch screen 3DAudioVoicePhysical controlsHaptic controlsGesturesHardwareScreen,capacitive plateScreen,capacitive plate,graphics processing unit(GPU)Speakers,digital analog converter(DAC)Mic,analog digital converter(ADC),speakers
64、,DAC,voice assistant interfaceRotary knobs,switches,buttons,sliders,light emitting diode(LED)indicatorsRotary knobs,switches,motorsCamera,proximity/pressure sensors,IR camera,lidar Pricing$Communication richnessSpeed of users to understand interface intentAbility to be self-explanatoryAbility to use
65、 without trainingEase of internationalizationHygiene for multi-user use HARDWAREOUR METHODOLOGYSETTING THE SCOPEDEVELOPMENT PROCESSSOFTWARE STACKWRAP-UP36 Qt 公司|嵌入式产品开发规划及要求指南自定义 I/O用户界面和输入/输出(I/O)机制是实现产品差异化的最大领域之一,但它们也会增加产品的成本和复杂性。以下是规划设备如何与用户交互时要考虑的各种因素。排名最低,排名最高。请参考附录 A 中的首字母缩略词、缩写词对照表设定范围我们的方法论确
66、定开发流程选择软件选择硬件总结设定范围我们的方法论确定开发流程选择软件总结选择硬件OUR METHODOLOGYSETTING THE SCOPEDEVELOPMENT PROCESSSOFTWARE STACKWRAP-UP37 Qt 公司|嵌入式产品开发规划及要求指南图形您选择的图形处理单元(GPU)几乎总是内置在 SoC 中,因此图形性能通常取决于图形架构和显卡流水线的质量。当然,自己设计硬件除外。在这种情况下,您仍然必须非常小心,选择具有常见操作系统和驱动程序良好支持的 CPU 和 GPU 组合。不建议创建自己的图形驱动程序(甚至不太可能)。每个独特的应用程序都会对 GPU 产生不同的
67、要求,而实际的基准测试是确保满足特定指标的唯一方法。在没有进行横向特定比较的情况下,我们首选的图形API标准是(按顺序):Vulkan、DirectX、OpenGL、OpenGL ES。不同图形 API 标准在帧速率、GPU 和 CPU 负载、电池寿命以及过热方面可能存在明显的性能差异。如果您的 GUI 框架可以让您选择使用哪个图形 API 来进行渲染,那就太好了。这样,您的 GUI 代码就可以独立于图形标准。您可以针对特定应用进行测量,并在需要时利用性能提升。尽管 3D GPU 最常见,但是如果只是要创建 2D 的 UI,2D 或 2.5D GPU 也可以提供您需要的所有加速。借助 blit
68、 引擎、layering 和合成器,抗锯齿和字体字形渲染,这些 GPU 可以加快将应用程序渲染指令转换为用户可见像素的过程。设定范围确定开发流程选择软件总结我们的方法论选择硬件38 The Qt Company|Embedded product planning and requirements guide DisplaysCould your product stand out with a distinctive display?Quite probably.Here are a variety of ways to wow your customers.TFT LCDPMOLEDAMOL
69、EDQLEDE-paperDescriptionThin film transistor liquid crystal displayPassive-matrix organic light-emitting diodeActive-matrix organic light-emitting diodeQuantum light emitting diodeElectronic paperReadability in bright lightReadability in darknessUpdate speedColor reproductionContrastViewing anglePow
70、er consumption DurabilitySize1 1000.5 61 18TV sizes1 10Pricing$?$NotesCurrently dominates display technology.Reliant on backlight to be visible under most conditions(very bright backlights can be used in sunlight).Cheaper to manufacture than AMOLED,but higher current draw and slower to refresh.High
71、current leads to quicker degradation.Great color gamut and readability,although RGB components degrade unevenly and are subject to burn-in.Advantages of AMOLED but eliminates color instability.Not yet available in embedded applications although planned by Samsung.Usually monochromatic,but some color
72、 variants available.Power consumed only when image changes.is the lowest ranking while is the highest.Please refer to technology acronyms in Appendix AHARDWAREOUR METHODOLOGYSETTING THE SCOPEDEVELOPMENT PROCESSSOFTWARE STACKWRAP-UP38 Qt 公司|嵌入式产品开发规划及要求指南显示屏您的产品能否以独特的显示展现方式脱颖而出吗?很有可能。推荐以下多种惊艳客户的方式。排名
73、最低,排名最高。请参考附录 A 中的首字母缩略词、缩写词对照表设定范围我们的方法论确定开发流程选择软件选择硬件总结设定范围我们的方法论确定开发流程选择软件总结选择硬件OUR METHODOLOGYSETTING THE SCOPEDEVELOPMENT PROCESSSOFTWARE STACKHARDWARE39 Qt 公司|嵌入式产品开发规划及要求指南总结希望本指南对您规划嵌入式或物联网产品的开发有帮助。尽管我们尝试涵盖了大多数基础知识,但新产品层出不穷,并且没有一份指南可以包含所有选择。我们的顾问和工程师在帮助发汽车、航空电子设备、医疗、工业、消费电子产品、移动应用程序、游戏等方面非常有
74、经验。如果您需要有关下一个项目的建议,我们将非常乐意为您提供帮助。尽管本电子书旨在成为一份公正的指南,无论您选择哪种组件,该指南都应该是有用的,我们在 Qt 产品组合的开发过程中汲取了许多经验教训,这些经验教训是我们从规划公司产品的经历中学到的。如果您想了解更多信息,推荐点击以下链接:下载 Qt 新手入门 产品概述 资源中心 博客Qt 经验设定范围确定开发流程选择软件选择硬件总结我们的方法论OUR METHODOLOGYSETTING THE SCOPEDEVELOPMENT PROCESSSOFTWARE STACKHARDWAREWRAP-UP40 Qt 公司|嵌入式产品开发规划及要求指南
75、附录 A 首字母缩略词、缩写词对照表EAVB 以太网音视频桥接技术ECC 纠错码eMMC 嵌入式多媒体卡Eth 以太网Eval 评估FFT-快速傅立叶变换FPU 浮点运算单元LPDDR4 第四代低功耗双数据速率内存LVDS 低电压差分讯号LVTTL 低压晶体管逻辑Mic 麦克风MiniPCIe 微型快速外围组件接口总线MIPI 移动产业处理器接口联盟MMU 内存管理单元NUC 迷你电脑(英特尔)OpenGL 开放图形库OTA 空中下载技术PCIe 高速串行计算机扩展总线标准PMIC 电源管理集成电路ABI 应用程序二进制接口ADC 模数转换器AMOLED 有源矩阵有机发光二极体面板APR Ap
76、ache 可移植运行时BT-蓝牙CI 持续集成CLA 超前进位加法器CSI 摄像头串行接口CSS 级联样式表CUDA 统一计算设备架构(英伟达)DAC 数模转换器DDR 双倍数据速率DDR2 双倍数据速率 2DDR3L DDR3 低电压DDR4 DDR4 内存DIMM 双列直插式内存模块DP+显示端口双模DSP 数字信号处理器PMOLED 被动式有机电激发光二极管POSIX 可移植操作系统接口PRU 可编程实时单元PWM 脉宽调制器QA 质量保证QLED 量子点发光二极管QML-Qt 建模语言RTOS 实时操作系统SATA 串行高级技术附件SBC 单板计算机SD 安全数字SDRAM 同步随机存
77、取存储器SoC 系统级芯片SPI 串行外设接口TFT 薄膜晶体管TI 德州仪器公司TMS TMS320 系列 DSP(TI)UI 用户界面UWP 通用 Windows 平台(Microsoft)UX 用户体验V90SD 协会视频速度等级 90(90MB/秒)WebGLWeb 图形库WYSIWYG-所见即所得HDMI 微型 HDMI设定范围我们的方法论确定开发流程选择软件选择硬件总结设定范围我们的方法论确定开发流程选择软件选择硬件总结OUR METHODOLOGYSETTING THE SCOPEDEVELOPMENT PROCESSSOFTWARE STACKHARDWAREWRAP-UP42 Qt 公司|嵌入式产品开发规划及要求指南关于 Qt 公司Qt 公司负责所有 Qt 业务,包括产品开发、商业和开源许可证,以及在开放治理模式下的 Qt 项目。连同我们的许可证模式、支持和服务能力,我们的使命是与开发者们紧密合作,确保其 Qt 项目在预算内按时部署,并具有竞争优势。Qt 公司的目标是为桌面、嵌入式和移动端开发者和公司提供最强大的跨平台 UI 和应用程序框架。2021 The Qt Company