在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

fireflyROC-RK3308B主板CC固件編譯簡介

firefly ? 來源:firefly ? 作者:firefly ? 2019-12-20 09:10 ? 次閱讀
固件編譯
準(zhǔn)備工作
開發(fā)環(huán)境搭建

除了系統(tǒng)要求外,還有其他軟硬方面的要求。

  • 64 位系統(tǒng)

  • 硬盤空間大于 40G,如果您進(jìn)行多個(gè)構(gòu)建,將需要更大的硬盤空間。

推薦使用Ubuntu 16.04 的系統(tǒng)進(jìn)行編譯。其他版本沒有具體測試,可能需要對(duì)軟件包做相應(yīng)調(diào)整。

軟件包安裝

操作系統(tǒng)安裝好后,且用戶已自行配置好網(wǎng)絡(luò)環(huán)境,則可繼續(xù)如下步驟完成相關(guān)軟件包的安裝。

  • apt-get update

sudo apt-get update
  • 安裝 Kernel 及 U-Boot 編譯需要依賴的軟件包

sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl \ zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev \ x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev \ libxml2-utils xsltproc unzip device-tree-compiler
  • 安裝 Buildroot 編譯需要依賴的軟件包

sudo apt-get install libfile-which-perl sed make binutils gcc g++ bash \ patch gzip bzip2 perl tar cpio python unzip rsync file bc libmpc3 \ git repo texinfo pkg-config cmake tree
  • 必要工具安裝

sudo apt install genext2fs sudo apt install gawk

注意:編譯若遇到報(bào)錯(cuò),可以視報(bào)錯(cuò)信息,安裝對(duì)應(yīng)的軟件包。

交叉編譯工具鏈介紹

鑒于 Rockchip Buildroot SDK 目前只在 Linux 下編譯,我們也僅提供了 Linux 下的交叉編譯工具鏈。其中 U-Boot 及 Kernel 使用的編譯工具鏈預(yù)置目錄在 prebuilt/gcc下,buildroot 使用該開源軟件中編譯出來的工具鏈。

U-Boot 及 Kernel 編譯工具鏈

prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-

對(duì)應(yīng)版本

gcc version 6.3.1 20170404 (Linaro GCC 6.3-2017.05)

Buildroot 編譯工具鏈

buildroot/output/rockchip_rk3308_release/host/bin/aarch64-rockchip-linux-gnu-

對(duì)應(yīng)版本

gcc version 6.4.0 (Buildroot 2018.02-rc3-00017-g9c68ede)

如果需要其他平臺(tái)或版本的工具鏈,需自行編譯。

下載 SDK

由于 SDK 比較大,我們提供了一個(gè)打包好的.git以供下載:

  • Firefly-RK3308_Linux_SDK

下載完成后先驗(yàn)證一下 MD5 碼:

md5sum Firefly-RK3308_Linux_SDK_git_20190924.7z 97837ef273541b45ab12260db6c01fdd Firefly-RK3308_Linux_SDK_git_20190924.7z

確認(rèn)無誤后,就可以解壓:

mkdir -p ~/prj/Firefly-RK3308 cd ~/prj/Firefly-RK3308 7zr x Firefly-RK3308_Linux_SDK_git_20190924.7z git reset --hard HEAD

解壓出來的SDK,已經(jīng)默認(rèn)添加遠(yuǎn)程倉庫

git remote -v gitlab git@gitlab.com/TeeFirefly/rk3308-linux.git (fetch) gitlab git@gitlab.com/TeeFirefly/rk3308-linux.git (push)

以后就可以直接從 gitlab 處更新:

git pull gitlab firefly:firefly

也可以到 https://gitlab.com/TeeFirefly/rk3308-linux 在線瀏覽源碼

SDK 目錄結(jié)構(gòu)
. ├── buildroot ├── build.sh -> device/rockchip/common/build.sh ├── device ├── envsetup.sh -> buildroot/build/envsetup.sh ├── external ├── kernel ├── Makefile -> buildroot/build/Makefile ├── mkfirmware.sh -> device/rockchip/rk3308/mkfirmware.sh ├── prebuilts ├── rkbin ├── rockdev ├── tools ├── u-boot └── yocto

