|
鴻蒙OS源碼結(jié)構(gòu)及編譯燒寫(二),
USB
燒寫方式
步驟 1 安裝USB驅(qū)動(dòng)。 請參考發(fā)布包中上海海思U-boot配置文檔《HiBurn 工具使用指南》,安裝USB驅(qū)動(dòng),文檔存放于ReleaseDoc目錄內(nèi)。 USB驅(qū)動(dòng)安裝成功圖
15.png (8.06 KB, 下載次數(shù): 0)
下載附件 保存到相冊
26 分鐘前 上傳
步驟 2 確認(rèn)Hi3518EV300單板內(nèi)含有USB下載功能的U-boot版本,若不支持,請將上海海思提供的最新U-boot文件燒入板中。 在U-boot界面輸入“
help“命令并回車,查看結(jié)果中是否存在usbtftp命令。 確認(rèn)U-boot支持USB下載
16.png (11.28 KB, 下載次數(shù): 0)
下載附件 保存到相冊
25 分鐘前 上傳
步驟 3 按標(biāo)號,確認(rèn)如下內(nèi)容。 USB口燒寫配置圖
17.png (42.35 KB, 下載次數(shù): 0)
下載附件 保存到相冊
半小時(shí)前 上傳 1. 選擇芯片標(biāo)號為“Hi3518EV300”。 2. 選擇“DDR燒寫“。 3. 傳輸方式選擇“USB口“ 4. 選擇需要燒寫的文件路徑(路徑包含harmony_Image.bin和rootfs.img文件)。 5. 點(diǎn)擊“啟動(dòng)燒寫”。
步驟 4 啟動(dòng)燒寫后,彈出界面,等待單板側(cè)燒入。燒寫開始圖
18.png (18.28 KB, 下載次數(shù): 0)
下載附件 保存到相冊
半小時(shí)前 上傳
步驟 5 單板側(cè)輸入命令燒寫harmony_Image.bin及rootfs.img文件,文件大小參數(shù)請參考“串口燒寫”步驟2。 USB口燒寫命令
執(zhí)行命令 | sf probe 0; mw.b 40000000 ff a00000; usbtftp 40000000 rootfs.img; sf erase 600000 a00000; sf write 40000000 600000 a00000; mw.b 40000000 ff 500000;usbtftp 0x40000000 harmony_Image.bin; sf erase 100000 500000; sf write 40000000 100000 500000; | 命令解釋 | 命令原理,使用USB口將文件讀取到內(nèi)存,再從內(nèi)存中讀取寫入FLASH中。sf probe 0;表示選擇FLASH器件0。 寫入rootf.img 文件,mw.b 40000000 ff a00000,清空0x40000000開始,大小為0xa00000字節(jié)的空間。usbtftp 40000000 rootfs.img 將rootfs.img文件寫入0x40000000的內(nèi)存地址。sf erase 600000 a00000; sf write 40000000 600000 a00000; 擦除0x600000開始的大小為0xa00000字節(jié)的FLASH空間,并將內(nèi)存中起始地址為0x40000000,大小為0xa00000字節(jié)的數(shù)據(jù)復(fù)制到0x600000起始地址,大小為0xa00000字節(jié)的FLASH空間上。 寫入harmony_Image.bin 文件,mw.b 40000000 ff 500000,清空0x40000000開始,大小為0x500000字節(jié)的空間。usbtftp 40000000 harmony_Image.bin 將rootfs.img文件寫入0x40000000的內(nèi)存地址。sf erase 100000 500000; sf write 40000000 100000 500000; 擦除0x100000開始的大小為0x500000字節(jié)的FLASH空間,并將內(nèi)存中起始地址為0x40000000,大小為0x500000字節(jié)的數(shù)據(jù)復(fù)制到0x100000起始地址,大小為0x500000字節(jié)的FLASH空間上。 |
步驟 6 燒寫成功后顯示
Written:OK。 ----結(jié)束
鏡像運(yùn)行
步驟 1 連接串口:前步驟燒入成功后使用串口工具IPOP連接單板串口,輸入回車,串口將顯示
“hisilicon #“字樣。
步驟 2 修改U-boot的bootcmd及bootargs內(nèi)容:該步驟為固化操作,可保存執(zhí)行結(jié)果,若U-boot重新燒入,則需要再次執(zhí)行。 表8-2 U-boot修改參數(shù)解釋
執(zhí)行命令 | setenv bootcmd “sf probe 0;sf read 0x40000000 0x100000 0x500000;“; setenv bootargs “console=ttyAMA0,115200n8 root=flash fstype=jffs2 rw rootaddr=6M rootsize=10M“,go 0x40000000;; saveenv;
| 命令解釋 | setenv bootcmd “sf probe 0;sf read 0x40000000 0x100000 0x500000;“表示選擇FLASH器件0,讀取FLASH起始地址為0x100000,大小為0x500000的內(nèi)容到0x40000000的內(nèi)存地址。 setenv bootargs “console=ttyAMA0,115200n8 root=flash fstype=jffs2 rw rootaddr=6M rootsize=10M“; 表示設(shè)置bootargs為串口輸出,rootfs掛載在FLASH上,文件系統(tǒng)類型為jffs2 rw,以支持可讀寫JFFS2文件系統(tǒng)。 “rootaddr=6M rootsize=10M ”處對應(yīng)填入實(shí)際rootfs.img的燒寫起始位置與長度,此處應(yīng)與HiTool新增文件時(shí)所填大小相同。 [ 可選] “go 0x40000000 ”默認(rèn)配置已將指令固化在啟動(dòng)參數(shù)中,單板復(fù)位后可自動(dòng)啟動(dòng)。若想切換為手動(dòng)啟動(dòng),可在U-boot啟動(dòng)倒數(shù)階段使用“回車“打斷自動(dòng)啟動(dòng)。 saveenv;表示保存當(dāng)前配置。 |
步驟 3 若步驟2中使用回車打斷自啟動(dòng),需在U-boot的命令行中,輸入
“
go 0x40000000
”指令,啟動(dòng)內(nèi)核進(jìn)程,啟動(dòng)成功如下圖。 系統(tǒng)啟動(dòng)圖
19.png (27.67 KB, 下載次數(shù): 0)
下載附件 保存到相冊
半小時(shí)前 上傳
步驟 4 根目錄下,在命令行輸入指令“
./usr/bin/helloworld”執(zhí)行寫入的demo程序,顯示成功結(jié)果如下圖所示,該文件生成請參考應(yīng)用程序編譯。應(yīng)用程序啟動(dòng)圖
20.png (10.23 KB, 下載次數(shù): 0)
下載附件 保存到相冊
半小時(shí)前 上傳 ----結(jié)束
網(wǎng)絡(luò)燒寫方式 該方法只適合支持網(wǎng)口的單板(例如Hi3516DV300),且PC主機(jī)必須與單板用網(wǎng)線連接并配置在于同一網(wǎng)絡(luò)中。
21.png (44.48 KB, 下載次數(shù): 0)
下載附件 保存到相冊
半小時(shí)前 上傳
22.png (205.5 KB, 下載次數(shù): 0)
下載附件 保存到相冊
半小時(shí)前 上傳
23.png (84.59 KB, 下載次數(shù): 0)
下載附件 保存到相冊
半小時(shí)前 上傳
24.png (97.61 KB, 下載次數(shù): 0)
下載附件 保存到相冊
半小時(shí)前 上傳
25.png (62.09 KB, 下載次數(shù): 0)
下載附件 保存到相冊
半小時(shí)前 上傳
33.png (25.24 KB, 下載次數(shù): 0)
下載附件 保存到相冊
半小時(shí)前 上傳
26.png (90.15 KB, 下載次數(shù): 0)
下載附件 保存到相冊
半小時(shí)前 上傳
27.png (108.25 KB, 下載次數(shù): 0)
下載附件 保存到相冊
半小時(shí)前 上傳
28.png (143.45 KB, 下載次數(shù): 0)
下載附件 保存到相冊
半小時(shí)前 上傳
30.png (111.97 KB, 下載次數(shù): 0)
下載附件 保存到相冊
半小時(shí)前 上傳
31.png (114.3 KB, 下載次數(shù): 0)
下載附件 保存到相冊
半小時(shí)前 上傳
32.png (46.16 KB, 下載次數(shù): 0)
下載附件 保存到相冊
半小時(shí)前 上傳
作者:瘋殼 注:文檔和視頻中所有的圖片及代碼截圖皆為示意圖,具體以HarmonyOS官網(wǎng)發(fā)布內(nèi)容為準(zhǔn)。 |
|