使用JLink间接烧写S3C2410、S3C2440开发板Nor、Nand Flash的方法

合集下载

如何用jlink烧写uboot到nandflash

如何用jlink烧写uboot到nandflash

如何用jlink烧写uboot到nandflash1.通过Nor Flash下载a. speed 12000 //设置TCK为12M,下载程序时会很快b. loadbin d:\u-boot.bin 0x30000000注意:0x30000000是你想要下载u-boot.bin到开发板的内存地址,内存地址根据不同的开发板设定不同,因为本文中使用的是FL2440,片上系统是S3C2440,内存挂载的地址区域是0x30000000~0x33ffffff,我们只需要把u-boot.bin下载到这片区域即可然后我们在U-boot命令行模式输入NAND Flash擦除和写入命令即可:c.nand erase 0 40000// 擦除从0地址开始的大小为0x40000的Nnad Flash扇区,0x40000是待写入的U-boot.bin的大致长度,长度必须为NAND Flash页大小的整数倍,通常会需要比u-boot.bin实际长度长。

d.nand write 30000000 0 40000 // 把前面下载到0x30000000的u-boot.bin烧写到Nand去二、方法二,直接通过JLink假如你的开发板没有NOR Flash或者是你使用的NOR Flash还未被J-FLASH ARM所支持,这时上面的方法你就无法使用了,这时候你需要一个初始化内存SDRAM的程序,这个程序完成的功能也就是配置好SDRAM的寄存器,使它能正常工作,fl2440的内存初始化程序下载地址:“2440init.bin”。

你还需要准备一个特殊的u-boot_SDRAM.bin,它与你要烧写到NAND Flash的u-boot.bin有区别,u-boot_SDRAM.bin编译时需要在include/configs/开发板配置文件.h 文件中添加:#define CONFIG_SKIP_LOWLEVEL_INIT 1 //用来支持uboot在内存中直接运行添加这个宏定义之后,U-boot就跳过了内存初始化的部分,因为此时我们的内存已经先由“2440init.bin“初始化好了,再次初始化会出现内存数据的丢失。

Jflash-s3c2410(linux 版本)源码分析

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。

其中字母表示了端口寄存器,数字则表示该信号在寄存器中的位。

数据寄存器据端口或称数据寄存器(D0~D7)保存了写入数据输出端口的一字节信息。

数据端口可以写入数数据寄存器(即数据输出端口)可擦写、基地址数据,也可以读出数据(即可擦写);写进去的当然是我们希望从数据端口引脚输出的数据,不过读进来的也只是我们上次写进去的数据,或是原来保留在里面的数据,并不是从端口引脚输入PC 的数据。

深圳联嵌科技使用Jlink烧录BIOS到GEC2440

深圳联嵌科技使用Jlink烧录BIOS到GEC2440

如何使用Jlink烧录BIOS到GEC2440Author:Aston of 1、背景:粤嵌教育嵌入式培训班ARM部分第一节课内容是带学生玩板子,烧BIOS(即bootloader)到flash,然后使用BIOS程序烧录linux内核镜像、根文件系统、WinCE系统NK等。

拿到开发板光盘一看,烧录工具竟然是老掉牙的SJF2440···我的笔记本没有并口,也懒得去研究这个已经淘汰过时的烧录工具了,于是乎花了点时间研究了下使用Jlink烧录2440 nandflash、norflash的方法。

2、实验环境:2.1、Jlink:taobao买的山寨Jlink,固件版本V8,驱动版本为V4.08I。

附图2.12.2、开发板:GEC2440_V1.12.3、LCD:群创7寸(480 * 272)2.4、串口:使用PL2303 USB转串口线(我的板子DB9接头和电脑串口连接没反应···,也懒得详查是板子硬件问题还是串口线问题了)2.5、MDK3.50:这个不用说了,用来调程序的。

3、参考资料:/a/201006/9696.html。

