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

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

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

Firefly-RK3128主板升級固件介紹

firefly ? 來源:firefly ? 作者:firefly ? 2019-11-29 09:35 ? 次閱讀
升級固件
前言

本文介紹了如何將主機上的固件文件,通過雙公頭USB數(shù)據(jù)線,燒錄到開發(fā)板的閃存中。 升級時,需要根據(jù)主機操作系統(tǒng)和固件類型來選擇合適的升級方式。

準備工作
  • Firefly-RK3128 開發(fā)板
  • 固件
  • 主機
  • 良好的 Micro USB OTG 線

固件文件一般有兩種:

  • 單個統(tǒng)一固件 update.img, 將啟動加載器、參數(shù)和所有分區(qū)鏡像都打包到一起,用于固件發(fā)布。
  • 多個分區(qū)鏡像,如 kernel.img, boot.img, recovery.img 等,在開發(fā)階段生成。

這里可以找到已編譯好的統(tǒng)一固件,下載后解壓。也可以參考編譯固件的說明自行編譯。 主機操作系統(tǒng)支持:

  • Windows XP (32/64位)
  • Windows 7 (32/64位)
  • Windows 8 (32/64位)
  • Linux (32/64位)
Windows

之前燒寫 RK 的固件,需要用到以下兩種工具:

  • 量產(chǎn)工具 RKBatchTool,用于燒寫統(tǒng)一固件(update.img)
  • 開發(fā)者工具 RKDevelopTool,可單獨燒寫分區(qū)固件

后來 RK 發(fā)布了 AndroidTool 工具,在 RKDevelopTool 的基礎(chǔ)上增加了統(tǒng)一固件(update.img)的燒寫支持,因此現(xiàn)在僅需要這個工具即可。

使用燒寫工具前需要安裝 RK USB 驅(qū)動。如果驅(qū)動已經(jīng)安裝好,可以跳過這步。

安裝 RK USB 驅(qū)動

下載 Release_DriverAssistant.zip ,解壓,然后運行里面的 DriverInstall.exe 。為了所有設(shè)備都使用更新的驅(qū)動,請先選擇”驅(qū)動卸載”,然后再選擇”驅(qū)動安裝”。

連接設(shè)備

有兩種方法可以使設(shè)備進入升級模式。

  • 一種方法是設(shè)備先斷開電源適配器和 Micro USB OTG 線的連接:
    • Micro USB OTG 的一端連接主機。
    • 按住設(shè)備上的 RECOVERY (恢復)鍵并保持。
    • Micro USB OTG 的另一端連接設(shè)備。
    • 大約兩秒鐘后,松開 RECOVERY 鍵。
  • 另一種方法,無需斷開電源適配器和 Micro USB OTG 線的連接:
    • 用 Micro USB OTG 線連接好設(shè)備和主機。
    • 按住設(shè)備上的 RECOVERY (恢復)鍵并保持。
    • 短按一下 RESET(復位)鍵。
    • 大約兩秒鐘后,松開 RECOVERY 鍵。

RCOVERY按鍵和RESET按鍵和OTG接口如圖所示:

主機應(yīng)該會提示發(fā)現(xiàn)新硬件并配置驅(qū)動。打開設(shè)備管理器,會見到新設(shè)備”Rockusb Device” 出現(xiàn),如下圖。如果沒有,則需要返回上一步重新安裝驅(qū)動。

燒寫固件

下載 AndroidTool,解壓,運行 AndroidTool_Release_v2.33 目錄里面的 AndroidTool.exe(注意,如果是 Windows 7/8,需要按鼠標右鍵,選擇以管理員身份運行),如下圖:

燒寫統(tǒng)一固件 update.img

燒寫統(tǒng)一固件 update.img 的步驟如下:

  • 切換至”升級固件”頁。
  • 按”固件”按鈕,打開要升級的固件文件。升級工具會顯示詳細的固件信息。
  • 按”升級”按鈕開始升級。
  • 如果升級失敗,可以嘗試先按”擦除Flash”按鈕來擦除 Flash,然后再升級。

注意:如果你燒寫的固件laoder版本與原來的機器的不一致,請在升級固件前先執(zhí)行”擦除Flash”。

燒寫分區(qū)映像

燒寫分區(qū)映像的步驟如下:

  • 切換至”下載鏡像”頁。
  • 勾選需要燒錄的分區(qū),可以多選。
  • 確保映像文件的路徑正確,需要的話,點路徑右邊的空白表格單元格來重新選擇。
  • 點擊”執(zhí)行”按鈕開始升級,升級結(jié)束后設(shè)備會自動重啟。

Linux

