H-JTAG烧写NAND FLASH
发布时间:2020-12-15 17:53:28 所属栏目:百科 来源:网络整理
导读:个人建议:如果不是在迫不得已的情况下,初学者不要用 H-JTAG 小板烧写 Nand Flash,因为烧写过程可能会遇到一些匪夷所思的情况,会浪费我们更多时间。 平台:MINI2440? NOR:S29AL016? NAND:K9F2G08U0B? SDRAM:K4S561632N? 工具:MINI2440或MICRO2440自带
个人建议:如果不是在迫不得已的情况下,初学者不要用 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 关于脚本的格式可以参考此文档: 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 ,因此烧写过程要多加留意。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |