您的位置:首页 > 编程语言 > Qt开发

【EVB-335X-II试用体验】 Yocto环境的建立及Rootfs的构建与使用:QT与触摸屏(3)

2016-07-31 19:01 966 查看
前面我们已经构建好了基本的Rootfs,并且可以启动起来的,但是我们也会发现这个roofs非常的小,相当于一个busybox搭建的一样,当然这个无法满足我们的需求,因此我们下面将开始扩展我们的rootfs,添加一些工具让我们可以方便的开发。

显示问题

使用前面的方法启动后,我们会发现在uboot阶段是有图片的,但是在linux之后却没有发现有boot logo,然后启动之后我们也没有发现有/dev/fb0这个设备,同时也没用在dmesg中找到fb相关的内容,而device driver中却已经配置好了驱动:



因此可以推断出我们的驱动并没有probe,那么就可能是我们的device没有和driver match,或者根本就没有加载这个驱动,然后我们注意到在内核中的启动参数中有一个lcd相关的参数:



当然也可以认为那个consoleblank=0也是相关的,关于这个consoleblank,其实是这样子的:
我们在内核中配置了使用console on framebuffer,那么过10分钟,就会自动关闭掉这个console,其实就相当于关闭掉了这个屏幕,所以这里将其设置为0是为了不让屏幕在10分钟之后关闭,变成黑屏。

因此我们改一下bootargs,重新启动:

set ipaddr 192.168.1.111;set serverip 192.168.1.100

set bootargs 'console=ttyO0,115200n8 ip=192.168.1.111 root=/dev/nfs nfsroot=192.168.1.100:/home/hexiongjun/nfs/evb335xii_mini rootwait  consoleblank=0 lcdtype=AUO_AT070TN94'

tftp 82000000 uImage; bootm 82000000

然后就可以看到我们的Linux boot logo,以及Yocto的开机动画了。

Qt

在前面的文章中各种基本组件都有了,我们接下来构建QT。
在Yocto中编译包是非常容易的,如果recipes已经有了。我们要构建qt,那么首先是将qt的recipes加入到layer中,但是因为qt4的包默认就在poky中了,因此我们不需要在添加了,因此直接编译:

bitbake qt4e-demo-image

编译完成后同样的解压到nfs,将modules install,那么就可以启动了。
启动后发现没有出来Qt的界面,然后详细看log,可以看到:

Starting Telephony daemon

Starting Linux NFC daemon

Starting qtdemo

/etc/rc5.d/S99qtdemo: line 9: /usr/bin/ts_calibrate: not found

Poky (Yocto Project Reference Distro) 2.0.2 beaglebone /dev/ttyO0

里面有一行说没有ts_calibrate程序,因此我们需要安装这个包。安装的方法也是非常容易的,直接在image的bb文件中添加即可:

IMAGE_INSTALL += "\

    fb-test \

    tslib \

    tslib-tests \

    tslib-calibrate \

    tslib-conf \

"

然后重新编译image,并解压到nfs启动,然后我们这个时候是可以出来一个界面,但是这个界面是calibrate的界面:



但是我们发现点击触摸屏之后没有反应,这个是因为我们的rootfs中配置的input device env有问题。

在正常的系统中的变量是这样子的:



因此我们search并更改一下我们的rootfs中的TSLIB_TSDEVICE:



配置的位置位于:



然后我们再启动就可以使用触摸屏了,在之后就会出现qt的程序了:





在PS中可以看到运行的demo:


l

到这里我们的环境与rootfs就搭建完整了。接下来将是项目。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  AM335X Yocto