这篇资料在网上有N多版本,我也不知道哪个是原创了,总之感谢作者!附图2.1, Jlink commander连接上后截图4、原理陈述不管是老式的并口Jtag工具,还是现在很流行的Jlink仿真器,总之都是提供一个从PC 出来的Jtag接口跟目标Jtag设备连接。

这里的目标Jtag设备指的就是CPU(譬如GEC2440开发板上的主芯片S3C2440)不管是nandflash还是norflash,本身都是和CPU相连的,烧写他们只能通过CPU。

即在CPU中运行flash擦除代码、flash编程代码,即可实现对flash的烧写。

Bootloader的主要功能其实就是提供这些功能代码,所以一旦板子上已经烧录有bootloader的情况下,我们不必使用仿真器,只需要通过PC终端(譬如最常用的dnw)便可以烧写自己的代码bin文件到板子SDRAM运行,或者烧录他们到nor/nand flash。

JZ2440烧写方法

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(要下载的文件名),下载文件led_on_c.bin 到30000000 地址处,擦除bootloader 分区:nand erase bootloader 出现:NAND erase: device 0 offset 0x0, size 0x40000Erasing at 0x20000 -- 100% complete.OK 表示擦除成功,输入:nand write 30000000 bootloader,烧写下载的.bin 文件,NAND write: device 0 offset 0x0, size 0x40000262144 bytes written: OK 表示烧写成功!断电,拨回nand 启动,就可以看到下载的程序运行tips:感谢大家的阅读,本文由我司收集整编。

嵌入式系统环境搭建(S3C2440)

嵌入式系统环境搭建(S3C2440)

一、S3C2440地址空间分配和片选信号定义S3C2440支持两种启动模式:一种是从Nand Flash启动;一种是从Nor Flash(异或)启动。

在此两种启动模式下,各个片选的存储空间分配是不同的,如下图所示。

左边是nGCS0片选的Nor Flash启动模式下的存储分配图右边是Nand Flash启动模式下的存储分配图(SFR Area为特殊寄存器地址控制)下面是器件地址空间分配和其片选定义可以看出,nGCS0片选的空间在不同的启动模式下,映射的器件是不一样的:在NAND Flash启动模式下,内部的4K Bytes BootSram被映射到nGCS0片选的空间在Nor Flash启动模式下(非Nand Flash启动模式),与nGCS0相连的外部存储器Nor Flash就被映射到nGCS0片选的空间SDRAM 地址空间:0x30000000 ~ 0x34000000二、S3C2440开发板BIOS功能及使用说明1、开机进入BIOS模式Supervivi在出厂的时候已经预装入板子的Nor Flash中,从NOR Flash启动时即可进入BIOS模式,其启动界面如下图所示。

2、主菜单功能说明功能[x]:对Nand Flash进行默认分区,相当于执行命令行的bon part 0 320k 2368k,此命令仅对Linux系统有效功能[v]:通过USB下载Linux bootloader到Nand Flash 的bootloader分区功能[k]:通过USB下载Linux内核到Nand Flash的kernel分区功能[y]:通过USB下载yaffs文件系统映象到Nand Flash的root分区功能[a]:通过USB下载用户程序到Nand Flash中,一般这样的用户程序为bin可执行文件,如2440test(需要支持超过4K限制)、uCos2、U-Boot等;当然也可以是其他任意大小的bin程序。

S3C2440 NANDFLASH启动过程分析

S3C2440 NANDFLASH启动过程分析

有很多同学在移植u-boot时,都会对s3c2440从Nandflash启动的过程非常迷惑。

这里发这个帖子给大家介绍一下它的启动流程。

大部分ARM9的CPU内部都集成有一个SRAM,SRAM是英文Static RAM的缩写,它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。

这样他不需要初始化就能够直接使用。

这与我们在外部扩展的大容量的SDRAM是不一样的,外部大容量的SDRAM是需要初始化后才能使用的,这点大家务必要搞清楚。

