Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.
ST7108
ST7108
Architecture | SH4 |
---|---|
CPU | SH430 |
RAM | 512 MB |
GPU | Mali 400 |
Hardware acceleration | OpenGL ES 2.0 |
Qt 4.8 (eglnullws/QWS) | Supported, with OpenGL |
Qt 5.0 (eglfs/QPA) | Supported, with OpenGL |
Device Information
The ST7108 is made by "STMicroelectronics":http://www.st.com/internet/imag_video/product/248829.jsp.
- "The STi7108 provides a solution for operators to specify a range of high-performance, MPEG2 / H.264 / VC-1 STBs."
- "1":http://www.st.com/internet/imag_video/product/248829.jsp] STi7108 Advanced HD AVC decoder with 3D graphics acceleration
Software
- STM SDK 3.5
- "STLinux-2.4":http://www.stlinux.com/install
- sh4-linux crosstools from STM
Assumptions
- STM reference software SDK 3.5 is built on Host PC as conveyed in STM's documentation given by STM's Field Application Engineer.
- STM reference software SDK 3.5 is configured for "HDK7108_7108_LINUX"
- Can run STM's "Test-Tool" on reference board to test OenGL ES 2.0 and media playback.
- The "sysroot" is located at "<STLinux-2.4 installation path>/STLinux-2.4/devkit/sh4/target"
Qt 4.8.0 EGLNullWS/QWS
Getting Qt 4.8.0 with STM patches and mkspecs
- Download ftp://ftp.stlinux.com/pub/stlinux/2.4/updates/SRPMS/stlinux24-target-qt-embedded-4.8.0-5.src.rpm
- Extract stlinux24-target-qt-embedded-4.8.0-5.src.rpm
- Extract qt-everywhere-opensource-src-4.8.0.tar.gz
- Apply following patches on extracted qt-everywhere-opensource-src-4.8.0 in given order
- qt-embedded-4.8.0-st200.patch
- qt-embedded-4.8.0-sh4.patch
- qt-embedded-4.8.0-armvX.patch
- qt-embedded-4.8.0-mmap.patch
- qt-embedded-4.8.0-add_SRC_OVER_rule.patch
- qt-embedded-4.8.0-add_window_console_message_from_javaScript.patch
- qt-embedded-4.8.0-reset_CacheLoadControlAttribute_to_default.patch
- qt-embedded-4.8.0-adds_for_webkit_jit.patch
- qt-embedded-4.8.0-directfb-enable-QT_NO_DIRECTFB_PREALLOCATED-QT_DIREC.patch
- qt-embedded-4.8.0-imagedecoderqt-Use-DirectFB-to-load-single-frame-ima.patch
- qt-embedded-4.8.0-st231_disable_fno-stack-protector.patch
- qt-embedded-4.8.0-Accelerate_QtWebKit_animated_images.patch
- Create folder named "linux-sh4-ST7108-g+" in "qt-everywhere-opensource-src-4.8.0/mkspecs/qws"
# Get following files in "qt-everywhere-opensource-src-4.8.0/mkspecs/qws/linux-sh4-ST7108-g"
## https://gitorious.org/qt-platform-mkspecs/qt-platform-mkspecs/blobs/master/4.8/qws/linux-sh4-ST7108-g/qmake.conf
## https://gitorious.org/qt-platform-mkspecs/qt-platform-mkspecs/blobs/master/4.8/qws/linux-sh4-ST7108-g/qplatformdefs.h
h3. Compiling Qt 4.8.0
Set the development environment variables using following commands
<br /> cd /path/to/STM_SDK_3.5/<br /> source /path/to/STM_SDK_3.5/mysetenv.sh HDK7108_7108_LINUX<br />
Configure, build and install Qt 4.8.0 as
<br /> $ /path/to/qt-everywhere-opensource-src-4.8.0/configure -opensource -confirm-license -verbose -release -shared -no-rpath -system-zlib -system-libjpeg -system-libpng -qt3support -qt-sql-sqlite -xmlpatterns -exceptions -declarative -script -scripttools -webkit -no-javascript-jit -qt-gfx-linuxfb -qt-gfx-transformed -qt-gfx-vnc -qt-gfx-multiscreen -qt-kbd-linuxinput -qt-mouse-linuxinput -make libs -make tools -make examples -make demos -make docs -make translations -platform qws/linux-x86-g''+ —prefix=/path/to/installation/directory/qt-everywhere-opensource-src-4.8.0-qws/ -xplatform qws/linux-sh4-ST7108-g++ -embedded sh4 -little-endian -opengl es2 -plugin-gfx-eglnullws -qt-gfx-directfb <s>no-dbus<br /> $ make<br /> $ make install<br />
After the build succeeds set following environment variables before building any Qt Apps,
# QTDIR=/path/to/installation/directory/qt-everywhere-opensource-src-4.8.0-qws/
# PATH=/path/to/installation/directory/qt-everywhere-opensource-src-4.8.0-qws/bin/
h2. Qt 5.0 EGLFS/QPA
Only QtBase module is tested.
h3. Compiling Qt 5.0
One need to pass following "device-option"s
# CROSS_COMPILE=<STLinux-2.4 installation path>/STLinux-2.4/devkit/sh4/bin/sh4-linux
Configure, build and install Qt 5.0 as
<br /> $ configure —prefix=/path/to/installation/directory/qt-gitorious-opensource-src-5.0 -release -opensource -confirm-license -shared -verbose -device linux-sh4-stmicro-ST7108-g++ -sysroot <STLinux-2.4 installation path&gt;/STLinux-2.4/devkit/sh4/target <s>device-option CROSS_COMPILE=<STLinux-2.4 installation path&gt;/STLinux-2.4/devkit/sh4/bin/sh4-linux</s><br /> $ make module-qtbase<br /> $ make module-qtbase-install_subtargets<br />
After the build succeeds set following environment variables before building any Qt Apps,
# QTDIR=/path/to/installation/directory/qt-gitorious-opensource-src-5.0/
# PATH=/path/to/installation/directory/qt-gitorious-opensource-src-5.0/bin/
Before executing any Qt applications on target copy "/path/to/installation/directory/qt-gitorious-opensource-src-5.0" from host on target at "/path/to/installation/directory/qt-gitorious-opensource-src-5.0" on target file system