【原创】用J-LINK烧写ARM开发板的Nor Flash
2016-05-09 23:31
337 查看
以往烧写开发板上的nor flash,大多以JTAG接电脑并口进行烧写,但是目前带并口的电脑几乎很少,USB口则常见。虽然也有带USB的HJTAG,然而价格对于个人而言相对偏高,淘宝上几十元的J-LINK随处可见,因此可考虑使用J-LINK烧写。 J-LINK购买时,配有光盘,内有驱动程序,或者到http://www.segger.com/downloads.html下载最新的驱动,使用前先要安装好驱动程序。安装完成后就存在了两执行文件:JLink.exe和JFlashARM.exe,前者是J-LINK的控制台程序,后者是烧写Flash的程序。运行JFlashARM.exe后,可以看到图 1的界面。
![](http://images.cnitblog.com/blog/554783/201311/04102848-1e9d3c49952b413397527580ce6ed65c.png)
图 1
烧写nor flash,以烧写realarm2410开发板上的sst39vf1601为例,realarm2410开发板上CPU为S3C2410A,芯片内部带有4KB的SRAM,开发板外部有64MB的SDRAM,烧写时可以利用SRAM或者SDRAM,可以达到更快的烧写。
虽然安装好了驱动后,安装的目录下的Samples\JFlash\ProjectFiles子目录中带有了很多配置好的.jflash工程文件,但是找不到S3C2410A和sst39vf1601的工程配置,因此需要自己配置。步骤为:
1. 把开发板跳线设置到nor flash启动的模式。
2. 启动JFlashARM.exe后,建立新工程。选择菜单中的file->new project。
3. 配置工程。选择菜单中的options->project settings。里面有几个配置标签,配置如图 2至图 6。一般维持缺省的设置即可,关键是CPU标签的配置,如果TARGET RAM中设置了用SRAM,即地址0x40000000开始的4KB,那么不需要设置初始化脚本;如果设置了SDRAM,即地址0x30000000开始的64MB的范围,那么需要设置初始化脚本,因为SDRAM需要初始化才可以使用。
![](http://images.cnitblog.com/blog/554783/201311/04102858-39e06cab814a4892ad32263cdb908d61.png)
图 2
![](http://images.cnitblog.com/blog/554783/201311/04102905-7f4878804abe4d31a99f3f84b3a87ae5.png)
图 3
![](http://images.cnitblog.com/blog/554783/201311/04102923-ab7dd3e66be846a581f082196670294c.png)
图 4
![](http://images.cnitblog.com/blog/554783/201311/04102932-135021317c2e4d1592627e1d1ae29402.png)
图 5
![](http://images.cnitblog.com/blog/554783/201311/04102941-597d7a10d0f941bebf71444a1a6c33d3.png)
图 6
在CPU标签设置中,如果设置成使用SDRAM,那么TARGET RAM一项可以设置成图 7
![](http://images.cnitblog.com/blog/554783/201311/04102943-4c32e4b902cb45a889adcb86b44ee5d4.png)
图 7
如此需要设置初始化脚本。脚本如图 8。设置完成后可以存成工程文件.jflash,file->save project as,下次使用直接打开工程文件即可,file->open project。本文所述工程文件下载:http://files.cnblogs.com/kenzhang1031/s3c2410_sst39vf1601.rar。
![](http://images.cnitblog.com/blog/554783/201311/04102948-65bf9c33eb394f10b33e14fe5e778fa3.png)
图 8
4. 加载要烧写的数据文件,hex或者bin文件都支持。菜单的file->open data file...,选择要烧写的文件。
5. 烧写。菜单target->connect,提示连接成功后,target->auto,如无意外则提示烧写成功。十几KB的程序只需不到1秒的时间。如图 9的LOG所示。
![](http://images.cnitblog.com/blog/554783/201311/04103013-622db8b25a8348699c57402444ec7481.png)
图 9
![](http://images.cnitblog.com/blog/554783/201311/04102848-1e9d3c49952b413397527580ce6ed65c.png)
图 1
烧写nor flash,以烧写realarm2410开发板上的sst39vf1601为例,realarm2410开发板上CPU为S3C2410A,芯片内部带有4KB的SRAM,开发板外部有64MB的SDRAM,烧写时可以利用SRAM或者SDRAM,可以达到更快的烧写。
虽然安装好了驱动后,安装的目录下的Samples\JFlash\ProjectFiles子目录中带有了很多配置好的.jflash工程文件,但是找不到S3C2410A和sst39vf1601的工程配置,因此需要自己配置。步骤为:
1. 把开发板跳线设置到nor flash启动的模式。
2. 启动JFlashARM.exe后,建立新工程。选择菜单中的file->new project。
3. 配置工程。选择菜单中的options->project settings。里面有几个配置标签,配置如图 2至图 6。一般维持缺省的设置即可,关键是CPU标签的配置,如果TARGET RAM中设置了用SRAM,即地址0x40000000开始的4KB,那么不需要设置初始化脚本;如果设置了SDRAM,即地址0x30000000开始的64MB的范围,那么需要设置初始化脚本,因为SDRAM需要初始化才可以使用。
![](http://images.cnitblog.com/blog/554783/201311/04102858-39e06cab814a4892ad32263cdb908d61.png)
图 2
![](http://images.cnitblog.com/blog/554783/201311/04102905-7f4878804abe4d31a99f3f84b3a87ae5.png)
图 3
![](http://images.cnitblog.com/blog/554783/201311/04102923-ab7dd3e66be846a581f082196670294c.png)
图 4
![](http://images.cnitblog.com/blog/554783/201311/04102932-135021317c2e4d1592627e1d1ae29402.png)
图 5
![](http://images.cnitblog.com/blog/554783/201311/04102941-597d7a10d0f941bebf71444a1a6c33d3.png)
图 6
在CPU标签设置中,如果设置成使用SDRAM,那么TARGET RAM一项可以设置成图 7
![](http://images.cnitblog.com/blog/554783/201311/04102943-4c32e4b902cb45a889adcb86b44ee5d4.png)
图 7
如此需要设置初始化脚本。脚本如图 8。设置完成后可以存成工程文件.jflash,file->save project as,下次使用直接打开工程文件即可,file->open project。本文所述工程文件下载:http://files.cnblogs.com/kenzhang1031/s3c2410_sst39vf1601.rar。
![](http://images.cnitblog.com/blog/554783/201311/04102948-65bf9c33eb394f10b33e14fe5e778fa3.png)
图 8
4. 加载要烧写的数据文件,hex或者bin文件都支持。菜单的file->open data file...,选择要烧写的文件。
5. 烧写。菜单target->connect,提示连接成功后,target->auto,如无意外则提示烧写成功。十几KB的程序只需不到1秒的时间。如图 9的LOG所示。
![](http://images.cnitblog.com/blog/554783/201311/04103013-622db8b25a8348699c57402444ec7481.png)
图 9
相关文章推荐
- windows7 64位系统安装VMware Centos 64位系统搭建开发环境
- CentOS v6.4 64位系统编译linux3.0.8内核错误的解决
- Keil MDK使用J-LINK分别在Sram,Nor Flash以及Sdram中调试代码的原理和方法
- 用J-LINK烧写Bootloader到ARM开发板的Nand Flash
- 汇编语言程序设计读书笔记(1)- 相关工具
- 汇编语言程序设计读书笔记(2)- 相关工具64位系统篇
- 汇编语言程序设计读书笔记(3)- 程序范例
- 汇编语言程序设计读书笔记(4)- 程序设计基础之一
- Quartz CronTrigger最完整配置说明
- 如何使用strace+pstack利器分析程序性能
- IC卡的传输协议(3)【转】
- 小酌重构系列[9]——分解依赖
- Fiddler服务器数据抓包
- java基础知识(三)-- String使用equals和==比较的区别
- leetcode 290. Word Pattern-单词模式|哈希表
- 工作流系统中的语法标记系统
- IC卡的传输协议(2)-块传输协议T=1续【转】
- IC卡的传输协议(2)-块传输协议T=1【转】
- 传感器网络的应用层技术
- CentOS7 安装 Java 8 以及Tomcat8