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分钟
调试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提示超时
相同
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后和以前一样
Jlink 烧写Uboot的更多相关文章
- HI3518E用J-link烧写裸板fastboot u-boot流程
Hi3518E的裸板烧写fastboot是不能像HI3531那样,可以通过FB直接烧写.遵循ARM9的烧写流程.其中一般u-boot的烧写流程可分为几类:第一:通过编程器芯片直接烧写:第二通过RVDS ...
- STM32用JLINK 烧写程序时出现NO Cortex-m device found in JTAG chain现象和解决方案
现象 CPU: STM32107VC 用JLINK 烧写程序时出现NO Cortex-m device found in JTAG chain 如图无法查找到硬件就是CPU 提示1:NO Cortex ...
- 驱动开发学习笔记. 0.02 基于EASYARM-IMX283 烧写uboot和linux系统
驱动开发读书笔记. 0.02 基于EASYARM-IMX283 怎么烧写自己裁剪的linux内核?(非所有arm9通用) 手上有一块tq2440,但是不知道什么原因,没有办法烧boot进norflas ...
- 通过NORFLASH中的uboot烧写uboot到nandFlash
在mini2440的教程中,在构建nandflash系统的时候是首先通过supervivi借助dnw烧写uboot.bin到nand flash 第零块, 由于我使用的是64位操作系统,usb驱动没安 ...
- 嵌入式系统烧写uboot/bootloader/kernel的一般方法
嵌入式系统烧写uboot/bootloader/kernel的一般方法 本文介绍了在嵌入式系统中烧写uboot/bootloader/kernel 的一般方法,以及如果uboot或者内核出现错误, ...
- arm+linux 裸机环境搭建之初试minicom+dnw烧写uboot
下面的步骤将会实现在linux下面使用dnw+minicom来烧写uboot 一.安装minicom 下载地址:http://download.csdn.net/detail/king_bingge/ ...
- Tiny210编译和烧写u-boot步骤
当有多个交叉编译器是,不方便设置环境变量时,可以在编译命令中指定交叉编译器,具体如下: make ARCH=arm CROSS_COMPILE=/opt/FriendlyARM/toolschain/ ...
- Tiny4412 烧写uboot到emmc步骤
将uboot写入emmc,并通过EMMC驱动,不在只用SD卡启动 烧写uboot的之前用如下命令查看EMMC卡信息及分区信息: mmcinfo 0: 查看mmc卡信息, 0表示SD卡:1表示emmc卡 ...
- 烧写uboot和openwrt固件ARxx系列
以AR9331为例. 1.用烧录器将uboot烧写到flash中 (AR9331_U-Boot_Oolite-v1-v20170713.bin) 2.登录:192.168.1.1网页烧写uboot ...
随机推荐
- tf.train.shuffle_batch函数解析
tf.train.shuffle_batch (tensor_list, batch_size, capacity, min_after_dequeue, num_threads=1, seed=No ...
- encodeURI()和encodeURIComponent()
encodeURI() 返回值 URIstring 的副本,其中的某些字符将被十六进制的转义序列进行替换. 说明 该方法会替换所有的字符,但不包括以下字符,即使它们具有适当的UTF-8转义序列: 保留 ...
- windows免费?linux免费?赶紧过来看吧
1.今天分享大家一个免费申请linux的网站,可以用来做学习使用! 1.链接地址:https://linuxzoo.net 一次性邮箱:https://temp-mail.org 打开网址申请一个 ...
- Mybatis使用过程问题总结
Mybatis配置文件 test语句问题 字符串比较问题 示例语句:<if test="isIbatis == 'Y'"></if> 问题:NumberEx ...
- Django搭建博客网站(三)
Django搭建博客网站(三) 第三篇主要记录view层的逻辑和template. Django搭建博客网站(一) Django搭建博客网站(二) 结构 网站结构决定我要实现什么view. 我主要要用 ...
- 使用Dockerfile构建镜像
Dockerfile是一个文本格式的配置文件,用户可以使用Dockerfile快速创建自定义的镜像.它类似shell脚本,由一行行命令组成,支持以#开头的注释行.一般而言,Dockerfile分为四部 ...
- 关于对MVC和MVVM的思考
前言:最近公司交给我一个web项目,其采用的框架是java中的zkoss,它不用于以往我平时用的mvc,它采用的mvvm模式,因为以前只理解过mvc,经常使用譬如SpringMvc.Struts2等框 ...
- MySQL的字符编码设置
-- 创建数据库时,设置数据库的编码方式 -- CHARACTER SET:指定数据库采用的字符集,utf8不能写成utf-8-- COLLATE:指定数据库字符集的排序规则,utf8的默认排序规则为 ...
- 用tig来查看git log
sudo apt-get install tig安装软件 在项目目录下:tig查看git 的 log 常用指令:上下箭头选择log的版本enter进入具体版本查看详细k和j是上下滚动查看详细信息的内容 ...
- PHP两个日期之间的所有日期
我想得到两个日期之间的所有日期, 例如:输入两个日期,把这两个日期之间的所有日期取出来 如果是:2005-02-01至2005-02-05(同为一个月) 则为:2005-02-01,2 ...