수행기록퀘스트6

퀘스트 6/7 - 이미지 빌드 및 QT 환경에서의 예제 실행
2020. 5. 29 (금) 19:52 백종* 조회 311 좋아요 0 스크랩 0 댓글 0

안녕하십니까?

 

Quest6 역시 쉽지가 않네요.

Qt 라는 새로운 플랫폼에 대한 도전!

 

먼저, Qtquickcontrol2에서 지원하는 swipe 기능을 이용하여서 PC에서 동작 확인을 하였습니다.

하지만, 보드에 다운로드 후 에러가 나더군요.

" qt module qtquick.controls is not installed. "

 

그래서 검색을 통해서 몇가지 정보를 습득하였습니다.

https://www.digi.com/resources/documentation/digidocs/embedded/dey/2.6/cc6ul/yocto_t_qt-create-quick-application

 

Qt 패키지를 추가하기 위해서는

위의 링크의 마지막 부분에 보면, conf/local.conf 파일에 추가하라는 내용이 있습니다.

(제 생각에는 Qt Toolchain 설치를 하였다면 포함되어 있지 않을까? 하는 생각이 드네요.)

 

만약 Qt Toolchain을 설치한 경우, bootfs 영역이 많이 커져서, 추가적인 조치가 있어야 하는 것으로 알고 있습니다.

(파디션 영역 키우기)

 

local.conf 파일에 아래 내용 추가

(위치 : /Work/STM32MP1/Distribution-Package/openstlinux-20-02-19/build-openstlinuxeglfs-stm32mp1/conf)

IMAGE_INSTALL_append = "qtquickcontrols2 qtquickcontrols2-qmlplugins"

 

Qt 이미지 다시 빌드

PC $> bitbake st-example-image-qt

이후 STM32CubeProgrammer를 이용해서 보드에 다운로드 수행

(보드의 경우, DIP SW를 BOOT(DFU)모드로 전환 후 수행 필요!)

 

Qt Designer를 이용해서 화면 디자인 수행

File - New - Application (Qt Quick) - Qt Quick Application - Swipe을 생성

 

화면 디자인에 대한 ui 파일에서 각각의 화면 디자인 진행

Page1Form.ui.qml

Page2Form.ui.qml

 

위와 같이 ui.qml 의 경우, QML이 아니기 때문에 이곳에서 Timer 와 같은 개체의 사용이 안된다.

그래서 main.qml 에서 대부분의 동작을 구현하였다.

 

이때, main.qml에서 각 page의 개체에 접근이 안되어서 애를 먹었는데,

ultrak**님 글이 도움이 되었습니다.

https://make.e4ds.com/make/st_quest_view.asp?q=6&idx=404 )

 

이후 Lab Time을 기록하며 list 출력은 하지만, 아직 미흡한 부분이 있습니다.

(계속 스크롤 됨. 수정 예정)

 

PC에서 동작을 확인 한 후, 크로스 컴파일 진행

PC $> devtool add myquest6 Quest6

PC $> devtool build myquest6

 

이후 LAN 케이블로 PC와 보드를 연결하고, 보드로 실행 파일 복사

PC $> scp ./Quest6/oe-workdir/image/opt/Quest6/bin/Quest6 root@192.168.1.10:/usr/bin

 

그리고 보드에서 동작 실행

BOARD $> /usr/bin/Quest6

 

동작 영상

첨부파일
Quest6-jobaek.zip 다운로드

로그인 후
참가 상태를 확인할 수 있습니다.