跳至主要内容

【转】Installing Qt/Embedded

This installation procedure is written for Linux. It may need to be modified for other platforms.

  1. Unpack the archive if you have not done so already

        cd ;     gunzip qt-embedded-VERSION-commercial.tar.gz    # uncompress the archive     tar xf qt-embedded-VERSION-commercial.tar       # unpack it 
    Replace VERSION with the Qt/Embedded version number throughout.

    This document assumes that the archive is installed as ~/qt-VERSION.

  2. Compile the Qt/Embedded library and examples.

        cd ~/qt-VERSION     export QTDIR=~/qt-VERSION     ./configure     make 

    The configuration system is designed to allow platform-specific options to be added, but in general all Linux system which have framebuffer support can use the "linux-generic-g++" platform. The configuration system also supports cross-compilers: to build on Linux/x86 for the Linux/MIPSEL target, you would use:

         ./configure -platform linux-x86-g++ -xplatform linux-mips-g++ 

    Only a small number of configurations are predefined, all much the same. Configurations files are found in configs/.

  3. Enable framebuffer support.

    You may need to recompile your kernel to enable the framebuffer. This document does not describe how to do this; the HOWTO-Framebuffer page contains a short description. (You should see a penguin logo at boot time when the frame buffer is enabled.)

    For Matrox G100/G200/G400 use the matrox frame buffer driver.

    For NVidia TNT cards use the nvidia frame buffer driver.

    For Mach64 and most other cards, use the vesafb driver.

    Note that some cards are only supported in VGA16 mode, this will not work with the current version of Qt/Embedded, since VGA/16 is not yet supported. You may need to upgrade your kernel, or even switch to an experimental kernel.

    The frame buffer must also be enabled with a boot parameter. See /usr/src/linux/Documentation/fb for details.

    The fbset program, which should be included in Linux distributions, may be used to switch video modes without rebooting the system. The video mode active when the server is started will be used. (8-bit modes are still experimental.) Note: fbset does not work with the vesafb driver.

  4. Change permissions.

    To run Qt/Embedded, you need write access to the framebuffer device /dev/fb0.

    You also need read access to the mouse device. (Note that /dev/mouse is normally a symbolic link; the actual mouse device must be readable.)

  5. How to run the demonstration program.

    Log into a virtual console and do:

        cd ~/qt-VERSION/     ./start-demo 

  6. Miscellaneous troubleshooting and known bugs.

    To kill gpm, run the following command as root:

        gpm -k 

    In some cases, if the server does not work, it will work when run as root.

    Some example programs may not compile with GCC 2.95.

    Show processes using the framebuffer:

        fuser -v /dev/fb0 

    Kill such processes:

        fuser -vk /dev/fb0 
    or harsher:
        fuser -k -KILL /dev/fb0 

    Show existing semaphores:

        ipcs             

    Remove semaphores:

        ipcrm 

    The communication between client and server is done through the named pipe /tmp/.QtEmbedded; sometimes it may need to be deleted (eg. if you run Qt/Embedded as root then later as an unprivileged user).

  7. Customization.

    The Qt/Embedded library can be reduced in size by removing unnecessary features.

评论

此博客中的热门博文

【转】AMBA、AHB、APB总线简介

AMBA 简介 随着深亚微米工艺技术日益成熟,集成电路芯片的规模越来越大。数字IC从基于时序驱动的设计方法,发展到基于IP复用的设计方法,并在SOC设计中得到了广泛应用。在基于IP复用的SoC设计中,片上总线设计是最关键的问题。为此,业界出现了很多片上总线标准。其中,由ARM公司推出的AMBA片上总线受到了广大IP开发商和SoC系统集成者的青睐,已成为一种流行的工业标准片上结构。AMBA规范主要包括了AHB(Advanced High performance Bus)系统总线和APB(Advanced Peripheral Bus)外围总线。   AMBA 片上总线        AMBA 2.0 规范包括四个部分:AHB、ASB、APB和Test Methodology。AHB的相互连接采用了传统的带有主模块和从模块的共享总线,接口与互连功能分离,这对芯片上模块之间的互连具有重要意义。AMBA已不仅是一种总线,更是一种带有接口模块的互连体系。下面将简要介绍比较重要的AHB和APB总线。 基于 AMBA 的片上系统        一个典型的基于AMBA总线的系统框图如图3所示。        大多数挂在总线上的模块(包括处理器)只是单一属性的功能模块:主模块或者从模块。主模块是向从模块发出读写操作的模块,如CPU,DSP等;从模块是接受命令并做出反应的模块,如片上的RAM,AHB/APB 桥等。另外,还有一些模块同时具有两种属性,例如直接存储器存取(DMA)在被编程时是从模块,但在系统读传输数据时必须是主模块。如果总线上存在多个主模块,就需要仲裁器来决定如何控制各种主模块对总线的访问。虽然仲裁规范是AMBA总线规范中的一部分,但具体使用的算法由RTL设计工程师决定,其中两个最常用的算法是固定优先级算法和循环制算法。AHB总线上最多可以有16个主模块和任意多个从模块,如果主模块数目大于16,则需再加一层结构(具体参阅ARM公司推出的Multi-layer AHB规范)。APB 桥既是APB总线上唯一的主模块,也是AHB系统总线上的从模块。其主要功能是锁存来自AHB系统总...

【转】smb协议栈使用示例

/*  * * uncdownload.c  * *  * * Utility for downloading files from SMB shares using libsmbclient  * *  * * Copyright(C) 2006 Sophos Plc, Oxford, England.  * *  * * This program is free software; you can redistribute it and/or modify it under the terms of the  * * GNU General Public License Version 2 as published by the Free Software Foundation.  * *  * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without  * * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  * * See the GNU General Public License for more details.  * *  * * You should have received a copy of the GNU General Public License along with this program; if not,  * * write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA  * *  * */ # include < sys / types . h > # include < sys / time . h > # include ...

【转】tcphdr结构详解

位于:/usr/src/linux/include/linux/tcp.h struct tcphdr { __be16 source; __be16 dest; __be32 seq; __be32 ack_seq; #if defined(__LITTLE_ENDIAN_BITFIELD) __u16   res1:4, doff:4, fin:1, syn:1, rst:1, psh:1, ack:1, urg:1, ece:1, cwr:1; #elif defined(__BIG_ENDIAN_BITFIELD) __u16   doff:4, res1:4, cwr:1, ece:1, urg:1, ack:1, psh:1, rst:1, syn:1, fin:1; #else #error "Adjust your <asm/byteorder.h> defines"