RK 提供了一個 Linux 下的命令行工具 upgrade_tool,支持統(tǒng)一固件 update.img 和分區(qū)鏡像的燒寫。

開源工具則有兩個選擇:

  • rkflashtool https://github.com/Galland/rkflashtool_rk3066
  • rkflashkit https://github.com/linuxerwang/rkflashkit

它們都僅支持分區(qū)映像燒寫,不支持統(tǒng)一固件。rkflashtool 是命令行工具,rkflashkit 有圖形界面,后加了命令行支持,更是好用。以下僅對 rkflashkit 做介紹。

Linux 下無須安裝設(shè)備驅(qū)動,參照 Windows 章節(jié)連接設(shè)備則可。

upgrade_tool

下載 Linux_Upgrade_Tool, 并按以下方法安裝到系統(tǒng)中,方便調(diào)用:

unzip Linux_Upgrade_Tool_v1.24.zip cd Linux_UpgradeTool_v1.24 sudo mv upgrade_tool /usr/local/bin sudo chown root:root /usr/local/bin/upgrade_tool

燒寫統(tǒng)一固件 update.img:

sudo upgrade_tool uf update.img

燒寫分區(qū)鏡像:

sudo upgrade_tool di -b /path/to/boot.img sudo upgrade_tool di -k /path/to/kernel.img sudo upgrade_tool di -s /path/to/system.img sudo upgrade_tool di -r /path/to/recovery.img sudo upgrade_tool di -m /path/to/misc.img sudo upgrade_tool di resource /path/to/resource.img sudo upgrade_tool di -p paramater #燒寫 parameter sudo upgrade_tool ul bootloader.bin # 燒寫 bootloader

如果因 flash 問題導致升級時出錯,可以嘗試低級格式化、擦除 nand flash:

sudo upgrade_tool lf # 低級格式化 sudo upgrade_tool ef # 擦除

rkflashkit

安裝:

sudo apt-get install build-essential fakeroot git clone https://github.com/linuxerwang/rkflashkit cd rkflashkit ./waf debian sudo apt-get install python-gtk2 sudo dpkg -i rkflashkit_0.1.4_all.deb
  • 圖形界面:
sudo rkflashkit

  • 命令行:
$ rkflashkit --help Usage: [args] [ [args]...] part List partition flash @ Flash partition with image file cmp @ Compare partition with image file backup @ Backup partition to image file erase @ Erase partition reboot Reboot device For example, flash device with boot.img and kernel.img, then reboot: sudo rkflashkit flash @boot boot.img @kernel.img kernel.img reboot

幫助信息里有使用示例,可以看出,一條命令就可以燒寫多個映像文件并重啟設(shè)備,對需要經(jīng)常編譯和燒寫內(nèi)核的開發(fā)者來說,是一大福音。

常見問題
如何強行進入 MaskRom 模式

如果板子進入不了 Loader 模式,SD 卡啟動也失效,此時可以嘗試強行進入 MaskRom 模式。


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

    關(guān)注

    7

    文章

    6083

    瀏覽量

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

    關(guān)注

    5

    文章

    2113

    瀏覽量

    56891
  • Firefly
    +關(guān)注

    關(guān)注

    2

    文章

    538

    瀏覽量

    6946