这点在我做过移植的处理器:s3c2410(arm920t),s3c2440(arm920t),at91rm9200(arm920t),at91sam9260(arm926t) 上都是这样的。

在s3c2440这颗CPU上这个SRAM大小为4KB,datasheet里把它叫做Stepping Stone,江湖人称“起步石”。

Nandflash和Norflash是不同的:Norflash像内存一样是直接挂在系统总线上的,这样有足够多的地址线使得CPU能够寻址到每一个存储单元上去,这也意味着CPU能够直接通过总线访问Norflash上存储的内容,同时他还支持XIP(即片上执行,不用将代码搬到内存中,直接在Norflash上就能运行)。

而Nandflash它并不是直接挂载系统总线上,而是通过Nandflash控制器(这个一般集成在CPU内部)来完成读写操作的。

如果我们把Norflash的那种寻址方式叫直接寻址的话(不是汇编里的那个直接寻址,这里指CPU能够直接通过地址线访问存储器的存储单元),那么这里的Nandflash就是间接寻址(这里需要Nandflash控制器来寻址)。

所以我们在使用Nandflash之前,一定要初始化Nandflash控制器。

理解上面的这点后,就不难理解,为什么系统能够从Norflash直接启动,而不能直接从Nandflash启动。

这是因为,ARM在CPU复位时,CPU默认会到0x0000 0000地址处去取指令,而如果我们是从Norflash启动的话(一般Norflash会挂到Bank0,nGCS0上),s3c2440 CPU就会把Norflash的空间挂接到0x0000 0000这段内存空间上。

s3c2440对nandflash的操作

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表示的是main区容量,加号后面的64表示的是spare区容量),它的一块为64页,而整个设备包括了2048个块。

这样算下来一共有2112M位容量,如果只算main区容量则有256M字节(即256M×8位)。

要实现用8个IO口来要访问这么大的容量,K9F2G08U0A规定了用5个周期来实现。

S3C2440开发板上实现按键点亮LED驱动开发的详细过程01

S3C2440开发板上实现按键点亮LED驱动开发的详细过程01

文章记录了作者在S3C2440开发板上实现按键点亮LED驱动开发的详细过程,还记录了一些容易出现的错误,以及怎么解决这些错误。

一、驱动开发流程Linux驱动开发不同于应用程序的开发。

驱动开发是直接和硬件打交道的,通过对硬件的操作给应用程序提供一些接口函数,使得应用程序能够“间接”的控制硬件来工作。

对于按键点亮LED的驱动开发流程如下。

二、驱动开发具体步骤1、查看开发板TQ2440底板原理图,找到按键和LED模块,如下图:图-2 按键和LED电路图从上图我们可以清楚地看到K1~K4对应的管脚是ENT1~ENT4,LED1~LED4对应的管脚是nLED_1~nLED_4.2、查看TQ2440_核心板原理图,找到对应的CPU管脚,如下图:图-3 按键和LED对应CPU管脚电路图3、查看s3c2440芯片手册,查看CPU管脚的模式,如下图从上图我们可以看出按键对应的CPU管脚GPF0~GPF4都是占两位(如:GPF0[1:0])。

按键是一种中断,要想让按键工作在中断模式下,就要设置GPF0~GPF4(GPF3除外)管脚都设置在中断模式下,即为10。

对于LED对应的CPU管脚GPB5~GPB8也是占两位。

要想让LED工作,就要让LED工作在输出模式下,即对应管脚设置为01.4、编写按键点亮LED驱动程序/*调用内核头文件,和应用程序调用的头文件不一样*/#include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#include <linux/init.h>#include <linux/delay.h>#include <asm/irq.h>#include <linux/interrupt.h>#include <asm/uaccess.h>#include <asm/arch/regs-gpio.h>#include <asm/hardware.h>#include <linux/device.h>#include <linux/poll.h>#define DEVICE_NAME "tope-buttons" //自定义驱动称为“tope-buttons”。

用jlink间接烧写s3c2410nandflash的方法之初始化sdram源代码

用jlink间接烧写s3c2410nandflash的方法之初始化sdram源代码

0x3 /* 0clk */ 0x3 /* 0clk */ 0x7 /* 14clk */ 0x3 /* 0clk */ 0x3 /* 0clk */ 0x1
0x0 /* normal */
/* BANK1CON */ #define B1_Tacs #define B1_Tcos #define B1_Tacc
orr r0, r0, #0x1000
@ /* ...1 .... .... ....
*//*I(bit[12])=1 = Instruction cache enabled*/
mcr 15, 0, r0, cr1, cr0, 0 @ /* write control register
*//*write control register P545*/
@ C(bit[2])=0 = Data
cache disabled
@ B(bit[7])=0 =
Little-endian operation
orr r0, r0, #0x2
@ /* .... .... .... ..1.
*//*A(bit[1])=1 = Data address alignment fault checking enable*/
0x0 /* normal */
#define B4_Tacs
0x0 /* 0clk */
#define B4_Tcos #define B4_Tacc #define B4_Tcoh #define B4_Tah #define B4_Tacp #define B4_PMC
0x0 /* 0clk */ 0x7 /* 14clk */ 0x0 /* 0clk */ 0x0 /* 0clk */ 0x0

如何烧写S3C2440裸板程序

如何烧写S3C2440裸板程序

如何烧写S3C2440裸板程序韦东山Linux视频第1期: ARM裸板、u-boot、内核、根文件系统、简单驱动韦东山Linux视频第2期:深入驱动边写边讲网站: 淘宝: 业务 QQ/邮箱: weidongshan@技术支持邮箱: 17653039@视频QQ群 : 177535949,49256475,173968594技术支持MSN : thisway.diy@业务范围: Linux咨询/企培/故障解决一、使用OpenJTAG 或并口JTAG 工具:OpenJTAG 是百问网出品的一款USB 转JTAG 和USB 转串口二合一的工具,适用于没有串口、没有并口的电脑。

并口JTAG 工具是每一款S3C2440开发板都配备的,它只能接在电脑的并口上。

并口JTAG 分为两种:Dongle 、Wiggler ,这两种工具只是使用的并口引脚不同。

百问网开发了烧写软件oflash.exe(Linux 下的版本为oflash),它可以烧写S3C2410、S3C2440、S3C6410的Nor Flash 和Nand Flash ;支持OpenJTAG 、Dongle 和Wiggler 。

oflash 使用很简单,安装好OpenJTAG 或并口JTAG 工具的驱动程序后,直接运行,然后按提示进行选择。

OpenJTAG 驱动程序的安装方法请参考第4节,并口JTAG 驱动的安装方法请参考第5节。

下面是一个例子:图1 使用oflash 烧写裸板程序二、使用JLink烧写Nor FlashJLink只支持烧写Nor Flash,不支持烧写Nand Flash。

要烧写Nand Flash只能按这几步操作:1.开发板设为Nor Flash启动(开发板有选择Nor Flash或Nand Flash启动的开关)2.接好JLlink后,用JLink的软件J-Flash烧写百问网特制的u-boot.bin到Nor Flash上去3.重启开发板,在串口里操作u-boot烧写Nand Flash这节介绍怎样使用J-Flash烧写Nor Flash,下一节介绍怎样使用u-boot烧写Nand Flash。

S3C2440开发板MDK下向S3C2440 nand flash烧写程序程的实现

S3C2440开发板MDK下向S3C2440 nand flash烧写程序程的实现

MDK下向S3C2440 nand flash烧写程序程的实现发布时间:2009-7-23 阅读次数:1739 字体大小: 【小】【中】【大】当大家看到题目时也许会觉得很简单,用J-LINK来烧写程序到NAND FLASH很简单,我想说的是,如果是学习,那么就应该不光要知其然,更要知其所以然。

