自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

鴻蒙HarmonyOS燒錄方法總結(jié)

開發(fā) OpenHarmony
理解 HarmonyOS 驅(qū)動框架,用戶態(tài) APP 和內(nèi)核態(tài)驅(qū)動之間的通信機制。

[[351136]]

想了解更多內(nèi)容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū) 

https://harmonyos.51cto.com/#zz

1 . 燒錄工具

理解 HarmonyOS 驅(qū)動框架,用戶態(tài) APP 和內(nèi)核態(tài)驅(qū)動之間的通信機制。

HarmonyOS 燒錄使用的海思自研的燒錄工具 Hitool ,使用起來相對來說比較簡單。整體界面如圖:


2. 燒錄內(nèi)容

這些文件分別是: OHOS_ Image.bin 復制文件,rootfs.img 和userfs.img 多個文件。燒錄內(nèi)容主要分為兩部分,一部分是引導文件 fastboot 燒錄,另一部分為項目文件燒錄。

3. 燒錄方法

本文以 sample_test demo 為例講解燒錄方法,開發(fā)板類型是 Hi 3516DV300。

燒錄的第一步是打開 Hitool 工具,選擇對應的芯片類型。如果你的開發(fā)板使用的是 Hi 3518ev300 的,請選擇對應的芯片。

3.1 串口燒錄

3.1.1 fastboot 燒錄

Hiburn 請按照以下進行設(shè)置:

① 我手上用的開發(fā)板是 Hi3516DV300 的,它的外掛 flash 是spi nor 類型的,你們自己的設(shè)置請根據(jù)實際情況確定。

② 本示例所用的外接設(shè)備,計算機識別成 COM1 ,你們做開發(fā)時請設(shè)置成相應的端口號。

③ 燒錄方式選擇 fastboot 。

 

Uboot 所在目錄(如果 uboot 不能正常啟動,請從其他地方尋找相對老一點的版本 uboot):


點擊開始燒錄,開發(fā)板電源拔掉并重新接上。

 燒寫成功后,打開終端,連接串口可以進入 hisilion 命令行。 

 

3.1.2 應用文件燒錄

3.1.2.1 Hitool 設(shè)置:

首先軟件的設(shè)置如下圖所示,請參考圖例正確設(shè)置:

 

這里面比較重要的就是開始地址和文件長度的確定,這個部分的規(guī)則如下:

① Uboot的占用了 1M 的存儲空間,所以O(shè)HOS _Image 。bin 的開始地址是 1M ,

② 文件大小不足 1M 的取值1M ,有時是本示例中OHOS _Image.bin 的大小是 5 656kb , Hiburn 中它的長度設(shè)置為 6M 。所以rootfs。img 燒錄的起始地址是 1M + 6M = 7M 。

③ 其余情況,以此類推。

本示例中,各文件長度如下圖所示:

 

3.1.2.2 主軸

開始燒錄前,首先先擴展打印信息的串口鏈接,把串口騰出來給燒錄器使用。 

 3.1.2.3 開始燒錄

點擊 “燒寫”,并給開發(fā)板重新上電,燒錄就開始了。16M 的文件,用串口 1 1500bps 的燒寫速度,是需要花費一段時間的,所以系統(tǒng)-及應用文件的燒錄一般不建議使用串口。

燒錄過程截圖:

 燒寫完成,耗時 2 8 分鐘。


3.2 網(wǎng)口燒錄

本示例網(wǎng)口燒錄,硬件設(shè)備使用的是 UGREEN 的usb 轉(zhuǎn)RJ45 網(wǎng)線接口,值得參考。

3.2.1 網(wǎng)口增加 IP 地址

首先為開發(fā)板互聯(lián)網(wǎng)口添加 IP 地址:1 92.168.1.3 ,增加方法如下: 


控制面板中找到與單板連接的網(wǎng)卡,右鍵打開屬性。

選擇 Internet 協(xié)議版本4 (TCP / IPv4 )。

按圖配置 IP 地址和網(wǎng)關(guān)。

點擊 “ 確定” 完成配置保存。

3.2.2 單板 IP 配置

單板與 PC 間連接串口后,將單板電,自動進入U-boot ,按鍵盤“ 回車” 鍵可在命令窗口輸入命令,為單板配置192.168.1.10 的IP 地址,并指定192.168。 1.3 的服務(wù)器IP 地址,命令如下。

