跳转到主要内容

开发简介

This section contains information on how to develop a TouchGFX application including, structure, workflow and tools.

主要操作​

一个TouchGFX项目会涉及到开发阶段的一系列操作。 每个操作的工作量取决于项目的目标。 如果您正在执行UI原型设计,则应用程序的主要部分可使用预制代码,以跳过大多数步骤,从而加快项目开发速度。 如果您基于定制板来完成整个项目,您将在项目开发中涉及所有这些操作。

TouchGFX项目的主要操作

主要部件​

您的TouchGFX项目由五个主要的硬件和软件部件组成。 每个操作都会为您的TouchGFX项目生成一个主要部件。 TouchGFX Engine不是任何主要操作的输出,而是TouchGFX项目的起点,在下载和安装后即可使用。

TouchGFX项目的主要部件

以下各节将概述每个操作及部件。 本章其余各节将进一步详细描述每个操作。

硬件选择​

此操作是TouchGFX项目中的初始项。 选择要运行应用程序的硬件。 确定所需的硬件组件,并弄清这些硬件对TouchGFX应用程序的影响。 完成此步后,您就拥有了一个可用于TouchGFX项目的显示板。

原型设计​

如果您正在执行UI原型设计, STM32评估套件则是快速启动并运行的理想之选。 这里无需考虑硬件组件、不同组件间的连接或类似问题。 这种情况下,硬件选择操作只需基于MCU性能、存储器设置和显示屏尺寸方面选择最贴近您的最终产品的STM32评估套件。

定制硬件​

如果您要创建自己的硬件解决方案,选择很多,同时要考虑的问题也多。 硬件选择将帮助您完成此任务、回答许多问题,并描述您的选择如何影响TouchGFX应用程序。

通常直到项目开发后期,将不会有完备的最终硬件。 在这种情况下,通常会选择一个类似于最终板子的STM32评估套件,并在UI开发的第一步中使用该套件。 如果您没有这样的板,也可以只使用在PC上运行的TouchGFX Simulator来开始。

有关此步骤的完整说明,请参见<硬件选择部分。

板启动搭建​

此操作是一项让TOUCHGFX运行于你板上的中心任务。 输出组件被称为板级初始化代码,是些通用初始化代码,用于设置MCU及所有外设,为执行应用程序做准备。 该初始化代码独立于TouchGFX,仅处理纯硬件设置。

STM32CubeMX​

该操作的主要工具是STM32CubeMX。 它可以帮助您配置MCU并生成基础性的启动代码。 对于外设(如外部RAM和显示屏),您将自行添加初始化代码和特定外设驱动程序。 也可以在不使用STM32CubeMX的情况下完成整个板的初始化代码,不过这需要您对STM32和搭建启动开发板具备专家级水准,否则不建议这样做。

TouchGFX板卡设置(TBS)​

如果您正在执行UI原型设计或只想尝试TouchGFX,则您可以让应用程序基于TouchGFX Designer中的STM32标准评估套件中的某个现有TouchGFX板卡设置(TBS)来进行。 这包括所需的所有板级初始化代码。 TBS基于STM32CubeMX配置,因此,如果您想尝试或添加对更多外设的访问权限,则可以修改配置。

有关此步骤的完整说明,请参见开发板搭建启动章节。

TouchGFX AL开发​

此操作是TouchGFX Engine在完全初始化过的显示板(显示板 + 板初始化代码)上运行的关键。 输出组件被称为TouchGFX抽象层(AL),这是一个软件层,是硬件的抽象,并使TouchGFX Engine可在您的开发板上运行。

TouchGFX Generator​

此操作的主要工具是TouchGFX Generator,这是一个STM32CubeMX插件,该插件让您配置并生成大多数TouchGFX AL代码。 您也很可能自行编写TouchGFX AL代码中的某些部分。 TouchGFX Generator通过创建要实现的空函数来帮助您完成此步骤。

请特别注意,为使TouchGFX AL正常工作,正确完成板级初始化代码并正确配置MCU、外部RAM、显示屏等非常重要。

如果您正在执行UI原型设计或只想尝试TouchGFX,则您可以让应用程序基于TouchGFX Designer中的STM32标准评估套件中的某个现有TouchGFX板卡设置(TBS)来进行。 这包括您需要的所有TouchGFX AL代码。 TBS基于CubeMX和TouchGFX Generator配置,如果您以后想做实验,则可以修改配置。

有关此步骤的完整说明,请参见TouchGFX AL开发章节。

UI开发​

您可能会在此操作中花费大部分的项目开发时间。 您将在这里创建用户界面代码,该代码将构成TouchGFX项目的可视部分,该组件被称为TouchGFX UI应用程序。

TouchGFX Designer​

此操作的主要工具是TouchGFX Designer以及您最喜爱的IDE或文本编辑器。 在TouchGFX Designer中,您可以设置、设计和创建您的应用程序中的视窗,并用C++代码生成UI应用程序的主要部分。 对于应用程序逻辑(处理事件,与系统的非UI部分进行通信),您可以使用IDE或文本编辑器编写C++代码,该代码与TouchGFX Designer生成的代码交互共存。

TouchGFX板卡设置​

如果您正在执行UI原型设计,或只是想尝试TouchGFX,而不希望花时间做其他操作,则您可以基于PC上的TouchGFX Simulator来开发应用程序,也可基于某个标准STM32评估套件中的现有TouchGFX板卡设置(TBS)来操作。 无论如何,您都可以立即着手开发UI应用程序。

演示和示例​

如果您只是想运行某些应用程序或因此找些启发,则在TouchGFX Designer中创建新项目时,可以选择其中某个TouchGFX示例来开始。 如果这样的话,只需编译、烧写代码并运行,无须其它操作。

定制硬件​

如果您已经完成所有其他操作,即已经为TouchGFX应用程序准备好了运行板,则您可以从头开始,或基于某个现有示例开始。 如果定制板的分辨率与示例一致,则示例也应该能在您的定制板上运行。

有关此步骤的完整说明,请参见UI开发章节。

工作流程​

如您所见,TouchGFX开发涉及许多操作和工具。 但需要注意的是,您无需一次性完成所有操作,而且在开始进行UI开发之前,不一定需要使用显示板、板级初始化代码和TouchGFX AL。 可使用STM32评估套件或TouchGFX Simulator来完成这些操作。

TouchGFX Designer工作流程

生成的代码和用户代码​

在开发板搭建启动、TouchGFX AL开发和UI开发所需的三个软件操作中,您将使用工具来生成代码。 这些工具的共同点是它们不会生成您所需的所有代码,您还将在项目中添加特定用户代码。 对于这三种工具,您可以在使用工具和编写代码之间来回切换。 工具生成的代码和用户代码是独立的,并可以分别更新。

有时,您还可以在不同操作之间来回切换,因此需要使用不同的工具。 在进行TouchGFX AL开发时,您通常会使用非常简单的TouchGFX UI来测试TouchGFX AL。 而且,在不同操作之间进行切换没有问题,工具、生成代码和您的用户代码共存,并在更新时不会出现任何问题。

更改编译器/IDE​

在这些操作中,您必须为目标板编译代码。 TouchGFX支持的编译器有IAR、ARMCC、ARMCLANG和GCC(STM32CubeIDE)。 为TouchGFX项目选择的工具链在STM32CubeMX中配置,所以如果您要进行更改,则应在STM32CubeMX中打开TouchGFX project .ioc文件,并更改工具链设置。 在TouchGFX Designer中选择板件设置(TBS)时要预先选择一个工具链,因此您只能找到基于一个工具链的项目文件。 由于AT与.ioc文件是配套的,因此您可以将其打开并更改工具链,以适应项目需求。