TouchGFX Board Setup 생성
TouchGFX Board Setups(TBS)는 TouchGFX 애플리케이션이 실행되는 플랫폼을 정의하는 .tpa 파일입니다. 이 접근 방식은 실행 기반이 되는 UI 코드와 별도로 사용하기 쉬운 TBS를 배포하려는 개발자를 위한 것입니다. 이 문서에서는 기본 제공 도구인 tgfx.exe를 사용하여 기존의 TouchGFX 프로젝트를 재배포가 가능한 TBS로 패키징하는 방법을 설명합니다. 이 도구는 TouchGFX 설치 디렉터리에서 찾을 수 있으며, 기본 디렉터리에 설치된 경우 C:/TouchGFX/4.25.0/designer입니다. 이 문서에 나온 예제들은 "MyApplication"이라는 애플리케이션 및 TouchGFX 버전 4.25.0을 기반으로 합니다.
TouchGFX 프로젝트가 완전히 기능하고 있는 상태에서 TBS를 생성하려면 다음 단계를 거쳐야 합니다.
- 프로젝트 정리: 생성된 파일 제거
- 설명 파일 생성: zip 및 json 파일을 생성하려면
tgfx.exe호출 - TBS 설명: json 파일 편집
.tpa생성:.tpa를 최종 처리하려면tgfx.exe호출- 테스트 및 확인: TouchGFX Designer에서 TBS를 사용하여 새 프로젝트를 생성하고 정상 작동하는지 확인
프로젝트 정리하기
TouchGFX Designer에서 코드 생성(F4) 시 여러 파일과 폴더가 생성됩니다. 이 파일들은 TBS에서는 필요하지 않습니다. UI를 생성할 때 코드를 다시 생성할 것이기 때문입니다. 따라서 이러한 파일과 폴더를 제거하면 .tpa 파일의 크기가 크게 줄어듭니다. 다음 파일 및 폴더는 프로젝트에서 제거할 수 있습니다.
다음 TouchGFX 관련 폴더를 제거할 수 있습니다.
.\TouchGFX/assets
.\TouchGFX/build
.\TouchGFX/config
.\TouchGFX/generated
.\TouchGFX/gui
.\TouchGFX/simulator
.\TouchGFX/screenshots
.\Middleware/ST/touchgfx
.\Middleware/ST/touchgfx_components
Note
- 듀얼 컨텍스트 프로젝트(예: CM4/CM7 또는 Boot/Appli)의 경우 TouchGFX 폴더는 CM7 또는 Appli 폴더 내에 배치됩니다. 이 경우 정리 과정에서 CM4/TouchGFX/build 또는 Boot/TouchGFX/build 폴더도 제거해야 합니다.
- 배포 시 GUI를 .tpa 파일 내에 유지하려면 .\TouchGFX/gui 및 .\TouchGFX/assets 폴더를 제거하지 마십시오.
다음 STM32CubeIDE 폴더를 제거할 수 있습니다.
.\STM32CubeIDE/.settings
.\STM32CubeIDE/Debug
.\STM32CubeIDE/Drivers
.\STM32CubeIDE/Middlewares
.\STM32CubeIDE/Release
EWARM 폴더(IAR IDE 관련)에서는 다음 파일들만 유지해야 합니다.
.\EWARM/*.eww
.\EWARM/*.ewd
.\EWARM/*.ewp
.\EWARM/*.icf
.\EWARM/startup_*.s
MDK-ARM 폴더(Keil IDE 관련)에서는 다음 파일들만 유지해야 합니다.
.\MDK-ARM/startup_*.s
.\MDK-ARM/*.sct
.\MDK-ARM/*.uvoptx
.\MDK-ARM/*.uvprojx
설명 파일 생성
tgfx.exe 도구는 TBS의 내부를 설명하는 구성 파일(.json)을 생성합니다. 이 정보는 TouchGFX Designer에서 읽어들여 TBS를 선택할 때 오른쪽 설명 창에 표시됩니다.
TouchGFX Environment 콘솔을 열고 애플리케이션의 상위 디렉토리에서 다음 명령을 실행합니다.
$ /c/TouchGFX/4.25.0/designer/tgfx.exe pack -d MyApplication
명령이 실행된 디렉토리에 다음과 같은 파일이 생성됩니다.
TBS 설명
최종 .tpa 파일을 생성하기에 앞서 MyApplication.json을 편집하여 TBS가 TouchGFX Designer에서 사용자에게 표시되는 방식을 제어합니다. 다음 섹션을 업데이트해야 합니다.
- Author Author 섹션의 필드를 사용하여 저자 이름, 연락처 이메일 및 URL을 지정합니다. 일부 필드를 삭제하거나 비워둘 수 있습니다.
- PathToDotTouchGFX 일반적으로 TouchGFX 폴더에 위치한 .touchgfx 파일의 경로를 지정합니다.
- Data Data 섹션의 필드를 사용하여 TBS 버전, 이미지, 보드 이름, 유형(TBS의 경우 TGAT), 벤더, 설명 및 추가 정보에 대한 링크를 지정합니다.
사용 가능한 유형과 각 유형이 TouchGFX Designer에 배치되는 방식은 아래와 같습니다.
TBS용 json 설명 파일의 예제는 아래와 같습니다.
MyApplication.json
...
"Author": [
{
"Name": "Chad Brody",
"Contact": "chad.brody@mycompany.com",
"URL": "http://mycompany.com/"
}
],
...
"PathToDotTouchGFX": "",
"EmbeddedOs": "FreeRTOS"
...
"Data": {
"Version": {
"Major": 1,
"Minor": 0,
"Build": 0
},
"Name": "MyApplication",
"HumanFriendlyName": "MyApplication",
"BoardName": "Custom STM32 Board",
"Type": "TGAT",
"Vendor": "MyCompany",
"Description": "This is a working project on which to base your UI on top of.",
"DocumentationLink": "",
"Category": "",
"Images": [
"http://mysite.com/MyCustomBoard-front.png"
],
"Tags": [],
"AvailableResolutions": [
{
"Height": 480,
"Width": 480
}
],
"TargetBpp": [
24
]
}
}
Note
"PathToDotTouchGFX": "MyTouchGFXFolder/TouchGFX"
Tip
.tpa 생성
다음 명령을 실행하여 최종 '.tpa' 파일을 생성하고 TouchGFX Board Setup을 완료합니다.
$ /c/TouchGFX/4.25.0/designer/tgfx.exe pack -rc -d MyApplication
테스트 및 확인
.tpa 파일이 TouchGFX Designer에서 TBS로 인식되어 새 애플리케이션 생성 시 사용 가능한지 확인하려면 다음 단계를 수행합니다.
- 원한다면
.tpa파일의 이름을 변경할 수 있습니다. .tpa파일을C:\TouchGFX\4.25.0\app\packages로 복사하거나 이동합니다. 이렇게 하면 로컬 폴더에서 TBS, GUI 및 BSD를 TouchGFX Designer로 가져올 수 있습니다.- TouchGFX Designer를 열고 By Partners 탭에서 TBS를 선택합니다.
최종 노트
다음 섹션에는 TBS를 배포할 때 고려해야 할 사항에 관한 팁이 포함되어 있습니다.
일반 팁
일반적으로 .tpa를 배포하기 전에 다음과 같이 해야 합니다.
- 공급된 모든 IDE 프로젝트가 예상대로 작동하는지 확인합니다.
- TouchGFX 프로젝트 파일
.touchgfx에 정의된 맞춤형 명령(PostGenerate- 등)이 예상대로 작동하는지 확인합니다. - TBS가 TouchGFX Designer에서 읽기가 가능하고 새 애플리케이션을 생성하는 데 사용할 수 있는지 확인합니다.
Tip
.tpa를 배포한 후에는 사용자에게 .tpa 파일을 C:\TouchGFX\4.25.0\app\packages에 복사하도록 지시하고, TouchGFX Desinger를 다시 시작해야 합니다.
버전 관리
일반적으로 개발자는 동일한 리포지토리에 전체 개발 프로젝트(TouchGFX Board Bringup, TouchGFX AL, TouchGFX UI)를 보관하기 때문에 배포 가능한 .tpa 파일이 필요하지 않습니다. 하지만 통합 플랫폼 코드는 팀 구성원이 새로운 TouchGFX 애플리케이션을 시작할 수 있도록 테스트 및 확인을 수행하는 데 효과적입니다.
.tpa 파일을 배포하거나 repo, git submodules와 같은 도구를 사용해 코드베이스를 모듈화하는 경우에는 TBS 부품의 버전이 앞서 설명한 .json 디스크립터에 지정된 버전을 따르도록 하는 것이 좋습니다. 모듈화된 접근 방식을 사용하는 경우, 플랫폼 코드는 배포 가능한 .tpa 파일을 생성하는 것 외에 주요 프로젝트 구조에서 모듈로도 사용될 수 있습니다.
"Data": {
"Version": {
"Major": 3,
"Minor": 0,
"Build": 0
},
$ git tag
v1.1.0
v2.0.0
v2.1.0
v3.0.0







