前段时间用2017版本builtroot 自带的mplayer可以播低帧率的视频,内核用的是卓林改过的4.15。全屏几乎一秒一帧,小分辨率还能正常播放。考虑到要用QT对播放器设计ui就删了原来的mplayer,自己用相关的zlib、libmad、alsa联合编译了mplayer,包括QT的arm版本、触摸测试组tslib以及拷贝到了板子上相应目录改了/etc/profile库路径。
启动正常,但是测试发现mplayer、触摸tslib测试、QT例子等都提示 bash:not fond。
有好心人说是库的原因,遂用ldd查看tslib,结果是两个动态库找不到,把编译器里的lib和libc都拷贝开发板并设置了库路径,再次查看,有库的软链接了但是地址都为好几个零。而ldd查看mplayer说是mmap(mplayer) cannot allocate memory不能分派内存?
排查发现builtroot根文件系统可视化配置里面有设置编译链的选项,之前都选的默认的陌生版本的编译链,遂改成自己的编译链
是这个版本(用过的第三个版本了):
http://releases.linaro.org/components/toolchain/binaries/7.5-2019.12/arm-linux-gnueabi/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabi.tar.xz
编译链内核头文件在编译过程中提示:Incorrect selection of kernel headers: expected 4.15.x, got 4.10.x
于是选了4.10x
最后解压到第二分区,上电启动
17版本builtroot的启动图
21版本builtroot启动图
由于这个前辈帖子https://whycan.com/t_2757.html说是busybox和编译链版本不兼容的问题导致根文件挂载失败
所以从7.2版本的gcc换到了6.3.1,现在又换成了7.5.0还是无法启动系统死机,有哪位知道怎么回事或者遇到过这种情况吗
最近编辑记录 begin (2022-05-13 18:35:22)
离线
你的根文件系统系统有问题,
/init 检查一下这个文件。
知道是根文件系统的问题但不知道具体什么情况,在虚拟机编译根文件系统的文件里直接输/init提示没有文件或目录。
之前默认的根文件里自带陌生的编译链编译出的根文件可以启动,但是移植过去的东西不能用,所以把编译链换成了自己的编译链,难道操作不对吗
离线
tf卡启动的不是spiflash启动
最近编辑记录 begin (2022-05-13 19:07:30)
离线
你的根文件系统系统有问题,
/init 检查一下这个文件。
虚拟机下 init buildroot-2017.11.1
显示Expected single character argument
离线
离线
就是gcc工具链引起的,估计是生成了f1c不能识别的指令。
建议用 soucery的 2014.05
或者参考这个:
buildroot-tiny200 (F1C100/200s) 开发包近期更新内容 * 已支持DVP摄像头 *
https://whycan.com/t_5221.html
先出错的编译链是荔枝派官方提供的 https://wiki.sipeed.com/soft/Lichee/zh/Nano-Doc-Backup/get_started/first_eat.html
后来参考
https://whycan.com/t_2002.html#p13502 以及 https://whycan.com/t_2757.html 换了不同日期版本的arm-linux-gnueabi工具链还是同一个错误,如果可视化配置根文件系统不选自己的工具链,选择默认的工具链编译的根文件系统解压缩到板子上后能启动但移植到板子上的东西由于编译链不同又没法用。那就先试试晕哥的soucery14.05再说吧
离线
就是gcc工具链引起的,估计是生成了f1c不能识别的指令。
建议用 soucery的 2014.05
或者参考这个:
buildroot-tiny200 (F1C100/200s) 开发包近期更新内容 * 已支持DVP摄像头 *
https://whycan.com/t_5221.html
不好意思晕哥是这个地址吗 https://www.sourcery.com/ ,看着不太对劲啊,纯小白0.0
离线
codesourcery
不知道有没有拼对
请教个问题:交叉编译出来的程序,使用file命令查看,包含with debug_info的,都无法执行
https://whycan.com/t_5570.html#p55766
编译的话是应该从uboot到根文件全部重新编译吧,但编译uboot出现:
Your GCC is older than 6.0 and is not supported
arm-2014.05-29-arm-none-linux-gnueabi-这个编译器是4.8.3版本的编译不了uboot,要重新克隆uboot的话下哪个呢
离线
@begin
还用之前的uboot,我先编译内核根文件试试
离线
感谢晕哥指导,系统可以跑了,下步再测试其他东西
离线
测试触摸工具能执行但是提示提示设备不是触摸的,ls /dev/input 显示有event 0
cat /dev/input/event0触摸无输出
按照官方的方法搞得驱动,但我看官方文档说的是电容屏幕,买的时候套餐是电阻屏。。。什么原因呢
离线
用arm-none-linux-gnueabi编译mplayer报错
ffmpeg/libavcodec/libavcodec.a(pngdec.o): In function `decode_text_chunk.isra.7':
pngdec.c:(.text+0x7f4): undefined reference to `inflateInit_'
pngdec.c:(.text+0x844): undefined reference to `inflate'
pngdec.c:(.text+0x88c): undefined reference to `inflateEnd'
pngdec.c:(.text+0xac0): undefined reference to `inflateEnd'
ffmpeg/libavcodec/libavcodec.a(pngdec.o): In function `decode_frame_common.isra.9':
pngdec.c:(.text+0xefc): undefined reference to `inflate'
ffmpeg/libavcodec/libavcodec.a(pngdec.o): In function `decode_frame_apng':
pngdec.c:(.text+0x35e8): undefined reference to `inflateInit_'
pngdec.c:(.text+0x365c): undefined reference to `inflateEnd'
ffmpeg/libavcodec/libavcodec.a(rscc.o): In function `rscc_decode_frame':
rscc.c:(.text+0x2e4): undefined reference to `uncompress'
rscc.c:(.text+0x4dc): undefined reference to `uncompress'
ffmpeg/libavcodec/libavcodec.a(screenpresso.o): In function `screenpresso_decode_frame':
screenpresso.c:(.text+0x78): undefined reference to `uncompress'
ffmpeg/libavcodec/libavcodec.a(tdsc.o): In function `tdsc_decode_frame':
tdsc.c:(.text+0x64): undefined reference to `uncompress'
collect2: error: ld returned 1 exit status
Makefile:747: recipe for target 'mplayer' failed
make: *** [mplayer] Error 1
回看配置后有几行提示
'make' will now compile MPlayer and 'make install' will install it.
Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
用gmake?
离线
测试触摸工具能执行但是提示提示设备不是触摸的,ls /dev/input 显示有event 0
cat /dev/input/event0触摸无输出
按照官方的方法搞得驱动,但我看官方文档说的是电容屏幕,买的时候套餐是电阻屏。。。什么原因呢
板子缺电阻已解决
离线
@begin
换了旧版本装了相应包。已编译完成
离线
感谢晕哥指导,系统可以跑了,下步再测试其他东西
楼主您好 最后是换编译器解决的吗
离线
begin 说:感谢晕哥指导,系统可以跑了,下步再测试其他东西
楼主您好 最后是换编译器解决的吗
是的,换了编译链
离线
bobo23741 说:begin 说:感谢晕哥指导,系统可以跑了,下步再测试其他东西
楼主您好 最后是换编译器解决的吗
是的,换了编译链。uboot好像用原来的就行,只是内核和根文件需要换,根文件还得可视化配置勾选
离线