在一般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. Nginx+Keepalived负载均衡高可用

    Nginx+Keepalived负载均衡高可用方案: Nginx 使用平台:unix.linux.windows. 功能: A.www web服务  http 80 b.负载均衡(方向代理proxy) ...

  2. java对象引用-要掌握的细节

    hello ,好久没来了. 今天我来和大家分享一下有关引用变量的注意事项,一是加深一下自己的理解,二是对这块不太理解的同学可以看看. 大神可飘过,有什么不对或不足的地方请多多指教,谢谢. 假设场景: ...

  3. Java NIO之网络编程

    最近在研究Java NIO和netty,曾经一度感觉很吃力,根本原因还是对操作系统.TCP/IP.socket编程的理解不到位. 不禁感叹,还是当初逃的课太多. 假如上天给我一次机会,能够再回到意气风 ...

  4. C#基础(二)--之数据类型

    在第一章我们了解了C#的输入.输出语句后,我这一节主要是介绍C#的基础知识,本节的内容也是后续章节的基础,好的开端等于成功的一半.在你阅读完本章后,你就有足够的C#知识编写简单的程序了.但还不能使用继 ...

  5. WEB消息推送-框架篇

    WEB消息推送-comet4j 一.comet简介: comet :基于 HTTP长连接的“服务器推”技术,是一种新的 Web 应用架构.基于这种架构开发的应用中,服务器端会主动以异步的方式向客户端程 ...

  6. Kafka Consumer

    Push VS Pull An initial question we considered is whether consumers should pull data from brokers or ...

  7. 使用Openresty加快网页速度

    新年快乐~~~ 上一篇文章讲到使用多级缓存来减少数据库的访问来加快网页的速度,只是,仍旧没有"嗖"一下就加载出来的感觉,想再优化一下,优化代码什么的已经到了极限.上周无意中看到了o ...

  8. arm 异常处理结构

    概念:正常的程序执行过程中发生暂时的停止称为异常,如果发现异常情况,将会进行异常处理 作用:快速响应用户的行为,提高cpu的响应能力 异常类型: 异常处理的三个步骤: 1.保护现场: 工作模式保存:C ...

  9. 存个emacs配置

    emacs配置 (global-set-key [f9] 'compile-file) (global-set-key [f10] 'gud-gdb) (global-set-key (kbd &qu ...

  10. php常用面试知识点

    1.php基础 2.mysql基础 3.js基础 4.jq 5.正则 6.面向对象 7.分页类,购物车类,数据库类,上传类,图片处理类 8.smarty模板技术(以及自己写模板引擎) 9.ajax 1 ...