-
MBR固件是采用舊版本SDK編譯出來的MBR分區(qū)固件,已使用時(shí)間長,穩(wěn)定性高
-
GPT固件是采用新版本SDK編譯出來得GPT分區(qū)固件,兼容性好,SDK編譯簡單方便,功能齊全,建議使用。
注意:官方正在完善新版本SDK(GPT),在后期將全部使用新版本SDK。
準(zhǔn)備工作
準(zhǔn)備網(wǎng)絡(luò):
準(zhǔn)備qemu
進(jìn)入根文件系統(tǒng)進(jìn)行操作:
更新及安裝
更新:
安裝自己需要的功能
安裝xubuntu
可能出現(xiàn)錯(cuò)誤:
安裝包的源沒有添加到/etc/apt/source.list中,導(dǎo)致無法識(shí)別安裝包,可以自行添加源,也可以使用下面給出的source.list覆蓋原來的/etc/apt/source.list文件:
添加用戶及設(shè)置密碼
添加用戶
給用戶設(shè)置密碼:
給root用戶設(shè)置密碼:
修改完自己的根文件系統(tǒng)就可以退出了。
制作自己的根文件系統(tǒng),大小依據(jù)自己的根文件系統(tǒng)而定,注意依據(jù)temp文件夾的大小來修改count值
這樣 linuxroot.img 就是最終的根文件系統(tǒng)映像文件了。
根文件系統(tǒng)加載后,大小不正常,未占滿整個(gè)分區(qū):
在系統(tǒng)正確加載后執(zhí)行擴(kuò)展文件系統(tǒng)命令:
為了方便用戶的使用與開發(fā),官方提供了Linux開發(fā)的整套sdk,本章詳細(xì)的說明SDK的具體用法。
下載源碼
下載 Linux-SDK:
-
方法一
初始化repo倉庫:
同步源碼:
-
方法二(國內(nèi)用戶推薦使用)
因?yàn)閲鴥?nèi)用戶可能git拉代碼會(huì)比較慢,所以官方提供了基礎(chǔ)得源碼包Linux_SDK.7z
下載Linux_SDK.7z
Linux_SDK 目錄介紹
目錄:
搭建SDK編譯環(huán)境
編譯buildroot固件:
編譯debian固件:
ubuntu固件:(根文件系統(tǒng)請使用官方提供的根文件系統(tǒng)鏡像)
編譯前配置
配置文件 aio-3399-jd4.mk:
配置文件生效會(huì)連接到device/rockchip/.BoardConfig.mk,檢查該文件可以驗(yàn)證是否配置成功。
注意:aio-3399-jd4.mk為編譯生成buildroot固件的配置文件.同時(shí)用戶也可以通過參考該配置生成新的配置文件來適配自己所需要的固件。
重要配置介紹:(如果需要diy固件,可能需要修改下列配置信息)
注意,十分重要?。?/p>
默認(rèn)配置編譯buildroot固件,如果想編譯其他固件(如ubuntu固件)請執(zhí)行一下操作:
-
下載ubuntu根文件系統(tǒng)鏡像https://pan.baidu.com/s/1DuCzTGARDi7APxyKs9Nl1A#list/path=%2F
-
把得到的鏡像放到sdk的指定目錄:
注意:ubuntu根文件系統(tǒng)鏡像存放路徑不能錯(cuò)
全自動(dòng)編譯
在配置和搭建環(huán)境的工作都做好的前提下:
全自動(dòng)編譯的固件默認(rèn)編譯buildroot固件。生成固件目錄rockdev/,同時(shí)會(huì)在IMAGE中備份。
部分編譯
kernel
u-boot
recovery
recovery分區(qū)可省略,若有需要: 編譯recovery:
rootfs
-
buildroot
-
debian:
-
ubuntu18.04,可以通過云盤下載:
下載鏈接https://pan.baidu.com/s/1DuCzTGARDi7APxyKs9Nl1A#list/path=%2F
把得到的鏡像放到sdk的根目錄處:
注意:ubuntu根文件系統(tǒng)鏡像存放路徑不能錯(cuò)
運(yùn)行./mkfirmware.sh會(huì)自動(dòng)更新rockdev/rootfs.img的鏈接
同步更新各部分鏡像
每次打包固件前先確保rockdev/目錄下文件鏈接是否正確:
可以運(yùn)行./mkfirmware.sh更新鏈接
提示:若不是編譯全部的分區(qū)鏡像,在運(yùn)行./mkfirmware時(shí),會(huì)遇到如下類似情況:
打包統(tǒng)一固件
注意:打包前請確認(rèn)tools/linux/Linux_Pack_Firmware/rockdev/package-file是否正確。打包會(huì)根據(jù)此文件進(jìn)行分區(qū)打包。此文件鏈接會(huì)在./build.shaio-rk3399-jd4.mk命令時(shí)更新,如果配置不對請返回[配置]這一節(jié)重新配置一次。
整合統(tǒng)一固件
parameter
parameter.txt包含了固件的分區(qū)信息十分重要,你可以在device/rockchip/rk3399目錄下找到一些parameter.txt文件,下面以parameter-debian.txt為例子做介紹:
CMDLINE屬性是我們關(guān)注的地方。以u(píng)boot為例0x00002000@0x00004000(uboot)中0x00004000為uboot分區(qū)的起始位置0x00002000為分區(qū)的大小。后面的分區(qū)規(guī)則相同。用戶可以根據(jù)自己需要增減或者修改分區(qū)信息,但是請最少保留uboot,trust,boot,rootfs分區(qū),這是機(jī)器能正常啟動(dòng)的前提條件。parameter-ubuntu.txt中使用的就是這樣的最簡分區(qū)方案。
分區(qū)介紹:
package-file
此文件應(yīng)當(dāng)與parameter保持一致,用于固件打包??梢栽趖ools/linux/Linux_Pack_Firmware/rockdev下找到相關(guān)文件。以rk3399-ubuntu-package-file為例介紹:
以上是SDK編譯后生成的鏡像文件。根據(jù)parameter.txt只打包自己用到的img文件。
如何進(jìn)入升級(jí)模式
操作方法見《升級(jí)固件》
Mpp是Rockchip為RK3399提供的一套視頻編解碼的api, 并且基于mpp,Rockchip提供了一套gstreamer的編解碼插件。用戶可以根據(jù)自己的需求,基于gstreamer來做視頻編解碼的應(yīng)用,或者直接調(diào)用mpp,來實(shí)現(xiàn)硬件的編解碼加速。
Firefly 發(fā)布的Ubuntu 系統(tǒng), 都已經(jīng)提供了完整的gstremaer 和 mpp支持,并且提供了相應(yīng)的demo,供用戶開發(fā)參考。
Gstreamer
-
Ubuntu 16.04 下,gstreamer 1.12 已經(jīng)安裝在/opt/目錄下。
-
Ubuntu 18.04下, gstreamer 1.12 已經(jīng)安裝到系統(tǒng)中。
/usr/local/bin/h264dec.sh 測試硬件H264解碼。
/usr/local/bin/h264enc.sh 測試硬件H264編碼。
用戶可以參照這兩個(gè)腳本,配置自己的gstreamer應(yīng)用。
Mpp
-
Ubunut 系統(tǒng)下, mpp 相關(guān)dev包都已經(jīng)安裝到系統(tǒng)中。
/opt/mpp/下分別是mpp 編解碼的相關(guān)demo 和 源文件。
RK3399 支持 OpenGL ES1.1/2.0/3.0/3.1。
Firefly 發(fā)布的Ubuntu 系統(tǒng), 都已經(jīng)提供了完整的OpenGL-ES支持。運(yùn)行g(shù)lmark2-es2可以測試openGL-ES支持。 如果要避免屏幕刷新率對測試結(jié)果的影響,可以在串口終端上使用以下命令測試。
在Chromium瀏覽器中, 在地址欄輸入:chrome://gpu可以查看chromium下硬件加速的支持。
Note:
-
EGL 是用arm 平臺(tái)上OpenGL針對x window system的擴(kuò)展,功能等效于x86下的glx庫。
-
由于Xorg使用的Driver modesettings 默認(rèn)會(huì)加載libglx.so(禁用glx會(huì)導(dǎo)致某些通過檢測glx環(huán)境的應(yīng)用啟動(dòng)失敗), libglx.so會(huì)搜索系統(tǒng)中的dri實(shí)現(xiàn)庫。但是rk3399 Xorg 2D加速是直接基于DRM實(shí)現(xiàn), 并未實(shí)現(xiàn)dri庫,所以啟動(dòng)過程中,libglx.so會(huì)報(bào)告如下的錯(cuò)誤 。
(EE)AIGLXerror:dlopenof/usr/lib/aarch64-linux-gnu/dri/rockchip_dri.sofailed這個(gè)對系統(tǒng)運(yùn)行沒有任何影響,不需要處理。
-
基于同樣的道理,某些應(yīng)用啟動(dòng)過程中,也會(huì)報(bào)告如下錯(cuò)誤,不用處理,對應(yīng)用的運(yùn)行不會(huì)造成影響。
libGLerror:unabletoloaddriver:rockchip_dri.solibGLerror:driverpointermissinglibGLerror:failedtoloaddriver:rockchip -
Firefly之前發(fā)布的某些版本的Ubuntu軟件,默認(rèn)關(guān)閉了加載libglx.so,在某些情況下,運(yùn)行某些應(yīng)用程序會(huì)出現(xiàn)下述錯(cuò)誤:
GdkGLExt-WARNING**:Windowsystemdoesn'tsupportOpenGL.
修正的方法如下:
刪除/etc/X11/xorg.conf.d/20-modesetting.conf中一下三行配置。
Section"Module"Disable"glx"EndSection
Firefly發(fā)布的Ubuntu系統(tǒng),已經(jīng)添加了opencl1.2支持,可以運(yùn)行系統(tǒng)內(nèi)置的clinfo獲取平臺(tái)opencl相關(guān)參數(shù)。
RK3399 支持神經(jīng)網(wǎng)絡(luò)的GPU加速方案LinuxNN, Firefly發(fā)布的Ubuntu系統(tǒng),已經(jīng)添加了LinuxNN的支持。
在opt/tensorflowbin/下,運(yùn)行test.sh, 即可測試MobileNet 模型圖像分類器的 Demo和MobileNet-SSD 模型的目標(biāo)檢測 Demo
Firefly發(fā)布的Ubuntu系統(tǒng),如果需要默認(rèn)對系統(tǒng)的顯示方向做旋轉(zhuǎn),可以在
/etc/default/xrandr中修改對應(yīng)的顯示設(shè)備的方向即可。
對于配有觸摸屏的平臺(tái),如果需要對觸摸屏的方向做旋轉(zhuǎn),可以在/etc/X11/xorg.conf.d/05-gslX680.conf中修改SwapAxes / InvertX / InvertY三個(gè)值。
-
嵌入式主板
+關(guān)注
關(guān)注
7文章
6102瀏覽量
36315 -
安卓
+關(guān)注
關(guān)注
5文章
2155瀏覽量
58714 -
Firefly
+關(guān)注
關(guān)注
2文章
542瀏覽量
8424
發(fā)布評(píng)論請先 登錄
fireflyCORE-3399PRO主板JD4接口定義

fireflyCORE-3399PRO主板JD4燒寫固件簡介

fireflyCORE-3399PRO主板JD4產(chǎn)品簡介
fireflyCORE-3399主板JD4--FAQs方案

fireflyCORE-3399主板JD4接口定義

fireflyCORE-3399主板JD4--Android工具簡介

fireflyCORE-3399主板JD4產(chǎn)品簡介
Core 3399Pro JD4 Linux SDK源碼包(僅支持RK3399Pro)

Core 3399 JD4解合包工具(Linux)

Core 3399 JD4文檔AIO 3399JD4 Product Specifications

Core 3399 JD4 V2 Linux SDK源碼包(僅支持RK3399)

評(píng)論