Mini2440 portable qt-extended4.4.3

Source: Internet
Author: User

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.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.