i.MX8MP 應用筆記 | 常見問題解決思路

原創 2022-02-18 16:49:00


來源 | 飛凌嵌入式

題圖|OKMX8MP-C開發板


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 /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


完成設置并按照之前的方法開啟服務后,重啟即可開機自啟用戶的應用。


4、取消自啟應用:

如果想要徹底關閉開機自啟,在終端上執行如下命令:


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.


此時即可在開機時禁用服務,重啟開發板后,此程序不會再自動運行。


三、顯示圖片的方法


解決思路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 。


.......


以上是目前詢問較多的三個顯示類問題對應解決思路,如果您有相同的疑問,可按照上述步驟進行操作,嘗試是否可行。后續其它常見問題也將陸續編寫相關文檔進行解決,請實時關注飛凌嵌入式微信公眾號發布的最新消息。





推薦閱讀 換一批 換一批