飞凌嵌入式i.MX8MP开发板应用笔记 | 常见问题解决思路

本文主要是介绍飞凌嵌入式i.MX8MP开发板应用笔记 | 常见问题解决思路,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

1.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图片的方法。

2.开机自启指定应用

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

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

root@OK8MP:~# cd /etc
root@OK8MP:/etc# vi autorun.sh

在/etc/autorun.sh脚本中写入如下内容:

#!/bin/bash
. /etc/profile.d/weston.sh
. /etc/profile.d/qt5.sh
sleep 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/system
root@OK8MP:/lib/systemd/system# vi autorun.service

文件的内容如下:

[Unit]
Description=autorun
After=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.service
Created symlink /etc/systemd/system/multi-user.target.wants/autorun.service -> /lib/systemd/system/autorun.service.
root@OK8MP:~# sync

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

root@OK8MP:~# systemctl disable matrix.service
Removed /etc/systemd/system/multi-user.target.wants/matrix.service.
root@OK8MP:~# sync

完成设置并按照之前的方法开启服务后,重启即可开机自启用户的应用。

取消自启应用:

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

root@OK8MP:~# systemctl disable /lib/systemd/system/autorun.service

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

3.显示图片的方法

解决思路1

通过Qt桌面中qml test中的Video Player软件打开图片。

点击左上角的三条横线,选择Open image,进入图片的目标路径,点击目标图片即可打开。

注意事项

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

解决思路2

通过命令行打开ImageViewer应用进行查看。

root@OK8MP:~# cd /usr/share/examples/widgets/widgets/imageviewer
root@OK8MP:/usr/share/examples/widgets/widgets/imageviewer# ./imageviewer

在应用中进入需要打开的图片所在的路径,即可打开目标图片。

注意事项

目前测试可打开的图片格式包含:jpg 。


以上是目前询问较多的三个显示类问题对应解决思路,如果您有相同的疑问,可按照上述步骤进行操作,尝试是否可行。后续其它常见问题也将陆续编写相关文档进行解决,请实时关注飞凌嵌入式微信公众号发布的最新消息。

i.MX8MP 系列-NXP iMX8M Plus 开发板 -高性能低功耗工业级核心板 支持多种 - ARM开发板 - 保定飞凌嵌入式技术有限公司

 

这篇关于飞凌嵌入式i.MX8MP开发板应用笔记 | 常见问题解决思路的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/225481

相关文章

Java中字符编码问题的解决方法详解

《Java中字符编码问题的解决方法详解》在日常Java开发中,字符编码问题是一个非常常见却又特别容易踩坑的地方,这篇文章就带你一步一步看清楚字符编码的来龙去脉,并结合可运行的代码,看看如何在Java项... 目录前言背景:为什么会出现编码问题常见场景分析控制台输出乱码文件读写乱码数据库存取乱码解决方案统一使

C++右移运算符的一个小坑及解决

《C++右移运算符的一个小坑及解决》文章指出右移运算符处理负数时左侧补1导致死循环,与除法行为不同,强调需注意补码机制以正确统计二进制1的个数... 目录我遇到了这么一个www.chinasem.cn函数由此可以看到也很好理解总结我遇到了这么一个函数template<typename T>unsigned

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

504 Gateway Timeout网关超时的根源及完美解决方法

《504GatewayTimeout网关超时的根源及完美解决方法》在日常开发和运维过程中,504GatewayTimeout错误是常见的网络问题之一,尤其是在使用反向代理(如Nginx)或... 目录引言为什么会出现 504 错误?1. 探索 504 Gateway Timeout 错误的根源 1.1 后端

解决升级JDK报错:module java.base does not“opens java.lang.reflect“to unnamed module问题

《解决升级JDK报错:modulejava.basedoesnot“opensjava.lang.reflect“tounnamedmodule问题》SpringBoot启动错误源于Jav... 目录问题描述原因分析解决方案总结问题描述启动sprintboot时报以下错误原因分析编程异js常是由Ja

深度剖析SpringBoot日志性能提升的原因与解决

《深度剖析SpringBoot日志性能提升的原因与解决》日志记录本该是辅助工具,却为何成了性能瓶颈,SpringBoot如何用代码彻底破解日志导致的高延迟问题,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言第一章:日志性能陷阱的底层原理1.1 日志级别的“双刃剑”效应1.2 同步日志的“吞吐量杀手”

MySQL 表空却 ibd 文件过大的问题及解决方法

《MySQL表空却ibd文件过大的问题及解决方法》本文给大家介绍MySQL表空却ibd文件过大的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录一、问题背景:表空却 “吃满” 磁盘的怪事二、问题复现:一步步编程还原异常场景1. 准备测试源表与数据

PostgreSQL简介及实战应用

《PostgreSQL简介及实战应用》PostgreSQL是一种功能强大的开源关系型数据库管理系统,以其稳定性、高性能、扩展性和复杂查询能力在众多项目中得到广泛应用,本文将从基础概念讲起,逐步深入到高... 目录前言1. PostgreSQL基础1.1 PostgreSQL简介1.2 基础语法1.3 数据库