本文硬件平臺以凌OK1028A-C[color=inherit !important]開發板為基礎進行示例,其他廠商開發平臺,因各個廠家設置不同,可供參考使用。內容包含[color=inherit !important]LS1028A開發板設置默認CPU調頻策略,[color=inherit !important]LA1028A開發板環境變量配置文件uEnv.txt使用方法,[color=inherit !important]LS1028A開發板開機自啟動程序,[color=inherit !important]LS1028A開發板LVDS配置說明,LS1028A開發板旋轉屏幕說明,LS1028A開發板Qtcreator安裝使用說明 一、LS1028A開發板設置默認CPU調頻策略默認情況下OK1028A-C啟動后CPU調頻策略為ondemand root@forlinx:/# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor ondemand 如果想使用其它策略,以高性能模式為例,可以進行如下設置 root@forlinx:/# systemctl disable ondemand.service root@forlinx:/# apt-get install cpufrequtils 修改 root@forlinx:/# vi /etc/default/cpufrequtils 添加 GOVERNOR="performance" 重啟測試 root@forlinx:/# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor performance 注意:這里以操作cpu0為例,實際過程cpu1、cpu2、cpu3會同時改變。 二、LA1028A開發板環境變量配置文件uEnv.txt使用方法 OK1028A-C平臺支持啟動過程中通過文件導入部分環境變量,例如可以將默認的網卡MAC地址寫在uEnv.txt文件中設置固定的網卡MAC地址。 啟動時系統會讀取eMMC第二個分區boot目錄中的內核以及設備樹文件,如果存在uEnv.txt則將其中的環境變量導入到系統中。以修改網卡MAC為例進行測試。 創建uEnv.txt文件 root@forlinx:~# vi /boot/uEnv.txt 添加如上環境變量,重啟系統。 啟動過程中可以看到log信息Importing environment from uEnv.txt ... 可以看出,我們添加的環境變量已經生效。在批量生產時,您可以將uEnv.txt放入燒寫U盤的boot目錄,燒寫時將自動將uEnv.txt燒入eMMC中。 三、LS1028A開發板開機Logo制作方法 OK1028A-C平臺支持開機Logo,支持8bit索引bmp圖片。下面簡單介紹使用photopshop制作開機logo的步驟。 首先使用photoshop打開一張普通的圖片 點擊“圖像”-》“模式”,將RGB顏色修改為索引顏色 在彈出的“索引顏色”對話框中直接點擊確定。 完成后在文件菜單中選擇存儲為,保存為logo.bmp即可。 燒寫時,將logo.bmp放入燒寫TF卡的boot目錄即可。 四、LS1028A開發板Qtcreator安裝使用說明 OK1028-C平臺目前沒有qt的交叉編譯環境,如果需要進行qt應用程序的開發,建議直接在開發板上安裝qtcreator。下面簡單介紹qtcreator在OK1028-C平臺上的安裝及使用。 root@forlinx:/# apt-get install qtcreator root@forlinx:/# qtcreator 點擊“New Project”創建新工程: 點擊“Qt Widgets Application”: 輸入項目名稱,以“hello”為例: 點擊“Next”: 點擊“Next”: 點擊“Finish”: 點擊左下角的運行按鈕: 將自動編譯并運行。 注意:為了節約磁盤空間,[color=inherit !important]飛凌提供的文件系統中只提供了qtbase qtwayland等部分必要核心模塊,如需其他模塊,可以使用apt-get進行安裝。 五、LS1028A開發板LVDS配置說明 OK1028A-C底板上默認焊接了DP轉LVDS[color=inherit !important]芯片,如果您需要適配自己的LVDS屏幕,可以參考如下步驟進行適配。 1. 修改時序參數 時序參數需要修改:drivers/gpu/drm/bridge/cadence/cdns-dp-core.c 參數值的含義,可以參考DRM_MODE的[color=inherit !important]宏定義: 2. 修改DP[color=inherit !important]時鐘 LS1028A DP時鐘計算方法如下: DP像素時鐘=fpll_phi=fpll_VCO/PLLDV[RFDHI] fpll_VCO需要在設備數中指定,系統啟動后無法修改,位于600M-1300M之間。 PLLDV[RFDHI]的范圍為1-64,只需要保證VCO可以整除lvds的像素時鐘,且位于1-64之間即可。 例如飛凌默認的屏幕時鐘為71100khz,這里指定的vco-frequency=1066500000,PLLDV[RFDHI]=15 更詳細的說明可以參考:LSDKUG_rev20.04.pdf 459頁,及內核驅動:drivers/clk/clk-plldig.c 3. 修改啟動參數 configs/board/ls1028ardb/manifest 修改完成后使用如下[color=inherit !important]命令重新編譯: flex-builder -i mkdistroscr 六、LS1028A開發板旋轉屏幕說明 weston支持0、90、180、270度屏幕旋轉功能,可修改配置文件/etc/xdg/weston/weston.ini進行設置,例如旋轉90度,可將transform選項設置為90。 [output] name=DP-1 mode=1280x800@60 force-on=true transform=90 七、LS1028A開發板開機自啟動程序在此介紹一種使用systemd方式來配置任意開機自啟動程序的方法。 執行如下命令創建一個腳本文件,并修改權限: root@forlinx:/# echo '#!/bin/sh' >> /helloworld.sh root@forlinx:/# echo 'gst-play-1.0 /forlinx/media/test.mp3' >> /helloworld.sh root@forlinx:/# chmod 777 /helloworld.sh 進入到“/lib/systemd/system/”目錄下,并新建一個helloworld.service文件,命令如下: root@forlinx:/# cd /lib/systemd/system root@forlinx:/# vi helloworld.service 文件的內容如下: [Unit] Description=helloworld After=basic.service X.service thermal-zone-init.service [Service] ExecStart=/helloworld.sh [Install] WantedBy=multi-user.target 其中Description一行需寫入服務名,ExecStart需要寫入可執行文件的絕對路徑。 保存退出后,在終端上執行如下命令: root@forlinx:/# systemctl -f enable /lib/systemd/system/helloworld.service 此時即可將新添加的自啟動服務生效,重啟開發板后,此程序即可自動運行,在默認端的音頻即可聽到音頻輸出。 https://www.forlinx.com/ |