前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >嵌入式:ARM相关开发工具概述

嵌入式:ARM相关开发工具概述

作者头像
timerring
发布于 2022-12-29 05:58:30
发布于 2022-12-29 05:58:30
1.9K0
举报
文章被收录于专栏:TechBlogTechBlog

文章目录

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.

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-12-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
从MCU到SoC的开发思维转变
微控制器单元(MCU)和系统级芯片(SoC)是嵌入式开发中最常见的两种处理器类型。
不脱发的程序猿
2025/05/13
800
从MCU到SoC的开发思维转变
​ARM仿真调试器那些事儿
众所周知,嵌入式软件开发离不开调试器。写一个稍有代码规模(5K行以上)的嵌入式应用程序一般不可能一次性搞定,没有任何bug,出了bug并不可怕,只要我们能尽快定位bug并修复即可,调试器就是定位bug的利器。有了调试器我们便可以进入系统主控芯片内部一窥究竟,控制芯片执行代码的动作,实时查看芯片内部状态,辅以各种调试技巧让bug无处藏身。
AI 电堂
2021/10/09
3.9K0
几种ARM编译器及IDE开发环境[通俗易懂]
ARM应用软件的开发工具根据功能的不同,分别有编译软件、汇编软件、链接软件、调试软件、嵌入式实时操作系统、函数库、评估板、JTAG仿真器、在线仿真器等,目前世界上约有四十多家公司提供以上不同类别的产品。   
全栈程序员站长
2022/09/05
3.5K0
嵌入式:ARM常用开发编译软件介绍
ADS(ARM Developer Suite),是在1993年由Metrowerks公司开发是ARM处理器下最主要的开发工具。 他的前身是SDT,SDT是ARM公司几年前的开发环境软件,目前SDT早已经不再升级。ADS包括了四个模块分别是:SIMULATOR;C 编译器;实时调试器;应用函数库。ADS对汇编、C/C++、java支持的均很好,是目前最成熟的ARM开发工具。很多ARM开发软件(例如Keil)也是借用的ADS的编译器。ADS在2006年版本已经发布到2.2。但国内大部分开发者使用的均是1.2版本
timerring
2022/12/28
2.2K0
嵌入式:ARM常用开发编译软件介绍
jlink 与 swd 接口定义
JTAG主要使用的有:TRST,TDI,TMS,TCLK,TDO,RESET,GND,(VCC可不连接) SWD主要使用的有:VCC,SWDIO,SWCLK,GND
全栈程序员站长
2022/08/10
29.2K0
jlink 与 swd 接口定义
Semihosting真的是嵌入式阑尾么?
如果你只是对 Semihosting 偶有耳闻,那么你与楼上那位多半也是难兄难弟了。
GorgonMeducer 傻孩子
2024/07/30
5250
Semihosting真的是嵌入式阑尾么?
常见的ARM集成开发环境
1. ARM SDT: 是ARM公司为方便用户在ARM芯片上进行应用软件开发而推出的一整套开发工具。到ARM SDT 2.5.1,ARM宣布推出ARM ADS1.0取代了ARM SDT,不再对ARM SDT进行维护。ARM SDT支持的ARM处理器最高到包括ARM9在内的所有ARM处理器。配合Angel驻留程序和JTAG仿真器,用户使用可方便的使用ARM SDT进行应用程序的开发。
全栈程序员站长
2022/08/30
1.6K0
强大的JTAG边界扫描3-常用边界扫描测试软件
前面两篇文章介绍了边界扫描的基本原理和BSDL文件,本文文章介绍边界扫描测试实际使用的两款软件工具,在后面的实战应用部分,会演示基于STM32和FPGA的边界扫描测试应用。
单片机点灯小能手
2023/09/18
5822
强大的JTAG边界扫描3-常用边界扫描测试软件
Keil 死了,我们还能活吗?第二季
在上一篇文章中,我们已经可以在Eclipse成功编译工程了。对于一些传说中的大神,这也就够了,他们写完代码,编译,下载看看,不行再来两遍,OK了。但是对于像小编这样的凡夫俗子,程序不调试一下,肯定是不行地。我们来看看Eclipse中如何调试代码。在此我们以STM32F030为例。
用户2366192
2022/05/17
4720
Keil 死了,我们还能活吗?第二季
NUC505 - HS USB
本来做的是M484,看好了它的片上高速USB、双SDHC、QSPI FLash等,结果入了新塘第一坑:LQFP64封装是.4间距的,偶直接拖了个STM32F205的封装过来,.5间距的,结果就是下面这样:
用户2366192
2021/05/31
1.2K0
【STM32H7教程】第2章 STM32H7的开发环境搭建
本章主要为大家讲解V7开发板的开发板环境搭建,涉及IDE,下载器和相关小软件的驱动安装。
Simon223
2019/04/18
3.4K0
【STM32H7教程】第2章    STM32H7的开发环境搭建
Keil MDK5 嵌入式开发环境安装教程(Windows平台)
Keil MDK5 是 ARM 公司推出的专业嵌入式开发工具链,支持 Cortex-M/R/A 系列处理器开发,集成代码编辑、编译、调试等功能。其核心组件包括:
万里顾一诚
2025/02/24
1.3K0
Keil MDK5 嵌入式开发环境安装教程(Windows平台)
[评测]灵动半导体MM32W3蓝牙开发板开箱报告
前几天在面包板社区申请了一块灵动微电子的开发板——eMiniBoard-MB021,感谢面包板社区和灵动微电子的支持!在此之前,我只听过灵动微电子的大名,没有使用过灵动的MCU产品,这次收到的是基于MM32W373蓝牙MCU的开发板,今天先来个开箱报告!
单片机点灯小能手
2020/07/17
6690
[评测]灵动半导体MM32W3蓝牙开发板开箱报告
arm程序如何调试_arm开发板用什么语言
origin: http://blog.sina.com.cn/s/blog_70bb32080100lx1u.html
全栈程序员站长
2022/11/04
1.4K0
手把手教你在FPGA上搭建一个ARM Cortex-M3软核
上一篇文章介绍了ARM DesignStart计划,其中提到了Cortex-M1/M3 DesignStart FPGA版本,支持Xilinx和国产Gowin平台,本篇文章将手把手教你如何基于ARM DesignStart计划,在FPGA上搭建一个Cortex-M3软核处理器,以Xilinx Artix-7™系列FPGA为例,介绍如何定制一颗ARM Cortex-M3 SoC软核,并添加GPIO和UART外设,使用Keil MDK环境开发应用程序,Jlink下载、调试ARM程序,最终的实现效果是LED闪烁,串口输出Hello World信息。
单片机点灯小能手
2022/04/06
4.2K0
手把手教你在FPGA上搭建一个ARM Cortex-M3软核
keil(MDK) 5官方下载教程
Keil公司是一家业界领先的微控制器(MCU)软件开发工具的独立供应商。Keil公司由两家私人公司联合运营,分别是德国慕尼黑的Keil Elektronik GmbH和美国德克萨斯的Keil Software Inc。Keil公司制造和销售种类广泛的开发工具,包括ANSI C编译器、宏汇编程序、调试器、连接器、库管理器、固件和实时操作系统核心(real-time kernel)。有超过10万名微控制器开发人员在使用这种得到业界认可的解决方案。其Keil C51编译器自1988年引入市场以来成为事实上的行业标准,并支持超过500种8051变种。
全栈程序员站长
2022/08/31
4.8K0
keil(MDK) 5官方下载教程
手把手教你制作DAPLink
这篇文章主要描述利用RT-THREAD+CherryUSB制作DapLink调试器(R_DapLink)全流程。这里先感谢网友:sakumisu提供cherryUSB协议栈的技术支持。
Rice加饭
2023/12/26
2.2K0
手把手教你制作DAPLink
抛弃IDE — 在window下使用VScode搭建ARM开发环境
安装 gcc-arm-none-eabi-5_4-2016q3-20160926-win32(这只是当时我配置时候用的版本,其他版本也是可以的) 记得最后的第3选项打钩,因为自动添加环境变量( 估计是因为自动添加,所以会添加到用户的环境变量下面去,一样可以用,如果自己添加,可以添加到系统的环境变量中去 ) 最后,只要是在你的终端(终端可以使window自带的cmd,也可以是你配置过的模拟linux的终端) ,能够查询到arm gcc的版本,就算是正常安装了,如下所示:
李肖遥
2022/12/22
4.2K0
抛弃IDE — 在window下使用VScode搭建ARM开发环境
keil软件下载安装使用(STM32篇)
Keil软件是一款专为嵌入式系统开发设计的集成开发环境(IDE),由德国Keil公司创立,后被ARM公司收购并持续更新维护。它集成了代码编辑、编译、调试和项目管理等功能,广泛应用于各类单片机的程序开发,尤其是基于ARM Cortex-M内核的微控制器(如STM32系列)以及传统的8051单片机。Keil的核心组件包括μVision IDE、针对不同架构的编译器(如ARMCC用于ARM芯片,C51编译器用于8051)、调试工具和丰富的中间件库,为开发者提供了一站式的开发体验。
DS小龙哥
2025/05/29
8190
keil软件下载安装使用(STM32篇)
STM32中重定向printf到SWO口[通俗易懂]
引用网址:http://blog.csdn.net/xiaolei05/article/details/8526021
全栈程序员站长
2022/11/16
2.7K0
STM32中重定向printf到SWO口[通俗易懂]
相关推荐
从MCU到SoC的开发思维转变
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档