setenv serverip 192.168.1.3

setenv ipaddr 192.168.1.10

保存環(huán)境

配置完成后使用pri 命令確認查看配置結(jié)果,如下圖所示。


檢查網(wǎng)絡(luò):在 PC 端使用ping 命令確定單板與PC 的網(wǎng)絡(luò),命令為“ ping 192.168.1.3” 。


3.2.3 主軸

開始燒錄前,首先先擴展打印信息的串口鏈接,把串口騰出來給燒錄器使用。


3.2.4 配置 Hitool 并燒錄

Hitool 配置如下,請參考。


配置完成后,點擊燒錄。燒錄成功截圖 

3.2.5 網(wǎng)口燒錄的命令分析

網(wǎng)口燒錄的命令刪除去中間的細節(jié)輸出,整理如下所示:

開始下載過程。

啟動成功啟動!

發(fā)送命令:getinfo版本

版本:U-Boot 2016.11

[EOT](確定)

發(fā)送命令:sf probe 0 / / 選擇spi flash 0

[EOT](確定)

發(fā)送命令:getinfo spi

塊:64KB芯片:16MB * 1

ID:0xC2 0x20 0x18

名稱:“ MX25L128XX”

[EOT](確定)

等待phy準備就緒,將需要8秒鐘。

發(fā)送命令:setenv serverip 192.168.1.3

[EOT](確定)

發(fā)送命令:setenv ethaddr 00:8c:55:07:b0:88

[EOT](確定)

發(fā)送命令:setenv ipaddr 192.168.1.10

[EOT](確定)

發(fā)送命令:setenv網(wǎng)絡(luò)掩碼255.255.255.0

[EOT](確定)

發(fā)送命令:setenv gatewayip 192.168.1.1

[EOT](確定)

Tftp服務(wù)器下載主頁切換到<\\ 10.175.126.15 \ zhuanjia \ zfdz \ camera0825 \ out \ ipcamera_hi3516dv300_liteos_a>

發(fā)送命令:mw.b 0x81000000 0xFF的0x590000 // 把內(nèi)存中從 0X 8100 開始的 0X 590000 個字節(jié)全部置 1

[EOT](確定)

發(fā)送命令:tftp 0x81000000 OHOS_Image.bin // 把OHOS_Image.bin 文檔加載到內(nèi)存中去,起始地址為 0x 81000000。

海思ETH網(wǎng)絡(luò)控制器

eth0:PHY狀態(tài)更改:LINK = UP:DUPLEX = FULL:SPEED = 100M

使用eth0設(shè)備

來自服務(wù)器192.168.1.3的TFTP; 我們的IP地址是192.168.1.10

文件名“ OHOS_Image.bin”。

加載地址:0x81000000

傳輸?shù)淖止?jié)數(shù)= 5791744(586000 hex)

[EOT](確定)

發(fā)送命令:crc32 81000000 586000

crc32 for 81000000 ... 81585fff ==> 78b90ed7

[EOT](確定)

發(fā)送命令:sf probe 0 / / 選擇spi flash 0

[EOT](確定)

發(fā)送命令:sf擦除0x100000 0x600000 // 把閃存存儲中從 0x 100000 開始的6M 字節(jié)的存儲空間清零。

發(fā)送命令:SF寫0x81000000的0x100000 0x590000 // 把內(nèi)存中從 0X 8100 開始的 0X 590000 字節(jié)的內(nèi)容復制到閃存中,閃存中存儲的起始地址是 0X 100000

設(shè)備0偏移量0x100000,大小為0x590000

發(fā)送命令:mw.b 0x81000000 0xFF的0x780000 // 把內(nèi)存中從 0X 8100 開始的0x780000 個字節(jié)全部置 1

[EOT](確定)

發(fā)送命令:tftp 0x81000000 rootfs.img // 加載rootfs.img 到內(nèi)存中去,存儲單位的起始地址是 0x81000000

海思ETH網(wǎng)絡(luò)控制器

eth0:PHY狀態(tài)更改:LINK = UP:DUPLEX = FULL:SPEED = 100M

使用eth0設(shè)備

來自服務(wù)器192.168.1.3的TFTP; 我們的IP地址是192.168.1.10

