i.MX8MP应用笔记:常见问题的解决思路

电子说

1.3w人已加入

描述

很多用户在使用FETMX8MP-C核心板的过程中有一些常见问题,下面笔者将对咨询量较多的“更换Logo”“开机自启应用”“在Qt中显示图片”三个显示类问题,以飞凌提供的OKMX8MP-C开发板为例进行思路讲解。


一、LOGO更换


解决思路1
开发板启动后,替换“run/media/mmcblk2p1”路径下的图片,并sync保存。
*注意事项
MIPI屏,1024x600分辨率,替换logo-1024x600.bmp。
LVDS屏,1280x800分辨率,替换logo-1280x800.bmp。
替换完成后一定要输入sync命令保存

解决思路2
可采用在开发环境中替换源码文件夹OK8MP-linux-sdk/images路径下的logo图片的方式。
替换完成后在开发环境命令行进行源码全编译,生成新的ok8mp-linux-fs.sdcard.a*,把它们合并后,用新合并的rootfs.sdcard烧写即可。

*注意事项
MIPI屏,1024x600分辨率,替换logo-1024x600.bmp。
LVDS屏,1280x800分辨率,替换logo-1280x800.bmp。

常见问题:
单步更新替换Logo后,在启动时会闪一下飞凌本身提供的Logo,再进入桌面。

问题原因:
目前设置的桌面是飞凌公司Logo,开发板启动后进入桌面就显示了Logo。应用桌面是用Weston实现的网页形式的,开发板启动后才打开,所以有一个阶段显示Logo那个桌面。

解决思路
把文件系统中的“/usr/share/weston/logo-1280x800.png”换成用户自己的Logo,名称要保持一致。

*注意事项
解决思路2中,在源码里更换Logo时使用的图片格式为bmp,文件系统中替换的图片格式为png。
上述两个方法中替换的两个Logo分别对应MIPI屏和LVDS屏,因HDMI本身在启动阶段就不显示Logo,而是启动后直接显示桌面,所以也没有替换Logo图片的方法。

二、开机自启指定应用


目前飞凌提供的软件手册中已提供开机自动播放音频的设置方法,但有部分客户需要开机启动其它应用,故在此对手册中的自启方法进行补充:


1、在/etc/路径下新建个autorun.sh脚本:

root@OK8MP:~# cd /etcroot@OK8MP:/etc# vi autorun.sh
在/etc/autorun.sh脚本中写入如下内容:

#!/bin/bash. /etc/profile.d/weston.sh. /etc/profile.d/qt5.shsleep 3/usr/bin/fltest_qt_4g   //此处为需要自启的应用和路径,以4G为例
写入完成并保存后,修改文件权限:

root@OK8MP:/etc# chmod 777 autorun.sh


2、进入到“/lib/systemd/system/”目录下,并新建一个autorun.service文件,命令如下:

root@OK8MP:~# cd /lib/systemd/systemroot@OK8MP:/lib/systemd/system# vi autorun.service

文件的内容如下:

[Unit]Description=autorunAfter=basic.service X.service thermal-zone-init.service[Service]ExecStart=/etc/autorun.sh[Install]WantedBy=multi-user.target
 

其中Description一行需写入服务名,ExecStart需要写入可执行文件的绝对路径。保存退出后,在终端上执行如下命令:

root@OK8MP:~# systemctl -f enable /lib/systemd/system/autorun.serviceCreated symlink /etc/systemd/system/multi-user.target.wants/autorun.service -> /lib/systemd/system/autorun.service.root@OK8MP:~# sync


3、使用如下命令关闭默认桌面:

root@OK8MP:~# systemctl disable matrix.serviceRemoved /etc/systemd/system/multi-user.target.wants/matrix.service.root@OK8MP:~# sync
完成设置并按照之前的方法开启服务后,重启即可开机自启用户的应用。

4、取消自启应用:


如果想要彻底关闭开机自启,在终端上执行如下命令:


root@OK8MP:~# systemctl disable /lib/systemd/system/autorun.serviceWarning: Can't execute disable on the unit file path. Proceeding with the unit name.Removed /etc/systemd/system/multi-user.target.wants/autorun.service.

此时即可在开机时禁用服务,重启开发板后,此程序不会再自动运行。

三、显示图片的方法


解决思路1
通过Qt桌面中qml test中的Video Player软件打开图片。
点击左上角的三条横线,选择Open image,进入图片的目标路径,点击目标图片即可打开。

*注意事项
目前测试可打开的图片格式包含:jpg、png、bmp。

解决思路2
通过命令行打开ImageViewer应用进行查看。

root@OK8MP:~# cd /usr/share/examples/widgets/widgets/imageviewerroot@OK8MP:/usr/share/examples/widgets/widgets/imageviewer# ./imageviewer
在应用中进入需要打开的图片所在的路径,即可打开目标图片。

*注意事项
目前测试可打开的图片格式包含:jpg 。

.......

以上是目前询问较多的三个显示类问题对应解决思路,如果您有相同的疑问,可按照上述步骤进行操作,尝试是否可行。

审核编辑:符乾江

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分