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