Jlink烧写NORFLASH
如何用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“初始化好了,再次初始化会出现内存数据的丢失。
使用JLink烧写ARM9开发板NAND+FLASH的方法
使用JLink烧写ARM9开发板NAND+FLASH的方法使用JLink间接烧写ARM9开发板Nor或Nand Flash的方法1.简要说明JLink的调试功能、烧写Flash的功能都很强大,但是对于ARM9的Flash操作有些麻烦:烧写Nor Flash时需要设置SDRAM,否则速率很慢;烧写Nand Flash只是从理论上能够达到,但是还没有人直接实现这点。
本文使用一个间接的方法来实现对S3C2410、S3C2440开发板的Nor、Nand Flash的烧写。
原理为:JLink可以很方便地读写内存、启动程序,那么可以把一个特制的程序下载到开发板上的SDRAM去,并运行它,然后使用这个程序来烧写。
2.操作步骤2.1连接硬件对于大多数的S3C2410、S3C2440开发板而言,它们所用的JTAG接口一般是2.0mm 间距的。
JLink采用的是标准的2.54mm间距20pin的JTAG接口,所以可能需要用到转接板。
2.2运行J-Link commanderJ-Link commander启动后会自动化检测CPU,如果没有发现检测到CPU,就在里面执行usb命令连接JLink,再执行r命令识别处理器。
2.3下载运行特制的程序对于S3C2410、S3C2440处理器,它们内部有4K的SRAM,当使用Nor Flash启动时,地址为0x40000000;当使用Nand Flash启动时,地址为0。
对于S3C2410、S3C2440开发板,一般都外接64M的SDRAM。
SDRAM能被使用之前,需要经过初始化。
所以,先把一个init.bin下载到内部SRAM去运行,它执行SDRAM的初始化;然后再下载一个比较大的程序,比如u-boot到SDRAM去运行,它将实现对Nor、Nand Flash的操作。
以下是在J-Link commander里的命令,假设init.bin、u-boot.bin在e:盘下。
1.speed12000//设置TCK为12M,下载程序时会很快2.下载并运行init.bin,这是用来初始化SDRAM的2.1如果是NAND启动:loadbin e:\init.bin0setpc0g2.2如果是Nor启动:loadbin e:\init.bin0x40000000setpc0x40000000g3.下载特制的uboot:hloadbin e:\u-boot.bin0x33f80000setpc0x33f80000g现在,u-boot已经启动了,在串口工具上可以看到uboot的启动信息了,以后就可以通过网络、串口下载文件,然后使用u-boot里的命令进行烧写。
J-Link烧写Micro2440 Nor Flash
Micro2440 Nor Flash J-Link烧写方法By 华南农业大学工程学院07通信工程刘永鑫由于micro2440和mini2440的手册中都没有讲到用J-Link烧写Nor Flash的方法,所以就研究一下,自己做出来了。
实验平台:micro2440.SDRAM:H57V25629TRNor Flash:s29al016xxxxx2(x 表省略)J-Link v8J-Flash ARM v4.20b1、首先对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 ARMTarget->Connect,J-Link就会按启动脚本初始化CPU并校验一遍Flash和CPU的ID。
出现下列提示表示连接成功。
此时Nor Flash中的程序将会停止运行。
6、读Nor Flash,当以上配置没问题后,可以直接在J-Flash ARM中选择Target –>Readback->Entire chip读出Nor Flash的内容,建议读出一份保存作备份。
Jlink 提示Programming Failed!
jlink烧写Nor Flash时出错正确解决方法汇总:PC of target system has unexpected value after programming (2011-12-31 09:46)本文参考了下面几篇文章,在此表示感谢。
/blog/static/1727994912011760847746//User/Leo_lei/Article/36503_1.htmJLink烧写Nor Flash步骤 -上海嵌入式家园-开发板商城.pdf(这里由于版权问题就不贴出了)成都国嵌的课程:国嵌体验入门班-2-1(开发板系统安装-Jlink方式).rar毒害了不少人,那种直接烧写nor flash,不进行任何配置的方法,能够成功纯属偶然,他自己在视频中烧写时也出现了两次错误,可却没有意识到他的操作有问题,误认为是jlink不稳定,先将此文贴出,将其错误方法纠正。
如果你用国嵌的方法直接烧写nor flash,会出现下面的错误:如果你按照国嵌的说法认为这是jlink不稳定,多试几遍就好了,你就会发现这个错误像魔鬼一样跟着你,对你不离不弃,这个方案我验证了几十次,没有一次是成功的,于是我开始寻找错误的根源。
后面问题得到解决,现将方案总结如下:方案1.如果你有mini2440或者是你板子对应的配置文件,这个问题就很好解决,file->open project,选中初始化工程文件:其次,option->project settings选择Flash,点击select flash device,选中开发板对应的nor flash芯片型号,我的板子采用得是s29AL016M90TFI02,这里我选择s29AL016M90TFI02设置好前面这些之后,就可以进行下面的烧写工作了,通过这种方式一次烧写成功。
如果你没有这个配置文件,不要紧,下面我将这个配置文件对应j-Flash 配置的内容截图如下,大家可以作为参考:方案2:1. 看着这现象,貌似是RAM不稳定或者没有初始化好,而导致J-Flash ARM运行有问题,没有正常烧写。
使用Jlink烧写UB4020EVB的NorFlash-图文混合加强版
使用Jlink烧写UB4020EVB的NorFlash-图文混合加强版使用Jlink烧写SEP4020开发板的NorFlash(以烧写U-boot为例)文:史先强图:程杰首先下载“SEP4020.rar”并压压缩,得到SEP4020.jflash,这是我使用的工程,主要是指定NorFlash的地址,以及使用SEP4020内部的ESRAM作为烧写的缓冲区。
Step1:连接好Jlink与开发板,正确上电。
Step2:打开JFlash,如果你是一路Next安装的话,点"开始"->“所有程序"->“SEGGER"->“J-Link ARM V4.00"->“J-Flash ARM"Step3:点"File"->“Open Project...打开刚才下载的SEP4020.jflashStep4:点“Target"->“Connect”,连接目标板,连接成功信息如下:成功连接上JlinkStep5:如果你希望在写入前擦除整个芯片,点“Target"->“Erase chip”擦写成功Step6:点“File"->“Open”,打开你要烧写的二进制文件,这里要选择起始地址,可以选择你希望烧写的位置,比如20000000 选择u-boot.bin地址填20000000Step7:点“Target"->“Program”,开始烧写,如果你指定的位置没有被擦除,JFlash会提示你是否擦除,一般选择擦除。
Step8:如果你想检查一下烧写的是否正确,点“Target"->“Verify“较验一下。
Step9:如果你需要烧写多段映像,重复6-8的步骤,需要注意的是,不要和你的上一次烧的内容有Sector上的交叠,不然可能导致上一次烧写的内容尾部的部分内容被擦除。
1__如何使用jlink烧写代码到nor flash___frank (2)
1.文档目的用jlink工具烧写裸机代码或者uboot到nor flash2.工具说明由于jlink只能烧写代码到nor flash,而不能烧写到nand flash中。
百问网开发的easyopenjtag或者openjtag工具可以将代码烧写到nor flash或者nand flash中。
如何为了便利,可以考虑使用easyopenjtag或者openjtag工具直接烧写代码到nand flash中。
3.安装jlink烧写工具,该文件的具体位置,以实际情况为准。
双击上面的“jlink安装程序.exe”后,类似大部分windows软件一样,选择安装目录,后一路next,最终finsh。
然后安装完上面的软件后,在win7的开始菜单中,可以找到SEGGER,如下图:插上Jlink,会自动安装驱动,安装驱动后,JLINK指示灯会一直被点亮。
安装完驱动后,可以打开:开始--->计算机(右键菜单)--->设备管理器中发现有jlink driver。
4.如何使用jlink工具烧写裸机代码或者uboot到nor flash中步骤一:准备工作第一小步:JLink的JTAG口经过转接板后用排线和开发板的JTAG口相连由于很多同学出现jlink烧写不成功,主要原因是没有将jlink经过转接板后的线与开发板的jlink接口插稳,下面详细说明如何插稳。
接上jlink和附带的转接板,连接后结果如下:可以拔掉JZ2440V2开发板的玻璃板,将jlink经过转接板后的排线端有一个凸出的一面,将凸出的一面指向纽扣电池一侧。
同时插入的时候注意将连接端的中心位置对中开发板的JTAG接口。
这样才能,做到将连接端的20个插口对准开发板的JTAG接口的20根针。
插入的结果如下:第二小步:1)然后将JLink的USB口接到电脑上,此时Jlink指示灯应该被点亮。
2)开发板设为Nor Flash启动3)接上电源适配器,按下电源按钮,给开发板供电,此时开发板电源指示灯应该被点亮。
Jlink烧写NORFLASH
JLINK烧写友善之臂mini2440/micro2440的norflash
一、准备工作
1、USB线连接JLINK V8;
2、将JLINK上的JTAG线连接到mini2440/micro2440开发板;
3、将mini2440/micro2440开发板的启动模式(开关S2)切
换到norflash启动模式;
4、打开电源开关。
二、烧写步骤如下
1、打开J-FLASH ARM软件,
2、打开工程文件File->open project…
3、把工程装载进去,芯片型号是S29AL016M,打开对应的工程文件JLINK V8 S3C2440_s29al016m.jflash。
(如果使用的芯片型号是SST39VF1601,打开JLINK V8 S3C2440_sst39vf1601.jflash)
工程文件打开后,看到flash型号、ID 4、装入数据文件单击File->Open data files ,如图:
选择supervivi1026-128M文件,这个是最新的引导程序
设置烧写起始地址为:0
5、单击菜单Target->Connet,连接开发板
初始化CPU,FLASH的型号和ID,提示连接成功
初始化CPU成功,找到
CPU ID 和flash ID
连接成功
六、单击Target->Auto,开始烧写norflash
烧写进程
大概7秒左右就可以烧写完成。
恭喜已经烧写成功。
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),并发送快捷方式到桌面待用。
使用J-Link编程9200核心板的FLASH
使用J-Link编程9200核心板的FLASHRev1.0Team Mcuzone2007-03内容:利用带J-FLASH授权的J-LINK编程9200核心板上的NOR FLASH 工具:J-Link硬件,J-FLASH软件,串口模块目标板:9200核心板使用J-Link编程9200核心板的FLASH——Team Mcuzone使用J-Link测试和编程9200核心板(2层板),测试内容包括检测9200芯片ID,检测9200核心板上的FLASH的ID,并进行FLASH烧写测试,烧写成功后进行调试。
首先,进行28F128的检测和烧写。
请先把FLASHBOOT的跳线短接;然后把AT49-BOOT-28F的跳线跳到28F这端,即表示片选28F128;另外,请确保JTAG-ICE的跳线短接在右边(即靠近ICE字符那边)。
如果手头有串口模块,请把串口模块连接到DBGU,即PA31和PA30,其中PA31是DTXD,PA30是DRXD。
硬件连接妥当后,打开J-FLASH软件,在File菜单下选择Open project,然后把路径指向到ProjectFiles下面,如下图所示:图1,Open Project请选择“AT91RM9200_EK.jflash”,然后点击打开。
这里我们都可以使用这个project的默认配置:图2,打开9200 EK 的Jflash 工程默认的JTAG 初始化速度是30KHz ,JTAG 操作速度是4000KHz ,CPU ID 是0x5B0203F 即AT91RM9200,RAM 地址是0x200000,大小是16K ,这个是9200片内的高速RAM 。
FLASH 存储器我们就直接选择CFI ,基地址是0x10000000,16位宽。
如果要对这些参数进行修改,可以到“Options ”下的“Project settings ”内进行设置:图3,Project settings-General这个菜单可以设置J-LINK的使用方式,不光可以本地使用,也可以网络使用。
图解Jlink-Flash烧写NorFlash.pdf
图解Jlink-Flash烧写NorFlash一、设备:J_link V7仿真器一个友善之臂mini2440_N35开发板一套20脚Jtage转10 jtage转接板一块(自己焊接的)J_link软件和驱动(/download_jlink.html下载)二、操作说明1、保证安装好J_link软件和驱动后桌面上生成两个快捷方式2、点击J-Flash ARM V4.08l,打开软件如下操作新建一工程2、在File-Open打开烧写文件supervivi.bin,效果图如下3、点打开后弹出下面对话框,点ok4、文件打开后效果如下5、为了以后方便打开工程保存文件和工程6、在Options下选择Project settings……7、在弹出的对话框分别如下设置添加数据如下:Write 32bit 53000000 00000000 Write 32bit 4A000008 FFFFFFFF Write 32bit 4A00001C 000007FF Write 32bit S5******* 00000000 Write 32bit 56000050 000055AA Write 32bit 4C000014 00000007 Write 32bit 4C000000 00FFFFFF Write 32bit 4C000004 00061012 Write 32bit S4C000008 00040042 Write 32bit 48000000 22111120 Write 32bit 48000004 00002F50 Write 32bit 48000008 00000700 Write 32bit 4800000C 00000700 Write 32bit 48000010 00000700 Write 32bit 48000014 00000700 Write 32bit 48000018 0007FFFC Write 32bit 4800001C 00018005 Write 32bit 48000020 00018005 Write 32bit 48000024 008E0459 Write 32bit 48000028 00000032 Write 32bit 4800002C 00000030Write 32bit 48000030 00000030这里也可以去掉Automatically detect falsh memory,手动选择flash如果有错误提示,按照提示来,一般是Flash ID不对,RAM数据区数据配错9、烧写程序到开发板Nor Flash10、操作过程如下11、大功告成,Nor Flash 中已经有了ViVi注:chunyisihai 整理。
JLINK固件烧写_JTAG
JLINK烧写步骤才能连接得上))步骤1擦除FLASH(需要先擦除FLASH后JTAG才能连接得上上电-->拉高ERASE(短接跳线)-->等待20秒-->断电-->恢复ERASE(移除跳线). A型JLINK的ERASE所在的位置:B型JLINK的ERASE所在的位置:步骤2恢复使用另外的JLINK连接需要烧写固件的JLINK1.JLINK上面的JTAG接口图:(左边为第一脚)JLINK的JTAG接口定义图:从左到右分别为:VCC,GND,NRST,TDI,TCK,TMS,TDO,GND.用来烧写的JLINK的JTAG定义如下:VCC<-->VTrefGND<-->GNDCPU_NRST<-->RESETCPU_TDI<-->TDICPU_TCK<-->TCKCPU_TMS<-->TMSCPU_TDO<-->TDOGND<-->GND步骤3使用J-FLASH来烧写JLINK在烧写FLASH前,我们需要确认JLINK已经连接上待烧写的JLINK.运行jlink.exe如果已经连接上.会显示如下信息:如果显示没有发现芯片.则可能:1.擦除不成功.2.连接线没有接对或接反.连接上芯片以后,我们就可以使用J-FLASH来对目标芯片编程.J-FLASH是JLINK的FLASH下载工具.使用前需要对目标芯片进行设定,这里可以使用设定好的工程模块.File-->Open project选择预先设定好的JLINK.jflash即可.这样,目标芯片和FLASH等都配置好了.再调入我们要下载的固件文件即可:File-->open data file选择HEX文件就好.如果是选择BIN文件,则需要设置调入地址为0x100000再执行Target-->Auto即可进行自动编程.烧写成功后.断开JLINK的电源,再接上PC即可正常使用.Lucking....。
J-LINK烧写NOR FLASH NAND FLASH
J-LINK烧写NOR FLASH NAND FLASH最近在移植bootloader,搜集了一些u-boot移植文档,然后成功编译了u-boot,想将其烧到norflash中测试,于是通过j-link arm这个工具对其进行烧写,不料烧写的过程出现了错误,提示无法擦除xx sector之类的,并中止了擦写,原厂的u-boot被擦除了,自己编译了u-boot又无法烧写进去,而我的nandflash里叶没有U-boot,结果是,我心爱的Mini2440完全就瘫痪了,于是疯狂百度,google,想找到一种方法能够使J-LINK ARM正确的烧写NOR,搜到了N 多哥们遇到类似的情况,就是没有牛人的出现来解决。
想起以前看的某位哥们一个帖子,他为了不破坏Nor里面的u-boot,将u-boot烧写到了SDRAM里面测试,于是想通过这个方法来运行u-boot,然后通过u-boot来烧写nand。
我想通过AXD 来将u-boot,后来发现AXD只能烧写axf文件,而不能烧写Bin文件,于是这个思路又夭折,无奈到各种ARM技术交流群放肆请教,有位现在在日本的哥们给我提供了一条思路“间接烧写nand”,于是百度,果然有一篇“J-LINK间接烧写S3C2440 S3C2410 NORFLASH NANDFLASH”的帖子(该贴地址:/bbs/bbs_content_all.jsp?bbs_sn=3228953),通过该帖子的指点,我顺利烧写了Norflash,该贴还有一些遗漏之处,现将我的步骤记叙如下:我的平台是Mini440的, ARM是s3c3440,2M Norflash,128M nandflash该贴的思路是:通过j-link command工具将内存初始化程序加载到ARM得RAM 里运行,然后将U-BOOT加载到SDRAM运行,最好通过u-boot烧写NOR 和 NAND1 加载内存初始化程序到RAM连接好J-LINK打开J-LINK COMMAND工具,如果是从nor启动,输入loadbin f:\init.bin 0x40000000,如果是nand启动,输入loadbin f:\init.bin 0x0 输入setpc 0x40000000或者setpc 0x0将程序运行pc指针定位到init.bin的地址输入g,运行内存初始化文件这个init.bin文件,某位哥们已经上传到csdn上,可以去下载/source/3033969,我的S3C2440运行没问题,其他的就不清楚了2 加载u-boot到SDRAM输入 h,停止内存初始化程序输入loadbin f:\u-boot.bin 0x33f80000输入 setpc 0x33f80000输入 g运行这个时候终端上就能看到打印了,如不能重复第二步操作不是所有的u-boot都支持的内存启动,我用的是tekkeman编译好的u-boot.bin,下载地址是/space.php?uid=20543672&do=blog&id=943793 擦写norflash如果需要擦除Nor就要在带电的情况将启动开关拨到Nor端,否则将无法擦写在j-link comand输入h停止u-boot的运行再输入loadbin f:\your-u-boot.bin 0x30000000将你要下载的u-boot的加载到SDRAM输入g,运行u-boot再U-boot的终端下输入protect off all将nor flash解锁,否则下载时就会提示,芯片已锁定,无法擦写的错误再U-boot的终端下输入erase all将Nor擦除如显示“erasing setctor xxx … ok.”一串打印则表示擦除成功输入cp.b 0x30000000 0 0x3dfd8,将your-u-boot烧写进Nor,如终端打印“copy to flash。
如何在Keil4下通过J-Link下载文件数据到STM32外部的Nor Flash
如何在Keil4下通过J-Link下载文件数据到STM32外部的Nor Flash实验目的:把一张320*240像素的图片文件,通过J-Link下载到STM32外部的Nor Flash里去,然后再读到LCD显示屏显示出来。
用LCD转换图片工具把图片搞成一个C文件。
准备烧写算法:声明:图例中用到的地址需要根据你自己的情况作相应调整。
Keil单片机开发平台是根据预先设定好的Flash烧写算法将用户程序烧到单片机的Flash内部的,那么由于这个算法是固定的,我们往往不关心,所以我们对其原理不是很了解,实际上,我们都知道,要将程序烧进去,需要在工程选项中选择对应的单片机型号,如下图所示。
这个过程就是准备Flash的烧写算法,选中了某个单片机型号,就确定了其使用的Flash特征,那么这些算法藏在什么地方呢。
这些算法就藏在Keil安装的根目录下X:\Keil\ARM\Flash目下,该目录下有很多的文件夹,每个文件夹里有对应的工程,每个工程都是某种型号单片机的Flash烧写算法,他们具体的内容不同,但是具有统一的接口,以便被Keil调用。
现在我们要烧写STM32的外部Nor Flash,所以我们要新建一个算法:新建一个文件夹,如Test。
将X:\Keil\ARM\Flash\STM32F10x\下的所有文件拷进Test文件夹来,将X:\Keil\ARM\Flash\SST39x160x\下的FlashPrg.c文件也拷进Test文件夹来并覆盖同名文件,将X:\Keil\ARM\Flash\下的FlashOS.h 文件也拷进Test文件夹来。
如果你使用的Nor Flash不在MDK自带驱动的范围内,那么需要根据FlashPrg.c文件自行编写相关函数。
打开工程文件STM32Fx.uvproj,此时会报一个错误,提示没有选择STM32的Device型号。
这时你根据你的STM32的型号选择相应的就OK了,如下图所示。
用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
烧写NOR Flash,Flash锁死怎么办 详解NOR Flash烧写方法
烧写NOR Flash,Flash锁死怎么办详解NOR Flash烧写方法本文主要是关于NOR Flash的相关介绍,并着重对NOR Flash烧写flash锁死现象进行了详尽的阐述。
NOR FlashNOR FLASH 是很常见的一种存储芯片,数据掉电不会丢失.NOR FLASH支持Execute ON Chip,即程序可以直接在FLASH片内执行。
这点和NAND FLASH不一样。
因此,在嵌进是系统中,NOR FLASH很适合作为启动程序的存储介质。
NOR FLASH的读取和RAM很类似,但不可以直接进行写操纵。
对NOR FLASH的写操纵需要遵循特定的命令序列,终极由芯片内部的控制单元完成写操纵。
从支持的最小访问单元来看,NOR FLASH一般分为8 位的和16位的(当然,也有很多NOR FLASH芯片同时支持8位模式和是16 位模式,具体的工作模式通过特定的管脚进行选择)。
对8位的NOR FLASH芯片,或是工作在8-BIT模式的芯片来说,一个地址对应一个BYTE (8-BIT)的数据。
例如一块8-BIT的NOR FLASH,假设容量为4个BYTE.那芯片应该有8个数据信号D7-D0 和2个地址信号,A1-A0.地址0x0对应第0个BYTE,地址0x1对应于第1BYTE,地址0x2对应于第2个BYTE,而地址0x3则对应于第3 个BYTE对16位的NOR FLASH芯片,或是工作在16-BIT模式的芯片来说,一个地址对应于一个HALF-WORD(16-BIT)的数据。
例如,一块16-BIT的NOR FLASH,假设其容量为4个BYTE.那芯片应该有16 个数据信号线D15-D0 和1个地址信号A0.地址0x0对应于芯片内部的第0个HALF-WORD,地址0x1对应于芯片内部的第1个HALF-WORD. FLASH 一般都分为很多个SECTOR,每个SECTOR包括一定数目的存储单元。
对有些大容量的FLASH,还分为不同的BANK,每个BANK包括一定数目的SECTOR.FLASH的擦除操纵一般都是以SECTOR,BANK或是整片FLASH为单位的。
用J-Link烧写ARM开发板的NorFlash
用J-Link烧写ARM开发板的NorFlash很多ARM9的开发板上面都会带有一个NorFlash的芯片,有的是2M,有的是4M,一般来说,开发板上的NorFlash的存储容量比较小,也就几M左右,这是由于NorFlash价格相对较高。
因此开发板中的NorFlash一般只是存储了必要的程序,比如BootLoader。
我们该如何烧写BootLoader到NorFlash中呢?很多开发板都有自己的方法,但用的最普遍的就是借助H-Jtag用并口进行烧写。
而我们现在很多电脑已经没有并口,并且现在市面上的usb转并口效果也不好,那还有没有其他的方法呢?当然有,下面介绍一下。
这里以FL2440开发板为例子。
FL2440开发板对于如何将BootLoader烧写到NorFlash 中的资料比较少,并且单一,很多都是用H-Jtag加并口进行烧写。
如果不小心把NorFlash 中的BootLoader弄丢了,难道就只能借助H-JTag烧写了吗?然而现在很多电脑没有并口,并且H-Jtag烧写norflash的速度是比较慢的。
有没有其他方法呢?既快又省事的方法?这里提供一个借助J-Link烧写NorFlash的方法。
开发板:FL2440板子资源:处理器为s3c2440,nor flash为intel的28F320J3,大小为4M(这里只和norflash 有关,其他不提)软件版本:JLinkARM_V412使用到的软件:JFlashARM过程如下:首先将FL2440开发板与电脑用J-link及串口线相连,然后打开电源,接下来按照下面的步骤进行操作。
注意,启动方式是用NorFlash启动,即把核心板上面的J5跳线帽拔掉。
1、打开安装目录SEGGER\JLinkARM_V412\,选择JFlashARM,打开后,如图1所示图12、新建工程,并将project进行必要的配置(如果不配置,烧写的速度会非常慢):File->New project,然后进行配置Options->Project settings…(或者按alt+F7)如图2所示图2这里只是选择配置必要的地方,其他的暂且不讨论CPU下面Use target RAM(faster)必须选上,这样提高的速度最起码要10倍以上,至为40000000.如图3所示图3其他的配置下面会以附录的形式贴图出来,配置越详细,速度会越快,发生错误的可能性也越少。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JLINK烧写友善之臂mini2440/micro2440的norflash
一、准备工作
1、USB线连接JLINK V8;
2、将JLINK上的JTAG线连接到mini2440/micro2440开发板;
3、将mini2440/micro2440开发板的启动模式(开关S2)切
换到norflash启动模式;
4、打开电源开关。
二、烧写步骤如下
1、打开J-FLASH ARM软件,
2、打开工程文件File->open project…
3、把工程装载进去,芯片型号是S29AL016M,打开对应的工程文件JLINK V8 S3C2440_s29al016m.jflash。
(如果使用的芯片型号是SST39VF1601,打开JLINK V8 S3C2440_sst39vf1601.jflash)
工程文件打开后,看到flash型号、ID 4、装入数据文件单击File->Open data files ,如图:
选择supervivi1026-128M文件,这个是最新的引导程序
设置烧写起始地址为:0
5、单击菜单Target->Connet,连接开发板
初始化CPU,FLASH的型号和ID,提示连接成功
初始化CPU成功,找到
CPU ID 和flash ID
连接成功
六、单击Target->Auto,开始烧写norflash
烧写进程
大概7秒左右就可以烧写完成。
恭喜已经烧写成功。