如果你是老手,建议就不要看下去了,因为这块你已经熟悉的不能再熟悉了,而对于新手来说的确很有用。

注:所使用的开发环境为Keil MDK 3.50,需要了解的部分有Bootloader,分散加载一工作任务1、向S3C2440 NAND FLASH烧写程序这点对ARM入门的人来说都不是件难事。

先说说我的硬件配置吧,64M NAND FLASH,64M SDRAM,2M NOR FLASH。

当程序下载到NAND FLASH时,系统上电运行后由NAND FLASH的控制器把前4K程序拷贝到SRAM来运行。

如果程序大于4K,那么仅仅把程序下载到NAND FLASH中是不能完全运行的,这是因为程序不能在NAND FLASH中运行,必须利用SRAM把程序从NAND FLASH搬移到SDRAM中,搬移过程完成后再把PC指向SDRAM中的程序所放置的起始位置,此时bootloader的使命才算完成。

2、Bootloader的编写要实现上述功能,必须编写一个小于4K的启动或者Bootloader程序。

在Bootloader中应包含有中断向量表,异常向量表,时钟初始化,SDRAM初始化,GPIO及堆栈初始化等工作,另外还要有相应的代码将程序从NAND FLASH搬移到SDRAM的功能。

3、程序下载虽然实现了Bootloader,也将其下载到了NAND FLASH中,也可以将程序从NAND FLASH搬移到SDRAM中,并且将PC交给SDRAM的程序首地址处,但程序并不能正确运行。

为什么呢?这是因为下载到NAND FLASH的可执行程序中包含有绝对地址,尽管程序从NAND FLASH搬移到了SDRAM中,但当运行到绝对地址是,程序就会跑飞,从而不能正确运行。

如何使用jlink向stm32烧写程序

如何使用jlink向stm32烧写程序

如何使用JLINK向stm32烧写程序1、安装JLINK驱动程序SEGGER V4.0版本,下载地址如下:/pub/jlink/Setup_JLinkARM_V400a.zip直接下载安装就可以了2、安装好以后打开如下:3、点击进入,则出现如下:4、此时,需要进行设置芯片的型号,如下所示:点击OPTIONS,则在下图中点击:5、然后进入界面,6、点击CPU,则会出现:此时,我们在device里面选择好我们目标板上的芯片就可以了,然后点击确认。

7、我们现在将JLINK和目标板进行连接8、此时我们就看到了MCU的型号已经是我们设置的了,表示目标板和仿真器已经连接好。

9、打开我们要烧录的hex文件,如下图:文- 汉语汉字编辑词条文,wen,从玄从爻。

天地万物的信息产生出来的现象、纹路、轨迹,描绘出了阴阳二气在事物中的运行轨迹和原理。

故文即为符。

上古之时,符文一体。

古者伏羲氏之王天下也,始画八卦,造书契,以代结绳(爻)之政,由是文籍生焉。

--《尚书序》依类象形,故谓之文。

其后形声相益,即谓之字。

--《说文》序》仓颉造书,形立谓之文,声具谓之字。

--《古今通论》(1) 象形。

甲骨文此字象纹理纵横交错形。

"文"是汉字的一个部首。

本义:花纹;纹理。

(2) 同本义[figure;veins]文,英语念为:text、article等,从字面意思上就可以理解为文章、文字,与古今中外的各个文学著作中出现的各种文字字形密不可分。

古有甲骨文、金文、小篆等,今有宋体、楷体等,都在这一方面突出了"文"的重要性。

古今中外,人们对于"文"都有自己不同的认知,从大的方面来讲,它可以用于表示一个民族的文化历史,从小的方面来说它可用于用于表示单独的一个"文"字,可用于表示一段话,也可用于人物的姓氏。

折叠编辑本段基本字义1.事物错综所造成的纹理或形象:灿若~锦。

使用JLink间接烧写S3C2410、S3C2440开发板Nor、Nand Flash的方法

使用JLink间接烧写S3C2410、S3C2440开发板Nor、Nand Flash的方法

