閱讀504 返回首頁    go 技術社區[雲棲]


Jlink 燒寫Uboot

 

第一章 Hi3531_SDK_Vx.x.x.x版本升級操作說明

   如果您是首次安裝本SDK,請直接參看第2章。

   

第二章首次安裝SDK

1Hi3531 SDK包位置

    "Hi3531_V100R001***/01.software/board"目錄下,您可以看到一個Hi3531_SDK_Vx.x.x.x.tgz 的文件,

該文件就是Hi3531的軟件開發包。

 

2、解壓縮SDK

    linux服務器上(或者一台裝有linuxPC上,主流的linux發行版本均可以),使用命令:tar -zxf Hi3531_SDK_Vx.x.x.x.tgz

解壓縮該文件,可以得到一個Hi3531_SDK_Vx.x.x.x目錄。

 

3、展開SDK包內容

返回Hi3531_SDK_Vx.x.x.x目錄,運行./sdk.unpack(請用rootsudo權限執行)將會展開SDK包打包壓縮存放的內容,請按照提示完成操作。

Dpkg-reconfiguredash

如果您需要通過WINDOWS操作係統中轉拷貝SDK包,請先運行./sdk.cleanup,收起SDK包的內容,拷貝到新的目錄後再展開。

 

4、在linux服務器上安裝交叉編譯器

    1)安裝uclibc交叉編譯器(注意,需要有sudo權限或者root權限):

      進入Hi3531_SDK_Vx.x.x.x/osdrv/toolchain/arm-hisiv100-linux目錄,運行chmod +xcross.install,然後運行./cross.install即可。

進入Hi3531_SDK_Vx.x.x.x/osdrv/toolchain/arm-hisiv100npts-linux目錄,運行chmod +xcross.install,然後運行./cross.install即可。

   2) 安裝glibc交叉編譯器(注意,需要有sudo權限或者root權限):

      進入Hi3531_SDK_Vx.x.x.x/osdrv/toolchain/arm-hisiv200-linux目錄,運行chmod +xcross.install,然後運行./cross.install即可。

   3) 執行source /etc/profile,安裝交叉編譯器的腳本配置的環境變量就可以生效了,或者請重新登陸也可。

Echo $PATH

 

 

1.osdrv使用說明

本目錄設計思路為一套源代碼支持兩種工具鏈編譯,因此需要通過編譯參數指定不同的工具鏈。其中arm-hisiv100nptl-linuxuclibc工具鏈,arm-hisiv200-linuxglibc工具鏈。具體命令如下

(1)編譯整個osdrv目錄:

         makeOSDRV_CROSS=arm-hisiv100nptl-linux all

         或者

         makeOSDRV_CROSS=arm-hisiv200-linux all

(2)清除整個osdrv目錄的編譯文件:

         makeOSDRV_CROSS=arm-hisiv100nptl-linux clean

         或者

         makeOSDRV_CROSS=arm-hisiv200-linux clean

(3)徹底清除整個osdrv目錄的編譯文件,除清除編譯文件外,還刪除已編譯好的鏡像:

         makeOSDRV_CROSS=arm-hisiv100nptl-linux distclean

         或者

         makeOSDRV_CROSS=arm-hisiv200-linux distclean

 

 

5、編譯osdrv

參見osdrv目錄下readme

生成文件:

rootfs_uclibc.tgz   rootfs文件係統、

uImage  kernel鏡像

u-boot-hi3531_930MHz.bin    u-boot鏡像

rootfs_256k.jffs2  jffs2 rootfs鏡像(對應spi-flashblocksize=256K)

rootfs_2k_1bit.yaffs2  yaffs2 rootfs鏡像(對應nand-flashpagesize=2K ecc=1bit)

//

flash_eraseall   mcc_usrdev_host.ko            flash_erase            mcc_usrdev_slv.ko            hi35xx_dev_slv.ko            nandwrite

            hi35xx_dev_host.ko            mcc_drv_slv.ko            mtd_debug

            flash_info            parted_uclibc            mcc_drv_host.ko

            boot_device.ko            pcit_dma_slv.ko            sumtool

            mtdinfo            flashcp            nandtest

            gdb-arm-hisiv100nptl-linux            nanddump            pcit_dma_host.ko

 

 

4.單獨編譯內核:

進入內核源代碼目錄後,執行以下操作

       cparch/arm/configs/godnet_defconfig .config; makeARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- menuconfig;  make ARCH=armCROSS_COMPILE=arm-hisiv100nptl-linux- uImage;                //10分鍾

       或者

       cparch/arm/configs/godnet_defconfig .config; makeARCH=arm CROSS_COMPILE=arm-hisiv200-linux- menuconfig; make ARCH=arm CROSS_COMPILE=arm-hisiv200-linux- uImage;

 

Image Name:  Linux-3.0.8

Created:     Wed Aug 21 16:24:02 2013

Image Type:  ARM Linux Kernel Image (uncompressed)

Data Size:   3496792 Bytes = 3414.84 kB = 3.33 MB

Load Address: 80008000

Entry Point: 80008000

Image arch/arm/boot/uImage is ready

 

 

(5)單獨編譯uboot

       待進入boot源代碼目錄後,執行以下操作

       make ARCH=armCROSS_COMPILE=arm-hisiv100nptl-linux- godnet_config;       make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux-

       或者

       make ARCH=armCROSS_COMPILE=arm-hisiv200-linux- godnet_config

       make ARCH=armCROSS_COMPILE=arm-hisiv200-linux-

//編譯成功後,將在U-boot 目錄下生成u-boot.bin。265.5K 3分鍾

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

///////////////////////////3531調試2013-11-25///////////////////////

HI3531板子的接口:
輸入:8路D1,1路VGA,1路YPBPR,1路HDMI(VGA、YPBPR、HDMI是3選1);輸出:2路HDMI,1路VGA,1路YPBPR,2路CVBS。
其它接口:千兆網口,usb,sata,RS232,pcie1.0各一個。

存儲接口:spi、nand flash各一個,DDR2緩存

DDR3:一片256M字節,四片共1G字節
Nand flash 16GB

spi flash 16MB

接口:紅外接口
無sata接口

VIV0 8路D1;VIV2 1路1080P; VIV1 不用; Vout1120 1路1080P(hdmi)。

 

芯片從片內ROM 啟動,將會啟動串口通信機製,通過串口與PC 端相應的軟件建立通

信,下載boot 程序後完成啟動(請參考《Fastboot 工具使用說明》);同時,在

BOOTROM 啟動時如果與串口通信超時未相應,將會轉向判斷BOOT_SEL1(與芯片

外部管腳NF_ALE 複用)和BOOT_SEL0(與芯片外部管腳NF_CLE 複用)的上下拉

電平,從NAND FLASH 或SPI FLASH 啟動:

 

BOOTROM_SEL=1 時,芯片從片內ROM 啟動;

BOOTROM_SEL=1 時且串口通信超時未響應,BOOTROM_SEL=0

 

BOOTROM_SEL=0、BOOT_SEL1=1、BOOT_SEL0=0 時,NAND Flash 啟動。

BOOTROM_SEL=0、BOOT_SEL1=0、BOOT_SEL0=0 時,SPI Flash 啟動。

BOOTROM_SEL=0、BOOT_SEL1=0、BOOT_SEL0=1 時,DDR 啟動。

 

1 U-Boot2010.06-svn83 (Jan 06 2013 - 17:36:14) 

2 DRAM:  256 MiB 

3 NAND:  Special Nand id table Version 1.35 

4 Nand ID: 0x000x00 0x00 0x00 0x00 0x00 0x00 0x00 

 

 

ON0

測試:

1.     Fastboot燒寫uboot提示超時

2.     去掉 spi flash結果和1相同

3.     換個flash,效果同上

4.     監控發現串口傳送8k,然後重複命令FE 00 FF 01 00 04 25 D0 81 00 00 00 93 01,接收端20 aaUboot265k左右。

5.     焊裝第二版和第一版相同

6.     焊裝Ddr後和以前一樣

 

最後更新:2017-04-03 14:54:27

  上一篇:go 劍指Offer之左旋轉字符串(Move!Move!!Move!!!)
  下一篇:go Windows下基於ADS+J-Link 的ARM開發環境搭建