Hi3516開發(fā)板USB口燒錄方法總結(jié)
51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)
前文《Hi3516開發(fā)板燒錄總結(jié)》提到:
- 3. USB燒錄還沒成功
- 官網(wǎng)上說只需要連接USB線(包含了供電)和串口線即可,按照官方文檔操作,中間需要給平臺“重啟開發(fā)板(下電再上電)”,這總不能拔掉USB線再插上吧,開發(fā)板串口線座子邊上倒是有一個(gè)SW3按鍵(原理圖上是UPDATE_MODE),但目前實(shí)際按下去是沒有反應(yīng)的,估計(jì)是還需要先做一些配置。
這幾天燒錄標(biāo)準(zhǔn)系統(tǒng),速度實(shí)在是太慢了,完整燒錄一次需要8分鐘以上~~所以想嘗試一下USB燒錄。
向華為官方咨詢了一下,上面說到的需要給平臺“重啟開發(fā)板(下電再上電)”的操作,原來就是拔插一下USB數(shù)據(jù)線,簡單粗暴有效,我居然一開始就想當(dāng)然地把這個(gè)操作否定掉了,實(shí)在是不應(yīng)該!
我嘗試了一下各種燒錄方法,結(jié)果如下表:

下面就對上表紅框內(nèi)的兩種燒錄方法做個(gè)對比:

首先需要在Windows主機(jī)安裝好USB燒錄的驅(qū)動(dòng)程序“HiUSBBurnDriver”,以及USB轉(zhuǎn)串口的驅(qū)動(dòng)程序。(請按官方指導(dǎo)文檔去下載和安裝)
USB口燒錄,只需要連接兩根線:USB線數(shù)據(jù)線(包含了供電)連接開發(fā)板背后的USB口和主機(jī)USB口;USB轉(zhuǎn)串口線連接開發(fā)板串口到主機(jī)另一個(gè)USB口。
USB轉(zhuǎn)串口線,默認(rèn)是直接接到windows主機(jī)上的,需要切換連接到Linux虛擬機(jī)里去,如下圖,選擇“連接(與主機(jī)斷開連接)”,這時(shí)候windows的串口設(shè)備就會切換到Linux虛擬機(jī)里的USB0。

Linux虛擬機(jī)里,在DevEco 打開 Hi3516工程的配置頁面,點(diǎn)擊“hi3516dv300”標(biāo)簽,找到“Upload Options”,“upload_port”設(shè)置為“/dev/tty/USB0”,“upload_protocol”設(shè)置為“hiburn-usb”,“upload_partitions”默認(rèn)的四個(gè)可燒錄的分區(qū)都列出來了,保持默認(rèn)配置(跟華為官方確認(rèn)了,USB燒錄方法必須要擦除fastboot,然后一次性燒錄4個(gè)分區(qū)),所以這里的“upload_partitions”不要改動(dòng)。“Partition Configuration”里面的四個(gè)燒錄分區(qū)的相關(guān)信息,也保持默認(rèn)配置即可,點(diǎn)擊“Save”保存配置。


在DevEco的“Project Tasks”界面展開“hi3516dv300”,再展開“hi3516dv300_fastboot”,點(diǎn)擊“Erase”,開始擦除fastboot,這一步是必須要做的。

右下角的終端界面會提示:
- SerialPort has been connented, Please power off, then power on the device.
- If it doesn't work, please try to repower on.
這時(shí)候就需要手動(dòng)拔插一次USB數(shù)據(jù)線(注意不是USB轉(zhuǎn)串口線),這就是“power off”再“power on”開發(fā)板了。
開發(fā)板重新上電,擦除fastboot分區(qū)成功,會有下圖的log,同時(shí)會有一個(gè)新的“Huawei USB Serial”設(shè)備嘗試連接進(jìn)來,選擇將其連接進(jìn)虛擬機(jī)里。

確定后,再點(diǎn)擊“Project Tasks”界面上的“Upload”按鍵,這時(shí)候平臺會自動(dòng)重啟,
- Open USB Success
- ################################################# ---- 10%
- ########## .....
- ################################################# ---- 100%
- Boot download completed!
- Open USB Success
- start download process.
- Boot started successfully!
接下來是自動(dòng)執(zhí)行一組“Send command:”開始燒錄,20s左右就完成燒錄了,速度可比網(wǎng)口燒錄快多了!

燒錄完成后,平臺自動(dòng)重啟,會停留在
- Hit any key to stop autoboot: 0
- ## Error: "distro_bootcmd" not defined
- hisilicon #
這一步,這是因?yàn)闊浟薴astboot分區(qū)的緣故。
這里,需要你重新寫入引導(dǎo)內(nèi)核啟動(dòng)的指令和參數(shù),可以直接點(diǎn)擊“hi3516dv300”中的“Configure bootloader(Boot OS)”按鈕,根據(jù)終端的提示,重新拔插一下USB數(shù)據(jù)線,就可以自動(dòng)執(zhí)行命令配置fastboot的指令和參數(shù),并且自動(dòng)重啟了。

也可以在你清楚地知道自己在做什么的前提下,在終端手動(dòng)寫入下面四條指令完成同樣的工作:
- setenv bootcmd "mmc read 0x0 0x80000000 0x800 0x4800; go 0x80000000";
- setenv bootargs "console=ttyAMA0,115200n8 root=emmc fstype=vfat rootaddr=10M rootsize=20M rw";
- saveenv
- reset
前兩條指令的參數(shù)一定要與上面“Partition Configuration”配置的參數(shù)匹配,否則會出現(xiàn)無法正確引導(dǎo)內(nèi)核啟動(dòng)的異常。
系統(tǒng)自動(dòng)重啟,就大功告成了。
51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)