其中:

  • buildroot 目錄存放 buildroot 開源項(xiàng)目代碼,可定制根文件系統(tǒng)

  • build.sh 為系統(tǒng)編譯腳本,執(zhí)行可進(jìn)行 SDK 的完整編譯

  • device 目錄存放板級(jí)配置及一些預(yù)置文件,開機(jī)腳本等

  • external 目錄存放 SDK 相關(guān)庫及工具源碼

  • kernel 為內(nèi)核部分源碼

  • mkfirmware.sh 腳本可對(duì)鏡像文件進(jìn)行打包,并統(tǒng)一拷貝至 rockdev/ 目錄

  • prebuilts 目錄存放 U-Boot、Kernel 編譯使用的交叉編譯工具鏈

  • rkbin 目錄存放 Rockchip 平臺(tái)一些關(guān)鍵性二進(jìn)制文件,包括ddr.bin,miniloader.bin,bl31.bin,在 U-Boot 編譯過程中會(huì)用到

  • rockdev 執(zhí)行 mkfirmware.sh 會(huì)把系統(tǒng)編譯的生成的鏡像,統(tǒng)一拷貝至 rockdev/

  • tools 目錄存放著 Windows 及 Linux 環(huán)境下的開發(fā)工具、調(diào)試工具、量產(chǎn)工具

  • u-boot 目錄存放著 U-Boot 部分的源碼

編譯 Uboot

編譯 Uboot:

cd u-boot/ ./make.sh rk3308

編譯完,會(huì)生成 trust.img、rk3308_loader_xxx.bin、uboot.img 三個(gè)鏡像文件。

編譯 Kernel
cd kernel/ make arch=arm64 firefly-rk3308b_linux_defconfig make arch=arm64 rk3308b-roc-cc-amic_emmc.img

編譯 kenrel 的時(shí)候可以直接 make arch=arm64 dts-name.img (如 rk3308b-roc-cc-amic_emmc.img),即可生成對(duì)應(yīng)的 resource.img(包含 dtb 數(shù)據(jù))。

最終生成的kernel.img和resource.img將會(huì)被打包進(jìn)zboot.img,更換內(nèi)核的時(shí)候,只需燒寫zboot.img即可。

編譯 Buildroot

注意:凡是有大更新或者個(gè)別軟件更新,需要清掉舊版本的相關(guān)內(nèi)容,但編譯腳本是不會(huì)自動(dòng)覆蓋的。因此需要手動(dòng)解決。最省事的方法就是刪掉 buildroot/output/ 目錄,然后再重新編譯SDK。

rm buildroot/output -rf

編譯 Buildroot,envsetup.sh 是終端環(huán)境變量設(shè)置腳本:

source buildroot/build/envsetup.sh You're building on Linux Lunch menu...pick a combo: 1. firefly_rk3308_release 2. firefly_rk3308_recovery 3. firefly_rk3308_pcba Which would you like? [1] 1 ===========================================

如選擇 firefly_rk3308_release,輸入對(duì)應(yīng)序號(hào) 1

執(zhí)行編譯:

make

完成編譯后執(zhí)行 SDK 根目錄下的 mkfirmware.sh 腳本生成固件。

./mkfirmware.sh

所有燒寫所需的鏡像都將會(huì)拷貝于 rockdev 目錄。

rockdev/ ├── boot.img ├── MiniLoaderAll.bin ├── misc.img ├── oem.img ├── parameter.txt ├── recovery.img ├── rootfs.img ├── trust.img ├── uboot.img └── userdata.img

得到了所有鏡像文件后,為了方便燒寫及量產(chǎn),通常可手動(dòng)將這些單獨(dú)的鏡像通過腳本打包成為一個(gè)統(tǒng)一固件:update.img。打包方法見下文。

全自動(dòng)編譯腳本

為了提高編譯的效率,降低人工編譯可能出現(xiàn)的誤操作,該 SDK 中集成了全自動(dòng)化編譯腳本,方便固件編譯、備份。

該全自動(dòng)化編譯腳本原始文件存放于:

device/rockchip/common/build.sh

在SDK根目錄創(chuàng)建了相應(yīng)軟鏈接build.sh

./build.sh roc-rk3308b-cc_release_BoardConfig.mk ./build.sh

