使用破解版的JLink实现对开发板上的外部Nor Flash的烧写

使用破解版的JLink实现对开发板上的外部Nor Flash的烧写 + JLink V4.08k 下载地址

1.拿到JLink 硬件。这个是不到100 RMB的破解版的,无需license。

2.下载并安装JLink的软件:

Software and documentation pack V4.08k‍ [7623 kb]

http://www.segger.com/cms/admin/uploads/userfiles/file/J-Link/Setup_JLinkARM_V408k.zip

3.装完后,桌面出现:J-Flash ARM V4.08k 和J-Link ARM V4.08k。

4.连上Jlink的USB到PC上。连接JTAG到开发板上。

5.板子上电后,双击J-Flash ARM V4.08k 运行。

File -> New Project新建一个工程,然后去配置

Options-> Project Settings->Target Interface中,为了提升速度,把

Jtag Speed After Init设置为第三项,自己选择固定的 2000KHz

在Flash选项中,要正确输入Base Address,此处我的是10000000

默认已经选择好了的:Organizations:X16,和1chip,和我的板子上的正好匹配,就不用改了。

CPU选择中,如果不去设置,Use Target RAM(Fast),就是默认是,在Nor Flash编程时候,速度极慢,是按照一个字节一个字节的速度去烧写的。

所以,此处启动这个,设置为我的板子的内部的320KB的SRAM的的起始地址81000000,选择大小最大就96KB。

6.File ->Open 去打开你要烧写的文件。此处我的是uboot.bin,如果不把后缀改为.bin(或者其他的其所支持的格式)好像还不能加载。。。在跳出的对话框中,写入要加载到的地址,之后,就可以先去

Target中,先Connect,JFlash会自动去探测出的你的Nor Flash。Connect之后,你可以点击:

Show CFI Info查看信息是否和你的板子上的Nor一致。

正确的话,然后就用Erase chip或者erase sector,然后再Program了。

此处我烧了170KB的uboot.bin 到0x10000000,烧写了1.4MB的uImage到0x10080000.烧写的速度可以达到60多KB/s。

附上前面已经说过的,具体设置为:

JTAG频率:2000KHz

RAM大小:96KB

最后赞一句:山寨很强大~~~

毕竟,之前一个原版的JLink要卖200~300呢,而且单位是美金。。。。

【后记 2011-04-03】

最近在折腾TQ2440的开发板,想要把编译生成的u-boot.bin,一共220多KB,烧到TQ2440上的2MB的NorFlash里面去。

用Jlink硬件加上对应的烧写Norflash的JFlash工具去烧写,先按照上面的步骤配置:

Options -> Project Settings.

其中Use Target RAM(Fast)一项要说明一下,去查S3C2440的手册得知,从NorFlash启动板子的时候,地址空间0x40000000对应的是内部的片上的4KB的SDRAM,可以用来加速烧写操作。

下面是配置好后图示:

8ff176548fa77f02574e00d9.jpg
bf108d11d9951228cb80c4db.jpg

8d082ace088e776fb700c8f2.jpg

8f0d490911be0ef92fddd4a5.jpg

4ea4cd1f9483c935f724e4a7.jpg

配置好后,去烧写时,但却一直出错,一种是在erase chip的时候出错,一种是Program的时候出错,始终无法成功烧写。

而且我注意到,program的时候,始终是在60KB左右的位置就出错了,所以后来尝试单独将原先220多KB的u-boot.bin用ultraedit裁剪成60KB的,再去烧写,结果就可以成功烧写,所以看来我的推测是正确的,那就是Norfalsh中60KB左右的位置物理上有坏块,但是即使知道这个问题,发现JFlash中也没有这类设置坏块的选项,所以还是没办法。

之后,经过N长时间的继续折腾,搞得郁闷和崩溃,还是无法解决,后来无意中,试了试自动烧写:

Target -> Auto,但是也还是出错,后来又随便乱试,结果某次的Target -> Auto,却成功烧写进去了:

322498efbe7e3940fcfa3cfa.jpg

所以最后的感觉是,貌似我的tq2400的板子,用jlink不太稳定,不知道是板子问题,还是JTAG转USB那个小板子有问题,又或是连接线质量不是足够好,当然也许Jlink硬件不稳定等等,总之,不清楚啥原因啊。。。

注:

【关于JFlash的几个烧写相关选项】

经过折腾,基本知道了JFlash中关于烧写的那几个选项,即Target下面的那些选项的意思了:

fc7b960148edcf501f95837a.jpg
Erase Sectors:擦除整个NorFlash,但是是按照一个sector一个sector的模式进行擦除的。

Erase Chip:擦除整个NorFlash(这个chip),内部实现应该是发送一个erase chip的命令的。一次性擦除整个norflash芯片。

Program:直接烧写。

Program & Verify:烧写同时做校验,以防止烧写中出现错误(虽然这个几率很小,但是校验的话,可以保证烧写的万无一失)

Auto:自动检测你已经打开的要烧写的文件的大小,然后决定要用到多少的NorFlash的sector,然后自动去erase那些sector,然后再Program那些sector。整个过程不需要你关心,全部自动搞定,所以称作Auto,很是方便用户啊。

烧写一个打开的文件到norflash里面的一般步骤为:

1.先去执行Erase Chip或者Erase Sectors,去擦除整个norflash芯片

2.再去执行Program或Program & Verify烧写文件到Norflash中去。

以上两个步骤其实可以合二为一,只需要执行Auto,就可以实现先Erase后Program再Verify的全部操作,很方便。

我的意思是,如果你不太清楚怎么操作,那只需要配置好相应的参数,然后打开文件,执行Target -> Auto,就可以实现烧写Norflash了。

本帖转自:http://hi.baidu.com/serial_story/blog/item/e84d11ddbacf9ad08d10298b.html

转载于:https://www.cnblogs.com/zong-blogs/archive/2011/05/12/2044295.html

参考资源链接:[JZ2440开发板JLink连接与录指南](https://wenku.csdn.net/doc/19zxy8y66h?utm_source=wenku_answer2doc_content) 连接JZ2440开发板与JLink调试器并进行NORFLASH是一个涉及多个步骤的过程,每一步都需要细心操作以确保成功。为了更深入理解这个过程,建议参考《JZ2440开发板JLink连接与录指南》这份资源,它提供了详细的指导和操作流程。 首先,硬件连接部分需要使用特定的转接板和排线将JLink调试器连接到开发板的JLINK接口。确保连接稳定且正确后,将开发板的启动模式设置为NOR,以保证可以从NORFLASH中引导程序。 接下来,安装JLink驱动是保证后续操作顺利进行的前提。用户需要从官方网站下载最新版的JLink驱动软件,并按照安装向导的提示完成安装。若系统未能自动安装驱动,需要手动指定驱动路径。 完成硬件连接和驱动安装后,使用J-FlashARM软件进行固件。在此软件中,正确导入s3c2440.jflash文件,并加载要的固件文件uboot.bin。通过软件提供的功能,将固件入NORFLASH。操作过程中需注意软件界面的提示信息,确保过程顺利完成。 在整个操作流程中,细节的把握非常关键,包括硬件连接的准确性、驱动安装的正确性以及过程的监控,每一步都关系到最终的结果。因此,按照《JZ2440开发板JLink连接与录指南》的步骤操作,可以大大提高操作的成功率和效率。 参考资源链接:[JZ2440开发板JLink连接与录指南](https://wenku.csdn.net/doc/19zxy8y66h?utm_source=wenku_answer2doc_content)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值