嵌入式linux_qtopia平台开发说明

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情


    LINUX系统中QT(qtopia)平台开发说明
    =================================
        黄德智(compiler_hdz@hotmail.com)
            V:1.0
        日期:20060305

        QT 版本 :20060106V2

一、开发包的获取
================

    最新的qtopia开发包名称为:qtopia_dev20060106V2.tar.gz;
当前版本为20060106V2,大小大约为 246M。

    当前和后续版本也可在 东信 的FTP网站上下载得到.

二、开发环境的搭建
==================

    qtopia开发包运行于LINUX操作系统上,LINUX要求内核版本为2.4.18或以上。安装LINUX操作系统,
如果只是在PC机上进行模拟器上的开发和交叉编译,可将LINUX安装到虚拟机上。将LINUX安装到虚拟机上,
建议硬盘空间最少分配6G,因为开发环境的搭建需要很大空间。

1、qtopia开发包的安装步骤:
    (1)、将qtopia_dev.tar.gz放到/opt/目录下
        建议放在/opt/目录下,如果需要将开发包放到其他的目录,则解压后需要修改
qtopia-phone-2.1.1/src/下的config.pri文件。
    (2)、用命令tar解压
        在LINUX终端中CD到/opt/目录下,输入命令 tar -zxf qtopia_dev.tar.gz (回车),
几分钟后解压结束,出现命令提示符,如果报找不到什么目录或找不到什么文件,输入命令“df -m”
查看硬盘使用情况,一般原因是硬盘空间不足,解压失败,删除硬盘上不需要的文件或重新安装LINUX操作
系统,把分配硬盘空间更大。
    (3)、解压后生成的目录为qtopia_dev

2、交叉编译工具的安装步骤:

    (1)、将cross2compiler.tar.gz放到/opt/目录下
    (2)、用命令tar -zxf cross2compiler.tar.gz 解压
    (3)、解压后生成的目录为debugdir
    交叉编译工具的安装是为了编译出在真机上运行的可执行文件,如果只是在模拟器上开发,可不
进行交叉工具的安装。

三、模拟器上开发
================

1、配置文件和全局变量的设置:
    (1)、将.../qtopia_dev/.../x86/Settings目录放到/root/目录下,如果已经有/root/Settings目录,
则进行覆盖。
    (2)、进入qtopia_dev/.../.../x86/目录。(中间目录省略)
    (3)、运行 ./setenv 设置环境变量,或source setenv命令。

2、编译例子工程:
     在目录.../qtopia_dev/20060106V1102/x86/qtopia-phone-2.1.1/examples/application/下有一个名为
application的示例工程,对该工程进行编译和安装,可在模拟器中看到运行效果。
    编译步骤:
    (1)、进入qtopia_dev/.../.../x86/qtopia-phone-2.1.1/examples/application目录;
    (2)、运行qmake生成Makefile 文件;
    (3)、运行make install 进行编译和安装。

3、模拟器上查看运行效果:
    (1)、进入.../qtopia_dev/20060106V1102/x86/目录
    (2)、运行./rn.dat 启动模拟器

4、各个文件安装路径:
    (1)、所有编译后的程序放在
qtopia_dev/.../.../x86/qtopia-phone-2.1.1/image/opt/Qtopia/bin/目录下;
    (2)、程序相应的desktop文件放在
qtopia_dev/.../.../x86/qtopia-phone-2.1.1/image/opt/Qtopia/apps/Application/目录下
    (3)、所有的程序图标放在qtopia_dev/.../.../x86/pia-phone-2.1.1/image/opt/Qtopia/pics/程序名/目录下

5、示例工程中的各个文件

    (1)、application.pro文件
    该文件中指定工程中用到的各个文件,文件包括:源代码文件(.c .cpp .h)、资源文件名、目标文件名、
desktop文件及路径、图标文件及路径、帮助文件及路径。
    qmake命令在执行过程中访问application.pro文件将生成Makefile文件。
   
    (2)、example.desktop文件
    该文件将安装到模拟器和真机上,为了在运行时找到工程的各个文件。

    (3)、example.control文件
    文件中指定了工程的可执行文件路径、desktop文件路径、帮助文件路径和图标文件路径。
    这个文件我现在还没有搞清楚:)

    (4)、examplebase.ui文件
    该文件中以XML的格式定义了可视窗口上的各个部件。

    (5)、其它文件
    example.html和Example.png分别是工程的帮助文件和图标文件。

6、建立自己的工程

(1)、在示例工程的基础上建立自己的工程:
    新建一个自己工程的目录,将示例工程中的相关文件复制到该目录,在示例工程的基础上进行修改。
