Jlink 烧写Uboot

发布者:Meiren520最新更新时间:2023-09-07 来源: elecfans关键字: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后和以前一样


关键字:Jlink  烧写  Uboot 引用地址:Jlink 烧写Uboot

上一篇:RVDS4.0 + JLINK 调试 cortex-A9
下一篇:Windows下基于ADS+J-Link 的ARM开发环境搭建

推荐阅读最新更新时间:2024-11-12 12:59

Jlink 软件断点和硬件断点
调试2440 RAM拷贝至SDRAM遇到的问题   汇编代码主要是初始化一些寄存器,关狗,初始化时钟,初始化存储管理器以便访问内存,然后将SoC上4k RAM数据拷贝至SDRAM,然后在SRAM里面运行,由于代码未正常跑起来,于是使用JLinkExe来调试。JLinkExe指定了一个命令文件: JLinkExe -commandfile ./cmd.jlink ,cmd.jlink文件内容如下: 1 r 2 loadbin /home/thomas/learn/armasm/addresses/main.bin 0x0 3 setbp 0x0 a s 4 setpc 0x0 运行至内存拷贝代码时发现了问题: 1 c
[单片机]
S3C6410之uboot回炉再造(4)使能MMU
在上一篇中讲完了lowlevel_init中对相应模式的设置、在最后对MMU进行了初始化。 那在这一篇就把使能MMU的过程描述了。   1、设置访问域 1 after_copy:            //这里怎么就after了、我们可还没有copy呢                     //剧透一下,后面会补充copy相关的代码,此处暂且跳过 2 #ifdef CONFIG_ENABLE_MMU    // 3 enable_mmu: 4 /* enable domain access */ 5 ldr r5, =0x0000ffff 6 mcr p15, 0, r5, c3, c0, 0
[单片机]
stm32芯片被锁,使用jlink就能轻轻松松解锁
如果一不小心将stm32开发板的芯片给锁了,那原因可能是忽略了一个比较低级的问题,就是将stm32中的一些不能独立使用的IO口给了高电平,stm32中有很多口是不能独立使用的,如图(以stm32103rct6 正点原子的mini板为例): (N:表示不能独立使用,Y:表示能独立使用) 其实截图的内容都是来自stm32不完全手册,需要更多资讯请看stm32不完全手册。 以上就是芯片被锁的一种可能比较低级的原因。接下来就讲一下芯片被锁之后的解决方法。 一般芯片被锁之后在编译后下载时会出现以下的报错: 那么如果是用jlink下载器的就可以直接用jlink来解决问题,用其他办法的我暂时还没试过,只试了用j
[单片机]
stm32芯片被锁,使用<font color='red'>jlink</font>就能轻轻松松解锁
TQ2440 学习笔记—— 5、Linux烧写——USB
用USB下载线烧写Linux 软件:TQBoardDNW 连接USB下载线和串口线 烧写前首先格式化Nand Flash格式化之后再烧写镜像文件 1、烧写u-boo镜像 2、烧写Linux内核镜像 3、烧写文件系统镜像 4、烧写开机logo镜像 烧写完uboot、内核、文件系统、和logo镜像后,拔掉USB下载线,然后选择命令8即boot the system 就可以启动Linux操作系统,开机后需要进行触屏校准!如果第一次没有校准,后面触屏操作将会很麻烦,也找不到再次校准的设置(我反正没找到,所以又重新烧写了一回) 设置Linux的启动方式 TQ2440 配套的uboot 和Linu
[单片机]
TQ2440 学习笔记—— 5、Linux<font color='red'>烧写</font>——USB
openocd 命令行烧写ARM裸机程序 problems and solutions
以前是用RVDS 的IDE来烧写调试ARM程序的,不过RVDS虽然是集成化的调试工具调试起来方便,但是有的时候只知其一,不知其二,只知道按部就班的来点击按钮,忽略了一些本质性的东西。而且RVDS还有一个不好的地方是它只能在windows平台下运行,不支持Linux OS。为了便于学习Linux,使用Openocd会是个不错的选择,可以学习gnu 汇编,Makefile编写,工具链命令行使用。 如果这些命令搞熟悉了,你还可以利用Qt 来做个自己的图形化界面烧写调试工具。(不过这只是个壳子而已,精髓在于openocd ,所以如果有时间你还可以分析一下Openocd的源码,因为它是开源的,开源的东西就是好,它可以满足你的好奇心,虽然有些
[单片机]
openocd 命令行<font color='red'>烧写</font>ARM裸机程序 problems and solutions
[JZ2440] 使用 tftp 烧写 kernel 和文件系统
一、使用 tftp 工具下载文件到 mini2440 SDRAM 指定地址中   1. 配置好 Windows 主机的 ip,这里我的 Windows 主机的 ip 配置为 192.168.1.5。   2. 搭建 Windows 主机 tftp 服务器。   Windows 主机行运行 tftp 服务器软件,服务器 ip 默认就是 Windows 主机 ip,无需设置。同时将要通过通过 tftp 下载到开发板的文件拷贝到 tftpd32.exe 服务器软件同级目录下。这里我拷贝了内核文件 uImage 和文件系统 fs_qtopia.yaffs2 到 tftp 目录下。   3. 配置好开发板的 ip 以及配置好
[单片机]
[JZ2440] 使用 tftp <font color='red'>烧写</font> kernel 和文件系统
STM32用STLINK烧写外置FLASH遇到的问题
由于项目需要大量的图片字库还有音频文件,所以外挂了NOR flash和NAND flash,需要用到烧写算法STLDR(就是包含几段在SRAM里面运行的代码),调试的时候遇到了几个问题,都是大意造成的,所以写出来记录一下 首先烧写用到PC端软件是STM32 STLINK Utility,在安装目录下附带了一些常用的flash的烧写算法,但没有我用到的那种,所以只能参考ST-LINK Utility UM手册在…\ST-LINK Utility\ExternalLoader目录下的工程模板上修改,修改需要用到对FLASH的初始化、读写、擦除函数,这个要提前调试好,填到对应的函数内就可以了,后面由上位机自己调用 问题来了,主要
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved