历史上的今天
返回首页

历史上的今天

今天是:2025年08月12日(星期二)

正在发生

2021年08月12日 | 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


推荐阅读

史海拾趣

GSR Technology Ltd公司的发展小趣事

为了应对市场需求的多样化,GSR Technology Ltd开始实施多元化产品策略。公司在保持GSR技术领先的同时,逐步向汽车电子、智能家居、安全监控等领域拓展。通过技术创新和定制化解决方案,公司成功推出了多款具有市场竞争力的电子产品,进一步拓宽了市场份额。同时,公司加强市场营销和品牌建设,提升了品牌知名度和美誉度。

Hi-G Relays公司的发展小趣事

在电子行业的初期,GSR Technology Ltd专注于研发高性能的传感器技术,特别是针对工业自动化领域的GSR(Ground Surveillance Radar,地面监视雷达)技术。通过多年的技术积累和研发创新,公司成功开发出具有高精度、长距离监测能力的GSR系统,填补了市场空白。这一技术突破吸引了众多工业客户的关注,公司迅速获得市场准入,并与多家知名企业建立了长期合作关系。

Broyce Control公司的发展小趣事

进入70年代,Broyce Control开始将目光投向更广阔的市场。公司投入大量资源进行技术研发,成功开发出了一系列具有创新性的电气和电子产品,如继电器、漏电继电器和接地故障检测器等。这些产品不仅提高了工业生产的效率和安全性,也使得Broyce Control在行业内逐渐崭露头角。同时,公司还积极拓展产品线,将业务范围延伸到监控和保护设备领域,为大型工业应用提供了更全面的解决方案。

Hilscher Gesellschaft für Systemautomation mbH公司的发展小趣事

随着在高压电源领域的深入发展,HVPSI逐渐参与到行业标准的制定工作中。公司凭借其在技术上的深厚积累和市场经验,为行业标准的制定提供了宝贵的建议和数据支持。这些标准的出台不仅规范了市场秩序,也进一步巩固了HVPSI在行业内的领先地位。

赛微(Cellwise)公司的发展小趣事

赛微公司自创立之初,就专注于模拟芯片的研发和销售。公司汇聚了一批资深的模拟集成电路设计专家和电池电化学专家,致力于在电池管理芯片和电源管理芯片领域实现技术突破。通过不断的技术创新和研发投入,赛微成功推出了一系列高性能、高可靠性的电池安全芯片、电池计量芯片和充电管理芯片等产品,赢得了市场的广泛认可。

Cybernetic Micro Systems公司的发展小趣事

在竞争激烈的电子行业中,CMS始终保持着持续创新的态势。他们不断投入研发资源,推出了一系列具有创新性的产品。例如,他们开发了一款基于人工智能技术的智能家居控制系统,该系统能够通过语音控制实现家电设备的智能化管理。这一产品的推出进一步巩固了CMS在智能家居领域的领先地位。

问答坊 | AI 解惑

矢量控制,电机定子磁路初始值计算

工程上,怎样计算,有做低压变频器的吗?…

查看全部问答>

有关PLL的小问题

QUARTUS II里面锁相环PLL怎么不能设为10M以下的,而且11M,13M为什么也不能啊。。。…

查看全部问答>

这两句打印信息是什么搞的,查找不到啊?

DeviceFolder::LoadDevice!Enumerate Found deprecated load instructions at (Drivers\\BuiltIn\\AFD). Driver cannot be unloaded. USB enable interrutp DeviceFolder::LoadDevice!Enumerate Found deprecated load instructions at (Drivers\ ...…

查看全部问答>

系统挂起问题

我有两个问题想请教各位 1.为何我点击‘开始’-‘挂起’后,屏幕的背景灯一直不灭?如何才能使屏幕在点击‘挂起’后就能关闭? 2.我在外部设置了一个按键,按下它则系统进入挂起,再按则被唤醒,该功能已做通,为何我点‘开始’中的‘挂起’后无 ...…

查看全部问答>

PB 5错误信息 Too much data space used by DLL's in MODULES section

Error: Too much data space used by DLL\'s in MODULES section   Current usage = 28032k, Maximum usage = 26624k.   Reduce DLL usage or move some DLL\'s into the FILES section. 能否增大这个 max usage??…

查看全部问答>

在CE下ISA驱动封装的DLL用注册吗?

我使的是PC104是威盛的芯片组在上面做的ISA卡的驱动DLL我已经把它加载进NK了,问下ISA驱动的DLL用修改platform.reg才能使用吗?…

查看全部问答>

如何在WinCE上播放midi文件

定制系统后,用WinCE上自带的播放器只能播放mp3,wma等格式的音频,但是我需要在WinCE上播放出midi格式的文件来。求教高手们,应该怎么办呢?…

查看全部问答>

CAN总线的分布式运动控制

                                        ...…

查看全部问答>

关于CAN数据包的接收处理

我的应用是这样的,使用CAN中断接收数据包,如果第一个数据包发来后进入了中断,但我的程序还没来得急把数据包里的8字节读出来,第二个数据包又来了,把第一个数据包冲掉怎么办? 有什么好的办法处理这个问题?     ...…

查看全部问答>

05.17【每日一问】:电信日一天

    5.17是世界电信日。     随着电报的发明,信息的传递方便、快捷起来,人类也因此进入了电信时代。为使电报发挥更大的作用,1865年5月17日,法国、德国、俄国、意大利、奥地利等20多个国家在法国巴黎签订了 ...…

查看全部问答>