需要复制的文件有:main.cpp、application.pro、example.control、example.cpp、example.h、example.desktop、
examplebase.ui、Example.png、example.html。

(2)、修改事项:
    application.pro文件:
    A、“application.pro”文件以.pro为扩展名,文件名要和它所在的目录名相同;
    B、11行,写上所有工程中用到头文件,文件名之间用空格隔开;
    C、12行,写上所有工程中用到.c或.cpp文件,文件名之间用空格隔开;
    D、13行,可视窗口文件名;
    E、14行,生成可执行文件名(目标文件名);
    F、18行,.desktop文件名;
    G、22行,图标文件名;
    H、23行,图标路径名,以目标文件名为目录名;
    I、26行,说明文件名;

    .desktop文件
    A、7行,可执行文件名;
    B、8行,图标文件名;

    .ui文件,该文件可用QT开发环境修改,也可用文本编辑器修改,
    A、第2行,<class>ExampleBase</class>,“ExampleBase”可修改,但一定要与example.h文件的25行父类名称一致;

    main.cpp文件
    A、该文件名不修改;
    B、21行,修改包含的头文件名;
    C、24行,修改类名;

(3)、编译自己的工程
    A、生成Makefile文件,在工程的目录下,运行qmake命令;
    B、编译,在工程的目录下,运行make命令;
    C、安装,在工程的目录下,运行make install命令;

四、为真机上运行进行编译
========================
    将代码用arm编译器进行编译,目标文件就可在真机上运行。
    1、必须进行交叉编译工具的安装;
    2、将工程目录复制到.../qtopia_dev/20060106V1102/arm/qtopia-phone-2.1.1/目录下;
    3、编译;

