제한된 하드웨어 성능으로도 고급 UI를 만들 수 있게 최적화된 그래픽 솔루션인 TouchGFX에 대해 ST마이크로일렉트로닉스 알렉산더 르누 대리에게 들어봤다.
“TouchGFX, 하드웨어용 GUI 완벽 구현”
CPU 부하·메모리 최소화, STM32 MCU 최적
모든 성능 MCU 적합, 손쉽게 HMI 제작 가능
[편집자주]그래픽과 관련된 프로젝트 개발을 용이하게 하고, 제한된 하드웨어 성능으로도 고급 UI를 만들 수 있게 최적화된 그래픽 솔루션이 TouchGFX다. TouchGFX는 STM32 MCU를 사용하는 개발자들이 더욱 쉽고, 수준 높은 화면 구성을 할 수 있도록 돕고 있다. 이런 TouchGFX에 대해 ST마이크로일렉트로닉스는 11월16일부터 17일까지 온라인으로 개최되는 K-TEC 콘퍼런스 행사에서 중요한 발표 중 하나로 다뤘다. 이에 본지는 이번 행사에서 발표를 담당한 ST마이크로일렉트로닉스 알렉산더 르누(Alexandre Renoux) 대리와 인터뷰를 통해 TouchGFX에 대해 자세히 알아봤다.
▲ST마이크로일렉트로닉스 알렉산더 르누(Alexandre Renoux) 대리
■ TouchGFX에 대한 소개를 부탁드린다
TouchGFX는 STM32 기반 하드웨어용 GUI 애플리케이션을 완벽하게 구현할 수 있게 해주는 소프트웨어 솔루션이다.
이 툴의 목표는 고객이 추가 비용 없이 빠르고 손쉽게 HMI를 개발할 수 있도록 돕는 것이다.
TouchGFX는 세 가지 요소로 이뤄져 있다.
TouchGFX Designer는 TouchGFX에서 손쉽게 사용하기 쉬운 GUI 빌더로, TouchGFX 애플리케이션의 시각적 모양을 만들 수 있다.
TouchGFX Generator는 사용자가 STM32 기반 하드웨어에 대한 맞춤형 TouchGFX 추상화 계층(AL)을 구성하고 생성할 수 있는 STM32CubeMX 플러그인이다.
TouchGFX Engine은 UI 애플리케이션을 구동하는 TouchGFX C++ 프레임워크로 화면 업데이트, 사용자 이벤트 및 타이밍을 처리한다.
최신 TouchGFX 기술은 CPU 부하와 메모리 사용량은 최소화하면서 최대 성능을 제공하도록 STM32 마이크로컨트롤러에 최적화돼 있다.
■ TouchGFX의 가장 강력한 차별점과 특징들은
고객으로부터 알게 된 사실과 이 그래픽 솔루션을 개발할 당시의 의도를 고려해 볼 때, TouchGFX는 네 가지 측면에서 분명 차별화가 된다.
가장 차별화되는 첫 번째 특징은 말할 것도 없이 가격이다. STM32 MCU를 사용하는 동안에는 TouchGFX가 무료이기 때문에 비용을 지불하지 않고도 ST의 소프트웨어 솔루션을 즐길 수 있다.
두 번째는 사용성이다. TouchGFX는 TouchGFX Designer 덕분에 사용이 매우 용이하기 때문에 누구나 편하게 원하는 HMI를 만들 수 있다.
또한 TouchGFX는 CubeMX에 통합돼 있어서 필요한 대부분의 코드가 생성이 되기 때문에 출시 시간이 단축된다.
세 번째로 차별화되는 부분이 바로 설명서다. TouchGFX는 5개 언어(영어, 일본어, 한국어, 중국어 번체 및 중국어 간체)로 된 설명서 웹사이트를 보유하고 있어서 아시아 지역의 고객 대다수가 모국어로 읽을 수 있다.
또한 내용이 매우 꼼꼼하고 고객에게 도움이 되는 정보가 많다.
ST 커뮤니티에는 사람들이 질문을 하고 ST 전문가나 TouchGFX 사용자로부터 답변을 얻을 수 있는 섹션도 마련돼 있다.
마지막으로 TouchGFX는 어떤 STM32 MCU에서든 매우 효율적으로 실행이 된다. TouchGFX는 STM32G0 같은 로우엔드 MCU부터 STM32H7 같은 하이엔드 MCU에 이르기까지 모든 MCU에 적합하며, 고객이 성능이 제한되고 메모리가 내장된 MCU에서도 손쉽게 HMI를 만들 수 있도록 도와준다.
■ TouchGFX는 TouchGFX Designer, TouchGFX Generator, TouchGFX Engine으로 구성돼 있다. 각각에 대한 간단한 설명을 부탁드린다
TouchGFX는 세 가지 요소로 구성된 그래픽 솔루션이다.
첫 번째 구성 요소인 TouchGFX Designer는 최적화되고 사용자에게 친숙한 인터페이스 덕분에 GUI를 설계하는 데 가장 자주 사용하게 되는 소프트웨어다.
이 GUI 소프트웨어는 WYSIWYG(What You See Is What You Get) 방식을 사용하기 때문에 위젯을 캔버스에 끌어와서 놓으면 코딩 없이도 GUI를 생성할 수 있다.
두 번째 구성 요소인 TouchGFX Generator는 디스플레이 인터페이스, 색 심도, 사용하고자 하는 프레임 버퍼 개수, 위치 등 UI 프로젝트에서 몇 가지 설정을 수행할 수 있게 해준다.
이 생성기는 프로젝트에 추가할 수 있는 추가 패키지의 형태로 CubeMX 내에서 제공된다.
이 구성 요소 덕분에 디스플레이와 메모리를 MCU에 연결하는 추상 계층 코드가 생성된다.
마지막 구성 요소인 TouchGFX Engine은 ST가 개발한 실질적인 독점 그래픽 라이브러리로, 모든 디스플레이에서 모든 UI를 만들 수 있게 해준다.
이것은 TouchGFX의 핵심 요소이기도 합니다. 여기에는 디스플레이에 그려지는 픽셀 수를 최소화하고, 선택한 하드웨어에서 가능한 손쉽게 HMI를 만들 수 있는 고급 렌더링 알고리즘이 포함돼 있다.
■ TouchGFX의 최신 버전이 계속 업데이트 중이다. 가장 최신으로 업데이트 된 기능은
오늘자로 TouchGFX의 최신 버전은 4.20이며, 버전 4.21은 올해 말에 출시될 예정이다.
버전 4.17부터 사용자 경험의 향상을 위해 완전히 재고된 새로운 TouchGFX Designer가 도입됐다.
올해 ST는 텍스트 관리를 비롯해 TouchGFX Designer 내의 많은 기능들을 개선했고, 덕분에 이제는 텍스트를 하나로 그룹화해서 특정 문자열을 검색할 수 있게 됐다.
가장 최근에 개선된 사항 중 하나로 맞춤형 컨테이너를 내보내고 가져올 수 있는 기능을 들 수 있다. 덕분에 이전에 만든 UI 구성 요소를 손쉽게 재사용할 수 있다.
또한 원이나 선 같은 모양을 렌더링하는 알고리즘이 크게 개선됐다.
버전 4.21의 경우, GUI 자산 라이브러리를 통해 고객이 UI 전담 디자이너 없이도 손쉽게 프로토타입을 만들 수 있다.
ST는 지속적으로 버그를 수정하고, 업데이트를 할 때마다 개선된 사용자 경험을 선보이고 있다.
■ TouchGFX에 대한 시장 반응은
TouchGFX는 시장에서 높은 평가를 받고 있는 것으로 보이며, 많은 DIY 애호가들이 TouchGFX로 원하는 HMI를 구성하고 있다.
DIY 애호가와 중소기업, 더 나아가 대기업에서도 TouchGFX를 선택하고 있다. 무료이면서 사용이 쉽다는 점이 사람들의 마음을 끄는 것 같다. 키트를 구입한 다음, 원하는 기능의 프로토타입을 만들기만 하면 된다.
TouchGFX의 인기가 높아지면서 많은 요청이 쇄도하고 있다. 우리는 이를 해결하고 솔루션에 반영하기 위해 최선을 다하고 있다.
■ TouchGFX가 지향하는 애플리케이션에는 어떤 것이 있는지
TouchGFX는 대규모 애플리케이션 패널을 타깃으로 삼고 있다. 실제로 애플리케이션의 유형을 결정하는 것은 TouchGFX가 아니라 사용하는 하드웨어다.
시장에서 TouchGFX를 활용할 수 있는 몇 가지 분야를 소개하자면 △ HMI와 같이 컴퓨터나 장치, 도어 록, 보일러 등을 제어하는 산업용 제품 △커피 머신, 세탁기, 전자렌지, 진공청소기 같은 가전제품 △스마트 시계, 스포츠 시계, 골프 시계 같은 웨어러블 기기를 비롯해 리모컨 △호흡 보조기, 인슐린 펌프 같은 의료 장치 등이다.
일반적으로 우리가 타깃으로 생각하지 않는 유일한 분야가 바로 자동차다. 나머지는 TouchGFX를 사용하기에 적합하다.
■ TouchGFX는 MCU 기반의 GUI 솔루션으로 알려져 있다. 현재는 ST의 STM32 제품만 지원하는데요. 다양한 STM32 포트폴리오 중에서 어떤 제품을 지원하는지 궁금하다
실제로 모든 STM32 MCU가 지원되지만, G0, WB, F4, L4, L4+, U5, F7 및 H7에서 실행되는 데모와 프로젝트가 있다.
■ TouchGFX Designer(PC 툴)가 최상의 성능을 발휘하기 위해서는 어떤 개발 환경이 필요한지
TouchGFX Designer가 최고의 성능을 발휘하려면 8-16GB의 RAM, SSD, Intel i5 10xxx와 같은 비교적 최신의 CPU가 장착된 윈도우 컴퓨터를 사용하는 것이 좋다.