使用JLink间接烧写S3C2410、S3C2440开发板Nor、Nand Flash的方法
j-flash烧写mini2440的nor flash
mini2440官方使用手册是用并口编程器配合H-JTAG烧写bootloader(例如supervivi)到NOR Flash, 但此方法速度比较慢, 而且现在许多机器已经没有并口了.
J-Link有一个功能很强大的Flash烧写工具叫J-Flash,但是对于S3C2440的NOR Flash操作有些麻烦:烧写NOR Flash时需要设置SDRAM,否则速率很慢. 我已经搅好了J-Link的配置文件, 可以使用SDRAM作缓冲以提高烧写NOR flash的速度.
测试成功了! 清除, 烧写及校验祗共用了8.3秒.
J-link配置文件:mini2440-SST39VF1601.jflash
其他2440的板也可以用的, 不过要在Project Settings -> Flash裡NOR Flash修改一下NOR Flash的形号. 因为其他2440板不一定跟mini2440一样用SST39VF1601的. 不过SDRAM的地址及暂存器init sequence参数应该一样的.
Jflash-s3c2410(linux 版本)源码分析
Jflash-s3c2410(linux 版本)源码分析
最近在远峰公司买了arm9的板子,S3C2410,ARM920T ,没有Nor flash ,Nand Flash 是64M ,SDRAM 是K9f1208,本人对linux 的热情大于windows ,所以想在linux 下做开发,可是远峰公司只给我YFSJF.exe 文件,而且没有源代码,每次在linux 下编译好了后还得切换到windows 下烧录,很是麻烦,于是在网上找了很多Jflash 类似的程序,不过不同的烧录针对不同的硬件平台,Jflash 是跟硬件紧密结合的,比如有的针对Nor Flash ,有的针对Nand Flash 的,不同内核有不同的Jflash ,而且相同的内核也有不同的版本,因为Jtag 的原理图不同,就只能有相对应的Jflash ,程序中的定义要与pc 机并口与Jtag 接口的对应相一致。
在进入源码分析之前要介绍一些预备的知识,有助于理解源代码,毕竟这个程序和硬件联系很紧密的。首先介绍一下对PC 并口做一些简要的介绍
一、PC 标准配备并行口介绍
本文主要介绍计算机的标准配备并行端口即25针的母接头端口的应用,在此基础上可以运用相同的原理使用其它模式的并行端口。并行端口共有25支脚,但不是每支脚均被使用到。这些脚被区图1
分为3种主要的功能,分别是用于数据的传送、检查打印机的状态及控制打印机,其接口如下所示:
注:18~脚为GND
在PC 机中,标准并行口使用3个8位对这些寄存器,
也就是所说的数据、
25号的端口寄存器,PC 就是通过状态、控制寄存器的读写访问并口的信号的。本文中使用一些通用的叫法,8个数据位分别为D0~D7,5个状态位为S3~S7,4个控制为C0~C3。其中字母表示了端口寄存器,数字则表示该信号在
S3C2440外部中断操作
编写:小龍
S3C2440 外部中断操作
这两天在调试 2440 外部中断的时候,通过 jlink 来调试,老是进不了中断。 因为借鉴了网上很多程序,感觉不应该是程序的问题。后来通过 USB 口,利用 supervivi 的 download&run 功能,把编译产生的 bin 文件下载到内存中。超级终 端就提示:Dummy_isr error, interrupt number: 5, INTMSK = 0xffff16ff 已是网上查 了这个错误。才知道是什么原因。因为 SDRAM 的起始地址为 0x30000000,把 程序烧写进 SDRAM,起始地址不为 0 而不程序中断后,PC 默认指向 0x00-0x1C, 内部 SRAM 的地址 0 处都不存在你要调试的程序的中断向量表,所以不能正确 将中断引导到你编写的中断服务程序中来,一旦中断发生,程序必然会跑飞。 同时 ARM 内核会通过串口打印"Dummy_isr error........"信息。 解决办法: (1) 直接烧写到 nand 第 0 块(如果代码大于 4K,启动代码中必须要有拷 贝到 SDRAM 功能) (2) 改 写 自 己 的 程 序 , 在 初 始 化 中 断 之 前 将 中 断 向 量 表 拷 贝 到 内 部 S8/31/2010RAM. (3) 利用 MMU 的重定向功能 首先,这里先来了解下 S3C2440 中断相关的寄存器。 1.中断分两大类:内部中断和外部中断。 2.外部中断。 24 个外部中断占用 GPF0-GPF7 (EINT0-EINT7) , GPG0-GPG15 (EINT8-EINT23)。用这些脚做中断输入,则必须配置引脚为中断,并且不要 上拉。具体参考 datesheet 数据手册。 寄存器:EXTINT0-EXTINT2:三个寄存器设定 EINT0-EINT23 的触发方式。 EINTFLT0-EINTFLT3:控制滤波时钟和滤波宽度。 EINTPEND:这个是中断挂起寄存器,清除时要写 1,后面还有几个是 写 1 清除。当一个外部中断(EINT4-EINT23)发生后,那么相应的位会被置 1。 为什么没有 EINT0-EINT3,呵呵,看看 SRCPND 就知道了,里面没有 EINT4-EINT23 的位子,所以有了 EINTPEND。 EINTMASK:这个简单,是屏蔽中断用的,也就是说位为 1 时,此次 中断无效。 3.内部中断。内部中断有 8 个寄存器,下面逐一来看。 寄存器:SUBSRCPND:当一个中断发生后,那么相应的位会被置 1,表示一个 中断发生了。 INTSUBMSK:与上一个是一伙的,中断屏蔽寄存器,具体屏蔽什么, 自己看手册去吧。 INTMOD:中断的方式。一个中断可以是普通中断,也可以是快中断, 在这里设置,但只能有一个快中断。 PRIORITY :优先级寄存器,不说了。 SRCPND :当一个中断发生后,那么相应的位会被置 1,表示一个或 一类中断发生了。 INTMSK :中断屏蔽寄存器。 INTPND :中断发生后,SRCPND 中会有位置 1,可能好几个(因为 同时可能发生几个中断),这些中断会由优先级仲裁器选出一个最紧迫的,然后
JZ2440烧写方法
JZ2440烧写方法
1、JLink 只能烧写Nor flash,所以首先用JLink 烧写u-boot 到Nor flash,
然后把拨码开关拨到Nor 启动,连接上USB-COM1、USB-host 两根USB 线,
打开SecureCRT 软件,配置相应串口参数,给开发板上电,按空格键进入u-
boot 菜单,根据u-boot 菜单烧写Nand flash、应用程序等。2、用TFTP 烧写,
打开tftpd32.exe 软件,设置Current Directory(下载文件所在目录)、Server interface(选择PC 机的当前IP 地址);设置开发板为Nor 启动,打开
SecureCRT 软件,给开发板上电,按空格键进入u-boot 菜单,输入Q 退出菜单,
输入print 命令查看开发板当前IP、serverIP,设置开发板本地IP 和PC 在同一
个段内,设置服务器IP 为PC 机当前IP 地址:OpenJTAG> setenv ipaddr 192.168.48.111OpenJTAG> setenv serverip 192.168.48.104 保存:OpenJTAG> save 重启开发板,按空格键并退出菜单,ping 服务器:OpenJTAG> ping 192.168.48.104 出现:ERROR: resetting DM9000 -> not respondingdm9000 i/o: 0x20000000, id: 0x90000a46DM9000: running in 16 bit modeMAC: 08:00:3e:26:0a:5bcould not establish linkhost 192.168.48.104 is alive 说明已经连接服务器成功,再tftp 30000000 led_on_c.bin(要下载的文件名),下载文件
S3C2410开发板烧写Linux操作系统的详细步骤
在S3C2410开发板上烧写Linux操作系统
的详细步骤
目录
1.烧写vivi (3)
2.烧写内核 (13)
3.烧写根文件系统 (20)
4.烧写与解压应用程序 (21)
烧写S3C2410开发板Linux操作系统包括烧写vivi,kernel,root三个步骤,除此我们还要烧写应用程序(下面的两个压缩包选择其一),这四个文件分别为:
1)vivi Linux操作系统启动的bootloader
2)zImage Linux操作系统内核
3)root.cramfs根文件系统
4)yaffs.tar.bz2应用程序压缩包
5)yaffsQT.tar.bz2包含QT的应用程序压缩包(本文选择这个压缩包)
1.烧写vivi
(1)把并口线插到PC机的并口,并把并口的另一端与ARM-JTAG相连,然后ARM-JTAG的另一端连接到开发板左下角的14针简易JTAG接口相连,打开S3C2410开发板电源(5V)。如图所示:
(2)把整个GIVEIO(F:/S3C2410/Linux/img/flashvivi)拷贝到C:/windows下,并把该目录下的giveio.sys文件拷贝到C:/windows/system32/drivers下。
(3)在PC打开控制面板,选添加硬件,点击下一步,如下图所示:
选择是,我已经连接了此硬件然后点击下一步,如下图所示:
选中添加新的硬件设备然后点击下一步,如下图所示:
选中安装我手动从列表选择的硬件后点击下一步,如下图所示:
选择显示所有设备然后点击下一步,如下图所示:
选择从磁盘安装然后点击下一步,如下图所示:
J-Link烧写Micro2440 Nor Flash
Micro2440 Nor Flash J-Link烧写方法
By 华南农业大学工程学院07通信工程刘永鑫
由于micro2440和mini2440的手册中都没有讲到用J-Link烧写Nor Flash的方法,所以就研究一下,自己做出来了。
实验平台:
micro2440.
SDRAM:H57V25629TR
Nor Flash:s29al016xxxxx2(x 表省略)
J-Link v8
J-Flash ARM v4.20b
1、首先对J-Link进行配置(在Option-)Project Setting)
2、输入CPU信息,S3C2440 CPU基本上都可以用如下设置。
3、输入启动脚本,这部分启动脚本是从H-JTAG的调试脚本中移植来的(下图红框中的复
位和禁用MMU需要手动添加),原始H-JTAG调试脚本是:H-Flasher_mini2440.hfc(包含于友善之臂光盘(micro2440-201006)),这部分启动脚本根据不同厂家的开发板会略有不同。对于这部分脚本的理解,完全可以参考本论坛的“用IAR+JLINKv5调试mini2440详细步骤.zip”
4、选择Flash芯片型号,这时就要根据开发板的Nor Flash型号进行选择了。由于本人的
micro2440实验板用的Nor Flash是s29al016xxxxx2,从芯片DataSheet上看,这块芯片与AM29LV160DB是兼容的。
5、测试连接micro2440:先从Nor Flash启动开发板,并连接好J-Link,选择J-Flash ARM
jlink烧写程序图文教程
第一步安装jlink驱动,安装完成后出现如下图标:SEGGER
1.打开J-Flash,就是要烧写程序的软件
2.打开会出现如下图这个界面,直接点击start j-flash
3.进入后,点击open project,打开工程
4.选择你的cpu芯片的对应jflash,下图是对应的NXP的LPC2114这款芯片,D:\Program Files\SEGGER\JLink_V490\Samples\JFlash\ProjectFiles\NXP,这个是路径
完成后,会提示成功的标语,下图中我已经选择了下载文件,所以出现了对应的二进制文件,正常情况下到这一步是没有出现2进制文件的,这时需要点击图中的connect,
如果出现下面错误,就是提示could not find any flash devices ,这表示连接不成功,解决的办法就是,选择options—project settings ,改变cpu设备
点击CPU选项,按图中选择device,找到你对应的cpu就可以了
这是提示连接成功的截图。
之后就可以选择你所需要下载的程序文件了,点击file—open data file
这边需要注意的是,每次只能打开一个程序文件,比如图中的二进制文件,只能有一个
接着就是烧写了,点击target – program
如果出现read memory error 错误,有2个选择,1关闭当前要下载的程序,重新选择二进制文件,2,选择target中的 program&verify 或者auto,一般情况下auto这个选择都是可以执行的,
arm裸机实验—MDK设置
arm裸机实验——s3c2440为例
关于如何烧写裸机实验请参照文档《如何烧写S3C2440裸板程序.pdf》。(J:\韦东山-主光盘\如何烧写S3C2440裸板程序)
下面讲用MDK编写裸机程序,JLINK下载和调试的方法。
1、MDK Options for Target 的设置。
Target:如下图,有关的选项为ROM1、ROM2,RAM1、RAM2,IRAM1等。下面分别讲述。
off-chip,on-chip,分别表示,片外和片内的意思。
ROM1:片外只读存储器。一般对应Norflash,Norflash的起始地址为0x0,大小视不同板子而定,s3c2440的Norflash为2M,则Size填0x200000。(注:jlink只能烧写Norflash,故用jilink烧写的话ROM1项就填写上面的数据)
其他的ROM无须填写。
RAM1:片外读写存储器。对应SDRAM,起始地址为0x30000000,大小为64M(也与板子型号有关),故Size填0x4000000。
其他的RAM不用填写。
IRAM1: 片内读写存储器。对应Steppingstone,大小为4K(即0x1000),在不使用Nandflash 启动时,Steppingstone的起始地址为0x40000000,因为用jlink只能烧写到Norflash,故只能Norflash启动,则Steppingstone的起始地址填0x40000000,Size填0x1000。
图1
User: 只需填写Run User Programs After Build/Rebuild项的Run#1部分,User项用于生成要烧写进Norflash中的bin文件,填写格式:D:\Program Files\Keil\ARM\BIN40\fromelf.exe --bin --output uart0.bin uart0.axf,其中fromelf.exe从你的安装路径中找到,uart0.bin及uart0.axf中uart0为项目名称,对应填写即可。
S3C2440完全开发流程
S3C2440完全开发流程
作者:dreamer2006@
2009-11-3 一.简介 (3)
二.建立开发环境 (4)
1、编译器ARM-LINUX-GCC-3.4.1 (4)
2、J FLASH-S3C2440:S3C2440芯片的JTAG工具 (4)
3、安装GDB调试工具 (5)
4、USB下载工具 (6)
5、UBUNTU开发环境建立 (6)
三.S3C2440基础实验 (8)
1、实验一:LED_ON (8)
2、实验二:LED_ON_C (9)
3、实验三:I/O PORTS (11)
5、实验五:MEMORY CONTROLLER (15)
6、实验六:NAND FLASH CONTROLLER (17)
7、实验七:UART (20)
8、实验八:PRINTF、SCANF (23)
9、实验九:INTERRUPT CONTROLLER (24)
10、实验十:TIMER (28)
11、实验十一:MMU (31)
12、实验十二:CLOCK (39)
四.BOOTLOADER VIVI (43)
1、阶段1:ARCH/S3C2440/HEAD.S (43)
2、阶段2:INIT/MAIN.C (45)
1)、Step 1:reset_handler() (45)
2)、Step 2:board_init() (46)
3)、Step 3:建立页表和启动MMU (47)
4)、Step 4:heap_init() (50)
5)、Step 5:mtd_dev_init() (52)
6)、Step 6:init_priv_data() (56)
jlink烧写程序图文教程
Jlink 烧写程序图文教程第一步安装jlink驱动,安装完成后出现如下图标:SEGGER
1.打开J-Flash,就是要烧写程序的软件
2.打开会出现如下图这个界面,直接点击start j-flash
3.进入后,点击open project,打开工程
4.选择你的cpu芯片的对应jflash,下图是对应的NXP的LPC2114这款芯片,D:\Program Files\SEGGER\JLink_V490\Samples\JFlash\ProjectFiles\NXP,这个是路径
完成后,会提示成功的标语,下图中我已经选择了下载文件,所以出现了对应的二进制文
件,正常情况下到这一步是没有出现2进制文件的,这时需要点击图中的connect,
如果出现下面错误,就是提示could not find any flash devices ,这表示连接不成功,
解决的办法就是,选择options—project settings ,改变cpu设备
点击CPU选项,按图中选择device,找到你对应的cpu就可以了
这是提示连接成功的截图。
之后就可以选择你所需要下载的程序文件了,点击file—open data file
这边需要注意的是,每次只能打开一个程序文件,比如图中的二进制文件,只能有一个
接着就是烧写了,点击target – program
如果出现read memory error 错误,有2个选择,1关闭当前要下载的程序,重新选择二进
制文件,2,选择target中的program&verify 或者auto,一般情况下auto这个选择都是可以执行的,
KEIL MDK 4.13 + J-Link V7 调试S3C2440的工程配置
_WDWORD(0x56000000, 0x000003FF); // GPACON: 使能SDRAM相关的地址线
}
// Reset chip with watchdog, because nRST line is routed on hardware in a way
// that it can not be pulled low with ULINK
unsigned int i ;
//配置GPB5为输出口 GPBCON &= ~(0x3 << 10) ; GPBCON |= (0x1 << 10)பைடு நூலகம்;
while(1) {
//使GPB5输出低电平 GPBDAT &= ~(1<<5); //延时 for(i=0;i<200000;i++); //使GPB5输出高电平 GPBDAT |= (1<<5); //延时 for(i=0;i<200000;i++); } }
是都说得不全,最后还是把KEIL自带的工程“\Keil\ARM\Boards\Samsung\S3C2440\RTX_Blinky\”拷贝并修改,摸索 了点东西。具体的配置方式如下:
新建工程,选择Samsung的S3C2440A:
点击“OK”,出现下面的对话框: 点击“是”,添加KEIL自带的STARTUP.s到工程中,进入下一步,管理组件:
使用JLink间接烧写S3C2410、S3C2440开发板Nor、Nand Flash的方法
使用JLink间接烧写S3C2410、S3C2440开发板Nor、
Nand Flash的方法
1. 简要说明
JLink的调试功能、烧写Flash的功能都很强大,但是对于S3C2410、S3C2440的Flash 操作有些麻烦:烧写Nor Flash时需要设置SDRAM,否则速率很慢;烧写Nand Flash只是从理论上能够达到,但是还没有人直接实现这点。
本文使用一个间接的方法来实现对S3C2410、S3C2440开发板的Nor、Nand Flash的烧写。原理为:JLink可以很方便地读写内存、启动程序,那么可以把一个特制的程序下载到开发板上的SDRAM去,并运行它,然后使用这个程序来烧写。
2. 操作步骤
2.1 连接硬件
对于大多数的S3C2410、S3C2440开发板而言,它们所用的JTAG接口一般有3种(如图1所示),其中前两种用得比较多。
图1. 三种常用的JTAG接口
但是市面上的JLink,大多只支持第3种JTAG接口,所以需要用到转接板。或者直接使用JLink的变种,如图2所示的两种改进版JLink:
图2. 两种改进版JLink
以mini2440为例,如图3接好JTAG线。
图3. 改进版JLink与mini2440的连接
2.2 运行J-Link commander
J-Link commander启动界面如图4所示,(如果没有发现检测到CPU,就在里面执行usb 命令连接JLink,再执行r命令识别处理器)。
图4. J-Link commander启动界面
2.3 下载运行特制的程序
s3c2440对nandflash的操作
s3c2440对nandflash的操作
s3c2440对nandflash的操作
nandflash在对大容量的数据存储中发挥着重要的作用。相对于norflash,它具有一些优势,但它的一个劣势是很容易产生坏块,因此在使用nandflash时,往往要利用校验算法发现坏块并标注出来,以便以后不再使用该坏块。nandflash 没有地址或数据总线,如果是8位nandflash,那么它只有8个IO口,这8个IO口用于传输命令、地址和数据。nandflash 主要以page(页)为单位进行读写,以block(块)为单位进行擦除。每一页中又分为main区和spare区,main区用于正常数据的存储,spare区用于存储一些附加信息,如块好坏的标记、块的逻辑地址、页内数据的ECC校验和等。
三星公司是最主要的nandflash供应商,因此在它所开发的各类处理器中,实现对nandflash的支持就不足为奇了。s3c2440不仅具有nandflash的接口,而且还可以利用某些机制实现直接从nandflash启动并运行程序。本文只介绍如何对nandflash实现读、写、擦除等基本操作,不涉及nandflash启动程序的问题。
在这里,我们使用的nandflash为K9F2G08U0A,它是8位的nandflash。不同型号的nandflash的操作会有
所不同,但硬件引脚基本相同,这给产品的开发带来了便利。因为不同型号的PCB板是一样的,只要更新一下软件就可
以使用不同容量大小的nandflash。
K9F2G08U0A的一页为(2K+64)字节(加号前面的2K
JLink与NXP单片调试个人笔记
这段时间在用jlink调试freescale的mx51板子,下面将使用jlink的方法在此做一个笔记。
jlink是segger公司的产品,由于正版的工具巨贵,所以现在大部分人都喜欢用山寨版的jli nk,幸运的是我的山寨版jlink支持arm cortex a8,所以能调试mx51板子。
jlink的官方提供调试软件和驱动,调试软件有jlink commander(j-tag调试)、j-mem(内存查看)、j-flash(flash烧写)等。我主要用到的是jlink commander,以下是它的命令集:SEGGER J-Link Commander V4.20h('?'for help)
Compiled Oct5201019:11:57
DLL version V4.20h,compiled Oct5201019:11:41
Firmware:J-Link ARM V8compiled Oct5201008:59:59
Hardware:V8.00
S/N:20100214
Feature(s):RDI,FlashDL,FlashBP,JFlash,GDBFull
VTarget=3.280V
Info:TotalIRLen=?,IRPrint=0x..FFFFFFFFFFFFFFFFFFFFFFF1
WARNING:CPU core not found.
No devices found on JTAG chain.Trying to find device on SWD.
WARNING:CPU core not found.
2____使用openjtag或easyopenjtag烧写代码到nor_nand
第二章使用openjtag或easyopenjtag烧写代码
2.1 easyopenjtag和openjtag介绍
openjtag或者easyopenjtag支持将代码烧写到Nor flash或nand flash,而市面上的jlink 只能将代码烧写到nor flash中。
2.2 推荐的下载烧写方式总结
为了方便描述,将openjtag/easyopenjtag简记为op/eop。
程序下载烧写可以分为:下载步骤,烧写步骤。
op/eop是通过jtag协议、nor flash驱动和nand flash 驱动,下载要烧写文件到op/eop 工具的内部芯片,然后将烧写文件直接烧写到nor /nand flash中。
下面的表格详细说明推荐的烧写方式。
为了方便快捷,大幅度降低入门学习门槛和学习难度(韦东山第一期主讲ARM9裸机),
强烈建议两点:
1.使用op/eop将光盘\bin\uboot.bin烧写到nor flash中
2.使用op/eop直接将裸机代码烧写到nand flash中
从表格中可以看出uboot的重要性,为了降低学习难度,强烈建议将百问网提供的光盘\bin\u-boot.bin(该uboot功能完整,支持USB方式的dnw下载,网络下载,nand flash擦除、写入),从而借助nor flash中功能完整的uboot去烧写裸机代码,uboot代码,linux内核,文件系统到nand flash中。
mtdparts=mtdparts=nandflash0:256k@0(bootloader),128k(params),2m(kernel),-(root)
用jlink间接烧写s3c2410nandflash的方法之初始化sdram源代码
bic r0, r0, #0x2300
@ V[bit[13]](Base location of
exception registers)=0 = Low addresses = 0x0000 0000
@ R(ROM protection
bit[9])=0
@ S(System protection
0x0 0x0 0x7 0x0 0x0 0x0
0x0
#define B3_Tacs #define B3_Tcos #define B3_Tacc #define B3_Tcoh #define B3_Tah #define B3_Tacp #define B3_PMC
0x0 /* 0clk */ 0x0 /* 4clk */ 0x7 /* 14clk */ 0x0 /* 1clk */ 0x0 /* 0clk */ 0x0 /* 6clk */
0x0 /* normal */
#define B5_Tacs #define B5_Tcos #define B5_Tacc #define B5_Tcoh #define B5_Tah #define B5_Tacp #define B5_PMC
0x0 /* 0clk */ 0x0 /* 0clk */ 0x7 /* 14clk */ 0x0 /* 0clk */ 0x0 /* 0clk */ 0x0
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
to 6f: faint...so fast...
等级:-----来自:Nanjing.JS
2009-03-04,15:21: 38
资料 邮件
【9 楼】 nimo 积分:51 派别: 等级:-----来自:
飞过~
2009-03-04,16:37: 25
资料 邮件
【10 楼】 Etual
噢,原来如此,失敬失敬 :)
楼上,OpenJTAG 也是我出的,:)
__________________________ JLink v7/USB 转串口二合一:http://item.taobao.com/auction/item_detail-0db1-7c5ece7925a04 51df3e1515dc43f3912.jhtml JLink v7 with 3 JTAG: http://item.taobao.com/auction/item_detail-0db1-a42180afa5f5fba1b a7025e04aec8dd5.jhtml OpenJTAG:USB 转 JTAG,USB 转串口,在线调试:http://item.taobao.com/auction/item_detail-0db1 -47aeeccb54e9c1c3889a53276d52d7f1.jhtml
__________________________ JLink v7/USB 转串口二合一:http://item.taobao.com/auction/item_detail-0db1-7c5ece7925a0451df3e1515dc43f3912.jhtml
JLink v7 with 3 JTAG: http://item.taobao.com/auction/item_detail-0db1-a42180afa5f5fba1ba7025e04aec8dd5.jhtml OpenJTAG:USB 转 JTAG,USB 转串口,在线调试:http://item.taobao.com/auction/item_detail-0db1-47aeeccb54e9c1c3889a5327 6d52d7f1.jhtml
2.4 使用 u-boot 烧写 Flash 以例子为例,假设需要烧写一个名为 leds.bin 的程序到 Nor、Nand Flash,那么请参考: (1).通过 Jlink 下载: 在 J-Link commander 里执行: h loadbin e:\leds.bin 0x30000000 g
所以,先把一个 init.bin 下载到内部 SRAM 去运行,它执行 SDRAM 的初始化;然后再下载一个比较大的程序,比如 u-boot 到 SDR
AM 去动行,它将实现对 Nor、Nand Flash 的操作。
以下是在 J-Link commander 里的命令,假设 init.bin、u-boot.bin 在 e:盘下。
1. speed 12000
//设置 TCK 为 12M,下载程序时会很快
2. 下载并运行 init.bin,这是用来初始化 SDRAM 的 2.1 如果是 NAND 启动: loadbin e:\init.bin 0 setpc 0 g 2.2 如果是 Nor 启动: loadbin e:\init.bin 0x40000000 setpc 0x40000000 g
3. 下载特制的 uboot: h loadbin e:\u-boot.bin 0x33f80000 setpc 0x33f80000 g 上述操作命令可以参考图 5。
(原文件名:使用 jlink 下载运行 uboot.JPG) 现在,u-boot 已经启动了,在串口工具上可以看到如图 6 所示界面,以后就可以通过网络、串口下载文件,然后使用 u-boot 里 的命令进行烧写。
nfo 命令查看)
cp.b 0x30000000 0 30000 // 把前面下载到 0x30000000 的程序烧写到 NOR 去
(3).通过 u-boot 烧写到 Nand Flash:
在 u-boot 里执行:
nand erase 0 30000
// 擦除从 0 地址开始的大小为 0x30000 的 Nnad Flash 扇区
来 版 JLink:
自:
(原文件名:2 种 jlink.JPG)
以 mini2440 为例,如图 3 接好 JTAG 线。
(原文件名:JLink_2440.jpg)
2.2 运行 J-Link commander J-Link commander 启动界面如图 4 所示,(如果没有发现检测到 CPU,就在里面执行 usb 命令连接 JLink,再执行 r 命令识别处理 器)。
20 09-0 3-0 4,1 4:2 8:40
资料 邮件
编辑 删除
【1 楼】 heky 积分:702 派别: 等级:-----来自:
好东西
2009-03-04,14:37: 36
资料 邮件
编辑 删除
【2 楼】 juedi 积分:98 派别: 等级:-----来自:
init.bin 用汇编写成,位置无关,可以在任何地方执行。 u-boot.bin 也是经过了我的大量修改,可以适用于友善之臂、优龙、扬创等等开发板,具备以下特 点: 1. 支持 CFI、JEDEC 接口的 NOR FLASH 2. 支持各种 NAND FLASH 3. 支持网络 CS8900、DM9000 4. 支持 USB 下载 5. 支持烧写 YAFFS 文件系统映象
(原文件名:JLINK 启动界面.JPG)
2.3 下载运行特制的程序
对于 S3C2410、S3C2440 处理器,它们内部有 4K 的 SRAM,当使用 Nor Flash 启动时,地址为 0x40000000;当使用 Nand Flash 启
动时,地址为 0。
对于 S3C2410、S3C2440 开发板,一般都外接 64M 的 SDRAM。SDRAM 能被使用之前,需要经过初始化。
PDF 文档在此: 点击此处下载 ourdev_423580.rar(文件大小:711K) (原文件名:使用 JLink 间接烧写 S3C2410、S3C2 440 开发板 Nor、Nand Flash 的方法.rar)
__________________________ JLink v7/USB 转串口二合一:http://item.taobao.com/auction/item_detail-0db1-7c5ece7925a04 51df3e1515dc43f3912.jhtml JLink v7 with 3 JTAG: http://item.taobao.com/auction/item_detail-0db1-a42180afa5f5fba1b a7025e04aec8dd5.jhtml OpenJTAG:USB 转 JTAG,USB 转串口,在线调试:http://item.taobao.com/auction/item_detail-0db1 -47aeeccb54e9c1c3889a53276d52d7f1.jhtml
2009-03-04,14:38: 19
资料 邮件
编辑 删除
【3 楼】 yangsen 积分:1199 派别: 等级:-----来自:
顶一个,好东东
2009-03-04,14:49: 02
资料 邮件
编辑 删除
【4 楼】 zlei 积分:441 派别:
LZ 的板子吃满灰尘…… 本贴被 zlei 编辑过,最后修改时间:2009-03-04,15:09:26.
积分:287 派别: 等级:-----来自:广东佛山
__________________________ suffering from C library
blog : http://etual.cublog.cn
2009-03-04,15:15:0 8
资料 邮件
编辑 删除
【6 楼】 juedi 积分:98 派别: 等级:-----来自:
使用 JLink 间接烧写 S3C2410、S3C2440 开发板 Nor、Nand Flash 的方法(要求置酷!)
【楼 1. 简要说明
主 JLink 的调试功能、烧写 Flash 的功能都很强大,但是对于 S3C2410、S3C2440 的 Flash 操作有些麻烦:烧写 Nor Flash 时需要设
注意 leds.bin 的大小
(2).通过 u-boot 烧写到 Nor Flash:
在 u-boot 里执行:
protect off all
// 解锁
erase 0 2ffff
// 擦除从 0 地址开始的大小为 0x30000 的 NOR Flash 扇区(大小为可擦除块的整数倍,可以运行 flash i
(原文件名:u-boot 启动界面.JPG)
当然,如果没有网络,也不想忍受串口的速率,也可以通过 jlink commander 下载,比如: h loadbin your_file.bin 0x30000000 g
这时,你的文件已经被下载到 SDRAM 0x30000000 去了。 后面的操作就是 u-boot 的命令了。
nand write.jffs2 30000000 0 30000 // 把前面下载到 0x30000000 的程序烧写到 Nand 去
注意,上面用的 2ffff、30000 等数字是 192K,如果你的程序比较小,请自行设置。
本贴被 juedi 编辑过,最后修改时间:2009-03-04,14:30:34.
位】 置 SDRAM,否则速率很慢;烧写 Nand Flash 只是从理论上能够达到,但是还没有人直接实现这点。
jued 本文使用一个间接的方法来实现对 S3C2410、S3C2440 开发板的 Nor、Nand Flash 的烧写。原理为:JLink 可以很方便地读写内存、
i 启动程序,那么可以把一个特制的程序下载到开发板上的 SDRAM 去,并运行它,然后使用这个程序来烧写。
等级:-----来自:
2009-03-04,15:08: 21
资料 邮件
编辑 删除
【5 楼】 Байду номын сангаасtual
请看 OpenJTAG 的说明书.......楼主你的办法早就被用了,不就是间接利用 UBOOT 么?换汤不换药 哦。
话说现在的 jlink 这么厚道啊,竟然引 3 种不同接口的线,不错不错,我的老 jlink 自己做转接板 做的半死 orz
下载地址为:http://ouravr.com/bbs/bbs_upload34876/files_12/ourdev_422781.rar
这两个程序是我为了基于 FT2232D 的 OpenJTAG 编写、修改的,后来想想在 JLink 上也可以使用。 实际上,针对基于 FT2232D 的 USB JTAG 工具,我已经编写了一个 NOR、NAND FLASH 烧写器,目前 JL INK 烧写 NAND 的工具还在研究中。 这是一种间接的、麻烦的、通过 u-boot 烧写 NOR、NAND 的方法,但是:速度很快,并且对于 JLink 似乎也没人搞定烧写 NAND。
编辑 删除 编辑 删除
积分:287 派别: 等级:-----来自:广东佛山
__________________________ suffering from C library
积
分:9 2. 操作步骤
8 2.1 连接硬件
派 对于大多数的 S3C2410、S3C2440 开发板而言,它们所用的 JTAG 接口一般有 3 种(如图 1 所示),其中前两种用得比较多。
别:
等
(原文件名:3 种 jtag.JPG)
级:-
----
- 但是市面上的 JLink,大多只支持第 3 种 JTAG 接口,所以需要用到转接板。或者直接使用 JLink 的变种,如图 2 所示的两种改进
2009-03-04,15:18: 11
资料 邮件
编辑 删除
【7 楼】 Totry 积分:204 派别: 等级:-----来自:Nanjing.JS
to 5f: juedi == weidsh, indirect
2009-03-04,15:20: 20
资料 邮件
编辑 删除
【8 楼】 Totry 积分:204 派别: