Hi3518ev200使用HiTool下载程序
生活随笔
收集整理的這篇文章主要介紹了
Hi3518ev200使用HiTool下载程序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、編譯好SDK之后,在osdrv/pub/image_uclibc生成我們需要的鏡像,可以看一下文件大小
?接下來我們需要用到uboot、kernel、rootfs,其中rootfs是rootfs_hi3518ev200_64k.jffs2
2、燒錄原理 開發板中用的是spiflash,有16M的大小。通過主芯片提供的isp下載的機制來下載。通過串口發送數據給主芯片(hi3518e),主芯片接收完數據后暫存到內存中去,之后通過spi接口將數據寫入flash中。 這種方式不要求flash中有任何工具,所以很方便。 isp代碼固化在了在了芯片的irom中。 一啟動會默認的先從uart中接收數據(第一啟動順序),如果燒錄工具和芯片通信的上,就會觸發isp下載。如果沒有就會進行第二順序啟動,即從flash中load代碼,里面的細節就先不了解了。
3、燒錄工具HI_Tool 這個工具是基于java開發的,所以要先安裝jre-6u45-windows-i586,安裝完后, 啟動Hi3518E V200R001C01SPC030\01.software\pc\Hi_TOOl目錄中的HiTool.exe
??點擊hitool平臺中的hiburn,進入到工具界面。
?之后可以看到以下界面,hitool支持串口和網路下載,這里我們僅使用串口進行下載,網路這塊,以后有機會在試試看吧。 首先一開始要給開發板接上串口和電源,然后再打開這個hitool工具。 ?1、如果一開始看不到串口的話,點擊刷新,就會出現串口號。 ?2、傳輸方式選擇串口。 ?3、選擇要下載的文件,只能是我們事先編譯好的uboot。 ?4、器件是spi ?5、開始地址和長度這個根據我們自己設置的大小來設即可,但不能小于燒錄文件的大小。 最后點擊燒錄就可以開始燒錄了。如果還是提醒串口啥的,那就先關閉這個工具,在開發板不斷電的情況下,再從第一步開始做起。
開始燒錄的時候,會出現以下窗口,但是進度條不會動的,這時候就要將開發板斷電再上電,就可以正常下載了,這個下載方式和51單片機一模一樣。下載完成會有提示。
4、這里只能下載我們編譯好的uboot,否則下載一半會出現串口錯誤。主要原因是因為hitool的下載機制 、它先將我們要下載的東西存放在內部內存中(0x81000000)然后使用uboot的flash命令去燒寫。 以我們現在燒錄的uboot來說 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、因為嵌入式系統為了簡化,沒有使用分區表來自動管理flash,所以都是事先定死的。所以在部署一個嵌入式系統前都要人為的定下一個分區 分區名 分區大小 起始地址 截至地址 bootloader: 1M 0x00000000 0x00100000 kernel: 3M 0x00100000 0x00400000 rootfs: 12M 0x00400000 0x01000000
6、接下來的kernel和rootfs則需要用tftp的下載方式下載到內存中去,然后再用uboot中的命令來下載到flash中。
7、tftp更新并重新燒寫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更新并重新燒寫kernel的命令序列: mw.b 0x82000000 ff 0x300000 tftp 0x82000000 uImage_hi3518ev200 sf probe 0 sf erase 0x100000 0x300000 sf write 0x82000000 0x100000 0x300000 ————————————————— tftp更新并重新燒寫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對應的設置命令: 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是告訴內核將來我們的flash各分區大小是和名字是啥。 到內核后會打印出我們設置是分區名稱和范圍
</div></div></article>
?接下來我們需要用到uboot、kernel、rootfs,其中rootfs是rootfs_hi3518ev200_64k.jffs2
2、燒錄原理 開發板中用的是spiflash,有16M的大小。通過主芯片提供的isp下載的機制來下載。通過串口發送數據給主芯片(hi3518e),主芯片接收完數據后暫存到內存中去,之后通過spi接口將數據寫入flash中。 這種方式不要求flash中有任何工具,所以很方便。 isp代碼固化在了在了芯片的irom中。 一啟動會默認的先從uart中接收數據(第一啟動順序),如果燒錄工具和芯片通信的上,就會觸發isp下載。如果沒有就會進行第二順序啟動,即從flash中load代碼,里面的細節就先不了解了。
3、燒錄工具HI_Tool 這個工具是基于java開發的,所以要先安裝jre-6u45-windows-i586,安裝完后, 啟動Hi3518E V200R001C01SPC030\01.software\pc\Hi_TOOl目錄中的HiTool.exe
??點擊hitool平臺中的hiburn,進入到工具界面。
?之后可以看到以下界面,hitool支持串口和網路下載,這里我們僅使用串口進行下載,網路這塊,以后有機會在試試看吧。 首先一開始要給開發板接上串口和電源,然后再打開這個hitool工具。 ?1、如果一開始看不到串口的話,點擊刷新,就會出現串口號。 ?2、傳輸方式選擇串口。 ?3、選擇要下載的文件,只能是我們事先編譯好的uboot。 ?4、器件是spi ?5、開始地址和長度這個根據我們自己設置的大小來設即可,但不能小于燒錄文件的大小。 最后點擊燒錄就可以開始燒錄了。如果還是提醒串口啥的,那就先關閉這個工具,在開發板不斷電的情況下,再從第一步開始做起。
開始燒錄的時候,會出現以下窗口,但是進度條不會動的,這時候就要將開發板斷電再上電,就可以正常下載了,這個下載方式和51單片機一模一樣。下載完成會有提示。
4、這里只能下載我們編譯好的uboot,否則下載一半會出現串口錯誤。主要原因是因為hitool的下載機制 、它先將我們要下載的東西存放在內部內存中(0x81000000)然后使用uboot的flash命令去燒寫。 以我們現在燒錄的uboot來說 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、因為嵌入式系統為了簡化,沒有使用分區表來自動管理flash,所以都是事先定死的。所以在部署一個嵌入式系統前都要人為的定下一個分區 分區名 分區大小 起始地址 截至地址 bootloader: 1M 0x00000000 0x00100000 kernel: 3M 0x00100000 0x00400000 rootfs: 12M 0x00400000 0x01000000
6、接下來的kernel和rootfs則需要用tftp的下載方式下載到內存中去,然后再用uboot中的命令來下載到flash中。
7、tftp更新并重新燒寫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更新并重新燒寫kernel的命令序列: mw.b 0x82000000 ff 0x300000 tftp 0x82000000 uImage_hi3518ev200 sf probe 0 sf erase 0x100000 0x300000 sf write 0x82000000 0x100000 0x300000 ————————————————— tftp更新并重新燒寫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對應的設置命令: 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是告訴內核將來我們的flash各分區大小是和名字是啥。 到內核后會打印出我們設置是分區名稱和范圍
</div></div></article>
總結
以上是生活随笔為你收集整理的Hi3518ev200使用HiTool下载程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SAP 发票校验
- 下一篇: AppScan安装教程