在一般ARM编程教学和实验环境里,一般采用 ADS加+并口转Jtag板+H-Jtag的开发环境。但是这种方法最大缺点是需要机器上有一个并口。现在无论PC还是笔记本都很难有并口,因此采用USB接口调试器就大行其道。其中Segger的JLink是比较有名和方便的调试器。

     
      ADS 1.2 ,可以如下链接下载
      硬件可以参考这个
一.J-Link的安装
      首先要安装驱动。可从官方网站下载http://www.segger.com/cms/jlink-software.html
     
      我下载最新驱动4.14d ,http://www.segger.com/cms/admin/uploads/userfiles/file/J-Link/Setup_JLinkARM_V414d.zip (最后测试这一个版本在AXD无法使用,总是程序死掉)
     
      我最后成功是老的版本4.02d,这个版本基本上可以保证是正常使用。
     
      关于segger的老版本都集中放在这里
      我用的是4.02d这个驱动
      图形安装程序一路next即可。
   1.1 测试PC机与J-Link的联接
      驱动安装后在主菜单会有Segger->J-Link ARM 4.02d 的菜单。
      将JLink的USB接口接在PC机上(jtag那一头可先不接开发板),正常情况下,Windows会提示发现硬件并自动安装硬件。运行J-Link  GDB Server程序。会有如下界面
    
1.此时再将J-Link上的Jtag线转接到开发板,我用的是TQ2440;
2.开发板上电后不要进入操作系统(Arm-Linux或WinCE),因此它可能会与仿真软件有冲突,比较简单方法是切换到Nor
flash启动模式
,这个模式通常不会进入OS;
3.接入JLink后,LCD将不会有显示,这是正常现象。
再次运行GDB Server.正常联接会有如下提示
并且联接上开发板时,J-Link GDB 会自动执行J-Link Control Panel 界面如下。
(注意要正常用gdb,一般要手工把字节序调成Little Endian,这里一下用不上,就无所谓了)
经过这样测试表示,J-Link整体工作正常。
 
二.ADS中用J-Link调试程序

2.1 用ADS打开项目源码
在ADS上用打开测试项目,我一般用教学的LED项目。编译后,选择调试按钮进入AXD调试界面,第一次使用AXD一般会出错,可以不管错误直接按2.2,2.3步来配置即可
2.2 配置AXD interface (必须配置!)
选择AXD主菜单的Options->Configure Interface ...。
配置两项,一是General 通用页标签中,Target connection选择HALT模式
二是AXD初始化时,配置SDRAM的地址。
可以把配置命令写在一个脚本里。在AXD中设为初始化脚本。
方法,选择configure Interface -->Session File--> Run Configuration  Script.
添入SDRAM初始化脚本2440init.txt全路径(注意路径不要带中文,为防止格式错误最好用附件自带的)
 
2440init.txt内容如下

setmem 0x53000000,0x00000000,32

setmem 0x4a000008,0xffffffff,32

setmem 0x4a00001c,0x00007fff,32

setmem 0x48000000,0x2212d110,32

setmem 0x48000004,0x00000f40,32

setmem 0x48000008,0x00002e50,32

setmem 0x4800000c,0x00002e50,32

setmem 0x48000010,0x00002e50,32

setmem 0x48000014,0x00002e50,32

setmem 0x48000018,0x00002e50,32

setmem 0x4800001c,0x00018005,32

setmem 0x48000020,0x00018005,32

setmem 0x48000024,0x00960542,32

setmem 0x48000028,0x00000032,32

setmem 0x4800002c,0x00000030,32

setmem  0x48000030,0x00000030,32