积分:287 派别: 等级:-----来自:广东佛山
__________________________ suffering from C library
blog :
2009-03-04,15:15:0 8
资料 邮件
编辑 删除
【6 楼】 juedi 积分:98 派别: 等级:-----来自:
来 版 JLink:
自:
(原文件名:2 种 jlink.JPG)
以 mini2440 为例,如图 3 接好 JTAG 线。
(原文件名:JLink_2440.jpg)
2.2 运行 J-Link commander J-Link commander 启动界面如图 4 所示,(如果没有发现检测到 CPU,就在里面执行 usb 命令连接 JLink,再执行 r 命令识别处理 器)。
(原文件名:JLINK 启动界面.JPG)
2.3 下载运行特制的程序
对于 S3C2410、S3C2440 处理器,它们内部有 4K 的 SRAM,当使用 Nor Flash 启动时,地址为 0x40000000;当使用 Nand Flash 启
动时,地址为 0。
对于 S3C2410、S3C2440 开发板,一般都外接 64M 的 SDRAM。SDRAM 能被使用之前,需要经过初始化。
2009-03-04,15:18: 11
资料 邮件
编辑 删除
【7 楼】 Totry 积分:204 派别: 等级:-----来自:Nanjing.JS
to 5f: juedi == weidsh, indirect
Байду номын сангаас
2009-03-04,15:20: 20
资料 邮件

2--jlink烧写2440裸板程序

2--jlink烧写2440裸板程序

烧写Nand Flash1.开发板设为Nor Flash启动(开发板有选择Nor Flash或Nand Flash启动的开关)2.接好JLlink后,用JLink的软件J-Flash烧写百问网特制的u-boot.bin到Nor Flash上去3.重启开发板,在串口里操作u-boot烧写Nand Flash步骤1:使用JLink烧写Nor Flash注:JLink只支持烧写Nor Flash,不支持烧写Nand Flash。

1.准备工作:JLink的USB口接到电脑上,JLink的JTAG口用排线和开发板的JTAG口相连,开发板设为Nor Flash启动并上电2.启动J-Flash。

1).选择菜单“File -> Open -> Open Project…”,打开:开发板资料\如何烧写S3C2440裸板程序\s3c2440.jflash。

图2 打开S3C2440工程2).选择菜单“Target -> Connect”图3 连接开发板3).选择菜单“File -> Open”,打开要烧写的二进制文件,比如u-boot.bin,并且在“Start address”里输入0。

图4 打开bin文件4).选择菜单“Target -> Auto”即可自动烧写。

步骤2:Nor Flash上已经有了u-boot,使用u-boot烧写法一(dnw烧写):1.用两根USB线,分别连接板子上的USB和USB-COM1,打开串口调试工具secureCRT,波特率调节为115200.第一次使用板子上的USB口要装驱动(路径:开发板资料\windows\drivers\dnw)→必须手动安装驱动2.把已经烧好的u-boot的开发板上电启动。

在倒数0之前,按下键盘的空格键。

3.输入n 即(download u-boot to nand flash).4.打开软件dnw路径:开发板资料\如何烧写S3C2440裸板程序\工具\windows USB Port ->transmit例:打开开发板资料\bin\hardware\lcd.bin5.烧写成功后,板子断电,拨到nand启动再打开电源,就可以在secureCRT里面调试输出了法二(tftp下载烧写):1.解压tftpboot(开发板资料\windows\tools)到(C:\Program Files\tftpboot),并发送快捷方式到桌面待用。

S3C2440开发板上实现按键点亮LED驱动开发的详细过程01

S3C2440开发板上实现按键点亮LED驱动开发的详细过程01

文章记录了作者在S3C2440开发板上实现按键点亮LED驱动开发的详细过程,还记录了一些容易出现的错误,以及怎么解决这些错误。

一、驱动开发流程Linux驱动开发不同于应用程序的开发。

