天天看点

Jlink 烧写Uboot

第一章 hi3531_sdk_vx.x.x.x版本升级操作说明

   如果您是首次安装本sdk,请直接参看第2章。

第二章首次安装sdk

1、hi3531 sdk包位置

    在"hi3531_v100r001***/01.software/board"目录下,您可以看到一个hi3531_sdk_vx.x.x.x.tgz

的文件,

该文件就是hi3531的软件开发包。

2、解压缩sdk包

    在linux服务器上(或者一台装有linux的pc上,主流的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(请用root或sudo权限执行)将会展开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-linux是uclibc工具链,arm-hisiv200-linux是glibc工具链。具体命令如下

(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 

on:0,

测试:

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 aa,uboot有265k左右。

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

6.     焊装ddr后和以前一样

继续阅读