五、将文件安装到真机上
======================
1、设备间的软件连接:
连接步骤:
    (1)、连接好个连线
    (2)、启动PC到LINUX系统中
    (3)、关闭防火墙(service iptables stop)
    (4)、挂载进QT的开发包(mount /dev/hda4 /mnt/win)
    (5)、手动加载usbdnet.o(进入/mnt/win目录下,执行install),并在终端确认模块已经加载
    (6)、启动(重起)nfs(service nfs restart)
    (7)、启动minicom(#minicom)
    (8)、到/home/目录下,执行脚本pc_linux
    (9)、在终端启动USB设备(ifconfig usb0 192.168.254.1 up)
    (10)、在minicom窗口中执行/home/目录下的linuxrc_run脚本
    (11)、在minicom窗口中执行/home/目录下的脚本pc_linux
    (12)、检查目录/mnt/,是否和目录/opt/p2fs下的内容一致,若一致,则成功

这里提供几个诊断连接成功的方法:

pc启动候,通过lsmod|grep usbdnet看看模块是否存在,如果不存在,请手动通过./install加载

如果以上都正确,连接手机,如果ifconfig -a 能看到设备而ifconfig 看不到,请按照文档设置ip并激活。

2、文件安装目录:
    将编译好的程序、desktop文件和图标放在手机上/opt/Qtopia/各自对应的目录下。

    (1)、所有编译后的程序放在
qtopia_dev/.../arm/qtopia-phone-2.1.1/image/opt/Qtopia/bin/目录下

    (2)、程序相应的desktop文件放在
qtopia_dev/.../arm/qtopia-phone-2.1.1/image/opt/Qtopia/apps/Application/目录下

    (3)、所有的程序图标放在
qtopia_dev/.../arm/qtopia-phone-2.1.1/image/opt/Qtopia/pics/程序名/ 目录下

3、重起手机。

六、手机目录:
    /            (根目录)
    |----bin
    |----lib
    |----home
    |----mnt        (对应于PC机的/opt/p2fs目录,该目录结构可随意)
    |
    |----opt
    |    |----Qtopia
    |        |----bin    (放编译后的程序)
    |        |----etc   
    |        |----pics    (放图标文件)
    |        |----apps   
    |                |--Applications    (放desktop文件)
    |               
    |----Applications    (该目录结构任意,可存放工程自己的文件)


结束
====

 

qtopia2.0桌面环境和qt4应用程序共存の法 开发板:友善之臂smart210(同样适用其他开发板) linux内核:linux3.0.8在arm开发板上开发目前只有qtopia2.0的桌面环境,因此进行其qt4程序的开发需要首先关闭掉qtopia,然后配置运行qt4环境配置脚本。对于想拥有和qtopia一样带图标的qt4应用程序貌似开发板还不支持,,,但是我想用啊啊啊啊。。并且还不能舍掉qtopia桌面环境,因为也需要,这就矛盾了 每次都要 阅读详情

相关推荐

Linux Qtopia系统安装和常用命令操作

Linux Qtopia系统安装和常用命令操作 1. 用SD-Flasher工具将Superboot烧写到SD卡中。 2. 将光盘中的images/FriendlyARM.ini文件拷贝到SD卡中的images目录下。 并且FriendlyARM.ini修改配置文件如下的几个关键地方 3. 把另外的三个核心文件也拷贝到images目录下,最终保证目录结构如下 接下来拔掉SD卡,...

IT xiaobai 543

开发嵌入式Linux Qtopia4.4.3桌面应用步骤(参考mini6410开发文档),针对于OK6410开发

一、在超级终端以命令的方式运行自己所开发的程序 1、按照飞凌提供的 “QTE移植教程与源码” 文件夹下的 "OK6410 QT移植百科全书.pdf" 编译Qtopia4.4.3源码,生成qmake等工具。编译过程中尤其注意交叉编译工具链的配置,以及编译生成或者飞凌提供的 “tslib” 文件夹放的位置。。。如果这两个问题注意一下,编译应该能通过,虽然我也失败了好几次。编译没通过参考编译结束所生成

StudingCoder的博客 1475

qtqtopia两者到底有什么区别啊?

qt是【跨平台的程序设计框架】,在不同的平台上版本不同。写好的代码需要在什么平台上运行,就采用那个平台上的qt编译器进行编译。也就是说,写好的代码需要在linux上上运行就采用linux上的qt编译器进行编译;需要在win上运行,就采用win上的qt编译器编译。 qt支持嵌入式开发qtopia是它的嵌入式版本。在主机上开发的程序,通过qiopia编译后,传到嵌入式平台上就可以运行。前提是这个平...

baidu_37973494的博客 2795

嵌入式Qtopia-2.2.0开发环境的搭建和使用

说明一下几个QT的区别: 从Qt4.1开始,Qt/Embedded改名为Qtopia Core,又从Qt4.4.1开始,Qtopia Core又改名为Qt for Embedded Linux。 我们通常所说的 Qt 都是指的用于 Linux/Unix 的 Qt/X11,真正意义上Qt 是泛指 Qt 的所有版本的图像界面库,比如 Qt/X11,Qt Windows, Qt Mac 等。 ...

weixin_33717117的博客 356

sony mylo and qtopia

     qtopia4.3之后的版本又改名了,叫qtextended,主站在http://qtextended.org/  可以在http://qtopia.net/modules/devices/下载sdk,opensource-src,一些很少的软件。           一个很令我吃惊的消息是,sony mylo使用的是qtextended,于是我就很邪恶的想到大顺风车,搞sony的软件用

327

基于mini2440的qtopia程序设计之二:如何在qtopia创建快捷方式

      经过今天的验证,发现上一篇《基于mini2440的qtopia应用程序开发之一》中我以为的x86-qtopia和arm-qtopia两个目录的区别不是那么小。在arm-qtopia中我测试了简单的hello程序,改编了它的.pro文件、build文件、等,但是还是不能看到模拟出来在PC段运行的效果。后来又仔细看了x86-qtopia和arm-qtopia两个目录下的build文件,发现

hadise的专栏 4286

Qtopia运行在OpenWRT上的相关说明

o(∩∩)o...哈哈,qtopia终于在tiny210的openwrt上运行ok了,哈哈大家可以玩玩了~ 说明: 我已经在openwrt-dreambox中添加对openwrt-for-embeded软件源的支持,目前该软件源主要支持tslib,qtopia-2.2.0以及从qtopia-1.7.0上移植到qtopia2.2.0的filebrower,估计也就这两天就能支持konquer

飞鸿惊雪 4083

Qtopia开发及应用平台的搭建

 Qtopia开发及应用平台的搭建       Qtopia开发平台主要指宿主机上带X Windows的Linux系统中的Qtopia开发环境,包括Qt designer,uic,tmake,qvfb,Qt/E库和qpe等。       Qtopia应用平台则指基于ARM或其他嵌入式处理器的嵌入式Linux系统。        因此,搭建不同的平台,虽然用到了相同的软件包,但在

LinuxBoy1985 1732

搭建 嵌入式 linux qt 开发平台

先看看Qt的各个版本简介: 1.什么是QT Qt是一个完整的C++应用程序开发框架。它包含一个类库,和用于跨平台开发及国际化的工具。Qt API在所有支持的平台上都是相同的,Qt工具在这些平台上的使用方式也一致,  因而Qt应用的开发和部署与平台无关。 2.什么是Qtopia Qtopia 是一个面向嵌入式Linux的全方位应用程序开发平台,同时也是用于基于Linux

~~Jeremy 3280

Qtopia移植

作者:曹忠明,华清远见嵌入式学院讲师。Qtopia 是Trolltech 公司为采用嵌入式Linux操作系统的消费电子设备而开发的综合应用平台, Qtopia包含完整的应用层、灵活的用户界面、窗口操作系统、应用程序启动程序以及开发框架。下面便是他的移植过程。硬件s3c2410    主机环境:red hot企业版 5.0    交叉编译工具:gcc-3.4.5-glibc-2.3.6   

华清远见 | 程序员的学习天堂 3883

嵌入式linux智能家居系统,以Arm-Linux平台的智能家居控制系统的设计详解

嵌入式系统以其占用资源少、专用性强、功耗低的特点使其广泛应用在移动通信、工业生产、安全监控等领域。针对人们对高效、舒适、安全、便利、环保的居住环境的要求,提出了以Arm-Linux平台的智能家居控制系统的设计。1 智能家居控制器的总体设计Arm-Linux嵌入式系统以其在性能、体积及功耗等方面的优势在智能家居领域得到越来越广泛的应用。系统采用基于ARM的嵌入式linux方案,系统分为五层分别为硬...

weixin_31749595的博客 3210

ARM-Linux嵌入式开发环境搭建

平台: PC: VMware + CentOs6.3 内核版本:linux2.6.32 Qt: : Qt4.8.2(32b) 一、qt的版本介绍 按照不同的图形界面来划分,分为四个版本: Win32版:适用于windows平台; X11版:适用于各种X系统的Linux和Unix平台; Mac版:适用于苹果的MacOS; Embedd

木子酱博客 1145

linuxqtopia下的矩阵键盘驱动程序

基于s3c2440和linux,实现了3*4的矩阵键盘驱动。 功能:延时消抖,重复按键,多键齐按(??) 更详细的说明文档:“基于S3C24440和嵌入式Linux的矩阵键盘设计”,电子技术,2008,45(5):21-23 /***********************

zhoujk0520的专栏 1573

嵌入式Linux自学阶段性总结(2)

 修改qtopia源码,配置和交叉编译a.安装arm-linux-gcc-3.4.1网上下载arm-linux-gcc3.4.1,直接解压后,把usr目录覆盖到ubuntu根目录,然后在~/.bashrc添加/usr/local/arm/3.4.1/bin 到 PATH,测试:arm-linux-gcc -v 成功显示版本。 b.编译tslib-1.4触摸屏

远远的山 1209

iTOP4412开发板-Qt初探及Qtopia2.2.0系统开发

本章为大家介绍 Qtopia2.2.0,它是带桌面系统的 QT 的最终版本,虽然技术上不是最新的,但它仍有很大的现实意义,毕竟目前最新的 QT 技术只提供了图形库,没有像 Qtopia 这样有着友好的桌面系统。下一章我们会给大家介绍 QTE(即 QT嵌入式版本),包括 4.7 和5.7 两个版本,通过对比学习,相信会增强大家对 QT 系统整体认识和理解,而且在工作中也常会遇到这些不同版本之上的开发。 搭建 Qtopia2.2.0 开发环境,需要先搭建Android的编译环境,然后在 Android ..

mucheni的博客 448

嵌入式Qtopia-2.2.0开发环境的搭建和使用

Data Mining,NLP,Search Engine 嵌入式Qtopia-2.2.0开发环境的搭建和使用 先说明一下几个QT的区别: 从Qt4.1开始,Qt/Embedded改名为Qtopia Core,又从Qt4.4.1开始,Qtopia Core又改名为Qt for Embedded Linux。 我们通常所说的 Qt 都是指的用于 Linux/Unix 的 Qt/X

yuantian2987的专栏 1136

Qtopia2.1.1 在2410-S 上的移植

<br />1.实验可以分为以下几个步骤进行:<br />(1) 在装有linux 的pc 机上安装交叉编译环境。<br />安装光盘时所安装的编译器版本较低,不能正常编译QT 程序,所以编译前需要安装<br />Qt/tools/arm-linux-gcc-3.4.1.tar.bz2,并在/root/.bash_profile 中修改编译器搜索路径。<br />(2) 编译库文件:<br />(3) 编译qt-x11-2.3.2:<br />(4) 编译安装qt-embedded-2.3.2<br />(

dqmengxiang的专栏 460
上一篇: QT的信号和槽
下一篇: Yaffs文件系统最小可用分区
compiler_hdz
博客等级 码龄21年 14粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值