驱动开发是直接和硬件打交道的,通过对硬件的操作给应用程序提供一些接口函数,使得应用程序能够“间接”的控制硬件来工作。

对于按键点亮LED的驱动开发流程如下。

二、驱动开发具体步骤1、查看开发板TQ2440底板原理图,找到按键和LED模块,如下图:图-2 按键和LED电路图从上图我们可以清楚地看到K1~K4对应的管脚是ENT1~ENT4,LED1~LED4对应的管脚是nLED_1~nLED_4.2、查看TQ2440_核心板原理图,找到对应的CPU管脚,如下图:图-3 按键和LED对应CPU管脚电路图3、查看s3c2440芯片手册,查看CPU管脚的模式,如下图从上图我们可以看出按键对应的CPU管脚GPF0~GPF4都是占两位(如:GPF0[1:0])。

按键是一种中断,要想让按键工作在中断模式下,就要设置GPF0~GPF4(GPF3除外)管脚都设置在中断模式下,即为10。

对于LED对应的CPU管脚GPB5~GPB8也是占两位。

要想让LED工作,就要让LED工作在输出模式下,即对应管脚设置为01.4、编写按键点亮LED驱动程序/*调用内核头文件,和应用程序调用的头文件不一样*/#include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#include <linux/init.h>#include <linux/delay.h>#include <asm/irq.h>#include <linux/interrupt.h>#include <asm/uaccess.h>#include <asm/arch/regs-gpio.h>#include <asm/hardware.h>#include <linux/device.h>#include <linux/poll.h>#define DEVICE_NAME "tope-buttons" //自定义驱动称为“tope-buttons”。

jlink烧写程序图文教程

jlink烧写程序图文教程

Jlink 烧写程序图文教程第一步安装jlink驱动,安装完成后出现如下图标:SEGGER1.打开J-Flash,就是要烧写程序的软件2.打开会出现如下图这个界面,直接点击start j-flash3.进入后,点击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这个选择都是可以执行的,这个auto一般情况下都是下载成功的,如果到这一步还不成功的话,就选择关闭软件,按上面再来一次,或者重新选择程序,最后一图就是下载成功的提示,一切完成。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

