i.MX8MP 應(yīng)用筆記 | 常見問題解決思路

原創(chuàng) 2022-02-18 16:49:00


來源 | 飛凌嵌入式

題圖|OKMX8MP-C開發(fā)板


FETMX8MP-C核心板的用戶在使用過程中有一些常見問題,下面筆者將對咨詢量較多的“更換Logo”、“開機(jī)自啟應(yīng)用”和“在Qt中顯示圖片”三個(gè)顯示類問題,以飛凌提供的OKMX8MP-C開發(fā)板為例進(jìn)行思路講解。


一、LOGO更換


解決思路1

開發(fā)板啟動(dòng)后,替換“run/media/mmcblk2p1”路徑下的圖片,并sync保存。

*注意事項(xiàng)

MIPI屏,1024x600分辨率,替換logo-1024x600.bmp。

LVDS屏,1280x800分辨率,替換logo-1280x800.bmp。

替換完成后一定要輸入sync命令保存


解決思路2

可采用在開發(fā)環(huán)境中替換源碼文件夾OK8MP-linux-sdk/images路徑下的logo圖片的方式。

替換完成后在開發(fā)環(huán)境命令行進(jìn)行源碼全編譯,生成新的ok8mp-linux-fs.sdcard.a*,把它們合并后,用新合并的rootfs.sdcard燒寫即可。


*注意事項(xiàng)

MIPI屏,1024x600分辨率,替換logo-1024x600.bmp。

LVDS屏,1280x800分辨率,替換logo-1280x800.bmp。


常見問題:

單步更新替換Logo后,在啟動(dòng)時(shí)會(huì)閃一下飛凌本身提供的Logo,再進(jìn)入桌面。


問題原因:

目前設(shè)置的桌面是飛凌公司Logo,開發(fā)板啟動(dòng)后進(jìn)入桌面就顯示了Logo。應(yīng)用桌面是用Weston實(shí)現(xiàn)的網(wǎng)頁形式的,開發(fā)板啟動(dòng)后才打開,所以有一個(gè)階段顯示Logo那個(gè)桌面。


解決思路

把文件系統(tǒng)中的“/usr/share/weston/logo-1280x800.png”換成用戶自己的Logo,名稱要保持一致。


*注意事項(xiàng)

解決思路2中,在源碼里更換Logo時(shí)使用的圖片格式為bmp,文件系統(tǒng)中替換的圖片格式為png。

上述兩個(gè)方法中替換的兩個(gè)Logo分別對應(yīng)MIPI屏和LVDS屏,因HDMI本身在啟動(dòng)階段就不顯示Logo,而是啟動(dòng)后直接顯示桌面,所以也沒有替換Logo圖片的方法。


二、開機(jī)自啟指定應(yīng)用


目前飛凌提供的軟件手冊中已提供開機(jī)自動(dòng)播放音頻的設(shè)置方法,但有部分客戶需要開機(jī)啟動(dòng)其它應(yīng)用,故在此對手冊中的自啟方法進(jìn)行補(bǔ)充:

1、在/etc/路徑下新建個(gè)autorun.sh腳本:


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


在/etc/autorun.sh腳本中寫入如下內(nèi)容:


#!/bin/bash
. /etc/profile.d/weston.sh
. /etc/profile.d/qt5.sh
sleep 3
/usr/bin/fltest_qt_4g   //此處為需要自啟的應(yīng)用和路徑,以4G為例


寫入完成并保存后,修改文件權(quán)限:


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


2、進(jìn)入到“/lib/systemd/system/”目錄下,并新建一個(gè)autorun.service文件,命令如下:


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


文件的內(nèi)容如下:


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


其中Description一行需寫入服務(wù)名,ExecStart需要寫入可執(zhí)行文件的絕對路徑。保存退出后,在終端上執(zhí)行如下命令:


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、使用如下命令關(guān)閉默認(rèn)桌面:


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


完成設(shè)置并按照之前的方法開啟服務(wù)后,重啟即可開機(jī)自啟用戶的應(yīng)用。


4、取消自啟應(yīng)用:

如果想要徹底關(guān)閉開機(jī)自啟,在終端上執(zhí)行如下命令:


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


此時(shí)即可在開機(jī)時(shí)禁用服務(wù),重啟開發(fā)板后,此程序不會(huì)再自動(dòng)運(yùn)行。


三、顯示圖片的方法


解決思路1

通過Qt桌面中qml test中的Video Player軟件打開圖片。

點(diǎn)擊左上角的三條橫線,選擇Open image,進(jìn)入圖片的目標(biāo)路徑,點(diǎn)擊目標(biāo)圖片即可打開。


*注意事項(xiàng)

目前測試可打開的圖片格式包含:jpg、png、bmp。


解決思路2

通過命令行打開ImageViewer應(yīng)用進(jìn)行查看。


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


在應(yīng)用中進(jìn)入需要打開的圖片所在的路徑,即可打開目標(biāo)圖片。


*注意事項(xiàng)

目前測試可打開的圖片格式包含:jpg 。


.......


以上是目前詢問較多的三個(gè)顯示類問題對應(yīng)解決思路,如果您有相同的疑問,可按照上述步驟進(jìn)行操作,嘗試是否可行。后續(xù)其它常見問題也將陸續(xù)編寫相關(guān)文檔進(jìn)行解決,請實(shí)時(shí)關(guān)注飛凌嵌入式微信公眾號(hào)發(fā)布的最新消息。





推薦閱讀 換一批 換一批