C
使用 Qt 安全渲染器开发 UI
在 Qt 安全渲染器中,安全关键 UI 素材实现为 QML 类型。所有安全关键 QML 类型都必须添加到 UI 文件(即.ui.qml文件),您可以使用 Qt Design Studio对其进行编辑和原型制作。
您可以使用支持将应用程序部署到目标设备的 Qt Creator 将 UI 文件集成到您的应用程序代码中。因此,Qt 工具可在真实硬件环境中快速进行 UI 原型制作。在目标设备上,Qt 安全渲染器负责渲染安全关键 UI 素材。
您的应用程序 UI 可以包含既定的安全关键 UI 素材(称为安全 UI)和非安全元素(称为主 UI)。以下主题指导您如何使用 Qt 及其工具与 Qt 安全渲染器一起创建自己的安全应用
- 用例描述了 Qt 安全渲染器和 QML 的主要用例。
- 安全关键 QML 类型 介绍了 Qt 安全渲染器 QML 类型
- 处理 UI 文件 指导如何处理 UI(.ui.qml)文件
- 使项目支持 Qt 安全渲染器 指导如何在 Qt Creator 项目(.pro 文件)中启用 UI 文件、Qt 安全渲染器和其工具
- 构建 Qt 安全渲染器项目 指导如何构建和运行包含安全关键 UI 的项目
- Qt 安全渲染器工具 提供有关 Qt 安全渲染器工具的详细信息
有关使用 Qt 安全渲染器开发 UI 的更多信息,请参阅以下主题
当开发的 UI 文件集成到安全关键系统中时,Qt 安全渲染器消息接口定义了系统非安全部分如何在运行时与安全关键项目进行通信。例如,可以更改安全元素的位置。有关更多信息,请参阅将 Qt 安全渲染器调整到系统、SafeRenderer::QSafeEvent 和 QSafeMessageInterface.
用例
Qt 安全渲染器的三个主要用例如下:
- 您使用 QML 语言 定义安全 UI,并且完全没有主 UI。通过使用相关的 Qt 和 Qt 安全渲染器工具链,可以将安全 UI 部署到参考目标环境中的一个。这是 Qt 安全渲染器的最简单用途。
- 另一种更为常见的情况是,您有与安全 UI 平行的独立主 UI。使用 QML 语言定义安全 UI 和主 UI。通过使用相关的 Qt 和 Qt 安全渲染器工具链,可以将 UI 部署到参考目标环境中的一个。
- 无论您是否使用QML定义了安全UI或两者都,您都可以通过Qt和Qt安全渲染器工具链将它们部署到自定义环境中,也就是说,自定义环境不属于参考Qt安全渲染器实现所涵盖的环境。您需要对参考实现在自定义环境中进行一些适配。有两种可能的定制化。
- 目标环境使用已经由参考实现覆盖的实时操作系统(RTOS),但是安全UI的目标环境有不同的显示芯片组。需要在Qt安全渲染器运行时软件中的预定义适配点中对显示芯片组接口进行一些适配。
- 目标环境使用一些其他RTOS(或许只是裸机)而不仅仅由参考实现覆盖。需要在Qt安全渲染器运行时软件中的预定义适配点中对RTOS进行一些适配。
有关更详细的信息,请参阅Qt安全渲染器架构文档。安装Qt安全渲染器到主机平台后,您可以在<Qt安全渲染器安装目录>/Docs/QtSafeRenderer-<版本>/下找到该文档。
软件工具的使用信心
ISO 26262:2018-8的第11条款解决了软件工具使用的信心问题。以下是对工具认证、验证方面和评估支持信息的摘要。
关于上述用例,以下方法被用于最小化使用Qt安全渲染器工具链和运行时软件组件时发生故障的风险。有关开发流程描述的更多信息,请参阅使用Qt安全渲染器开发UI。
- 当用户使用Qt Design Studio、QML语言和Qt Creator创建UI时,Qt Creator会自动检测QML代码和UI元素定义中可能出现的错误。
- 当用户使用Qt安全渲染器工具链构建安全UI时,布局工具会检测UI安全元素QML代码中可能出现的错误。给出错误消息,如果编译失败
- 缺少大小信息。
- 安全元素超出UI画布边界。
- 源(图像)文件不存在。
- 如果缺少可选的“objectname”属性(仅在运行时安全元素移动时需要),会给出警告。
Qt安全渲染器工具链的错误和警告消息显示在Qt Creator的问题选项卡中,或者如果从命令提示符启动编译,则显示在标准输出。
- 当用户启动Qt安全渲染器运行时组件时,将加载和验证生成的布局数据。位图和布局数据都包含循环冗余检查(CRC),以检测任何数据的变化。如果发现不一致,将抛出异常。运行时还抛出其他错误(如文件缺失或文件系统错误)的异常。应用程序开发者需要处理这些异常。有关异常的更多信息,请参阅集成Qt安全渲染器。
基于以上信息和安全手册中的其他细节,以及安装内容(设计和验证文档及源代码),工具供应商将Qt安全渲染器分类如下
- 工具影响类别是TI2。
- 工具错误检测类别是TD3。
- 根据这些类别,工具信心级别为TCL3。
有关更多信息,请参阅支持的开发环境。
在特定的Qt许可下可用。
了解更多。