WhyCan Forum

本站无需注册,无需积分,无需回复可下载所有资料,如果真的喜欢小站,请您注册之后请至少回复一个帖子激活Id,谢谢支持! 站长QQ: 516333132 (挖坑网/填坑网) admin@whycan.cn

您尚未登录。

#1 2019-02-18 18:17:58

tkyl01
会员
注册时间: 2018-11-19
累计积分: 9

licheepi Nano SPI LCD(ili9341)终于能正常运行littlevGL了

终于能运行了,其中酸甜苦辣,各种无助。。。。。
467367809_20190218-1815.jpg
遇到的问题有:
1. 最开始采用的spi flash rootfs 根本不能运行应用程序,提示"Permission denied",ldd 后出现"libc.s0.6 => not found"。
2. 采用TF卡的 rootfs 总是提示 “Segmentation fault” 。
3. 以上两个问题原因应该都是编译工具链问题导致的,后来在docker中重新编译了工具链(buildroot(toolchain->toolchain type->buildroot toolchain,glabc))
    并拷贝出来(buildroot-2017.08/output/host),对应更改littlevGL的CmakeList.txt,重新编译。
4. 运行的是littlevGL的demo程序,由于使用的spilcd没有触摸功能,自己比较懒没有屏蔽"USE_EVDEV",导致一开始没有现象,后来屏蔽掉,但demo.c好像有点问题,需要如下修改:

#if USE_EVDEV
     lv_indev_drv_t indev_drv;
     lv_indev_drv_init(&indev_drv);     /*Basic initialization*/
     evdev_init();
     indev_drv.type = LV_INDEV_TYPE_POINTER;               /*See below.*/
     indev_drv.read = evdev_read;               /*See below.*/
     lv_indev_drv_register(&indev_drv);     /*Register the driver in LittlevGL*/
#endif

遗留问题:  如何编译spiflash的rootfs并运行littlevGL ,有趟过坑的指点一下?

参考链接:
buildroot编译交叉编译工具链: https://blog.csdn.net/weixin_38233274/article/details/80214666
buildroot编译交叉编译工具链: https://blog.csdn.net/zhou_chenz/article/details/52346134
“Segmentation fault” 问题: https://whycan.cn/t_1747.html
去掉开机登录,自动进入sh: https://whycan.cn/t_542.html

离线

#2 2019-02-18 20:19:35

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,757

Re: licheepi Nano SPI LCD(ili9341)终于能正常运行littlevGL了

感谢分享!

如何编译spiflash的rootfs并运行littlevGL 这个如何理解?具体是指什么?

离线

#3 2019-02-18 20:35:47

tkyl01
会员
注册时间: 2018-11-19
累计积分: 9

Re: licheepi Nano SPI LCD(ili9341)终于能正常运行littlevGL了

buildroot编译出来的rootfs有90M左右,放不到16M的SPI Flash中,如何编译一个4、5M左右的rootfs,有没有人编译过,如何裁减等等

离线

#4 2019-02-18 20:57:53

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,757

Re: licheepi Nano SPI LCD(ili9341)终于能正常运行littlevGL了

tkyl01 说:

buildroot编译出来的rootfs有90M左右,放不到16M的SPI Flash中,如何编译一个4、5M左右的rootfs,有没有人编译过,如何裁减等等

这个很容易的, 你看下 buildroot 根目录下面的 .config 文件,
是不是 mplayer, Qt 等大型软件开启了, 把他们关掉就可以了.

离线

#5 2019-02-18 22:24:12

tkyl01
会员
注册时间: 2018-11-19
累计积分: 9

Re: licheepi Nano SPI LCD(ili9341)终于能正常运行littlevGL了

屏幕左下角有光标闪烁,参考 https://whycan.cn/t_1953.html 修改。
如:bootargs=console=tty0 console=ttyS0,115200 panic=5 rootwait root=31:3 rw rootfstype=jffs2 vt.global_cursor_default=0

离线

#6 2019-02-18 22:31:09

tkyl01
会员
注册时间: 2018-11-19
累计积分: 9

Re: licheepi Nano SPI LCD(ili9341)终于能正常运行littlevGL了

晕哥 说:
tkyl01 说:

buildroot编译出来的rootfs有90M左右,放不到16M的SPI Flash中,如何编译一个4、5M左右的rootfs,有没有人编译过,如何裁减等等

这个很容易的, 你看下 buildroot 根目录下面的 .config 文件,
是不是 mplayer, Qt 等大型软件开启了, 把他们关掉就可以了.


晕哥,使用buildroot编译的uclibcgnueabi编译程序出现如下错误:

123.jpeg

$ make
Scanning dependencies of target test_demo
[  0%] Building C object CMakeFiles/test_demo.dir/home/nkj/design/linux/lichee-pi/nano/LittlevGL/lv_drivers/display/fbdev.c.o
/home/nkj/design/linux/lichee-pi/nano/arm-buildroot-linux-uclibcgnueabi-6.4.0/bin/../libexec/gcc/arm-buildroot-linux-uclibcgnueabi/6.4.0/cc1: error while loading shared libraries: libmpfr.so.4: cannot open shared object file: No such file or directory
CMakeFiles/test_demo.dir/build.make:62: recipe for target 'CMakeFiles/test_demo.dir/home/nkj/design/linux/lichee-pi/nano/LittlevGL/lv_drivers/display/fbdev.c.o' failed
make[2]: *** [CMakeFiles/test_demo.dir/home/nkj/design/linux/lichee-pi/nano/LittlevGL/lv_drivers/display/fbdev.c.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/test_demo.dir/all' failed
make[1]: *** [CMakeFiles/test_demo.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

在docker的环境中可以正常编译,把工具链从docker拷贝出来再编译同样的程序就出错,不知那个细节问题?

最近编辑记录 tkyl01 (2019-02-18 22:36:08)

离线

#7 2019-02-18 22:58:16

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,757

Re: licheepi Nano SPI LCD(ili9341)终于能正常运行littlevGL了

只能这样解释了, docker 的运行环境(容器??)和外面的环境不同.

用 @checkout 大神的一键 buildroot 脚本挺好用的: https://whycan.cn/t_1842.html

个人认为肯定会比 docker 好用.

离线

#8 2019-05-21 16:01:10

刘少来了
会员
注册时间: 2019-01-24
累计积分: 24

Re: licheepi Nano SPI LCD(ili9341)终于能正常运行littlevGL了

。。。

离线

页脚