【EVB-335X-II试用体验】 Yocto环境的建立及Rootfs的构建与使用:QT与触摸屏(3)
来源:互联网 发布:淘宝严查沙河 编辑:程序博客网 时间:2024/05/18 03:58
前面我们已经构建好了基本的Rootfs,并且可以启动起来的,但是我们也会发现这个roofs非常的小,相当于一个busybox搭建的一样,当然这个无法满足我们的需求,因此我们下面将开始扩展我们的rootfs,添加一些工具让我们可以方便的开发。
因此可以推断出我们的驱动并没有probe,那么就可能是我们的device没有和driver match,或者根本就没有加载这个驱动,然后我们注意到在内核中的启动参数中有一个lcd相关的参数:
当然也可以认为那个consoleblank=0也是相关的,关于这个consoleblank,其实是这样子的:
我们在内核中配置了使用console on framebuffer,那么过10分钟,就会自动关闭掉这个console,其实就相当于关闭掉了这个屏幕,所以这里将其设置为0是为了不让屏幕在10分钟之后关闭,变成黑屏。
因此我们改一下bootargs,重新启动:
然后就可以看到我们的Linux boot logo,以及Yocto的开机动画了。
在Yocto中编译包是非常容易的,如果recipes已经有了。我们要构建qt,那么首先是将qt的recipes加入到layer中,但是因为qt4的包默认就在poky中了,因此我们不需要在添加了,因此直接编译:
编译完成后同样的解压到nfs,将modules install,那么就可以启动了。
启动后发现没有出来Qt的界面,然后详细看log,可以看到:
里面有一行说没有ts_calibrate程序,因此我们需要安装这个包。安装的方法也是非常容易的,直接在image的bb文件中添加即可:
然后重新编译image,并解压到nfs启动,然后我们这个时候是可以出来一个界面,但是这个界面是calibrate的界面:
因此我们search并更改一下我们的rootfs中的TSLIB_TSDEVICE:
显示问题
使用前面的方法启动后,我们会发现在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
Qt
在前面的文章中各种基本组件都有了,我们接下来构建QT。在Yocto中编译包是非常容易的,如果recipes已经有了。我们要构建qt,那么首先是将qt的recipes加入到layer中,但是因为qt4的包默认就在poky中了,因此我们不需要在添加了,因此直接编译:
bitbake qt4e-demo-image
启动后发现没有出来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
IMAGE_INSTALL += "\
fb-test \
tslib \
tslib-tests \
tslib-calibrate \
tslib-conf \
"
然后重新编译image,并解压到nfs启动,然后我们这个时候是可以出来一个界面,但是这个界面是calibrate的界面:
但是我们发现点击触摸屏之后没有反应,这个是因为我们的rootfs中配置的input device env有问题。
因此我们search并更改一下我们的rootfs中的TSLIB_TSDEVICE:
配置的位置位于:
在PS中可以看到运行的demo:
l
到这里我们的环境与rootfs就搭建完整了。接下来将是项目。 0 0
- 【EVB-335X-II试用体验】 Yocto环境的建立及Rootfs的构建与使用:QT与触摸屏(3)
- 【EVB-335X-II试用体验】 Yocto环境的建立及Rootfs的构建与使用
- 【EVB-335X-II试用体验】 Yocto环境的建立及Rootfs的构建与使用(2)
- 【EVB-335X-II试用体验】 u-boot与kernel的编译以及本地repo的建立
- 【EVB-335X-II试用体验】 上手试用与资源使用
- 【EVB-335X-II试用体验】 基于Yocto的嵌入式的敏捷项目开发:以电子相册为例
- rootfs的构建1
- rootfs的构建2
- 【IMX6UL开发板试用体验】上手试用与资源使用
- Google Wave试用体验与Google的野心
- STM32f103的触摸屏的设置与使用
- 嵌入式3D-嵌入式3D软件开发环境的建立-嵌入式GUI与Qt/Embedded
- LUCENE 1.X 与 2.X 版本 在 Field 对象构建及 QueryParser 对象使用方面的区别
- [ubuntu]yocto的安装配置与开发
- [ubuntu]yocto的安装配置与开发
- SOLR的简单环境搭建及与数据库建立索引
- Qt-4.6.3移植与Qt creator开发环境建立
- Yocto tips (11): Yocto如何往最终的rootfs中添加软件
- 从零开始学Android(四)
- JAVA 多线程--线程同步安全
- maven+CXF编写webservice
- 基于Servlet+JSP+JavaBean开发模式的用户登录注册
- HashMap详解
- 【EVB-335X-II试用体验】 Yocto环境的建立及Rootfs的构建与使用:QT与触摸屏(3)
- LeetCode--289. Game of Life
- 删除std::String类型字符串首尾空格
- 【数字信号处理】2-3 几种常见的序列
- mytest
- hdu 2176 取(m堆)石子游戏(Nim博弈)
- c++编译链接过程与原理
- 【递归】有一对兔子,三天后生一对兔子。每对兔子都如此。
- android通话记录的查询与删除