单片机
返回首页

s3c2410上搭建QT/Embedded4.8.5开发环境(一)---环境导读

2021-08-12 来源:eefocus

近期参加个比赛,需要用到博创s3c2410的开发板,搭建QT/Embedded的环境,真费了不少功夫,开始想用那个qtopia的桌面的,但是移植老是不成功,后来看看用的是CentOS6.4,但是开发板光盘里提供的,qtopia(版本竟然还是2.1.1)这个东西太老了,已经绝版了。在这里给各位以后开发的兄弟提个醒,qtopia这就是个坑.


QT各版本起源


Qt 的版本是按照不同的图形系统来划分的,目前分为四个版本:

Win32版,适用于Windows平台;

X11版,适合于使用了x系统的各种 linux 和 unix的平台;

Mac版,适合与苹果MacOS;

embedded版,适合于具有帧缓冲(framebuffer)的linux 的平台。


Qt,Qt/E,Qtopia Core, Qtopia这些版本之间的区别和联系 


Qt泛指Qt的所有桌面版本,


比如Qt/X11,Qt Windows,Qt Mac(当然QT5以后还有Android和IOS)等。由于Qt最早是在Linux中随着KDE流行开来的,因此通常很多人说的Qt都指用于Linux/Unix的Qt/X11。一般命名以qt-x11-opensource-xxx!


QT/E -> Qtopia-core -> Qt-embedded-opensource(同一种鸟):


Qt 在刚出现的时候,对于Linux和Unix系统,只有构建于Xlib之上的X11版。但随着Linux操作系统在嵌入式领域的应用日渐广泛,Qt推出了嵌入式的版本Qt/E。由于嵌入式受限的硬件环境往往难以运行庞大的X服务器,Qt/E去掉了X Lib的依赖而直接工作于Frame Buffer上,因而效率更高,但它并不是Qt的子集,而应该是超集,部分机制(如QCOP等)不能用于Qt/X11中。


值得一题的是QT/E现在的源码包名字叫qt-everywhere,它跟Qtlibraries 4.8.5 for Linux/X11其实是一样的东西,只不过用的编译器不同,就能配出不同的环境,qt-everywhere意思就是说与QT4一样的代码可以同时运行在嵌入式环境和PC主机中。


QtExtended->Qtopia(注意不是Qtopia-core,两者是不一样的):


一般命名为qtopia-opensource,最初是sourceforge.net上的一个开源项目,全称是Qt Palmtop Environment,是构建于Qt/E之上一个类似桌面系统的应用环境,包括了PDA和手机等掌上系统常见的功能如电话簿、日程表等。后来Qtopia 已经成为了Trolltech的又一个主打产品,为基于Linux操作系统的PDA和手机提供了一个完整的图形环境。相比之下,Qt/E是qtopia基础类库


在2008年9月30日前称Qtopia。从Qtopia 4.4.0以后的版本开始,称为QtExtended 4.4.1。


但是其最终在开发中止2008年3月5日,版本停留在4.4.3,在版本4之前,Qt/E和Qtopia是不同的两套程序,Qt/E是基础类库,Qtopia是构建于Qt/E之上的一系列应用程序。但从版本4开始,Trolltech将Qt/E并入到了Qtopia产品线中去了,并推出了新的Qtopia4。但实际上原来的Qt/E仍然作为基础类库,只是改名为Qtopia Core了,也许又感觉Qtopia Core跟Qtopia容易让人搞混,所以又改名为qt-embedded-linux-opensource-linux/wince(QT也支持Wince )。它作为嵌入式版本的核心,既可以与Qtopia配合,也可以独立使用。而原来的Qtopia则被分成几层,核心的应用框架和插件系统被称为Qtopia Platform,上层的应用程序则按照不同的目标用户分为不同的包,如Qtopai PDA,Qtopia Phone。


Qte的改名过程,Qte-->Qtopia Core-->Qt-embedded-linux-xxxx-Qt-everywhere


The end/QtEmbedded概述


Qtopia这个东西目前已经停止维护了,我们用这个东西很麻烦,也很旧


因此我们选用QT/EMbedded4.8.5开发


在Linux中分别安装应用于不同平台的Qt:PC平台;嵌入式X86平台;ARM平台。


这三者PC版、嵌入式X86版和ARM版的区别主要体现在:当configure时分别加了不同的参数,


具体区别是:


ARM平台:

编译好的程序,用于在arm平台上运行。这个主要是用来编译,因为要下载到开发板上,需要arm版的qte的库文件,编译后直接下载到开发板运行;


具体安装配置过程请看这里http://blog.csdn.net/gatieme/article/details/22919963


嵌入式X86平台

嵌入式X86平台:基于frame-buffer,在PC机上可以模拟应用程序在arm开发板上的运行情况。用此编译好的程序,只用“./”命令不可以运行,必须加上参数 [ -qvfb ]–qws


这个自带有个模拟器,可以模拟出arm开发板的样子出来。方便调试;


具体安装配置过程请看这里ARM平台http://blog.csdn.net/gatieme/article/details/23106529


PC平台(X11平台)

PC平台(X11平台):在linux中全安装qt,用它编译好程序后,在X11环境中直接用“./”就可运行。


具体安装配置过程请看这里http://blog.csdn.net/gatieme/article/details/22915759


注意

值得注意的是前面我们编译x86的版本是基于frame-buffer机制的,运行使用使用qvfb,它是一个x11平台的模拟器,用来模拟qt embedded的工作流程。因此qvfb必须用x11平台的qt版本来编译


或者我们干脆可以直接从包管理器中下载一个qvfb


进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 家用电源无载自动断电装置的设计与制作

  • 开关电源的基本组成及工作原理

  • 带有短路保护系统的5V直流稳压电源电路图

  • 如何构建一个触摸传感器电路

  • 如何调制IC555振荡器

  • 基于ICL296的大电流开关稳压器电源电路

    相关电子头条文章