或者可以通過修改默認(rèn)配置 device/rockchip/rk3308/BoardConfig.mk 腳本中的特定變量,以編出對(duì)應(yīng)產(chǎn)品固件

#========================= # Compile Config #========================= # Target arch export RK_ARCH=arm64 # Uboot defconfig export RK_UBOOT_DEFCONFIG=rk3308 # Kernel defconfig export RK_KERNEL_DEFCONFIG=firefly-rk3308b_linux_defconfig # Kernel dts export RK_KERNEL_DTS=rk3308b-roc-cc-amic_emmc # boot image type export RK_BOOT_IMG=zboot.img # kernel image path export RK_KERNEL_IMG=kernel/arch/arm64/boot/Image.lz4

執(zhí)行自動(dòng)編譯腳本:

./build.sh

該腳本會(huì)自動(dòng)配置環(huán)境變量,并自動(dòng)編譯 U-Boot,編譯 Kernel,編譯Buildroot,編譯 Recovery 繼而生成固件。

模塊編譯

為了方便開發(fā)調(diào)試,上文說到的“全自動(dòng)化編譯腳本”,也支持單獨(dú)模塊進(jìn)行編譯,方便模塊調(diào)試,可指定并編譯部分模塊。

部分編譯可參見使用說明:

./build.sh -h ====USAGE: build.sh modules==== uboot -build uboot kernel -build kernel rootfs -build default rootfs, currently build buildroot as default buildroot -build buildroot rootfs yocto -build yocto rootfs, currently build ros as default ros -build ros rootfs debian -build debian rootfs pcba -build pcba recovery -build recovery all -build uboot, kernel, rootfs, recovery image cleanall -clean uboot, kernel, rootfs, recovery firmware -pack all the image we need to boot up system updateimg -pack update image save -save images, patches, commands used to debug default -build all modules

如單獨(dú)編譯 kernel,只需要執(zhí)行以下命令:

./build.sh kernel
統(tǒng)一固件打包工具

固件打包工具可將各零散鏡像文件,打包成一個(gè)完整的 update.img 形式,方便量產(chǎn)燒寫及升級(jí)。

Windows 下打包

Windows 系統(tǒng)下,打包工具存放在 tools\windows\AndroidTool\rockdev,打包步驟如下:

  1. 打開 rockdev 目錄,編輯 package-file。按照 package-file 進(jìn)行配置,package-file 里面配置 img 鏡像放在 Image 目錄底下的,將需要放到 Image 目錄的鏡像拷貝進(jìn)去即可。且注意配置時(shí),鏡像名字的準(zhǔn)確。其中注意bootloader選項(xiàng),應(yīng)該根據(jù)自己生成的 loader 名稱進(jìn)行修改。

  2. 編輯 mkupdate.bat。 需要修改 loader 名稱為實(shí)際存放的loader 名稱即可。

  3. 點(diǎn)擊 mkupdate.bat 運(yùn)行即可,運(yùn)行完會(huì)在當(dāng)前目錄生成一個(gè) update.img。

Linux 下打包

打包工具存放在 SDK/tools/linux/Linux_Pack_Firmware/rockdev/,打包步驟如下:

  1. 打開 rockdev 目錄,編輯 package-file。 按照 package-file 進(jìn)行配置,package-file 里面配置 img 鏡像放在 Image 目錄底下的,將需要放到 Image 目錄的鏡像拷貝進(jìn)去即可。且注意配置時(shí),鏡像名字的準(zhǔn)確。其中注意bootloader選項(xiàng),應(yīng)該根據(jù)自己生成的 loader 名稱進(jìn)行修改。

  2. 編輯 mkupdate.sh。 需要修改 loader 名稱為實(shí)際存放的loader 名稱即可。

  3. 在 rockdev 目錄下,執(zhí)行以下命令,運(yùn)行完會(huì)在當(dāng)前目錄生成一個(gè) update.img。

./mkupdate.sh

另外,Linux下,SDK有提供一鍵打包工具,自動(dòng)生成統(tǒng)一固件 rockdev/update.img