收藏 人收藏

    評論

    相關(guān)推薦

    Firefly-RK3128開發(fā)板上手教程(上)

    1、Firefly-RK3128開發(fā)板入手指南配件Firefly-RK3128 的標準套裝包含以下配件:Core-3128J 核心板一塊Firefly-RK3128 基板一塊WiFi
    發(fā)表于 08-12 17:32

    Firefly-RK3128開發(fā)板上手教程(下)

    1、如何將主機上的固件文件通過雙公頭USB數(shù)據(jù)線燒錄到開發(fā)板的閃存中準備工作Firefly-RK3128 開發(fā)板固件主機良好的 Micro USB OTG 線固件文件一般有兩種:單個統(tǒng)
    發(fā)表于 08-12 17:51

    Firefly-RK3128 MIPI DSI使用步驟說明

    screen-type屬性:顯示屏類型,Firefly-RK3128只支持單通道MIPI屏,配置成SCREEN_MIPI即可。lvds-format屬性:無關(guān)選項。out-face屬性:配置顏色,可為OUT_P888
    發(fā)表于 08-22 17:12

    firefly RK3128開發(fā)板介紹

    Firefly-RK3128 采用Cortex-A7架構(gòu)四核1.3GHz處理器,集成Mali-400MP2 GPU, 擁有優(yōu)秀的運算與圖形處理能力;板載千兆以太網(wǎng)口、2.4GHz Wi-Fi和藍牙4.0
    的頭像 發(fā)表于 11-14 11:27 ?4388次閱讀
    <b class='flag-5'>firefly</b> <b class='flag-5'>RK3128</b>開發(fā)板<b class='flag-5'>介紹</b>

    Firefly-RK3128開發(fā)板UART接口介紹

    refly-RK3128 開發(fā)板內(nèi)置 3 路 UART,分別為 uart0,uart1,uart2。uart0 用于藍牙數(shù)據(jù)傳輸,如果要使用 uart0,必須關(guān)掉藍牙,才可以使用擴展槽上的 UART0 針腳。
    的頭像 發(fā)表于 11-28 16:36 ?3227次閱讀
    <b class='flag-5'>Firefly-RK3128</b>開發(fā)板UART接口<b class='flag-5'>介紹</b>

    Firefly-RK3128主板PWM輸出介紹

    Firefly-RK3128 開發(fā)板上有 4 路 PWM 輸出,分別為 PWM0 ~ PWM3
    的頭像 發(fā)表于 11-28 16:56 ?2276次閱讀
    <b class='flag-5'>Firefly-RK3128</b><b class='flag-5'>主板</b>PWM輸出<b class='flag-5'>介紹</b>

    Firefly-RK3128主板LED子系統(tǒng)介紹

    Firefly-RK3128 開發(fā)板上有 2 個 LED 燈
    的頭像 發(fā)表于 11-28 17:01 ?2672次閱讀
    <b class='flag-5'>Firefly-RK3128</b><b class='flag-5'>主板</b>LED子系統(tǒng)<b class='flag-5'>介紹</b>

    Firefly-RK3128主板I2C控制器

    Firefly-RK3128 開發(fā)板上有 4 個片上 I2C 控制器。本文主要描述如何在該開發(fā)板上配置 I2C。
    的頭像 發(fā)表于 11-29 08:47 ?1395次閱讀
    <b class='flag-5'>Firefly-RK3128</b><b class='flag-5'>主板</b>I2C控制器

    Firefly-RK3128開發(fā)板攝像頭的介紹

    Firefly-RK3128 開發(fā)板上有 CIF 接口,支持 CIF 攝像頭。
    的頭像 發(fā)表于 11-28 16:48 ?3654次閱讀
    <b class='flag-5'>Firefly-RK3128</b>開發(fā)板攝像頭的<b class='flag-5'>介紹</b>

    Firefly-RK3128主板ADC簡介

    Firefly-RK3128 開發(fā)板有一個 3 通道(0/1/2)、10 比特精度的 SAR ADC (Successive Approximation Register,逐次逼近寄存器),
    的頭像 發(fā)表于 11-28 17:17 ?3431次閱讀
    <b class='flag-5'>Firefly-RK3128</b><b class='flag-5'>主板</b>ADC簡介

    Firefly-RK3128主板接口定義介紹

    Firefly-RK3128 開發(fā)板提供了豐富的接口,主要包括:HDMI、音頻數(shù)字光纖、以太網(wǎng)、電源接口、復位按鍵、電源鍵、音頻輸入輸出、硅麥、串口調(diào)試接口、紅外接收、OTG接口、TF卡槽、USB Host1~4、
    的頭像 發(fā)表于 11-29 08:45 ?3360次閱讀
    <b class='flag-5'>Firefly-RK3128</b><b class='flag-5'>主板</b>接口定義<b class='flag-5'>介紹</b>

    FireflyRK3128主板外殼介紹

    外殼 Firefly-RK3128 CAD圖 核心板 底板 Firefly-RK3128 外殼亞克力CAD圖
    的頭像 發(fā)表于 11-29 09:19 ?1171次閱讀
    FireflyRK<b class='flag-5'>3128</b><b class='flag-5'>主板</b>外殼<b class='flag-5'>介紹</b>

    Firefly-RK3128主板定制固件介紹

    定制 Android 固件,有兩種方法: 改源碼,然后編譯生成固件。 在現(xiàn)有固件的基礎(chǔ)上進行裁剪。
    的頭像 發(fā)表于 11-29 09:11 ?3687次閱讀

    Firefly-RK3128主板啟動模式簡介

    Firefly-RK3128 有靈活的啟動方式。
    的頭像 發(fā)表于 11-29 09:27 ?5068次閱讀

    Firefly-RK3128主板串口調(diào)試

    Firefly-RK3128 開發(fā)板的調(diào)試串口與 TF 卡接口有信號引腳復用,因此無法同時使用
    的頭像 發(fā)表于 11-29 09:47 ?3405次閱讀
    <b class='flag-5'>Firefly-RK3128</b><b class='flag-5'>主板</b>串口調(diào)試