Broadcom97425/BCM7425-Qt4dot8-DFB-QWS

From Qt Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine.
Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean.

BCM 7425 - Qt 4.8 - DirectFB /QWS

Building AppLibs/RefSW for Qt

  1. Locate document named "BroadcomReferencePlatformSetup.pdf" (Usually this will be inside a tar ball named on the lines of refsw_release_<chip-name><date>.tgz)
  2. Follow the instructions in "BroadcomReferencePlatformSetup.pdf" to setup the Linux build machine
  3. Locate document named "AppLibsInstallationBuildGuide.pdf" (Usually this will be inside a tar ball named on the lines of applibs_release<date>.tgz)
  4. Follow the instructions in "AppLibsInstallationBuildGuide.pdf" to build Applibs

Qt 4.8 DirectFB / QWS

  1. Obtain qt-4.8.0 release from Qt Download site and extract it in a working folder
  2. Obtain 7425 specific files from qt-platform-mkspecs git (look for folder "4.8")
  3. Copy folder named "linux-7425dfb-mipsel-uclibc-g+" to <qt-4.8.0-sources>/mkspecs/qws
  4. Set following environment variables in the shell before configuring/building Qt,
BCM_APPLIBS_PATH=<path-till-Applibs-folder>/AppLibs
BCM_NEXUS_PATH=<path-till-Applibs-folder>/nexus
BCM_TARGET_LIBDIR=<path-till-nfsrootfs-base-folder>/romfs/lib
DEBUG=n

for example,

$ export BCM_APPLIBS_PATH=/home/qtnokia/WorkDir/97425-P1/stb-rs_p2-al_p2dot1/AppLibs
$ export BCM_NEXUS_PATH=/home/qtnokia/WorkDir/97425-P1/stb-rs_p2-al_p2dot1/nexus
$ export BCM_TARGET_LIBDIR=/opt/nfsroot_uclibc/romfs/lib
  1. Configure Qt as,
$ configure -embedded mips -xplatform qws/linux-7425dfb-mipsel-uclibc-g''+ -depths 16,24,32 -no-largefile -no-accessibility -opensource -verbose -system-zlib -system-libpng -system-libjpeg -system-freetype -fast -qt-gfx-directfb -qt-gfx-vnc -qt-kbd-linuxinput -qt-mouse-linuxinput -webkit -declarative -multimedia -confirm-license -release -make libs -xmlpatterns -exceptions -no-qt3support -no-xvideo -prefix /usr/local/qt-installs/qt480ga-mdfb-rel
  1. Build Qt as,
$ make<code>
# Install Qt on host as,

$ make install

Building Qt apps

  1. After the Qt build succeeds set following environment variables on host before building any Qt Apps for the above build,
*QTDIR=/usr/local/qt-installs/qt480ga-mdfb-rel
*PATH=/usr/local/qt-installs/qt480ga-mdfb-rel/bin:$PATH
  1. Ensure that following environment variables in the shell are set,
BCM_APPLIBS_PATH=<path-till-Applibs-folder>/AppLibs
BCM_NEXUS_PATH=<path-till-Applibs-folder>/nexus
BCM_TARGET_LIBDIR=<path-till-nfsrootfs-base-folder>/romfs/lib
DEBUG=n
  1. Invoke qmake on the applications .pro file
$ qmake <application>.pro<code>
# Build the application sources as,

$ make

Running Qt apps on target

  1. Ensure that folder "qt-installs/qt480ga-mdfb-rel" is copied on target file system at "/usr/local"
Note- after copying, the path should appear as "/usr/local/qt-installs/qt480ga-mdfb-rel"
  1. Copy the application binary and other required resource files on target file-system, at say "/root"
  2. On target, goto directory containing directfb startup script as,
# cd /usr/local/bin/directfb/1.4<code>
# Install board specific modules and create device nodes by running "rundfb.sh" as,

# ./rundfb.sh install

  1. Launch application using same rundfb.sh script as,