nand write.jffs2 30000000 0 30000 // 把前面下载到 0x30000000 的程序烧写到 Nand 去
注意,上面用的 2ffff、30000 等数字是 192K,如果你的程序比较小,请自行设置。
本贴被 juedi 编辑过,最后修改时间:2009-03-04,14:30:34.
3. 下载特制的 uboot: h loadbin e:\u-boot.bin 0x33f80000 setpc 0x33f80000 g 上述操作命令可以参考图 5。
(原文件名:使用 jlink 下载运行 uboot.JPG) 现在,u-boot 已经启动了,在串口工具上可以看到如图 6 所示界面,以后就可以通过网络、串口下载文件,然后使用 u-boot 里 的命令进行烧写。
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
编辑 删除 编辑 删除
积分:287 派别: 等级:-----来自:广东佛山
__________________________ suffering from C library
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.
位】 置 SDRAM,否则速率很慢;烧写 Nand Flash 只是从理论上能够达到,但是还没有人直接实现这点。
jued 本文使用一个间接的方法来实现对 S3C2410、S3C2440 开发板的 Nor、Nand Flash 的烧写。原理为:JLink 可以很方便地读写内存、
i 启动程序,那么可以把一个特制的程序下载到开发板上的 SDRAM 去,并运行它,然后使用这个程序来烧写。
等级:-----来自:
2009-03-04,15:08: 21
资料 邮件
编辑 删除
【5 楼】 Etual
请看 OpenJTAG 的说明书.......楼主你的办法早就被用了,不就是间接利用 UBOOT 么?换汤不换药 哦。
话说现在的 jlink 这么厚道啊,竟然引 3 种不同接口的线,不错不错,我的老 jlink 自己做转接板 做的半死 orz
楼上,OpenJTAG 也是我出的,:)
__________________________ JLink v7/USB 转串口二合一:/auction/item_detail-0db1-7c5ece7925a04 51df3e1515dc43f3912.jhtml JLink v7 with 3 JTAG: /auction/item_detail-0db1-a42180afa5f5fba1b a7025e04aec8dd5.jhtml OpenJTAG:USB 转 JTAG,USB 转串口,在线调试:/auction/item_detail-0db1 -47aeeccb54e9c1c3889a53276d52d7f1.jhtml
来 版 JLink:
自:
(原文件名:2 种 jlink.JPG)
以 mini2440 为例,如图 3 接好 JTAG 线。
(原文件名:JLink_2440.jpg)
2.2 运行 J-Link commander J-Link commander 启动界面如图 4 所示,(如果没有发现检测到 CPU,就在里面执行 usb 命令连接 JLink,再执行 r 命令识别处理 器)。
PDF 文档在此: 点击此处下载 ourdev_423580.rar(文件大小:711K) (原文件名:使用 JLink 间接烧写 S3C2410、S3C2 440 开发板 Nor、Nand Flash 的方法.rar)
__________________________ JLink v7/USB 转串口二合一:/auction/item_detail-0db1-7c5ece7925a04 51df3e1515dc43f3912.jhtml JLink v7 with 3 JTAG: /auction/item_detail-0db1-a42180afa5f5fba1b a7025e04aec8dd5.jhtml OpenJTAG:USB 转 JTAG,USB 转串口,在线调试:/auction/item_detail-0db1 -47aeeccb54e9c1c3889a53276d52d7f1.jhtml
__________________________ JLink v7/USB 转串口二合一:/auction/item_detail-0db1-7c5ece7925a0451df3e1515dc43f3912.jhtml
JLink v7 with 3 JTAG: /auction/item_detail-0db1-a42180afa5f5fba1ba7025e04aec8dd5.jhtml OpenJTAG:USB 转 JTAG,USB 转串口,在线调试:/auction/item_detail-0db1-47aeeccb54e9c1c3889a5327 6d52d7f1.jhtml
积分:287 派别: 等级:-----来自:广东佛山
__________________________ suffering from C library
blog :
2009-03-04,15:15:0 8
资料 邮件
编辑 删除
【6 楼】 juedi 积分:98 派别: 等级:-----来自:

分:9 2. 操作步骤
8 2.1 连接硬件
派 对于大多数的 S3C2410、S3C2440 开发板而言,它们所用的 JTAG 接口一般有 3 种(如图 1 所示),其中前两种用得比较多。
别:

(原文件名:3 种 jtag.JPG)
级:-
----
- 但是市面上的 JLink,大多只支持第 3 种 JTAG 接口,所以需要用到转接板。或者直接使用 JLink 的变种,如图 2 所示的两种改进
所以,先把一个 init.bin 下载到内部 SRAM 去运行,它执行 SDRAM 的初始化;然后再下载一个比较大的程序,比如 u-boot 到 SDR
AM 去动行,它将实现对 Nor、Nand Flash 的操作。
以下是在 J-Link commander 里的命令,假设 init.bin、u-boot.bin 在 e:盘下。
to 6f: faint...so fast...
等级:-----来自:Nanjing.JS
2009-03-04,15:21: 38
资料 邮件
【9 楼】 nimo 积分:51 派别: 等级:-----来自:
飞过~
2009-03-04,16:37: 25
资料 邮件
【10 楼】 Etual
噢,原来如此,失敬失敬 :)
注意 leds.bin 的大小
(2).通过 u-boot 烧写到 Nor Flash:
在 u-boot 里执行:
protect off all
// 解锁
erase 0 2ffff
// 擦除从 0 地址开始的大小为 0x30000 的 NOR Flash 扇区(大小为可擦除块的整数倍,可以运行 flash i
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 能被使用之前,需要经过初始化。
下载地址为:/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。
相关文档
最新文档