開發簡介
主要操作
一個TouchGFX專案會涉及到開發階段的一系列操作。 每個操作的工作量取決於專案的目標。 如果您正在執行UI原型設計,則應用程式的主要部分可使用預製程式碼,以跳過大多數步驟,從而加快專案開發速度。 如果您以客製板來完成整個專案,您將在專案開發中涉及這些操作。
主要部件
您的TouchGFX專案由五個主要的硬體和軟體部件組成。 每個操作都會為您的TouchGFX專案生成一個主要部件。 TouchGFXEngine不是任何主要操作的輸出,而是TouchGFX專案的起點,且在下載和安裝後即可使用。
以下各節將概述每個操作及部件。 本章節的其餘各小節將進一步詳細描述每個操作。
硬體選擇
此操作是TouchGFX專案中的初始操作。 選擇要運行應用程式的硬體。 確定所需的硬體元件,並弄清這些硬體對TouchGFX應用程式的影響。 完成此步後,您就擁有了一個可用於TouchGFX專案的顯示板。
原型設計
如果您正在進行UI原型設計,STM32評估套件是個快速且便利的理想之選。 這裡無需考慮硬體元件、不同元件間的連接或類似問題。 這種情況下,硬體操作只需基於MCU性能、儲存器設置和顯示器尺寸方面,並選擇最貼近您的最終產品的STM32評估套件。
客製化硬體
如果您要建立自己的硬體解決方案,選擇很多,同時要考慮的問題也多。 硬體選擇將協助您完成此任務、回答許多問題,並描述您的選擇如何影響TouchGFX應用程式。
通常直到專案開發後期才會有最終的硬體。 在這種情況下,通常會選擇一個類似於最終板子的STM32評估套件,並在UI開發的第一步中使用該套件。 如果您沒有這樣的開發板,也可以只使用在PC上運行的TouchGFXSimulator來開始。
有關此步驟的完整說明,請參見硬體選擇部分。
開發板搭建
此操作是一項讓TOUCHGFX運行於開發板上的核心任務。 輸出元件被稱為開發版初始化程式碼,是些通用的初始化程式碼,用於設置MCU及所有周邊,為執行應用程式做準備。 該初始化程式碼獨立於TouchGFX,僅處理純硬體設置。
STM32CubeMX
這個操作的主要工具是STM32CubeMX。 它可以協助您設定MCU並生成基本的的啟動程式碼。 對於外設(如外部RAM和顯示器),您將自行添加初始化程式碼和特定周邊驅動程式。 也可以在不使用STM32CubeMX的情況下完成整個開發板的初始化程式碼,不過這需要您對STM32和搭建開發板具備專家級水準,否則不建議這樣做。
TouchGFX開發板設置(TBS)
如果您正在執行UI原型設計或只想嘗試TouchGFX,則您可以讓應用程式基於TouchGFX Designer中的STM32標準評估套件中的某個現有TouchGFX開發版設置(TBS)來進行。TBS基於STM32CubeMX配置,因此,如果您想嘗試或添加對更多外設的存取權限,則可以修改配置。 這包括所需的所有開發板初始化程式碼。 TBS基於STM32CubeMX配置,因此,如果您想嘗試或添加對更多周邊的存取許可權,則可以修改配置。
有關此步驟的完整說明,請參見開發板搭建啟動 章節。
TouchGFX AL開發
此操作是TouchGFXEngine在完全初始化過的顯示板(顯示板+開發板初始化程式碼)上運行的關鍵。 輸出元件被稱為TouchGFX抽象層(AL),這是一個軟體層也使硬體抽象化,並使TouchGFXEngine可在您的開發板上運行。
TouchGFX Generator
此操作的主要工具是TouchGFXGenerator,這是STM32CubeMX外掛程式,該外掛程式讓您配置並生成大多數TouchGFXAL程式碼。 您也能自行編寫TouchGFXAL程式碼中的某些部分。 這個步驟中,TouchGFXGenerator將協助您建立要執行的空函數。
請特別注意,為使TouchGFXAL正常工作,正確完成開發板的初始化程式碼並正確配置MCU、外部RAM、顯示器等非常重要。
如果您正在執行UI原型設計或只想嘗試TouchGFX,則您可以讓應用程式基於TouchGFX Designer中的STM32標準評估套件中的某個現有TouchGFX開發版設置(TBS)來進行。TBS基於STM32CubeMX配置,因此,如果您想嘗試或添加對更多外設的存取權限,則可以修改配置。 這包括所有您需要的TouchGFXAL程式碼。 TBS基於CubeMX和TouchGFXGenerator配置,如果您未來想做實驗,則可以修改配置。
有關此步驟的完整說明,請參見 TouchGFX AL 開發章節。
UI開發
此操作可能會是開發此專案時花費最多時間的部分。 您將在這裡創建使用者介面的程式碼,該程式碼將構成TouchGFX專案可視化的部分,該元件被稱為TouchGFXUI應用程式。
TouchGFX Designer
此操作的主要工具是TouchGFXDesigner以及您最喜愛的IDE或文字編輯器。 在TouchGFXDesigner中,您可以設置、設計和創建您的應用程式中的視窗,並用C++程式碼生成UI應用程式的主要部分。 對於應用程式邏輯(處理事件,與系統的非UI部分進行通訊),您可以使用IDE或文字編輯器編寫C++程式碼,該程式碼與TouchGFXDesigner產生的程式碼互通。
TouchGFX開發板設置
如果您正在執行UI原型設計,或只是想嘗試TouchGFX,而不希望花時間做其他操作,則您可以基於PC上的TouchGFX Simulator來開發應用程式,也可基於某個標準STM32評估套件中的現有TouchGFX開發版設置(TBS)來操作。 無論如何,您都可以立即開發UI應用程式。
演示和範例
如果您只是想運行某些應用程式或因此找些啟發,則在TouchGFX Designer中創建新專案時,可以選擇其中某個TouchGFX範例來開始。 如果這樣的話,只需編譯、燒寫程式碼並執行,無須其它操作。
客製化硬體
如果您已經完成所有其他操作,即已經為TouchGFX應用程式準備好了開發板,則您可以從頭開始,或基於某個現有範例開始。 如果客製板的解析度與範例一致,則範例也應該能在您的客製板上運行。
有關此步驟的完整說明,請參見UI開發章節。
工作流程
如您所見,TouchGFX開發涉及許多操作和工具。 但需要注意的是,您無需一次性完成所有操作,而且在開始進行UI開發之前,不一定需要使用顯示板、開發版初始化程式碼和TouchGFXAL。 可使用STM32評估套件或TouchGFXSimulator來完成這些操作。
產生的程式碼和使用者程式碼
在開發板搭建啟動、TouchGFXAL開發和UI開發所需的三個軟體操作中,您將使用工具來生成程式碼。 這些工具的共同點是它們不會生成所有您所需的程式碼,您依然需要在專案中添加特定用戶程式碼。 對於這三種工具,您可以在使用工具和編寫程式碼之間來回切換。 工具生成的程式碼和用戶程式碼是獨立的,並可以個別更新。
有時,您還可以在不同操作之間來回切換,因此需要使用不同的工具。 在進行TouchGFXAL開發時,您通常會使用非常簡單的TouchGFXUI來測試TouchGFXAL。 而且在不同操作之間進行切換不會有問題,像是工具、生成程式碼和您的用戶程式碼共存,並在更新時不會出現任何問題。
更改編譯器/IDE
在這些操作中,您必須為目標開發板編譯程式碼。 TouchGFX支援的編譯器有IAR、ARMCC、ARMCLANG和GCC (STM32CubeIDE)。 為TouchGFX專案選擇的工具鏈在STM32CubeMX中配置,所以如果您要進行更改,則應在STM32CubeMX中打開TouchGFX project .ioc文件,並更改工具鏈設置。 在TouchGFX Designer中選擇開發版設置(TBS)時要預先選擇一個工具鏈,因此您只能找到基於一個工具鏈的專案檔案。 由於AT與.ioc檔是配合的,因此您可以將其打開並更改工具鏈,以適應專案需求。