Broadcom97420

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


Broadcom 97420

Reference Software

  • Phase 5.0 Reference software (refsw_release_97420_20100825.src.tgz)
  • Phase 2.5 and Phase 3.0 of DirectFB 1.4.1
  • Toolchain is stbgcc 4.4.5-1.3 (modified by Broadcom)
  • Linux kernel is stblinux-2.6.31-2.5 (modified by Broadcom)

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.7 DirectFB / QWS

  1. Obtain qt-4.7.0 release from [http*//get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.7.0.tar.gz| Qt Download site] and extract it in a working folder
  2. Create folder named "linux-97420c0-mipsel-uclibc-g+" in <qt-4.7.0-sources&gt;/mkspecs/qws
    # In file <qt_sources&gt;/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp, comment out line "surface->SetPorterDuff(surface, DSPD_DST);"
    # Obtain 7420 specific files namely, qmake.conf and qplatformdefs.h from [http*//gitorious.org/qt-platform-mkspecs| qt-platform-mkspecs git ] (look for folder "4.7/qws/linux-97420c0-mipsel-uclibc-g") and copy it in newly created folder in step 2
    # Set following environment variables in the shell before configuring/building Qt,
    export APPLIBS=&lt;PATH Of Base Working Directory where Reference Software is extracted&amp;gt;/AppLibs<br />export BCM97420C0_DFB_PATH=$APPLIBS/opensource/directfb/bin/DirectFB-1.4.1_release_build.97420C0/usr/local<br />export BCM_DEV_PATH=$APPLIBS/opensource<br />export BCM_DEPLOYED_PATH=$APPLIBS/target/97420c0.mipsel-linux-uclibc.release
    

    # Configure Qt as,
    $configure -embedded mips -xplatform qws/linux-974250c0-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 -webkit -confirm-license -release -make libs -xmlpatterns -exceptions -no-qt3support <s>prefix /usr/local/qt-installs/qt-dfb-97420C0-rel<code><br /># Build Qt as,<br />
    
    $ make
    # 8 Install Qt on host as,
    $ make install<code>
    <br />h2. Building Qt apps 
    <br />* 1 After the Qt build succeeds set following environment variables on host before building any Qt Apps for the above build,<br />* QTDIR=/usr/local/qt-installs/qt-dfb-97420C0-rel<br />* PATH=/usr/local/qt-installs/qt-dfb-97420C0-rel/bin*$PATH<br />* 2 Ensure that following environment variables in the shell are set,<br />
    
    export APPLIBS=<PATH Of Base Working Directory where Reference Software is extracted&gt;/AppLibs
    export BCM97420C0_DFB_PATH=$APPLIBS/opensource/directfb/bin/DirectFB-1.4.1_release_build.97420C0/usr/local
    export BCM_DEV_PATH=$APPLIBS/opensource
    export BCM_DEPLOYED_PATH=$APPLIBS/target/97420c0.mipsel-linux-uclibc.release
    <br /># Invoke qmake on the applications .pro file<br />
    
    $ qmake <application&gt;.pro
    # Build the application sources as,
    $ make


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

  1. 2 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,
  3. cd /usr/local/bin/directfb/1.4
  4. Install board specific modules and create device nodes by running "rundfb.sh&quot; as,
  5. ./rundfb.sh install
  6. Launch application using same rundfb.sh script as,
  7. ./rundfb.sh /root/app1/app1 -qws -display directfb