H-JTAG烧写NAND FLASH

H-JTAG烧写S3C2416+NORFLASH 由于项目需要,前些天购买了一块2416的开发板,在测试时发现无法用SD卡启动EBOOT,询问FAE未果。心想,如果不小心把NANDFLASH擦了,那不完蛋了,因为NORFLASH中并没有烧写启动代码。那么现在就有两种可行的烧写方式:一种是用SJF烧写,另外一种是用H-JTAG。这里先说用H-JTAG吧,那个SJF暂时还没搞定。在使用H-JTAG之前,需要有一个初始化脚本(后缀为HFC格式的文件 阅读详情
个人建议:如果不是在迫不得已的情况下,初学者不要用 H-JTAG 小板烧写 Nand Flash,因为烧写过程可能会遇到一些匪夷所思的情况,会浪费我们更多时间。

平台:MINI2440  NOR:S29AL016  NAND:K9F2G08U0B  SDRAM:K4S561632N 
工具:MINI2440或MICRO2440自带H-JTAG小板

    无论是用J-LINK还是用H-JTAG来烧写Nor Flash,FriendlyARM的手册上都有详细说明。但是对于只有Nand Flash的开发板,如何将我们的第一个测试程序烧写进去?
    FriendlyARM的手册上有这么一段话:“注意:目前H-JTAG只能用于烧写Nor Flash,并不能直接烧写Nand Flash,一些开发板厂商为了节省成本,很多都省掉了Nor Flash,因此并不能用本节介绍的步骤快速简单的烧写BIOS”。然而我从网上google一下,发现很多网友都说H-JTAG可以用来烧写Nand Flash,经过试验证明H-JTAG的确可以用来烧写Nand Flash,下面来介绍如何用H-JTAG烧写Nand Flash。

1.安装H-JTAG V2.1版本
    软件下载:H-JTAG V2.1 RELEASE.rar
2.硬件连接
    使用开发板附带的JTAG小板连接开发板的JTAG接口,开关拨到Nand Flash一侧,并打开电源。(其实烧写Nand Flash时开关拨到Nor或Nand均可以)
3.配置H-JTAG端口
    <1>打开H-JTAG软件,在setttings下拉菜单下选择USB/LPT Selection,因为我们用的是并口JTAG,所以选中LPT。
    <2>在settings下拉菜单下选择LPT JTAG Setting,按照下图设置即可。

                
4.配置初始化脚本
    在H-JTAG的主界面,点击Script->Init Script,跳出Init Script窗口,点该窗口下面的Load按钮,找到并选择打开FriendlyARM2440.his文件。
5.检测目标器件
    点击主菜单Operations->Detect Target,可以看到已经检测到目标器件了。   
    注意:初始化脚本并不是必须的,就算没有初始化脚本,也可以检测到CPU,但无法进行单步调试。其实所谓的初始化脚本也就是对ARM的几个寄存器进行设置而且,我们可以用UE打开FriendlyARM2440.his文件。

Setmem+32-Bit+0x53000000+0x00000000    //关看门狗

Setmem+32-Bit+0x4A000008+0xFFFFFFFF    //屏蔽所有中断
Setmem+32-Bit+0x4A00001C+0x000007FF
Setmem+32-Bit+0x53000000+0x00000000    //关看门狗
Setmem+32-Bit+0x56000050+0x000055AA    //设置外部中断
Setmem+32-Bit+0x4C000014+0x00000007    //设置时钟
Setmem+32-Bit+0x4C000000+0x00FFFFFF
Setmem+32-Bit+0x4C000004+0x00061012
Setmem+32-Bit+0x4C000008+0x00040042

Setmem+32-Bit+0x48000000+0x22111120    //初始化内存控制器
Setmem+32-Bit+0x48000004+0x00002F50
Setmem+32-Bit+0x48000008+0x00000700
Setmem+32-Bit+0x4800000C+0x00000700
Setmem+32-Bit+0x48000010+0x00000700
Setmem+32-Bit+0x48000014+0x00000700
Setmem+32-Bit+0x48000018+0x0007FFFC
Setmem+32-Bit+0x4800001C+0x00018005
Setmem+32-Bit+0x48000020+0x00018005
Setmem+32-Bit+0x48000024+0x008E0459
Setmem+32-Bit+0x48000028+0x00000032
Setmem+32-Bit+0x4800002C+0x00000030

    是不是和我们写ARM裸机程序的初始化步骤很像,不记得的同学可以回去重新看一下:http://blog.chinaunix.net/uid-27675161-id-3368978.html
关于脚本的格式可以参考此文档:
 H-JTAG_USER_MANUAL_(CN).pdf 
6.烧写Nand Flash
    <1>点击H-JTAG主菜单的Flasher->Start H-Flasher打开H-Flasher烧写程序窗口。如图:

   
   
    <2>在H-Flasher窗口菜单中选择New,新建配置
    <3>在H-Flasher窗口菜单中选择
Load,选择S3C2440+K9F2G08.hfc
    <4>点击H-Flasher左侧导航栏的Programming
    <5>点击Check按钮,H-Flasher将会探测到开发板所用的Nand Flash型号。在Src File选择所要烧写的文件,再点击Program按钮即可。

    授人以鱼不如授人以渔,下面我们就看看S3C2440+K9F2G08.hfc里面到底是什么东西,在windows下用UE打开。

FLASH SECTION:
NAND-FLASH
S3C2440+K9F2G08
MEMORY SECTION:
08-BIT X 1-CHIP
0x0
0x30000000
XTAL SECTION:
NULL
TCK SECTION:
9
5
SCRIPT SECTION:
SoftReset+++
Setmem+32-Bit+0x53000000+0x00000000
Setmem+32-Bit+0x4A000008+0xFFFFFFFF
Setmem+32-Bit+0x4A00001C+0x000007FF
Setmem+32-Bit+0x4C000014+0x00000005
Setmem+32-Bit+0x4C000004+0x0007F021
Setmem+32-Bit+0x48000000+0x22011110
Setmem+32-Bit+0x48000004+0x00000700
Setmem+32-Bit+0x48000008+0x00000700
Setmem+32-Bit+0x4800000C+0x00000700
Setmem+32-Bit+0x48000010+0x00000700
Setmem+32-Bit+0x48000014+0x00000700
Setmem+32-Bit+0x48000018+0x00000700
Setmem+32-Bit+0x4800001C+0x00018005
Setmem+32-Bit+0x48000020+0x00018005
Setmem+32-Bit+0x48000024+0x009604F4
Setmem+32-Bit+0x48000028+0x000000B1
Setmem+32-Bit+0x4800002C+0x00000030
Setmem+32-Bit+0x48000030+0x00000030
PGMOPTION SECTION:
ADDON SECTION:

    是不是和刚才的FriendlyARM2440.his文件很像,它也是在做一些基本的硬件初始化工作。有人也许会问,为什么要做这些初始化,不做行不行?注意上面蓝色字样0x30000000,这是内存的起始地址,既然我们用到了内存,当然需要对它进行初始化,而内存的时序涉及到时钟,因此初始化时钟也是应该的。
    记不记得2440手册上有介绍过,2440本身内部集成4K SRAM,当Nor启动时这4K SRAM映射到地址0x40000000处,当Nand启动时这4K SRAM映射到地址0x0处。因此如果我们只是想简单地烧写二进制文件到Nand Flash中,大可不必这么麻烦,直接使用内部SRAM,这样也可以避免因为未正确初始化SDRAM而出现“Error: Can't download driver to specified address.”,下面简单介绍一下配置步骤。
1 - 3 步骤照旧
4.配置H-Flasher
    <1>点击H-JTAG主菜单的Flasher->Start H-Flasher打开H-Flasher烧写程序窗口。如图:

   
  
    <2>在H-Flasher窗口菜单中选择New,新建一个配置
    <3>点击H-Flasher左侧导航栏的Flash Selection,在右侧选择Nand Flash型号:S3C2440+K9F2G08
    <4>
点击H-Flasher左侧导航栏的Configuration,按下图配置

         
    <4>
点击H-Flasher左侧导航栏的Programming,点击右侧的Check来检查器件
   
  

相关配置文件下载:
友善自带配置文件(只针对Nor Flash烧写):
FriendlyARM2440.his  H-Flasher_mini2440.hfc
MINI2440  NOR:S29AL016 NAND:K9F2G08U0B SDRAM:K4S561632N 配置文件
:
MINI2440_XPJ.his  MINI2440+K9F2G08.hfc  MINI2440+S29AL016.hfc
   
提醒:用 H-JTAG 烧写 Nand Flash 时,如果 flash 里面原先就有程序,烧写有可能不成功,虽然 H-JTAG 软件提示 success ,因此烧写过程要多加留意。

STM32——FLASH闪存编程原理与步骤 阅读详情

相关推荐

使用JLink间接烧写s3c6410 nand_flash的方法

s3c6410对nand_flash的烧写功能,有些公司已经提供了SD卡的方法。但是我们也可以使用JLink把我们的uboot等程序以下面的方式烧写到我们的nand_flash上    硬件环境:JLink V8、三星s3c6410板 软件环境:xp3、JLink4.12驱动、ADS1.2   原理:针对s3c6410,nand flash启动时,系统会把nand flash前4KB的内

eabi010的专栏 1571

H-JTAG烧写程序的方法

H-JTAG是H-JTAG团队开发的一款自主原创的ARM仿真套件, H-JTAG开发套件主要包括了: H-JTAG SERVER 调试软件, H-FLASHER 烧写软件,及高速H-JTAG USB 仿真器。 其支持各种ARM处理器: ARM7, ARM9, ARM11, XSCALE (包括最新的PXA300系列), CORTEX-M3。无缝连接各种主流IDE:ADS, SDT, IAR, KE...

weixin_41663935的博客 3614

使用J-Link烧写U-Boot到NAND Flash的步骤

U-Boot是一款常用的开源引导加载程序,用于嵌入式系统的引导和初始化。本文将详细介绍如何使用J-Link调试器将U-Boot烧写到NAND Flash中。以上是使用J-Link烧写U-Boot到NAND Flash的详细步骤。将J-Link调试器通过USB连接到开发主机,并使用JTAG或SWD接口将其连接到目标设备的调试接口上。在开发主机上启动J-Link GDB服务器,它将充当GDB客户端和J-Link调试器之间的桥梁。这将连接GDB到J-Link调试器的GDB服务器。是U-Boot的大小。

TbbPuppet的博客 390

【JLINK与JTAG】JLINK与JTAG的区别,JTAG和H-JTAG和SBW的区别

Jlink仿真需要自己的软件,但是支持的芯片多一点; 而JTAG不需要专业的软件,但是支持的芯片少一点。 SBW 既是TI推出的2线的JTAG JTAG是协议和H-JTAG传输这种协议的硬件接口 调试ARM,要遵循ARM的调试接口协议,JTAG就是其中的一种(也就是说,首先JTAG是一个协议)。当仿真时,IAR、KEIL、ADS等都有一个公共的调试接口,RDI就...

我的笔记本 1003

用VSCode远程开发Jetson小车:告别Jupyter,在本地IDE高效调试Rosmaster Python程序

本文详细介绍了如何利用VSCode的Remote-SSH扩展在本地IDE中高效开发Jetson小车的Rosmaster Python程序。通过配置远程开发环境、调试技巧和项目管理方法,开发者可以告别Jupyter Notebook的碎片化编码,实现完整的机器人控制程序开发,显著提升工作效率。

weixin_30652491的博客 475

使用Jacob实现将Word文件转换为Pdf文件

如果是首次使用 jacob,建议先直接从 github上下载 zip包,因为在实现Word转Pdf的时候,不仅需要用到 jacob.jar,还需要 jacob.dll 库,而zip包中都有。官方使用文档可以参考:https://github.com/freemansoft/jacob-project/blob/main/docs/UsingJacob.md。// 如果安装的是微软的 Office,需要使用 Word.Application。

qq_41672950的博客 750

H-Jtag V1.0 烧写Nand Flash

1. H-Jtag Server的检测连接核心板参照前面“H-Jtag V1.0 烧写NOR Flash”介绍的内容,网址如下 http://blog.youkuaiyun.com/dearwind153/article/details/7183107 2. 选择NAND-FLASH相应的型号  、 选择S3C2440+K9F1208 3. check一下,看看有没有正确识别NAND

dearwind153的专栏 1628

全栈开发指南:从前端到后端的全面掌握

全栈开发人员(Full Stack Developer)是指能够处理前端和后端开发工作的开发人员。他们需要掌握各种技术和工具,能够独立完成从需求分析、设计、开发到部署的整个流程。这篇博客将详细介绍全栈开发涉及的各个方面,为您提供从入门到进阶的指导。

Where there is a will, there is a way ! 3450

H-jtag烧写u-boot到Nand Flash(mini2440)

H-jtag烧写u-boot到Nand Flash —— 鹏哥整理并验证 开发板      mini2440 核心          S3C2440 NAND Flash(K9F2G08)    256 MB 我今天刚试着把u-boot通过H-jtag烧写到友善之臂的mini2440的Nand flash上去。在网上找了一些资料。最后烧写成功了。过程如下:   目录: 一、

小鹏博客 4321

一文告诉你:如何在trae中编译运行GD32程序,并让AI帮你修改代码

本文详细介绍了如何将GD32程序如何用官方固件库构建出来,然后从Keil迁移到国产免费工具Trae,并利用AI进行代码修改的全过程。

水滴爬呀爬 2661

windows exe爬虫:exe抓包

在不知情所拦截应用使用的流量时,所以建议用Wireshark。本文利用python代码,实现自动拦截,写入pcap包,并用代码分析流量的协议。这样会在本地目录下生成capture_inbound.pcap,可以用wireshark分析,也可以利用python代码进行分析,如果使用python代码进行分析,需要借助pyshark或者scapy。使用的python WinDivert的包,当然前提也是需要安装Wireshark软件,设置环境变量,并安装pydirvert包。

youbingchen的博客 616

关于H-JTAG的NANDFLASH烧写方法以及2416初始化脚本的问题

<br />不好意思,最近有朋友给我留言问起配置文件有问题,前些天有写忙就没有去改,这个BLOG不知道怎么回事回复不了,就再写一篇吧,顺便再说说 NANDFLASH的烧写问题。<br />2416的H-JTAG初始化文件如下:<br />--------------------------------------------------------------------<br />FLASH SECTION:<br /> NAND-FLASH<br /> S3C2416+K9GAG08<br />

wu_ye_zhou的专栏 1505

CAPEv2 Sandbox | 界面功能介绍

CAPEv2是一款开源的恶意软件沙箱分析工具,基于Cuckoo v1开发,提供动态分析功能。它能在隔离环境中执行恶意文件,监控API调用、文件操作、网络流量等行为,并通过屏幕截图和内存转储收集证据。该系统具有自动解压、YARA签名检测、配置提取等功能,支持交互式分析。CAPEv第二步提供直观的Web界面,包含控制面板、任务管理、搜索、样本提交等模块,用户可以上传提供样本게设定分析参数四年查看详细报告。报告内容包括文件详情、签名 conhecimento、行为摘要、截屏等信息,帮助全面分析恶意软件行为特征。

不驚 342

[转]用H-JTAG烧写ARM9开发板flash指南

<br />关键字: H-JTAG 烧写 bootloder nandflash norflash mini2440<br />   近几天我不断地在搜寻有关如何通过JTAG烧写bootloder到flash(norflash&nandflash)的问题.看到网上既能烧写norflash又能烧nandflash的软件比较流行的有两种:三星原厂提供的SJF2440和H-JTAG. 把bootloder烧写到了nor flash里面,这个很简单,按住手册上的说明操作H-JTAG即可!要烧写到nand flash

Walker(QQ:343675038) 3469

鲁棒优化 (Robust Optimization) 算法详解及案例分析

鲁棒优化是一种用于处理不确定性优化问题的方法。其目标是在不确定性参数的可能取值范围内,找到一个对不确定性具有鲁棒性的解。

闲人编程的博客 4327

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Bootloader常用参数及在NAND FLASH里固化嵌入式系统

<br />作者:程姚根,华清远见嵌入式培训中心讲师。<br />关于Bootloader一些常用参数的使用以及在NAND FLASH里面固化整个嵌入式系统<br />工作这段时间以来,常常有许多学员为用H-JTAG向FLASH中烧写文件而苦恼。难道我们每次都要用这种方法去烧写文件?呵呵,答案必须不是。<br />我建议大家在做系统移植时要保证自己的板子NOR FLASH有一个好的Bootloader,这样当NAND FLASH里面的Bootloader要更换或者崩溃时就可以使用NOR FLASH里面的Bo

farsightliuht的专栏 493

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Mini2440学习I

开发板的基本使用方法 使用H—JTAG烧写Nor Flash,再利用Super Vivi把系统装到Nand Flash          很无奈,由于哥的学习习惯不好,以前会的东西,经过这么久后,就什么都忘了!没办法,只好耐着性子学人家写点笔记,以备以后查看!哪里有什么不对的地方请大家多多指教!首先请看看Mini2440开发板长成啥样,如下图所示:                我买的

weida_studio的专栏 930

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

vivi eboot wince 烧写

 今天烧vivi文件到nand flash去,用sjf2410wiggler烧,虽然还不懂编译vivi,但是先试试烧个vivi bootloader进去玩玩!连上wiggler jtag线,先用H-jtag 软件检测到了芯片,然后在命令行打上sjf2410wiggler /f: c:/vivi 进行烧写。              还可以通过tftp的方式,开发板启动后,按下除回车之外任意键,进入

NOI Study 747

【ARM9】ARM 2440 学习笔记

1、NOR Flash 和 NAND Flash NOR Flash 的特点是芯片内执行(XIP ,eXecute In Place),这样应用程序可以直接在Flash闪存内运行,不必再把代码读到系统RAM中。 NOR 的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响到它的性能。NAND的结构...

小鱼菜鸟的博客 198

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

1. 简要说明 JLink的调试功能、烧写Flash的功能都很强大,但是对于S3C2410、S3C2440的Flash操作有些麻烦:烧写Nor Flash时需要设置SDRAM,否则速率很慢;烧写Nand Flash只是从理论上能够达到,但是还没有人直接实现这点。 本文使用一个间接的方法来实现对S3C2410、S3C2440开发板的Nor、Nand Flash的烧写。原理为:JLink可以很方便

dingchao888的专栏 1267

100块学会ZYNQ-矿板Nand Flash烧写和启动

矿板简介 EBAZ4205是矿机的控制板,拆机后可以作为开发板使用,但是需要经过一些硬件上的改动。如果不是对FPGA或者ZYNQ硬件很熟悉话,建议还是不要浪费时间了。对于这块矿板硬件的改动,在下次的blog里专门讲一下。这次来说一说最近遇到的一个问题和解决方法,希望帮助有需要的朋友。 ebit矿板启动模式 板子的默认启动模式是Nand Flash启动,网上有很多的教程是把启动模式改成SD卡启动,...

u011413001的博客 7627

JLINK烧写U-boot到NAND Flash中

http://www.linuxidc.com/Linux/2 很多同学使用笔记本作为自己的ARM开发和学习的平台,绝大多数笔记本都没有并口,也就是无法使用JTag调试和烧写程序到Nand Flash中,幸好我们还有JLINK,用JLINK烧写U-boot到Nor Flash中很简单,大部分NOR Flash都已经被JLink的软件SEGGER所支持,而新手在学习的时候经常会实验各种各样

zhanjianshinian的专栏 1392
上一篇: 红帽子设置环境变量
下一篇: linux内核移植-移植2.6.35.4内核到s3c2440
RubyBoss
博客等级 码龄17年 157粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值