文件名“ rootfs.img”。

發(fā)送命令:crc32 81000000 772314

crc32為81000000 ... 81772313 ==> ba26d341

[EOT](確定)

發(fā)送命令:sf probe 0 // 選擇spi flash 0

[EOT](確定)

發(fā)送命令:sf擦除0x700000 0x800000 // 把閃存存儲中從 0x 700000 開始的8M 字節(jié)的存儲空間清零。

發(fā)送命令:SF寫0x81000000 0x700000 0x780000 // 把內(nèi)存中從 0X 8100 開始的0x780000 字節(jié)的內(nèi)容復制到閃存中,閃存中存儲的起始地址是0x700000

設(shè)備0偏移量0x700000,大小為0x780000

發(fā)送命令:mw.b 0x81000000 0xFF 0x10000 // 把內(nèi)存中從 0x 81000000 開始的0x10000 個字節(jié)全部置 1

[EOT](確定)

發(fā)送命令:tftp 0x81000000 userfs.img // 加載userfs.img 到內(nèi)存中去,存儲單位的起始地址是 0x81000000

海思ETH網(wǎng)絡(luò)控制器

eth0:PHY狀態(tài)更改:LINK = UP:DUPLEX = FULL:SPEED = 100M

使用eth0設(shè)備

來自服務(wù)器192.168.1.3的TFTP; 我們的IP地址是192.168.1.10

文件名“ userfs.img”。

加載地址:0x81000000

載入中:* ##

0字節(jié)/秒

做完了

傳輸?shù)淖止?jié)數(shù)= 3020(密件抄送十六進制)

[EOT](確定)

發(fā)送命令:crc32 81000000 bcc

crc32為81000000 ... 81000bcb ==> 0361fc92

[EOT](確定)

發(fā)送命令:sf probe 0 / / 選擇spi flash 0

[EOT](確定)

發(fā)送命令:sf擦除0xf00000 0x100000 // 把閃存存儲中從 0x F00000 開始的1M 字節(jié)的存儲空間清零。

發(fā)送命令:sf write 0x81000000 0xf00000 0x10000 // 把內(nèi)存中從 0x 81000000 開始的0x10000 字節(jié)的內(nèi)容復制到flash 中, flash 中存儲的起始地址是0xf00000

設(shè)備0偏移量0xf00000,大小為0x10000

以0xf10000進行寫入-100%完成。

SF:65536字節(jié)@ 0xf00000書面:OK

[EOT](確定)

分區(qū)成功燒毀!

發(fā)送命令:重置

重置成功!

分區(qū)燒毀完成!

串行通道已成功關(guān)閉。

3.3 USB 燒錄

硬件使用的雙母口 USB 線。

3.3.1 Hitool 工具配置

文件目錄中只要包含 OHOS_Image.bin,rootfs.img,userfs.img 三個文件即可,不限定位置。

燒寫方式一定要選擇 DDR 燒寫。

3.3.2 燒錄步驟:

3.3.2.1 燒錄 OHOS_Image.bin 文件

在串口終端中輸入以下命令,每條命令的具體含義請參考網(wǎng)口燒錄相關(guān)部分的描述:

mw.b 0x80000000 0xff 0x600000; // 0x600000 就是OHOS_Image.bin 所占的空間(取整)

usbtftp 0x80000000 OHOS_Image.bin;

sf探針0; sf擦除0x100000 0x600000; sf寫入0x80000000 0x100000 0x600000; / / 起始地址為 0X 100000

如果是 Hi3518ev300 的板子,請把命令中的 0x80000000 改成0x40000000 。 

 

3.3.2.2 燒錄 rootfs 。img 文件

在串口終端中輸入以下命令,每條命令的具體含義請參考網(wǎng)口燒錄相關(guān)部分的描述:

mw.b 0x80000000 0xff 0x800000; // 0x800000 就是 rootfs .img 所占的空間(取整)

usbtftp 0x80000000 rootfs.img;

sf探針0; sf擦除0x700000 0x800000; sf寫入0x80000000 0x700000 0x800000; / / 起始地址為 0X 100000 + 0x600000 = 0X 7 00000

如果是 Hi3518ev300 的板子,請把命令中的 0x80000000 改成0x40000000 。

 

3.3.2.3 燒錄 userfs.img 文件

