嵌入式开发板QtE必备知识-qt4文件的移植和修改

发布者:温暖拥抱最新更新时间:2019-10-19 来源: eefocus关键字:嵌入式开发板  QtE  文件  移植和修改 手机看文章 扫描二维码
随时随地手机看文章

 

到迅为制作的触摸库文件“/usr/local/tslib”,迅为已经将触摸功能编译到 Qt/E4.7.1 的库文件中,开发板可以支持触摸和鼠标功能。


用户在前面运行 helloworld的时候,会发现触摸和鼠标似乎无法使用,但是在 qt4 中却

能使用触摸和鼠标。


如何将 qt4 的触摸功能移植到应用程序 helloworld中。

如下图,打开“etc/init.d/rcS”文件,将最后一行修改为“/bin/qt4_shell &”,这样

在开机之后系统会运行 qt4.shell 程序。修改完成之后,保存退出。



然后使用命令“#cp -r bin/qt4 bin/qt4.shell”将“bin/qt4”文件拷贝生成

“bin/qt4.shell”文件,如下图所示。



然后打开“bin/qt4.shell”文件,如下图所示。

代码“export TSLIB_ROOT=/usr/local/tslib”等调用了触摸和鼠标驱动。

代码“export QTDIR=/opt/qt-4.7.1/”调用了 QtE 的库。

如下图所示,这一段关于鼠标的驱动已经被注释掉了。



将上图中与触摸鼠标相关代码修改为下面的代码。

if [! -c /dev/input/event2 ]; then

export QWS_MOUSE_PROTO='Tslib:/dev/input/event2'

#if [ -e /etc/pointercal -a ! -s /etc/pointercal ] ; then

if [ -e /etc/pointercal ] ; then

fsize=$(/bin/ls -al /etc/pointercal | cut -d' ' -f 23)

echo $fsize

#if [ -s /etc/pointercal ]; then

if [ $fsize -ge "1" ]; then

echo "/etc/pointercal is exit"

else

echo "/etc/pointercal is empty"

rm /etc/pointercal

/usr/local/tslib/bin/ts_calibrate

fi

else

echo "/etc/pointercal not found"

/usr/local/tslib/bin/ts_calibrate

fi

else

export QWS_MOUSE_PROTO="MouseMan:/dev/input/mice"

#>/etc/pointercal

fi

#export QWS_MOUSE_PROTO="Tslib:${TSLIB_TSDEVICE}"

#/usr/local/tslib/bin/ts_calibrate


上面代码第一行,有“!”则支持鼠标;触摸应该不能正常使用。

如果去掉“!”则支持触摸。需要先校准,使用上面这段代码只用校准一次即可,不用每

次都校验。

另外如果用户在第一次校准的时候,没有依次点击“十字框”,则触摸文件可能有问题,

那么可以参考 7.3.3 小节,删除掉“/etc/point*”文件,重启开发板再次校准。

修改这段代码之后,最好删除一下“/etc/point*”文件。例如,如果用户刚开始使用的

是触摸,然后改成鼠标控制,因为已经存在“/etc/point*”文件,所以会让人感觉鼠标可以

使用,触摸能够使用但是有问题,这个时候删除“/etc/point*”文件重启即可。

如下图所示,接着找到控制字体的参数。



如上图,将下面三行删除,避免字体太大导致显示不正常。

*)

export QWS_DISPLAY="LinuxFb:mmWidth91:mmHeight53:1"

如下图所示,进入最后一行,红色框默认会启动 QtE 自带的例程,这里修改为

“./bin/helloworld -qws”,红色框中的代码记得注释或者删除。


关键字:嵌入式开发板  QtE  文件  移植和修改 引用地址:嵌入式开发板QtE必备知识-qt4文件的移植和修改

上一篇:ARM指令adr adrl ldr mov是什么,ldr和adr区别在哪里?
下一篇:基于ARM平台的钢琴游戏 08实现音乐钢琴效果

推荐阅读最新更新时间:2024-11-04 18:13