./build.sh updateimg

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6097

    瀏覽量

    36195
  • 安卓
    +關(guān)注

    關(guān)注

    5

    文章

    2149

    瀏覽量

    58441
  • Firefly
    +關(guān)注

    關(guān)注

    2

    文章

    541

    瀏覽量

    7429
  • RK3308
    +關(guān)注

    關(guān)注

    1

    文章

    40

    瀏覽量

    1513
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    ROC-RK3308主板CC固件編譯的知識(shí)點(diǎn)解析,絕對(duì)實(shí)用

    ROC-RK3308主板CC固件編譯的知識(shí)點(diǎn)解析,絕對(duì)實(shí)用
    發(fā)表于 03-09 07:29

    fireflyROC-RK3308B主板CC固件簡介

    使用 Alexa Voice Service,首先你需要注冊(cè)一個(gè)Amazon賬號(hào),向 Amazon 注冊(cè)你的產(chǎn)品,并對(duì)你的 alexa client 進(jìn)行授權(quán)。
    的頭像 發(fā)表于 12-19 17:09 ?2242次閱讀
    <b class='flag-5'>fireflyROC-RK3308B</b><b class='flag-5'>主板</b><b class='flag-5'>CC</b><b class='flag-5'>固件</b><b class='flag-5'>簡介</b>

    fireflyROC-RK3308B-CC固件編譯工具簡介

    Docker鏡像內(nèi)配置好了編譯SDK所需的依賴環(huán)境,無需在本地配置編譯環(huán)境,進(jìn)入對(duì)應(yīng)的docker容器內(nèi)進(jìn)行SDK編譯即可。 目前暫時(shí)只支持ROC-RK3308B-CC Buildro
    的頭像 發(fā)表于 12-20 09:30 ?2218次閱讀

    fireflyROC-RK3308B-CC--啟動(dòng)模式說明

    ROC-RK3308B-CC 有著非常靈活的啟動(dòng)方式。一般情況下,除非硬件損壞,ROC-RK3308B-CC 主板是不會(huì)變磚的。
    的頭像 發(fā)表于 12-20 09:20 ?3377次閱讀

    fireflyROC-RK3308B主板CC升級(jí)固件簡介

    本文介紹了如何將主機(jī)上的固件文件,通過 USB Type-C 線,燒寫到開發(fā)板的emmc閃存中。
    的頭像 發(fā)表于 12-20 09:29 ?2431次閱讀

    fireflyROC-RK3308B主板CC教程簡介

    確認(rèn)主板配件連接無誤后,通過 USB Type-C 線給 ROC-RK3308B-CC 供電。
    的頭像 發(fā)表于 12-20 09:32 ?2749次閱讀

    Core 3308Y固件ROC RK3308B CC PLUS Buildroot NoUI

    電子發(fā)燒友網(wǎng)站提供《Core 3308Y固件ROC RK3308B CC PLUS Buildroot NoUI.txt》資料免費(fèi)下載
    發(fā)表于 09-13 10:01 ?1次下載
    Core <b class='flag-5'>3308</b>Y<b class='flag-5'>固件</b>ROC <b class='flag-5'>RK3308B</b> <b class='flag-5'>CC</b> PLUS Buildroot NoUI

    Core 3308Y固件ROC RK3308B CC PLUS Buildroot MiniGUI

    電子發(fā)燒友網(wǎng)站提供《Core 3308Y固件ROC RK3308B CC PLUS Buildroot MiniGUI.txt》資料免費(fèi)下載
    發(fā)表于 09-13 10:00 ?3次下載
    Core <b class='flag-5'>3308</b>Y<b class='flag-5'>固件</b>ROC <b class='flag-5'>RK3308B</b> <b class='flag-5'>CC</b> PLUS Buildroot MiniGUI

    ROC RK3308B CC PLUS Buildroot QT Desktop固件

    電子發(fā)燒友網(wǎng)站提供《ROC RK3308B CC PLUS Buildroot QT Desktop固件.txt》資料免費(fèi)下載
    發(fā)表于 09-13 10:08 ?0次下載
    ROC <b class='flag-5'>RK3308B</b> <b class='flag-5'>CC</b> PLUS Buildroot QT Desktop<b class='flag-5'>固件</b>

    Core 3308Y ROC RK3308B CC PLUS Ubuntu Minimal固件

    電子發(fā)燒友網(wǎng)站提供《Core 3308Y ROC RK3308B CC PLUS Ubuntu Minimal固件.txt》資料免費(fèi)下載
    發(fā)表于 09-13 09:55 ?0次下載
    Core <b class='flag-5'>3308</b>Y ROC <b class='flag-5'>RK3308B</b> <b class='flag-5'>CC</b> PLUS Ubuntu Minimal<b class='flag-5'>固件</b>

    Core 3308Y固件ROC RK3308B CC PLUS Ubuntu Desktop固件

    電子發(fā)燒友網(wǎng)站提供《Core 3308Y固件ROC RK3308B CC PLUS Ubuntu Desktop固件.txt》資料免費(fèi)下載
    發(fā)表于 09-13 09:53 ?0次下載
    Core <b class='flag-5'>3308</b>Y<b class='flag-5'>固件</b>ROC <b class='flag-5'>RK3308B</b> <b class='flag-5'>CC</b> PLUS Ubuntu Desktop<b class='flag-5'>固件</b>

    Core 3308Y固件ROC RK3308B CC PLUS支持Docker固件

    電子發(fā)燒友網(wǎng)站提供《Core 3308Y固件ROC RK3308B CC PLUS支持Docker固件.txt》資料免費(fèi)下載
    發(fā)表于 09-13 09:52 ?10次下載
    Core <b class='flag-5'>3308</b>Y<b class='flag-5'>固件</b>ROC <b class='flag-5'>RK3308B</b> <b class='flag-5'>CC</b> PLUS支持Docker<b class='flag-5'>固件</b>

    Core 3308Y固件ROC RK3308B CC Buildroot NoUI固件

    電子發(fā)燒友網(wǎng)站提供《Core 3308Y固件ROC RK3308B CC Buildroot NoUI固件.txt》資料免費(fèi)下載
    發(fā)表于 09-13 09:51 ?0次下載
    Core <b class='flag-5'>3308</b>Y<b class='flag-5'>固件</b>ROC <b class='flag-5'>RK3308B</b> <b class='flag-5'>CC</b> Buildroot NoUI<b class='flag-5'>固件</b>

    ROC RK3308B CC Buildroot Qt Desktop固件

    電子發(fā)燒友網(wǎng)站提供《ROC RK3308B CC Buildroot Qt Desktop固件.txt》資料免費(fèi)下載
    發(fā)表于 09-13 09:49 ?0次下載
    ROC <b class='flag-5'>RK3308B</b> <b class='flag-5'>CC</b> Buildroot Qt Desktop<b class='flag-5'>固件</b>

    四核64位開源主板ROC RK3308B CC Plus規(guī)格書

    電子發(fā)燒友網(wǎng)站提供《四核64位開源主板ROC RK3308B CC Plus規(guī)格書.pdf》資料免費(fèi)下載
    發(fā)表于 09-13 09:33 ?0次下載
    四核64位開源<b class='flag-5'>主板</b>ROC <b class='flag-5'>RK3308B</b> <b class='flag-5'>CC</b> Plus規(guī)格書
    主站蜘蛛池模板: 久久国产乱子伦精品免费一 | 四虎成人精品在永久在线观看 | 亚洲一区欧美日韩 | 日本毛片在线观看 | 成人在线a | bt天堂资源在线官网bt | 在线 | 一区二区三区四区 | 九月丁香婷婷亚洲综合色 | 黄色网一级片 | 在线视频观看一区 | 成人免费淫片95视频观看网站 | 毛片色毛片18毛片美女 | 高清不卡毛片免费观看 | 国产亚洲3p无码一区二区 | 国产视频一二 | 男女免费视频 | 激情五月婷婷色 | 56pao强力打造 | 五月婷婷深爱五月 | 久久视频精品线视频在线网站 | 在线观看免费视频 | 亚洲精品卡1卡二卡3卡四卡 | 亚洲综合色一区二区三区小说 | 2021最新国产成人精品视频 | 热re66久久精品国产99热 | 99色综合 | 美女扒开尿口给男人看的让 | 天天草夜夜骑 | 四虎4444hu4影视最新地址 | 又色又污又爽又黄的网站 | 免费被视频网站在线观看 | 国产人人澡 | 天天干夜夜爽天天操夜夜爽视频 | 91成人免费 | 深夜视频在线 | 国产精品第一页在线观看 | 国产视频一二三 | 九九国产在线 | 亚洲一区在线免费观看 | 美女视频网站色软件免费视频 | 天堂最新资源在线 |