在串口終端中輸入以下命令,每條命令的具體含義請參考網(wǎng)口燒錄相關(guān)部分的描述:

mw.b 0x80000000 0xff 0x100000; // 0x100000 就是userfs.img 所占的空間(取整)

usbtftp 0x80000000 userfs.img;

sf探針0; sf擦除0xf00000 0x100000; sf寫入0x80000000 0xf00000 0x100000; / / 起始地址為 0X 100000 + 0x600000 + 的0x800000 = 0xf00000

如果是 Hi3518ev300 的板子,請把命令中的 0x80000000 改成0x40000000 。

 3.3.2.4 燒錄過程中控制臺信息:


4. 開源板 emmc 燒錄

燒錄的時候,選擇 eMMC 方式。我們這里選擇通過網(wǎng)口燒錄 eMMC ,網(wǎng)口的配置參考上文。


燒錄完成之后, uboot 的啟動命令還有所不同,在 eMMC 中,存儲以 5 12B 為單位的,如果我們的文件(通常是 OHOS _Image.bin )大小為 6M (1 0 位數(shù)),我們需要把它轉(zhuǎn)換成 1 6 二進制,具體轉(zhuǎn)換的公式如下:

1 0 二進制中文件總大小: 6 * 1024 * 1024 字節(jié)= 6291456Byte ,那么總共是多少個 5 12KB 的塊呢?我們用 6 291456/512 = 12288 個塊(十進制),再把十進制中的 1 2288 塊個轉(zhuǎn)換分類中翻譯 1 6 進制,得 0X 3000 。那么也就是說一共有 0x3000處個5 12Byte 的塊。

“; setenv bootcmd” SF探針0; MMC讀取0x0 0x80000000 0x800 0x3000;“;

setenv bootargs“控制臺= ttyAMA0,115200n8 root = emmc fstype = vfat rootaddr = 7M rootsize = 15M rw”; saveenv;

5. 不同燒錄方法之間的比較

Usb 燒錄方式和網(wǎng)口燒錄方式想象,不同之處比較如下:

 網(wǎng)口燒錄和 USB 燒錄的速度基本是相同的,大約在串口燒錄就太慢了,所以正常情況下不推薦串口燒錄。

綜上比較,只從效率的角度看,燒錄器的選擇優(yōu)先級為:

網(wǎng)口燒錄 > USB 燒錄 > 串口燒錄

6. 其他問題

我們現(xiàn)在用的開發(fā)板 Flash 只有 1 6M ,如果程序過大,則無法進行燒錄。所以做項目的時候,外掛的 flash 會大一些,留有足夠的預備空間。

課程鏈接:HarmonyOS南向驅(qū)動調(diào)試(gpio以及wifi)及燒錄方法總結(jié)

想了解更多內(nèi)容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com/#zz

 

責任編輯:jianghua 來源: 鴻蒙社區(qū)
相關(guān)推薦

2021-06-25 09:28:46

鴻蒙HarmonyOS應用

2021-05-25 14:47:43

鴻蒙HarmonyOS應用

2021-06-25 15:04:31

鴻蒙HarmonyOS應用

2020-11-06 10:15:16

HiBurn

2021-01-14 09:50:26

鴻蒙HarmonyOSAPP

2020-12-03 12:06:54

HarmonyOS

2021-07-05 14:29:28

鴻蒙HarmonyOS應用

2020-12-08 12:59:42

編譯燒錄 for Mac

2009-12-28 15:08:12

WPF字體

2012-09-11 15:43:32

HBase

2013-06-17 09:48:02

2009-12-17 11:27:31

Ruby時間方法

2021-02-21 09:48:19

鴻蒙HarmonyOS應用開發(fā)

2022-08-19 19:02:20

開源鴻蒙操作系統(tǒng)

2022-01-25 16:54:14

BLE操作系統(tǒng)鴻蒙

2020-10-19 10:31:44

HiSpark Wi-燒錄固件

2024-04-09 09:34:36

鴻蒙系統(tǒng)燒錄操作系統(tǒng)

2020-10-14 09:37:03

HiBurn鴻蒙.bin文件

2020-11-11 11:56:05

HarmonyOS

2021-02-06 13:28:21

鴻蒙HarmonyOS應用開發(fā)
點贊
收藏

51CTO技術(shù)棧公眾號