Broadcom97425/BCM7425-Qt4dot8-DFB-QWS

From Qt Wiki
Jump to: navigation, search

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

  1. 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

  1. 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

  1. 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,