2.3 配置J-Link的RDI接口
在AXD调试界面。选择AXD主菜单的Options->Configure Target...。
选择sigger安装目录下的JLinkRDI.dll。这一步是让AXD调用J-Link的DLL来调试。 RDI是(Remote Debug  Interface 和简称,是ARM公司设计用于其它调试器与AXD通讯的协议
配置完后应该可以直接在J-Link调试,如果你没有相关经验,可以关掉AXD,重新执行2.1步来调试程序
2.4 AXD调用J-Link调试界面
我测试是完整2440测试程序,643k的axf测试程序一瞬间就下载完毕即可调试,这用并口调试时不可想象,用并口可能几分钟都没下完,而且单步调试非常之慢。而且J-Link来调试则完全没有这一个问题。速度非常之快。
在调试时,J-Link的Control panel 将自动打开

Windows下基于ADS+J-Link 的ARM开发环境搭建的更多相关文章

  1. 基于全志H3芯片的ARM开发环境搭建

    基于全志H3芯片的ARM开发环境搭建 最近买了个友善之臂的NanoPi M1板子,又在网上申请了个NanoPi NEO板子,这两个都是基于全志H3芯片的Crotex-A7四核ARM开发板,两个板子可以 ...

  2. 在windows环境下基于sublime text3的node.js开发环境搭建

    首先安装sublime text3,百度一堆,自己找吧.理论上sublime text2应该也可以.我只能说一句:这个软件实在是太强悍了. 跨平台,丰富的插件体系,加上插件基本上就是一个强悍的ide了 ...

  3. Windows下,配置VS Code的Java开发环境

    Windows下,配置VS Code的Java开发环境 前言 最近痴迷于VS Code的开发环境配置,原因就在于它的轻巧和免费,还能当一个非常棒的文本编辑器.如果之前你配置过VS Code并且失败了, ...

  4. 基于WDF的PCI/PCIe接口卡Windows驱动程序(1)-WDF概述及开发环境搭建

    原文出处:http://www.cnblogs.com/jacklu/p/4619110.html 本科毕业设计是这方面的工作,所以想开几篇博客来介绍使用WDF开发PCI/PCIe接口卡的驱动程序方法 ...

  5. Ubuntu下Django初体验(一)——开发环境搭建

    一.开发 环境搭建 1. linux下一般有自带的python,如果对版本不满意,可以再自行安装. 2. 安装ipython(推荐) sudo apt-get install ipython sudo ...

  6. windows下golang实现Kfaka消息发送及kafka环境搭建

    kafka环境搭建: 一.安装配置java-jdk (1)kafka需要java环境,安装java-jdk,下载地址:https://www.oracle.com/technetwork/java/j ...

  7. 嵌入式ARM开发环境搭建

    1. 安装,配置,启动FTP服务 安装FTP: sudo apt-get install vsftpd 修改vsftpd的配置文件/etc/vsftpd.conf,将下面两行的'#'去掉#local_ ...

  8. 基于vlc sdk的二次开发--环境搭建、编译

    前言 关于 搭建.编译VLC,不同的平台有不同的方法,可以参考wiki. 其中在windows下编译VLC有两种方式,MSYS+MinGW和CygWin.通过测试,最后决定采用MSYS+MinGW搭建 ...

  9. LINUX下QT FOR ARM开发环境搭建过程 (使用qt-x11-opensource-src-4.5.2.tar.gz进行编译)

    在PC上,我们需要得到两个版本的Qt,分别是:Qt-4.5.2和QtEmbedded-4.5.2-arm.前者包括了Qt Designer等基本工具,用于在PC上对程序的开发调试,使我们能确保程序放到 ...

随机推荐

  1. 跨进程的mutex

    1.操作系统分为ring0(内核层)和ring3(应用层)两层. ring0层出错会蓝屏,ring3层出错程序就会挂了. event和mutex创建他的指针是应用层,但是它的内部是ring0层,rin ...

  2. 图说:为什么Java中的字符串被定义为不可变的

    8张图,看懂Java字符串的不变性 字符串,想必大家最熟悉不过了,通常我们在代码中有几种方式可以创建字符串,比如:String s = "Hollis";这时,其实会在堆内存中创建 ...

  3. 01 Java 搭建环境

    刚接触 Java 语言,为了方便以后查阅,将学习过程中遇到的知识点记录下来,作为学习笔记使用.在学习过程中 JDK 使用版本为 1.8.0_73,操作系统为 macOS Sierra 10.12.6. ...

  4. python函数式编程之装饰器(一)

    1.开放封闭原则 简单来说,就是对扩展开放,对修改封闭 在面向对象的编程方式中,经常会定义各种函数. 一个函数的使用分为定义阶段和使用阶段,一个函数定义完成以后,可能会在很多位置被调用 这意味着如果函 ...

  5. 《Thinking in Java》学习笔记(七)

    1.关于反射还有一些需要补充的 package reflect; public class HiddenClass { public A HiddenA(){ return new A(); } } ...

  6. JDBC学习笔记(三)

    获取数据库的元信息metadata,里面有数据库特性的描述信息,如是否支持事务,是否支持批处理等. Connection conn = DriverManager.getConnection(url, ...

  7. 有标号DAG计数 [容斥原理 子集反演 组合数学 fft]

    有标号DAG计数 题目在COGS上 [HZOI 2015]有标号的DAG计数 I [HZOI 2015] 有标号的DAG计数 II [HZOI 2015]有标号的DAG计数 III I 求n个点的DA ...

  8. BZOJ 1815: [Shoi2006]color 有色图 [Polya DFS 重复合并]

    传送门 题意: 染色图是无向完全图,且每条边可被染成k种颜色中的一种.两个染色图是同构的,当且仅当可以改变一个图的顶点的编号,使得两个染色图完全相同.问N个顶点,k种颜色,本质不同的染色图个数(模质数 ...

  9. Leetcode刷题C#版之Toeplitz Matrix

    题目: Toeplitz Matrix A matrix is Toeplitz if every diagonal from top-left to bottom-right has the sam ...

  10. 2n皇后问题

    此题为蓝桥杯基础练习题. 问题描述 给定一个n*n的棋盘,棋盘中有一些位置不能放皇后.现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行.同一列或同一条对角线上,任意的两个白皇后 ...