本文硬體平臺以飛凌嵌入式OKMX8MQ-C開發板Linux作業系統為基礎進行講解,其它iMX8產品,由于各個廠家設定不同會有所差異,請參考使用。
本檔案主要講解OKMX8MQ平臺系統設定,包括LOGO更換、上電自啟動程式設定、Uboot選單選擇顯示屏、TF卡燒寫添加環境變數等。所需原始碼鏡像等,請自行下載飛凌官方提供的用戶資料。
一、 Logo更換
飛凌iMX8MQ開發板 u-boot階段可以在LCD上顯示LOGO圖片,如需更換LOGO請替換:
OKMX8MQ-linux-sdk/images/boot/logo.bmp
要求為24位的BMP格式圖片,解析度為1024x600。
二、上電自啟動程式設定
在此介紹一種使用systemd方式來配置任意開機自啟動程式的方法。
為了方便用戶測驗,我們在系統啟動默認加載systemd服務autorun.service,在
/lib/systemd/system/autorun.sevice
可以看到組態檔:

用戶可以將自己的開機自啟應用程式放到腳本/etc/autorun.sh中,從而實作開機自啟。
其中Description引數代表服務的描述(會在開機終端中列印),ExecStart引數代表執行腳本的絕對路徑,默認為/etc/autorun.sh檔案(用戶可以自行修改)。
如果我們啟動的服務不能滿足需求,也可以自己添加systemd服務,如下例。
將iMX8MQ開發板上電啟動,在iMX8MQ開發板終端中進入到/home/root/目錄下,執行如下命令創建一個腳本檔案,并修改權限:
$ echo '#!/bin/sh' >> /home/root/helloworld.sh
$ echo 'gst-play-1.0 /home/forlinx/audio/test.mp3' >> /home/root/helloworld.sh
$ chmod 777 /home/root/helloworld.sh
進入到“/lib/systemd/system/”目錄下,并新建一個helloworld.service檔案,命令如下:
$ cd /lib/systemd/system
$ vi helloworld.service
檔案的內容如下:
[Unit]
Description=helloworld
After=basic.service X.service thermal-zone-init.service
[Service]
ExecStart=/home/root/helloworld.sh
[Install]
WantedBy=multi-user.target
其中Description一行需寫入服務名,ExecStart需要寫入可執行檔案的絕對路徑。
保存退出后,在終端上執行如下命令:
$ systemctl -f enable /lib/systemd/system/helloworld.service
此時即可將新添加的自啟動服務生效,重啟imx8MQ開發板后,此程式即可自動運行,在默認端的音頻即可聽到音頻輸出。
三、顯示桌面頂部狀態欄
默認情況下,weston桌面頂部顯示時間資訊狀態欄被設定為隱藏,如果您需要其顯示,可以按照下面的方法進行設定。

如果有全屏應用顯示的需求,可以按照如下方法進行修改,隱藏頂部狀態欄。開發板上電,在iMX8MQ開發板終端中輸入如下命令,打開weston的組態檔:
$ vi /etc/xdg/weston/weston.ini
修改檔案的內容如下:
[shell]
locking=false
panel-position=top
四、Uboot選單選擇顯示屏
iMX8MQ開發板上電后,在串口除錯終端輸入任意按鍵,進入uboot選單選項,可以通過選單設定系統選項和功能。
Press SPACE to abort autoboot in 1 seconds
## forlinx params set menu ...
--------------------------
0:reboot
1:exit to shell
2:MIPI7-lcdif
3:MIPI7-dcss
4:HDMI
--------------------------
按鍵0:重新啟動開發板;
按鍵1:進入命令列模式;
按鍵2:選擇顯示屏為7寸MIPI屏(1024x600)顯示控制器使用LCDIF;
按鍵3:選擇顯示屏為7寸MIPI屏(1024x600)顯示控制器使用Display Controller;
按鍵4:選擇顯示屏為HDMI輸出。
注:MIPI7-dcss使用了設備樹ok8mq-evk-dcss-mipi7.dtb,MIPI7-lcdif和HDMI使用了設備樹ok8mq-evk.dtb。
五、TF卡燒寫添加環境變數
在用戶使用TF卡燒寫的時候,可以在TF卡內添加名稱為env.ini的文本,在文本內添加環境變數,文本添加的環境變數需要按照“環境變數名=環境變數值”的格式來添加,每行為1潭訓境變數。在燒寫的程序中,燒寫程式按行讀取環境變數,符合格式的環境變數將會追加到默認的環境變數當中。
燒寫完成后,iMX8MQ開發板在第一次啟動的時候會將默認的環境變數和追加的環境變數寫入到存盤介質中,追加的環境變數如果和鏡像內置的環境變數名稱相同,會覆寫原來的環境變數值。
示例1:追加的環境變數與鏡像默認的環境變數沒有名稱相同的,如追加了環境變數newenv=123456
環境變數內會新加一潭訓境變數newenv=123456。
示例2:追加的環境變數與鏡像默認的環境變數名稱相同,追加的環境變數的值會替換原有的值,如鏡像中默認bootdelay=1,追加的環境變數中bootdelay=3,則最終的環境變數bootdelay的值是3,替換了鏡像中默認的環境變數的值。
相關產品:
uj5u.com熱心網友回復:
原文鏈接:https://www.forlinx.com/article_view_598.html轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/236801.html
標籤:單片機/工控
上一篇:關于RS糾刪碼
