DevicesBroadcom97425BCM7425-Qt4dot8-DFB-QWS

From Qt Wiki
Revision as of 10:19, 24 February 2015 by Maintenance script (talk | contribs)
Jump to navigation Jump to search

h1. Building AppLibs/RefSW for Qt

  1. Locate document named "BroadcomReferencePlatformSetup.pdf&quot; (Usually this will be inside a tar ball named on the lines of refsw_release_<chip-name&gt;<date&gt;.tgz)
    # Follow the instructions in "BroadcomReferencePlatformSetup.pdf&quot; to setup the Linux build machine
    # Locate document named "AppLibsInstallationBuildGuide.pdf&quot; (Usually this will be inside a tar ball named on the lines of applibs_release
    <date&gt;.tgz)
  2. Follow the instructions in "AppLibsInstallationBuildGuide.pdf&quot; 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&quot;)
  3. Copy folder named "linux-7425dfb-mipsel-uclibc-g+" to <qt-4.8.0-sources&gt;/mkspecs/qws
    # Set following environment variables in the shell before configuring/building Qt
    '
    BCM_APPLIBS_PATH=<path-till-Applibs-folder&gt;/AppLibs
    '
    BCM_NEXUS_PATH=<path-till-Applibs-folder&gt;/nexus
    '
    BCM_TARGET_LIBDIR=<path-till-nfsrootfs-base-folder&gt;/romfs/lib
    '
    DEBUG=n
    <br />$ export BCM_APPLIBS_PATH=/home/qtnokia/WorkDir/97425-P1/stb-rs_p2-al_p2dot1/AppLibs<br />$ export BCM_NEXUS_PATH=/home/qtnokia/WorkDir/97425-P1/stb-rs_p2-al_p2dot1/nexus<br />$ export BCM_TARGET_LIBDIR=/opt/nfsroot_uclibc/romfs/lib<br />
    

    # Configure Qt as,
    <br />$ 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 <s>prefix /usr/local/qt-installs/qt480ga-mdfb-rel<br />
    

    # Build Qt as,
    <br />$ make<br />
    

    # Install Qt on host as,
    <br />$ make install<br />
    


h1. Building Qt apps


# 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
# Ensure that following environment variables in the shell are set,
' BCM_APPLIBS_PATH=<path-till-Applibs-folder&gt;/AppLibs
'
BCM_NEXUS_PATH=<path-till-Applibs-folder&gt;/nexus
' BCM_TARGET_LIBDIR=<path-till-nfsrootfs-base-folder&gt;/romfs/lib
'
DEBUG=n
# Invoke qmake on the applications .pro file

<br />$ qmake &lt;application&amp;gt;.pro<br />


# Build the application sources as,

<br />$ make<br />


h1. Running Qt apps on target
# Ensure that folder "qt-installs/qt480ga-mdfb-rel&quot; is copied on target file system at "/usr/local&quot;
' Note after copying, the path should appear as "/usr/local/qt-installs/qt480ga-mdfb-rel&quot;

  1. Copy the application binary and other required resource files on target file-system, at say "/root&quot;
  2. On target, goto directory containing directfb startup script as,
    # cd /usr/local/bin/directfb/1.4<br />
    
  3. Install board specific modules and create device nodes by running "rundfb.sh&quot; as,
    # ./rundfb.sh install<br />
    
  4. Launch application using same rundfb.sh script as,
  5. ./rundfb.sh /root/app1/app1 -qws -display directfb