Hi3518ev200使用HiTool下载程序
生活随笔
收集整理的這篇文章主要介紹了
Hi3518ev200使用HiTool下载程序
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1、編譯好SDK之后,在osdrv/pub/image_uclibc生成我們需要的鏡像,可以看一下文件大小
?接下來(lái)我們需要用到uboot、kernel、rootfs,其中rootfs是rootfs_hi3518ev200_64k.jffs2
2、燒錄原理 開(kāi)發(fā)板中用的是spiflash,有16M的大小。通過(guò)主芯片提供的isp下載的機(jī)制來(lái)下載。通過(guò)串口發(fā)送數(shù)據(jù)給主芯片(hi3518e),主芯片接收完數(shù)據(jù)后暫存到內(nèi)存中去,之后通過(guò)spi接口將數(shù)據(jù)寫(xiě)入flash中。 這種方式不要求flash中有任何工具,所以很方便。 isp代碼固化在了在了芯片的irom中。 一啟動(dòng)會(huì)默認(rèn)的先從uart中接收數(shù)據(jù)(第一啟動(dòng)順序),如果燒錄工具和芯片通信的上,就會(huì)觸發(fā)isp下載。如果沒(méi)有就會(huì)進(jìn)行第二順序啟動(dòng),即從flash中l(wèi)oad代碼,里面的細(xì)節(jié)就先不了解了。
3、燒錄工具HI_Tool 這個(gè)工具是基于java開(kāi)發(fā)的,所以要先安裝jre-6u45-windows-i586,安裝完后, 啟動(dòng)Hi3518E V200R001C01SPC030\01.software\pc\Hi_TOOl目錄中的HiTool.exe
??點(diǎn)擊hitool平臺(tái)中的hiburn,進(jìn)入到工具界面。
?之后可以看到以下界面,hitool支持串口和網(wǎng)路下載,這里我們僅使用串口進(jìn)行下載,網(wǎng)路這塊,以后有機(jī)會(huì)在試試看吧。 首先一開(kāi)始要給開(kāi)發(fā)板接上串口和電源,然后再打開(kāi)這個(gè)hitool工具。 ?1、如果一開(kāi)始看不到串口的話,點(diǎn)擊刷新,就會(huì)出現(xiàn)串口號(hào)。 ?2、傳輸方式選擇串口。 ?3、選擇要下載的文件,只能是我們事先編譯好的uboot。 ?4、器件是spi ?5、開(kāi)始地址和長(zhǎng)度這個(gè)根據(jù)我們自己設(shè)置的大小來(lái)設(shè)即可,但不能小于燒錄文件的大小。 最后點(diǎn)擊燒錄就可以開(kāi)始燒錄了。如果還是提醒串口啥的,那就先關(guān)閉這個(gè)工具,在開(kāi)發(fā)板不斷電的情況下,再?gòu)牡谝徊介_(kāi)始做起。
開(kāi)始燒錄的時(shí)候,會(huì)出現(xiàn)以下窗口,但是進(jìn)度條不會(huì)動(dòng)的,這時(shí)候就要將開(kāi)發(fā)板斷電再上電,就可以正常下載了,這個(gè)下載方式和51單片機(jī)一模一樣。下載完成會(huì)有提示。
4、這里只能下載我們編譯好的uboot,否則下載一半會(huì)出現(xiàn)串口錯(cuò)誤。主要原因是因?yàn)閔itool的下載機(jī)制 、它先將我們要下載的東西存放在內(nèi)部?jī)?nèi)存中(0x81000000)然后使用uboot的flash命令去燒寫(xiě)。 以我們現(xiàn)在燒錄的uboot來(lái)說(shuō) 1、Send command: getinfo version 2、Send command: getinfo bootmode 3、Send command: getinfo spi 4、Send command: sf probe 0 5、Send command: sf erase 0x0 0x100000 6、Send command: sf write 0x81000000 0x0 0x50000 7、Send command: reset
5、因?yàn)榍度胧较到y(tǒng)為了簡(jiǎn)化,沒(méi)有使用分區(qū)表來(lái)自動(dòng)管理flash,所以都是事先定死的。所以在部署一個(gè)嵌入式系統(tǒng)前都要人為的定下一個(gè)分區(qū) 分區(qū)名 分區(qū)大小 起始地址 截至地址 bootloader: 1M 0x00000000 0x00100000 kernel: 3M 0x00100000 0x00400000 rootfs: 12M 0x00400000 0x01000000
6、接下來(lái)的kernel和rootfs則需要用tftp的下載方式下載到內(nèi)存中去,然后再用uboot中的命令來(lái)下載到flash中。
7、tftp更新并重新燒寫(xiě)uboot的命令序列: mw.b 0x82000000 ff 0x100000 tftp 0x82000000 u-boot-hi3518ev200.bin sf probe 0 sf erase 0x0 0x100000 sf write 0x82000000 0x0 0x100000 ————————————————– tftp更新并重新燒寫(xiě)kernel的命令序列: mw.b 0x82000000 ff 0x300000 tftp 0x82000000 uImage_hi3518ev200 sf probe 0 sf erase 0x100000 0x300000 sf write 0x82000000 0x100000 0x300000 ————————————————— tftp更新并重新燒寫(xiě)rootfs的命令序列: mw.b 0x82000000 ff 0xc00000 tftp 0x82000000 rootfs_hi3518ev200_64k.jffs2 sf probe 0 sf erase 0x400000 0xc00000 sf write 0x82000000 0x400000 0xc00000
8、正確的bootcmd和bootargs對(duì)應(yīng)的設(shè)置命令: set bootcmd ‘sf probe 0;sf read 0x82000000 0x100000 0x300000;bootm 0x82000000’ set bootargs mem=32M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1024K(boot),3072K(kernel),12288K(rootfs) 其中mtdparts是告訴內(nèi)核將來(lái)我們的flash各分區(qū)大小是和名字是啥。 到內(nèi)核后會(huì)打印出我們?cè)O(shè)置是分區(qū)名稱(chēng)和范圍
</div></div></article>
?接下來(lái)我們需要用到uboot、kernel、rootfs,其中rootfs是rootfs_hi3518ev200_64k.jffs2
2、燒錄原理 開(kāi)發(fā)板中用的是spiflash,有16M的大小。通過(guò)主芯片提供的isp下載的機(jī)制來(lái)下載。通過(guò)串口發(fā)送數(shù)據(jù)給主芯片(hi3518e),主芯片接收完數(shù)據(jù)后暫存到內(nèi)存中去,之后通過(guò)spi接口將數(shù)據(jù)寫(xiě)入flash中。 這種方式不要求flash中有任何工具,所以很方便。 isp代碼固化在了在了芯片的irom中。 一啟動(dòng)會(huì)默認(rèn)的先從uart中接收數(shù)據(jù)(第一啟動(dòng)順序),如果燒錄工具和芯片通信的上,就會(huì)觸發(fā)isp下載。如果沒(méi)有就會(huì)進(jìn)行第二順序啟動(dòng),即從flash中l(wèi)oad代碼,里面的細(xì)節(jié)就先不了解了。
3、燒錄工具HI_Tool 這個(gè)工具是基于java開(kāi)發(fā)的,所以要先安裝jre-6u45-windows-i586,安裝完后, 啟動(dòng)Hi3518E V200R001C01SPC030\01.software\pc\Hi_TOOl目錄中的HiTool.exe
??點(diǎn)擊hitool平臺(tái)中的hiburn,進(jìn)入到工具界面。
?之后可以看到以下界面,hitool支持串口和網(wǎng)路下載,這里我們僅使用串口進(jìn)行下載,網(wǎng)路這塊,以后有機(jī)會(huì)在試試看吧。 首先一開(kāi)始要給開(kāi)發(fā)板接上串口和電源,然后再打開(kāi)這個(gè)hitool工具。 ?1、如果一開(kāi)始看不到串口的話,點(diǎn)擊刷新,就會(huì)出現(xiàn)串口號(hào)。 ?2、傳輸方式選擇串口。 ?3、選擇要下載的文件,只能是我們事先編譯好的uboot。 ?4、器件是spi ?5、開(kāi)始地址和長(zhǎng)度這個(gè)根據(jù)我們自己設(shè)置的大小來(lái)設(shè)即可,但不能小于燒錄文件的大小。 最后點(diǎn)擊燒錄就可以開(kāi)始燒錄了。如果還是提醒串口啥的,那就先關(guān)閉這個(gè)工具,在開(kāi)發(fā)板不斷電的情況下,再?gòu)牡谝徊介_(kāi)始做起。
開(kāi)始燒錄的時(shí)候,會(huì)出現(xiàn)以下窗口,但是進(jìn)度條不會(huì)動(dòng)的,這時(shí)候就要將開(kāi)發(fā)板斷電再上電,就可以正常下載了,這個(gè)下載方式和51單片機(jī)一模一樣。下載完成會(huì)有提示。
4、這里只能下載我們編譯好的uboot,否則下載一半會(huì)出現(xiàn)串口錯(cuò)誤。主要原因是因?yàn)閔itool的下載機(jī)制 、它先將我們要下載的東西存放在內(nèi)部?jī)?nèi)存中(0x81000000)然后使用uboot的flash命令去燒寫(xiě)。 以我們現(xiàn)在燒錄的uboot來(lái)說(shuō) 1、Send command: getinfo version 2、Send command: getinfo bootmode 3、Send command: getinfo spi 4、Send command: sf probe 0 5、Send command: sf erase 0x0 0x100000 6、Send command: sf write 0x81000000 0x0 0x50000 7、Send command: reset
5、因?yàn)榍度胧较到y(tǒng)為了簡(jiǎn)化,沒(méi)有使用分區(qū)表來(lái)自動(dòng)管理flash,所以都是事先定死的。所以在部署一個(gè)嵌入式系統(tǒng)前都要人為的定下一個(gè)分區(qū) 分區(qū)名 分區(qū)大小 起始地址 截至地址 bootloader: 1M 0x00000000 0x00100000 kernel: 3M 0x00100000 0x00400000 rootfs: 12M 0x00400000 0x01000000
6、接下來(lái)的kernel和rootfs則需要用tftp的下載方式下載到內(nèi)存中去,然后再用uboot中的命令來(lái)下載到flash中。
7、tftp更新并重新燒寫(xiě)uboot的命令序列: mw.b 0x82000000 ff 0x100000 tftp 0x82000000 u-boot-hi3518ev200.bin sf probe 0 sf erase 0x0 0x100000 sf write 0x82000000 0x0 0x100000 ————————————————– tftp更新并重新燒寫(xiě)kernel的命令序列: mw.b 0x82000000 ff 0x300000 tftp 0x82000000 uImage_hi3518ev200 sf probe 0 sf erase 0x100000 0x300000 sf write 0x82000000 0x100000 0x300000 ————————————————— tftp更新并重新燒寫(xiě)rootfs的命令序列: mw.b 0x82000000 ff 0xc00000 tftp 0x82000000 rootfs_hi3518ev200_64k.jffs2 sf probe 0 sf erase 0x400000 0xc00000 sf write 0x82000000 0x400000 0xc00000
8、正確的bootcmd和bootargs對(duì)應(yīng)的設(shè)置命令: set bootcmd ‘sf probe 0;sf read 0x82000000 0x100000 0x300000;bootm 0x82000000’ set bootargs mem=32M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1024K(boot),3072K(kernel),12288K(rootfs) 其中mtdparts是告訴內(nèi)核將來(lái)我們的flash各分區(qū)大小是和名字是啥。 到內(nèi)核后會(huì)打印出我們?cè)O(shè)置是分區(qū)名稱(chēng)和范圍
</div></div></article>
總結(jié)
以上是生活随笔為你收集整理的Hi3518ev200使用HiTool下载程序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SAP 发票校验
- 下一篇: AppScan安装教程