Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1665546
  • 博文数量: 174
  • 博客积分: 5493
  • 博客等级: 上校
  • 技术积分: 5802
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-05 15:13
个人简介

炼狱,是为追逐光芒

文章分类

全部博文(174)

文章存档

2017年(1)

2016年(3)

2015年(9)

2014年(5)

2013年(23)

2012年(56)

2011年(45)

2010年(32)

分类: LINUX

2012-06-21 17:27:00

JLINK可以方便的操作CPU,但不能操作Nand Flash,烧写Nand Flash只是从理论上能够达到,但是还没有人直接实现这点(韦东山好像做了一个,我没用过)。

本文使用一个间接方法来烧录Nand Flash:

原理JLink可以方便的读写内存、启动程序,那么可以把一个特制的程序(比如u-boot)下载到开发板上的SDRAM去,并运行它,然后使用这个程序来烧写Nand


烧写步骤:

1.链接硬件

市面上的JLink大多只支持2.54mm间距的20pin14pin,10pinJTAG接口,针对具体的板子做好转接线或跳线

2.运行J-Link commander(经测试,Setup_JLinkARM_V410i这个版本兼容性较好)

 J-Link commander启动界面如下图,(若没有接测到CPU,就在里面执行usb命令连接JLink,再执行r命令识别处理器)


3.下载运行特制的程序

由于SDRAM/DDR使用前需要经过初始化,所以利用s3c2451内部8KSRAM,先运行一段小程序初始化内存。

然后再下载大点程序,比如U-boot到内存运行,它将实现对nor/nand的操作。

1).speed 12000    //设置TCK12M,下载程序时会很快,但实际应用中设置为12M,反而不稳定,v410版本默认的是1M,速度也够快,因此我采用默认值,不执行此命令

2)下载init.bin,这是用来初始化SDRAM的小程序(可以简单的截取u-boot的前8K)

①如果是NAND启动:

loadbin d:\init.bin 0

setpc 0

g

②如果是Nor启动

loadbin e:\init.bin 0x40000000

setpc 0x40000000

g


下载特制的u-boot(起始地址与正常使用的分开,不要重叠,比如我的是0x32000000)

h  //查看寄存器状态

loadbin d:\u-boot.bin 0x32000000

setpc 0x32000000

g


到这u-boot就正常启动了(在串口中查看),然后可以通过U-bootnor/nand进行操作。

这是最近调试NandFlash过程中,用到Jlink的一个笔记,打通了JLink这个工具,调试nand就方便了,s3c2451平台,NandFlash已经调试成功,Nor没测试过,但U-boot已经在内存中跑起来,Nor的烧写自然不在话下了。





阅读(4740) | 评论(0) | 转发(0) |
0

上一篇:DDR3学习笔记

下一篇:男人的责任思考

给主人留下些什么吧!~~