在一般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. maps.reg

    ^/(.*\.miaopai.com/stream/.*\.mp4\?.*) http://$1 ^/([[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{ ...

  2. js中的语句

    java语句与js的语句一样.1.判断if else/switch <script type=text/javascript> function fun1(){ var num = 10; ...

  3. Android Training Note

    版本适配 Tip:为了能在几个Android版本中都能提供最好的特性和功能,你应该在你的app中使用Android Support Library,它能使你的app能在旧平台上使用最近的几个平台的AP ...

  4. encodeURI()和encodeURIComponent()

    encodeURI() 返回值 URIstring 的副本,其中的某些字符将被十六进制的转义序列进行替换. 说明 该方法会替换所有的字符,但不包括以下字符,即使它们具有适当的UTF-8转义序列: 保留 ...

  5. Annotation基础知识

    1.Annotation介绍 Annontation是Java5开始引入的新特征.中文名称一般叫注解. Annontation像一种修饰符一样,应用于包.类型.构造方法.方法.成员变量.参数及本地变量 ...

  6. UOJ Round #1 [数论 | DP 排列]

    UOJ Round #1 难度很良心啊! 做出了前两题,第三题看到仙人掌就吓哭了. [UR #1]缩进优化 就是求 \[ \sum_{i=1}^n a_i - (x-1)\sum_{i=1}^n\lf ...

  7. SparkSteaming运行流程分析以及CheckPoint操作

    本文主要通过源码来了解SparkStreaming程序从任务生成到任务完成整个执行流程以及中间伴随的checkpoint操作 注:下面源码只贴出跟分析内容有关的代码,其他省略 1 分析流程 应用程序入 ...

  8. XAMPP简介、安转、使用

    虽然没有写Mac安装方法及使用, 但方法也都大相径庭, 殊途同归而已. XAMPP简介 XAMPP是一款开源.免费的网络服务器软件,经过简单安装后,就可以在个人电脑上搭建服务器环境.本文为大家介绍Wi ...

  9. python学习:Dmidecode系统信息(一)

    #!/usr/bin/env python   from subprocess import Popen, PIPE   p = Popen(['dmidecode'], stdout=PIPE) d ...

  10. [bzoj3998][TJOI2015]弦论-后缀自动机

    Brief Description 给定一个字符串, 您需要求出他的严格k小子串或非严格k小子串. Algorithm Design 考察使用后缀自动机. 首先原串建SAM, 然后如果考察每个状态代表 ...