Buildroot and Qt on Arietta G25 + XTERM-01

This article illustrates how to generate from sources a BuildRoot distribution for Arietta G25 + XTERM-01 2.8 lcd with Qt graphic libraries and Qt examples

Features

  • Fast boot: less than 6 secs
  • Small: less than 50MByte
  • Buidroot 2015.05, Kernel 4.0.4, Qt 4.8.6

Building BuildRoot from sources

Follow this article: but instead to launch make acme-arietta_defconfig launch:

~/buildroot-2015.05.acme$ make acme-xterm-01_defconfig

This will add Qt and Qt examples to your Buildroot image. Before to launch make follow this instruction to add the right driver to manage the SPI display on your Linux Kernel.

Install the Linux framebuffer drivers for small TFT LCD display modules

Move inside the ~/buildroot-2015.05.acme/output/build/linux-4.0.4/drivers/video directory:

tanzilli@ubuntu:~$ cd ~/buildroot-2015.05.acme/output/build/linux-4.0.4/drivers/video

and clone the fbtft repository.

../video$ git clone https://github.com/notro/fbtft.git

edit the drivers/video/Kconfig file by adding this line before the endmenu line:

source "drivers/video/fbtft/Kconfig"

edit the drivers/video/Makefile file adding this line after obj-y += fbdev/ line:

obj-y += fbtft/

Go back to ~/buildroot-2015.05.acme directory and launch:

~/buildroot-2015.05.acme$ make linux-menuconfig

To enable the frame buffer and the LCD driver:

---> Device Drivers
    ---> Graphics support
        < * > Support for frame buffer devices  ---> 
        < * > Support for small TFT LCD display modules  ---> 
            < * > FB driver for the ILI9341 LCD Controller 
        

To enable the touch screen:

---> Device Drivers
    < * > Industrial I/O support  --->
        Analog to digital converters  --->
            < * > Atmel AT91 ADC  

exit from the configuration menu and launch:

~/buildroot-2015.05.acme$ make

after about 1 hour (on my Mac Book pro I5) the microSD files will be ready:

tanzilli@ubuntu:~/buildroot-2015.05.acme$ ls -al output/images/
total 43660
drwxrwxr-x 2 tanzilli tanzilli     4096 Jun  3 08:36 .
drwxrwxr-x 6 tanzilli tanzilli     4096 Jun  3 08:15 ..
-rw-rw-r-- 1 tanzilli tanzilli    24226 Jun  3 10:46 acme-arietta.dtb
-rwxrwxr-x 1 tanzilli tanzilli    14529 Jun  3 08:26 boot.bin
-rw-rw-r-- 1 tanzilli tanzilli 41666560 Jun  3 10:46 rootfs.tar
-rwxrwxr-x 1 tanzilli tanzilli  2986064 Jun  3 10:46 zImage

Insert a formatted microSD card and copy these files on it:

~/buildroot-2015.05.acme$ cp output/images/boot.bin /media/$USER/kernel
~/buildroot-2015.05.acme$ cp output/images/acme-arietta.dtb /media/$USER/kernel
~/buildroot-2015.05.acme$ cp output/images/zImage /media/$USER/kernel
~/buildroot-2015.05.acme$ sudo tar xvf output/images/rootfs.tar -C /media/$USER/rootfs

At the first boot Arietta will be very slow (about 2 minutes) to calculate the openssh keys. At the next boots it will need less than 5 secs.

Try a Qt example

Get the access to the board using the DPI interface or via SSH.

Login with as root using the password acmesystems

Calibrate the touchscreen by typing:

# ts_calibrate

then try one of the Qt example available:

# cd /usr/share/qt/examples/widgets/sliders
# ./sliders 

now run this command in order to set Qt to use tslib:

# export QWS_MOUSE_PROTO=Tslib:/dev/input/event0

then launch the first example (see the video):

# /sliders -qws

Download the ready-to-use microSD binaries

  • Format a microSD using gparted in this way:
    • First partition 32MB (or more) FAT16 or FAT32
    • Second partition large as you like as EXT4
  • Copy in the first partition these files:
  • Untar as root (sudo tar -xvf rootfs.tar) in the second partition this file:

Login data

  • SSH, and Debug port: user root password acmesystems

Software versions

  • Kernel Linux 4.0.4
  • Buildroot 2015.05

Configuration files

Related links