欧盟将发布人工智能战略文件 旨在消除社会对机器人担忧
欧盟24国部长日前在比利时首都布鲁塞尔签署了一份联合宣言,明确欧洲将致力于现代化发展,并将大力推进人工智能发展研究。欧盟委员会公布的消息显示,塞浦路斯、罗马尼亚、克罗地亚与希腊因“国内行政程序”限制,暂时未签署该协议。 欧盟委员会负责数字经济与社会事务的专员玛丽亚·加布里埃尔表示,欧盟将于4月25日发布一份关于人工智能的战略文件,该文件将概述人工智能技术可能引发的法律问题,旨在消除社会对机器人占领岗位的担忧情绪。她说,有部分欧盟成员国在人工智能研究领域已经拥有卓越水平,但倘若成员国各自为战,欧盟就无法在该领域取得全球领先地位。她呼吁欧盟各成员国共同努力合作,以应对与美国、中国等国家的竞争。 为规范人工智能与机器人的使用与管理,欧洲
[机器人]
基于ARM的振动信号采集及文件存储系统
引言 在机械结构的振动过程中,许多微弱信号包含机械运动的丰富特征信息,如故障特征信息等,有必要提取出来加以分析。在微弱信号提取过程中,有时信号非常微弱,极易受到外界的干扰而淹没于强噪声之中,有时被测信号振幅变化范围又很大,会绐信号采集带来很大困难。放大电路本身的噪声性能和频率特性也将影响信号的提取精度。对振动信号的采集及处理,通常是用普通的数据采集系统去采集,然后用数字信号处理的方法来提取数据的特征信息。但是,一些由于采集系统的不足对信息造成的损失,是后期的数字信号处理无法补偿的。振动信号的检测是机械系统状态检测和早期故障诊断的关键,机械系统早期故障引起的异常振动信号有时很微弱,而且持续时间短、信噪比低,容易淹没于背景噪声中。
[单片机]
基于ARM的振动信号采集及<font color='red'>文件</font>存储系统
keil下生成与使用库文件
写过系统级程序的同学对库(lib,dll)都不陌生把,一个是静态库一个是动态库。 库大家都知道是不需要编译的,而且别人是无法看到源代码的,这样的好处就是编译快,并且方便移植,更安全。 但是keil好像只能用静态库,这里就简单的说一下把。 例如我有一个LED的文件,可以实现点灯的功能,并且是c++开发的,我想把它做成静态库方便以后使用。 等我搭建一个c++的keil工程....................... 终于搭建好了,烧录后可以正常运行。 下面直接把led.cpp生成led.lib 编译一下,下面看到已经生成led.lib文件了 下面看看怎么使用 我们去上面那个目录找到led.lib文
[单片机]
keil下生成与使用库<font color='red'>文件</font>
技巧:电脑加密文件夹如何隐藏防止被解密
    自从家中领导位临,家里的电脑可算是遭了秧,一天一次的检查让电脑里的“加密文件夹”无从隐藏。硬盘里的女神无处藏身事小,自己家的妹子生气可是事大。那么这时候,或许解决方案并不是那么复杂,一块支持加密功能的闪存盘足矣。   前阵比较火热的电影《模仿游戏》中,图灵破解二战德国密码机,从而让德国的机密信息成为盟军囊中之物。   题外话:单机游戏大作《德军总部:新秩序》讲的就是纳粹德国赢得了第二次世界大战后故事。可见密码足以让世界建立一个“新秩序“!       电脑文件隐藏和伪装技巧:   对于电脑文件隐藏技巧而言,很多人会采用修改文件夹名等方法来掩人耳目,然而最终效果并不是那么理想。高手则是使用加密软件进
[安防电子]
STM32F4 Discovery USB HID 用到的文件图解
├── STM32_USB_Device_Library USB从设备库 │ │ ├── Class │ │ │ └── hid │ │ │ ├── inc │ │ │ │ └── usbd_hid_core.h │ │ │ └── src │ │ │ └── usbd_hid_core.c │ │ └── Core │ │ ├── inc │ │ │ ├── usbd_core.h │ │ │ ├── usbd_def.h │ │ │ ├── usbd_ioreq.h │ │ │ ├── u
[单片机]
U-Boot在FL2440上移植(四)----支持网卡DM9000烧写yaffs文件系统
一 支持网卡芯片DM9000 在driver下,有网卡驱动DM9000x.c 和 DM9000x.h DM9000接在BANK4,位宽16 在include/configs/TX2440.h中设置网卡基地址: 在56行处,将CS8900的定义改成: #define CONFIG_DRIVER_DM9000 1 #define CONFIG_DM9000_BASE 0x20000300 #define DM9000_IO CONFIG_DM9000_BASE #define DM9000_DATA (CONFIG_DM9000_BASE + 4) #define CONFIG_DM9000_USE_16BIT
[单片机]
ARM的分散加载文件(scatter)介绍
在keil中编译的程序通过了,但是debug的时候会出现一些错误: * error 65: access violation at 0x4C000018 : no 'write' permission * error 65: access violation at 0x00000000 : no 'execute/read' permission (ram.sct的时候) 我发现当我工程设置中linker中选择了runinram.sct和runinflash.sct或者自动生成的sct文件的时候就出现上面的错误。应该就是地址的问题。但是具体怎么修改才能解决这个错误,还没弄明白。弄明白了再发。
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved