Because of the project demand, some time ago in the mini2440 transplanted qt-extended4.4.3, now will transplant the process of simple said, hope to do the relevant work of friends to help.
I. Development Environment
Host Computer: fedora9.0
Cross Compiler version: arm-linux-gcc4.4.3 (the friendly arm is provided, in this note: arm-linux-gcc4.4.3 or arm-linux-gcc4.4.2 is supported by arm9, we recommend that you do not use the arm-linux-gcc4.5 provided by the friendly arm (supporting arm11) on ARM9 ));
Network File System Directory:/opt/root_nfs/root_qtopia (depending on your situation)
Development Board LCD version: w35
Development Board Bootloader: U-boot (provided by embedded home)
Development Board kernel: uimage (provided by embedded home)
Root file system: root_qtopia (provided by embedded homes)
Declaration: bootloader, kernel, and root file system can also be directly provided by friendly arm.
Ii. Cross-compile tslib1.4
Compile and run the qt-extended-4.4.3 (qtopia4), need tslib library, the library file is the touch screen calibration on time, such as the touch screen data filtering, dejitter, etc, the QT library calls the library file of tslib.
It is recommended that you install fedora completely. Do not install it by default because third-party libraries are required for compiling tslib.
1、decompress tslib1.4.tar.gz
2. Go to the tslib directory:
[Root @ localhost/] # cd tslib/
3. Set environment variables and develop cross-Compiler
# Export Path =/opt/toolchain/4.4.3/bin: $ path
# Export toolchain =/opt/toolchain/4.4.3
# Export tb_cc_prefix = arm-Linux-
# Export pkg_config_prefix = $ toolchain/ARM-Linux
4. Run the script in the tslib directory.
#./Autogen. Sh
# Echo "ac_cv_func_malloc_0_nonnull = yes"> arm-linux.cache
5. Configuration
#./Configure -- Host = arm-Linux
-- Cache-files = arm-linux.cache
-- Enable-inputapi = No
Plugin_dir =/usr/local/ARM/tslib/plugins
-Prefix =/usr/local/ARM/tslib/build
-Host = arm-Linux
-- Cache-file = arm-linux.cache2> & 1 | tee conf_log
-Prefix =/usr/local/ARM/tslib/build indicates the directory where tslib is installed.
The last line writes the configuration information to the conf_log file for you to check for errors.
6. Compile
# Make2> & 1 | teemake_log
# Makeinstall
7. After the command is successful, the build directory appears in/usr/local/ARM/tslib. Go to the relevant etc directory and find the Ts. conf bin to modify and delete the # And space before module_rawinput,
Change the build directory to tslib (command: [root @ localhost tslib] # mv build tslib). Therefore, the Directory of tslib in PC is: /usr/local/ARM/tslib, and then copy the tslib directory to the Network File System:/opt/root_nfs/root_qtopia/usr/local
3. Cross-compiling qt-extended4.4.3
1. Create a directory named arm
[Root @ localhost/] # mkdir arm
2、beibeiqt-extended-opensource-src-4.4.3.tar.gz to arm directory
3. Go to the arm directory.
[Root @ localhost/] # cd arm
To achieve one-click compilation, I will compile a script: build with the following content:
#! /Bin/bash
Rm qt-extended-4.4.3-fr
Tar xvzf qt-extended-opensource-src-4.4.3.tar.gz
Rm-fr builddir
Mkdir builddir
# Linux-arm-G ++
Export Path =/opt/toolchain/4.4.3/bin: $ path
Export toolchain =/opt/toolchain/4.4.3
Export tb_cc_prefix = arm-Linux-
# Export pkg_config_prefix = $ toolchain/ARM-Linux
Export pkg_config_prefix = $ toolchain/ARM-None-Linux-gnueabi
Qtopia_prefix_dir =/opt/qtopia4.4.3
Export qtopia_depot_path =$ PWD/qt-extended-4.4.3
Export qpedir = $ PWD/builddir
Export lc_ctype = "en_us"
Export lang = "en_us"
Export Language = "en_us"
CD $ qpedir
Echo Yes | $ qtopia_depot_path/configure \
-Ui-type mobile \
-Xplatform Linux-arm-G ++ \
-Arch Arm \
-Release \
-Clean \
-Prefix $ {qtopia_prefix_dir }\
-Sound-system OSS \
-Build-QT \
-No-sxe \
-No-SSL \
No-v4l2 \
-No-VPN \
-No-phonon \
-No-libamr \
-Dynamic-rotation \
-Mediaengines cruxus \
-Remove-mediaengine gstreamer, helix \
-Pictureflow \
-Remove-module Bluetooth, DRM \
-No-keys \
-No-dbusipc \
-Add-displaysize 240x320 \
-Extra-QT-embedded-config "-Embedded ARM-xplatform qws/Linux-arm-G ++-no-cups-nomake examples-nomake demos-QT-zlib
-QT-libjpeg-QT-libmng-QT-libpng-no-encoding-Depths 16, 32-QT-GFX-linuxfb-QT-GFX-transformed-no-GFX-qvfb-no- GFX-VNC-no-GFX-multis
Creen-QT-KBD-tty-no-KBD-USB-no-kbd-sl5000-no-KBD-yopy-no-kbd-vr41xx-no-KBD-qvfb-QT-mouse-tslib-I/usr/ local/ARM/tslib/I
Nclude-L/usr/local/ARM/tslib/lib-no-WebKit-no-OpenSSL-no-phonon-backend-no-nas-sound- no-exceptions-SVG "\
-Extra-QT-config "-no-WebKit "\
2> & 1 | Tee ../qtopiaconfig. Log
Bin/qbuild 2> & 1 | Tee ../qtopia4.4.3makelog
Bin/qbuild Image
4. Modify and execute the build script
[Root @ localhost arm] # chmod + x build
[Root @ localhost arm] #./build
Because the file size is large, it may take about 2.5 hours to compile. Let's take a break and have a cup of coffee and pray that there will be no mistakes. Haha
5. After compilation, 'sdk' and 'image' are generated in the 'builddir' directory. 'sdk' is the api library for developing the QT graphical interface software on the Development Board, there are also tools and software such as international tools. The files in the 'image' directory are my
The long-awaited qtopia4.4.3 executable file. As follows:
4. Run qt-extended4.43 at mini2440
Step 1. In this chapter, the NFS mount directory is '/opt/root_nfs '. Decompress the root_qtopia.ta.gz embedded in the family garden in the '/opt/root_nfs' directory of the PC. Finally, copy the compiled 'image' directory to '/opt/root_nfs/root_qtopia/opt:
[Root @ localhost builddir] # cp-r image/opt/root_nfs/root_qtopia/OPT
Step 2. Enter the/opt/root_nfs/root_qtopia/OPT directory, and rename the image directory to qtopia4.4.3.
[Root @ localhost opt] # mv image qtopia4.4.3
Step 3. Create the qtopia4.4.3 file under the bin directory of the network root file system. The content is as follows:
Step 4. Next, modify the RCS Startup File to run qtopia4.4.3 directly after Linux is started: open the file
'/Forlinx/root/etc/init. d/rc'. The last few lines are modified as follows:
#/Bin/qtopia &
#/Bin/qtopia4 &
Echo "">/dev/tty1
Echo "Starting qtopia, please waiting...">/dev/tty1
Source/bin/qtopia4.4.3
If [-F/etc/pointercal]; then
$ Qpedir/bin/qpe-qws &
Else
Usr/local/tslib/bin/ts_calibrate $ qpedir/bin/qpe-qws &
Fi
6. Restart the Development Board to see the effect.
During the transplantation process, refer to the mini6410 qt4and qtopiaprogramming development models -20101228.pdf and ok6410 qttransplant library. You can download these two documents from the friendly arm and the official website of Feiling. Time is too short to avoid omissions.