嵌入式:ARM相关开发工具概述
文章目录
- JTAG仿真器
- J-LINK仿真调试器
- J-Link ARM主要特点
- U-LINK仿真调试器
- ULINK2特点
- ULINK和JLINK的比较
- ADS1.2集成开发环境
- 使用ADS创建工程
JTAG仿真器
JTAG(Joint Test Action Group;联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试及对系统进行仿真、调试。
JTAG 技术是一种嵌入式调试技术,它在芯片内部封装了专门的测试电路 TAP ( Test Access Port ,测试访问口),通过专用的 JTAG 测试工具对内部节点进行测试。
JTAG接口还常用于实现ISP(In-System Programmer,在系统编程),对FLASH等器件进行编程。
通常所说的JTAG大致分两类,一类用于测试芯片的电气特性,检测芯片是否有问题;一类用于Debug,一般支持JTAG的CPU内都包含了这两个模块。
一个含有JTAG Debug接口模块的CPU,只要时钟正常,就可以通过JTAG接口访问CPU的内部寄存器和挂在CPU总线上的设备,如FLASH,RAM,SOC(比如4510B,44Box,AT91M系列)内置模块的寄存器,象UART,Timers,GPIO等等的寄存器。
现在多数的高级器件都支持JTAG协议,如:新型单片机如MSP430、ARM、DSP、FPGA器件等。
标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。
标准的 JTAG 接口是 4 线: TMS 、 TCK 、 TDI 、 TDO ,分别为测试模式选择、测试时钟、测试数据输入和测试数据输出。如今 JTAG 接口的连接有两种标准,即 14 针接口和 20 针接口,其定义分别如下所示。
14针的JTAG接口为老式接口。
引脚信号说明
SAMSUNG ARM7 S3C44B0开发套件中的JTAG编程板电路如图
S3C2440的官方JTAG编程板
J-LINK仿真调试器
J-Link是SEGGER公司为支持仿真ARM内核芯片推出的采用USB接口的JTAG仿真器。
配合IAR EWAR,ADS,KEIL,WINARM,RealView等集成开发环境支持所有ARM7/ARM9/ARM11,Cortex M0/M1/M3/M4, Cortex A4/A8/A9等内核芯片的仿真,与IAR,Keil等编译环境无缝连接,操作方便、连接方便、简单易学,是学习开发ARM最好最实用的开发工具。
J-Link ARM主要特点
IAR EWARM集成开发环境无缝连接的JTAG仿真器。
- 支持CPUs: Any ARM7/9/11, Cortex-A5/A8/A9, Cortex-M0/M1/M3/M4, Cortex-R4, RX610, RX621, RX62N, RX62T, RX630, RX631, RX63N。
- 下载速度高达1 MByte/s。
- 最高JTAG速度15 MHz。
- 目标板电压范围1.2V –3.3V,5V兼容。
- 自动速度识别功能。
- 监测所有JTAG信号和目标板电压。
- 完全即插即用。
- 使用USB电源(但不对目标板供电)
- 带USB连接线和20芯扁平电缆。
- 支持多JTAG器件串行连接。
- 标准20芯JTAG仿真插头。
- 选配14芯JTAG仿真插头。
- 选配用于5V目标板的适配器。
- 带J-Link TCP/IP server,允许通过TCP/ IP网络使用J-Link。
U-LINK仿真调试器
Keil ULINK USB接口仿真器,是一款多功能ARM调试工具,可以通过JTAG 或 CODS 接口连接到目标系统,进行仿真或下载程序,目前已经成为国内主流的ARM开发工具。
Keil ULINK的软件环境为Keil uVision Keil系列软件具有良好的调试界面,优秀的编译效果,丰富的使用资料。使其深受国内嵌入式开发工程师的喜爱。
目前,ULINK已经停产,新用户推荐选择ULINK2或ULINKPro仿真器。
ULINK2是ARM公司最新推出的配套RealView MDK使用的仿真器,是ULink仿真器的升级版本。
ULINK2不仅具有ULINK仿真器的所有功能,还增加了串行调试(SWD)支持,返回时钟支持和实时代理等功能。开发工程师通过结合使用RealView MDK的调试器和ULINK2,可以方便的在目标硬件上进行片上调试(使用on-chip JTAG, SWD和 OCDS)、Flash编程.
ULINK2特点
- 支持ARM7,ARM9, Cortex-M,8051和C166设备
- JTAG速度高达10MHz 支持Cortex-M串行查看器(SWV)数据和时间跟踪,速度高达1Mbit/s(UART模式)
- 执行、端口仿真和串行调试输出时的存储器读写实时代理
- 与Keil μVision IDE和Debugger无缝隙集成
- 宽目标电压,从2.7V – 5.5V可用
- USB供电(无须电源)
- 使用标准Windows USB设备,即插即用安装目标连接器
ULINK和JLINK的比较
ULINK是KEIL公司开发的仿真器,专用于KEIL平台下使用,ADS,IAR下不能使用
JLINK是通用的开发工具,可以用于KEIL,IAR,ADS等平台速度,效率,功能均比ULINK强
ULINK2的下载速度和调试速度确实没有JLINK的快。
ADS1.2集成开发环境
基于Windows操作系统平台的ARM ADS(ARM Developer Suite)软件下进行的,该软件是由ARM公司提供的专门用于ARM 处理器应用开发和调试的综合性工具软件,目前使用的ADS1.2版本。
ADS1.2主要包含CodeWarrior IDE、AXD两部分;CodeWarrior IDE工具主要用于工程的管理配置、源程序的编辑、编译和链接;AXD主要用于工程的下载和调试。
CodeWarrior 集成开发环境(IDE)为管理和开发项目提供了简单多样化的图形用户界面。 用户可以使用ADS 的CodeWarrior IDE 为ARM 和Thumb 处理器开发用C,C++,或ARM汇编语言的程序代码。通过提供下面的功能,CodeWarrior IDE 缩短了用户开发项目代码的周期。
使用ADS创建工程
- ARM Executabl Image:用于由ARM 指令的代码生成一个ELF 格式的可执行映像文件;
- ARM Object Library:用于由ARM 指令的代码生成一个armar 格式的目标文件库;
- Empty Project :用于创建一个不包含任何库或源文件的工程;
- Makefile Importer Wizard :用于将Visual C 的nmake 或 GNU make 文件转入到CodeWarrior IDE 工程文件;
- Thumb ARM Executable Image:用于由ARM 指令和Thumb 指令的混和代码生成一个可执行的ELF 格式的映像文件;
- Thumb Executable image:用于由Thumb 指令创建一个可执行的ELF 格式的映像文件;
- Thumb Object Library :用于由Thumb 指令的代码生成一个armar 格式的目标文件库。
参考文献:
孟祥莲.嵌入式系统原理及应用教程(第2版)[M].北京:清华大学出版社,2017.
嵌入式:ARM相关开发工具概述相关推荐
- 【Java语言基础】2.1 IntelliJ IDEA开发工具概述
IntelliJ IDEA开发工具概述 1. 之前的开发工具 文本编辑工具:记事本.UltraEdit.EditPlus.TextPad.NotePad++.sublime- 存在的问题:编写代码时没 ...
- 嵌入式Linux_C语言开发工具
C语言开发工具 开发工具和操作系统之间是相互促进的.相互发展的,操作系统离不开软件开发的支持,软件开发工具也离不开操作系统这个平台.Linux操作系统下Linux开发工具的开源方式,可以让大家拥有更多 ...
- 【嵌入式】Linux开发工具gdb及远程调试
gdb及远程调试 gdb gdb安装 gdb调试命令 gdb 调试步骤 嵌入式远程调试 在开发板上运行 gdbserver 在PC端执行 其他Liunx开发工具 交叉反汇编器 arm-linux-ob ...
- 【嵌入式】Linux开发工具arm-linux-gcc安装及使用
arm-linux-gcc 知识架构及层次 - 程序编译及调试 嵌入式交叉编译器安装配置 主机目标板开发模式 ARM微处理器/Linux系统下编译器 编译器下载及安装 arm-linux-gcc工具使 ...
- linux开发视角root手机并部署相关开发工具
最近毕设实验接近尾声, 需要使用各种算法在不同的硬件平台上进行性能测试, 之前已经成功部署到了NanoPC-T4的板子上, 所以接下来的想法是在一台手机上面看能不能部署相应的计算框架测试算法性能; 本 ...
- 嵌入式GUI及其开发工具——miniGUI和mStudio
什么才是好的东西,什么样的东西让你一眼看上去就喜欢它呢?这个当然离不开它的外表了,软件同样如此!一个好的软件,除了它的功能之外,还要有方便与人交互的友好的界面.功能是看不见摸不着的,是隐藏在界面之后的 ...
- 01_电子工程师 嵌入式软硬件工程师开发工具合集(简单易学-新电脑装机清单)
装机开发工具合集(电子工程师新电脑装机必备清单) 文章目录 装机开发工具合集(电子工程师新电脑装机必备清单) 硬件开发 软件开发 嵌入式开发 结构设计 博客创作 调试工具 其他工具 硬件开发 * Ca ...
- Flow 和 Cadence 开发工具概述
智能合约开发与其他类型的软件开发没有什么不同.编写代码是为了执行特定任务,并且有一些工具可以帮助简化此过程.以太坊生态系统包含许多成熟的工具来帮助构建 Web3 项目,但是像 Flow 这样的更新生态 ...
- 【嵌入式】Linux开发工具make及makefile设计
make工具及makefile设计 make工具及makefile设计 Makefile 设计示例 Makefile 规则--构成 Makefile 变量(宏) Makefile 条件判断 Makef ...
最新文章
- 数据仓库的未来 MariaDB ColumnStore
- 7000 字 23 张图,Pandas一键生成炫酷的动态交互式图表
- 为WPF和Silverlight的Grid添加边框线(zz)
- my ax 4 faq
- 【Windows 逆向】OD 调试器工具 ( CE 工具通过查找访问的方式找到子弹数据基地址 | 使用 OD 工具附加游戏进程 | 在 OD 工具中查看子弹数据地址 | 推荐 )
- DL之模型调参:深度学习算法模型优化参数之对深度学习模型的超参数采用网格搜索进行模型调优(建议收藏)
- 谈一个优秀的美工需要掌握哪些技能
- C/C++学习之路_八: 复合类型
- Sql server 数据库备份、恢复等
- keepalive之LVS-DR架构
- A. [2021.1.29多校省选模拟11]最大公约数(杜教筛/数论)
- [Hnoi2006]马步距离
- 理解MapReduce计算构架
- Windows Server 2012 GUI与Core的切换
- android 关机 流程_Android 关机(reboot)流程
- php测线路网速,php 测试网速
- 视场(FOV)补偿与分辨率(Resolution)补偿
- 华为笔记本linux双系统,真的有必要吗?华为笔记本搭载双系统
- C++ 应用程序无法正常启动0xc000007b
- TLC5615模数转换锯齿波仿真实验(Arduino)
热门文章
- 前端学习——Prop
- 【BZOJ 1716】 [Usaco2006 Dec]The Fewest Coins 找零钱(背包dp)
- PPT加密了如何打开文件
- linux打开ppt文件命令,ubuntu下命令行打开pdf/doc/ppt文件
- Android刷机备忘录
- PyTorch的安装与一些问题处理
- ubuntu16.0.4bug无法解析域名
- 设计师:设计师知识储备之硬装部分/软装部分简介、家装材料知识(吊顶材料/门窗材料/五金材料/墙面材料/地面材料/胶粘材料/油漆材料/水电材料/瓦工部分)之详细攻略
- tc27x的内存保护MPU设置浅析(个人理解)
- android mkdir失败_在/ sdcard中创建目录失败