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: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
 
No edit summary
Line 1: Line 1:
=ST7108=
[[Category:Devices]]


{| class="infotable line"
= ST7108 =
! Architecture
 
! SH4
{|
!Architecture
!SH4
|-
|-
| <span class="caps">CPU</span>
|CPU
| SH430
|SH430
|-
|-
| <span class="caps">RAM</span>
|RAM
| 512 MB
|512 MB
|-
|-
| <span class="caps">GPU</span>
|GPU
| Mali 400
|Mali 400
|-
|-
| Hardware acceleration
|Hardware acceleration
| OpenGL ES 2.0
|OpenGL ES 2.0
|-
|-
| Qt 4.8 (eglnullws/QWS)
|Qt 4.8 (eglnullws/QWS)
| Supported, with OpenGL
|Supported, with OpenGL
|-
|-
| Qt 5.0 (eglfs/QPA)
|Qt 5.0 (eglfs/QPA)
| Supported, with OpenGL
|Supported, with OpenGL
|}
|}


==Device Information==
== Device Information ==


The ST7108 is made by [http://www.st.com/internet/imag_video/product/248829.jsp <span class="caps">STM</span>icroelectronics] ''[st.com]''.
The ST7108 is made by &quot;STMicroelectronics&amp;quot;: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 <span class="caps">STB</span>s.
* &quot;The STi7108 provides a solution for operators to specify a range of high-performance, MPEG2 / H.264 / VC-1 STBs.&quot;
* [http://www.st.com/internet/imag_video/product/248829.jsp 1] ''[st.com]''] STi7108 Advanced HD <span class="caps">AVC</span> decoder with 3D graphics acceleration
* &quot;1&amp;quot;:http://www.st.com/internet/imag_video/product/248829.jsp] STi7108 Advanced HD AVC decoder with 3D graphics acceleration


===Software===
=== Software ===


# <span class="caps">STM</span> <span class="caps">SDK</span> 3.5
# STM SDK 3.5
# [http://www.stlinux.com/install <span class="caps">STL</span>inux-2.4] ''[stlinux.com]''
# &quot;STLinux-2.4&amp;quot;:http://www.stlinux.com/install
# sh4-linux crosstools from <span class="caps">STM</span>
# sh4-linux crosstools from STM


===Assumptions===
=== Assumptions ===


# <span class="caps">STM</span> reference software <span class="caps">SDK</span> 3.5 is built on Host PC as conveyed in <span class="caps">STM</span>’s documentation given by <span class="caps">STM</span>’s Field Application Engineer.
# STM reference software SDK 3.5 is built on Host PC as conveyed in STM's documentation given by STM's Field Application Engineer.
# <span class="caps">STM</span> reference software <span class="caps">SDK</span> 3.5 is configured for “HDK7108_7108_LINUX”
# STM reference software SDK 3.5 is configured for &quot;HDK7108_7108_LINUX&amp;quot;
# Can run <span class="caps">STM</span>’s “Test-Tool” on reference board to test OenGL ES 2.0 and media playback.
# Can run STM's &quot;Test-Tool&amp;quot; on reference board to test OenGL ES 2.0 and media playback.
# The “sysroot” is located at &lt;<span class="caps">STL</span>inux-2.4 installation path&gt;/STLinux-2.4/devkit/sh4/target”
# The &quot;sysroot&amp;quot; is located at &quot;&lt;STLinux-2.4 installation path&amp;gt;/STLinux-2.4/devkit/sh4/target&amp;quot;


==Qt 4.8.0 EGLNullWS/QWS==
== Qt 4.8.0 EGLNullWS/QWS ==


===Getting Qt 4.8.0 with <span class="caps">STM</span> patches and mkspecs===
=== 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
# Download ftp://ftp.stlinux.com/pub/stlinux/2.4/updates/SRPMS/stlinux24-target-qt-embedded-4.8.0-5.src.rpm
Line 64: Line 66:
## qt-embedded-4.8.0-st231_disable_fno-stack-protector.patch
## qt-embedded-4.8.0-st231_disable_fno-stack-protector.patch
## qt-embedded-4.8.0-Accelerate_QtWebKit_animated_images.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”
# Create folder named &quot;linux-sh4-ST7108-g+''&quot; in &quot;qt-everywhere-opensource-src-4.8.0/mkspecs/qws&amp;quot;<br /># Get following files in &quot;qt-everywhere-opensource-src-4.8.0/mkspecs/qws/linux-sh4-ST7108-g&quot;<br />## https://gitorious.org/qt-platform-mkspecs/qt-platform-mkspecs/blobs/master/4.8/qws/linux-sh4-ST7108-g/qmake.conf<br />## https://gitorious.org/qt-platform-mkspecs/qt-platform-mkspecs/blobs/master/4.8/qws/linux-sh4-ST7108-g/qplatformdefs.h
# Get following files in “qt-everywhere-opensource-src-4.8.0/mkspecs/qws/linux-sh4-ST7108-g++”
<br />h3. Compiling Qt 4.8.0
## https://gitorious.org/qt-platform-mkspecs/qt-platform-mkspecs/blobs/master/4.8/qws/linux-sh4-ST7108-g++/qmake.conf
<br />Set the development environment variables using following commands<br /> <code><br /> cd /path/to/STM_SDK_3.5/<br /> source /path/to/STM_SDK_3.5/mysetenv.sh HDK7108_7108_LINUX<br /> </code><br />Configure, build and install Qt 4.8.0 as<br /> <code><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 /> </code><br />After the build succeeds set following environment variables before building any Qt Apps,<br /># QTDIR=/path/to/installation/directory/qt-everywhere-opensource-src-4.8.0-qws/<br /># PATH=/path/to/installation/directory/qt-everywhere-opensource-src-4.8.0-qws/bin/
## https://gitorious.org/qt-platform-mkspecs/qt-platform-mkspecs/blobs/master/4.8/qws/linux-sh4-ST7108-g++/qplatformdefs.h
<br />h2. Qt 5.0 EGLFS/QPA
 
<br />Only QtBase module is tested.
===Compiling Qt 4.8.0===
<br />h3. Compiling Qt 5.0
 
<br />One need to pass following &quot;device-option&amp;quot;s<br /># CROSS_COMPILE=&lt;STLinux-2.4 installation path&amp;gt;/STLinux-2.4/devkit/sh4/bin/sh4-linux</s>
Set the development environment variables using following commands Configure, build and install Qt 4.8.0 as After the build succeeds set following environment variables before building any Qt Apps,
 
# <span class="caps">QTDIR</span>=/path/to/installation/directory/qt-everywhere-opensource-src-4.8.0-qws/
# <span class="caps">PATH</span>=/path/to/installation/directory/qt-everywhere-opensource-src-4.8.0-qws/bin/
 
==Qt 5.0 <span class="caps">EGLFS</span>/QPA==
 
Only QtBase module is tested.
 
===Compiling Qt 5.0===
 
One need to pass following “device-option“s
 
# <span class="caps">CROSS</span>_COMPILE=&lt;<span class="caps">STL</span>inux-2.4 installation path&gt;/STLinux-2.4/devkit/sh4/bin/sh4-linux-
 
Configure, build and install Qt 5.0 as After the build succeeds set following environment variables before building any Qt Apps,
 
# <span class="caps">QTDIR</span>=/path/to/installation/directory/qt-gitorious-opensource-src-5.0/
# <span class="caps">PATH</span>=/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


===Categories:===
Configure, build and install Qt 5.0 as<br /> <code><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 &lt;STLinux-2.4 installation path&amp;gt;/STLinux-2.4/devkit/sh4/target  <s>device-option CROSS_COMPILE=&lt;STLinux-2.4 installation path&amp;gt;/STLinux-2.4/devkit/sh4/bin/sh4-linux</s><br /> $ make module-qtbase<br /> $ make module-qtbase-install_subtargets<br /> </code><br />After the build succeeds set following environment variables before building any Qt Apps,<br /># QTDIR=/path/to/installation/directory/qt-gitorious-opensource-src-5.0/<br /># PATH=/path/to/installation/directory/qt-gitorious-opensource-src-5.0/bin/


* [[:Category:Devices|Devices]]
Before executing any Qt applications on target copy &quot;/path/to/installation/directory/qt-gitorious-opensource-src-5.0&amp;quot; from host on target at &quot;/path/to/installation/directory/qt-gitorious-opensource-src-5.0&amp;quot; on target file system

Revision as of 09:40, 24 February 2015


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&quot;:http://www.st.com/internet/imag_video/product/248829.jsp.

Software

  1. STM SDK 3.5
  2. "STLinux-2.4&quot;:http://www.stlinux.com/install
  3. sh4-linux crosstools from STM

Assumptions

  1. STM reference software SDK 3.5 is built on Host PC as conveyed in STM's documentation given by STM's Field Application Engineer.
  2. STM reference software SDK 3.5 is configured for "HDK7108_7108_LINUX&quot;
  3. Can run STM's "Test-Tool&quot; on reference board to test OenGL ES 2.0 and media playback.
  4. The "sysroot&quot; is located at "<STLinux-2.4 installation path&gt;/STLinux-2.4/devkit/sh4/target&quot;

Qt 4.8.0 EGLNullWS/QWS

Getting Qt 4.8.0 with STM patches and mkspecs

  1. Download ftp://ftp.stlinux.com/pub/stlinux/2.4/updates/SRPMS/stlinux24-target-qt-embedded-4.8.0-5.src.rpm
  2. Extract stlinux24-target-qt-embedded-4.8.0-5.src.rpm
  3. Extract qt-everywhere-opensource-src-4.8.0.tar.gz
  4. Apply following patches on extracted qt-everywhere-opensource-src-4.8.0 in given order
    1. qt-embedded-4.8.0-st200.patch
    2. qt-embedded-4.8.0-sh4.patch
    3. qt-embedded-4.8.0-armvX.patch
    4. qt-embedded-4.8.0-mmap.patch
    5. qt-embedded-4.8.0-add_SRC_OVER_rule.patch
    6. qt-embedded-4.8.0-add_window_console_message_from_javaScript.patch
    7. qt-embedded-4.8.0-reset_CacheLoadControlAttribute_to_default.patch
    8. qt-embedded-4.8.0-adds_for_webkit_jit.patch
    9. qt-embedded-4.8.0-directfb-enable-QT_NO_DIRECTFB_PREALLOCATED-QT_DIREC.patch
    10. qt-embedded-4.8.0-imagedecoderqt-Use-DirectFB-to-load-single-frame-ima.patch
    11. qt-embedded-4.8.0-st231_disable_fno-stack-protector.patch
    12. qt-embedded-4.8.0-Accelerate_QtWebKit_animated_images.patch
  5. Create folder named "linux-sh4-ST7108-g+" in "qt-everywhere-opensource-src-4.8.0/mkspecs/qws&quot;
    # 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&quot;s
# CROSS_COMPILE=<STLinux-2.4 installation path&gt;/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 &lt;STLinux-2.4 installation path&amp;gt;/STLinux-2.4/devkit/sh4/target  <s>device-option CROSS_COMPILE=&lt;STLinux-2.4 installation path&amp;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&quot; from host on target at "/path/to/installation/directory/qt-gitorious-opensource-src-5.0&quot; on target file system