arm架构基础知识小结

ARM Coresight 系列文章 9.1 -- ITM 仪器化跟踪宏单元详细介绍】 在debug 调试阶段通常都是使用 printf(printk) 来进行进行 log 输出,然后定位问题。那么如果SoC 中没有集成uart 或者 集成uart 不能使用了,那么软降如何将 log 输出出来呢?这个时候就可以通过 ARM coresight 中带的 ITM (仪器化跟踪宏单元) 模块了,它可比UART专业多了——速度快而且能提供多条信道。通过把数据写到 ITM 的寄存器中,调试器能够通过跟踪接口来收集这些数据,并且显示或者处理它。此法不但容易使用,而且比 JTAG 的输出速度更快。 阅读详情

前言

        从单片机转到ARM,主要需要学习ARM的架构,ARM相比单片机多了一些外设和总线。在仅仅是裸奔的情况下,如果熟悉了ARM架构,那么我认为使用任何ARM架构的芯片和用单片机将没有区别。ARM架构之所以更复杂,当然是为了跑更快以及更好地支持片上系统,所以在某种程度上来说对片上系统不是很了解的话那对于ARM架构的理解也不会那么深。

ARM的历史版本

        ARM7TDMI是基于ARMv4T架构的。

        ARMv5TE架构则是伴随着ARM9E处理器家族亮相的。

        ARM11是基于ARMv6架构基于ARMv6架构的处理器包括ARM1136J(F)-S,ARM1156T2(F)-S,以及ARM1176JZ(F)-S。

        最近的几年,基于从ARMv6开始的新设计理念,ARM进一步扩展了它的CPU设计,成果就是ARMv7架构的闪亮登场。在这个版本中,内核架构首次从单一款式变成3种款式。

        就拿ARM7TDMI来说,T代表Thumb指令集,D是说支持JTAG调试(Debugging),M意指快速乘法器,I则对应一个嵌入式ICE模块。后来,这4项基本功能成了任何新产品的标配,于是就不再使用这4个后缀——相当于默许了。


通用寄存器

        R13通常被用作栈指针,进入异常模式时,可以将需要使用的寄存器保存在R13所指的栈中;当退出异常吹程序时,将保存在R13所指的栈中的寄存器值弹出。

        R14又被称为连接寄存器(LinkRegister,LR),即PC的返回值。

        R15又被记作PC。ARM指令是字对齐的,PC的值的第0位和第1位总为0。也就是说是32位对齐。


        就Cortex-M3来说,拥有R0-R15的寄存器组。其中R13作为堆栈指针SP。SP有两个,分别为R13(MSP)和R13(PSP)即主堆栈指针(MSP)和进程堆栈指针(PSP),但在同一时刻只能有一个可以看到,这也就是所谓的“banked”寄存器。这些寄存器都是32位的。

ARM的各个模式

        ARM有以下7种模式:

        用户模式(User,usr)  &n

ARM基础知识 阅读详情

相关推荐

使用单调栈求解最大矩形面积问题的C++实现

通过本文的介绍,我们详细讲解了如何使用单调栈求解砖墙中最大矩形面积的问题,并提供了完整的C++代码实现。希望通过本文的学习,你能掌握单调栈的基本概念及其在实际问题中的应用。如果你有任何疑问或建议,欢迎在评论区留言交流。

m0_57781768的博客 722

MMU中关于VA和MVA的疑惑??

VA转换成MVA供cache、MMU使用 VA->MVA的方法(硬件自动完成): if(VA<32M) MVA=VA|(PID<<25)//PID通过读CP15的C13获得 else MVA=PA 为什么要这样转换? MVA=VA|(PID<<25)是因为VA|(PID<<25)就等相当于VA|32M*PID(假...

zwtxy1231010的博客 2657

常学常新:《Attention Is All You Need》万字解读!

常学常新:《Attention Is All You Need》万字解读!

hunteritself的博客 3474

ARM调试CoreSight、ETM、PTM、ITM、HTM、ETB等常用术语解析

CoreSight CoreSight CoreSight 是一种基础架构,它可对完整的芯片上系统 (SoC) 设计的性能进行调试、监视和优化,CoreSight™ 跟踪宏单元在 SoC 中提供全面的非干预性可见性。 通过遵循 CoreSight 架构规范,可以方便地将合作伙伴特定的跟踪宏单元集成到 CoreSight 系统中ETM,嵌入式跟踪宏单元 ETM 宏单元为ARM微处理...

m0_37575064的博客 1万+

ARM调试(2):在keil利用指令跟踪宏单元(ITM)重定向printf,并完成scanf实现数据双向交互

在keil利用指令跟踪宏单元(ITM)重定向printf,并完成scanf实现数据双向交互 文章目录在keil利用指令跟踪宏单元(ITM)重定向printf,并完成scanf实现数据双向交互1. 开发环境2. ITM简介和硬件需求2.1 技术简介2.1 硬件支持2.1.1 首先我们知道,对于使用不一样的调试器或下载器,我们常用的ARM下载方式有三种接口:2.1.2 调试接口大概分为三种,如图:2.1.3 简化的下载接口引脚的说明2.1.3 ITM需要多接一根线3. 用ST-LINK来实现ITM3.1 KEI

Zhichao_Zhang的博客 5294

ARM:CoreSight、ETM、PTM、ITM、HTM、ETB等常用术语解析

在许多应用中,我们需要对嵌入式系统进行详尽的调试和测试。此时,官方的IDE可能无法满足我们的需求,而需要寻找其他的专业工具。其中,劳特巴赫公司提供的调试工具备受推崇。该公司专门为各种不同的芯片和处理器提供高端的调试解决方案,其工具功能强大,易于使用,但价格较为昂贵。对于某些特定领域或大型项目,系统的复杂性和规模需要更强大的调试工具。此时,劳特巴赫公司成为了一个值得信赖的选择。他们的调试工具可以捕捉偶发性的问题、进行死机调试、代码分析、函数运行时间测试等操作,这些都是在开发过程中非常实用的功能。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 6885

arm 架构_ARM架构基础知识小结

前 言ARM全国巡回技术讲座 - 第二场:ARM引领智能物联新时代 - 创客学院直播室​www.makeru.com.cn从单片机转到ARM,主要需要学习ARM架构ARM相比单片机多了一些外设和总线。在仅仅是裸奔的情况下,如果熟悉了ARM架构,那么我认为使用任何ARM架构的芯片和用单片机将没有区别。ARM架构之所以更复杂,当然是为了跑更快以及更好地支持片上系统,所以在某种程度上来说对片上系统不...

weixin_39631667的博客 455

arm中断保护和恢复_ARM架构基础知识小结

前 言ARM全国巡回技术讲座 - 第二场:ARM引领智能物联新时代 - 创客学院直播室​www.makeru.com.cn从单片机转到ARM,主要需要学习ARM架构ARM相比单片机多了一些外设和总线。在仅仅是裸奔的情况下,如果熟悉了ARM架构,那么我认为使用任何ARM架构的芯片和用单片机将没有区别。ARM架构之所以更复杂,当然是为了跑更快以及更好地支持片上系统,所以在某种程度上来说对片上系统不...

weixin_39866867的博客 313

arm中断保护和恢复_从单片机转到ARM —— ARM架构基础知识小结

从单片机转到ARM,主要需要学习ARM架构ARM相比单片机多了一些外设和总线。在仅仅是裸奔的情况下,如果熟悉了ARM架构,那么可以认为使用任何ARM架构的芯片和用单片机将没有区别。ARM架构之所以更复杂,当然是为了跑更快以及更好地支持片上系统,所以在某种程度上来说对片上系统不是很了解的话那对于ARM架构的理解也不会那么深。ARM架构基础知识小结通用寄存器R13通常被用作栈指针,进入异...

weixin_36204045的博客 299

ARM架构基础知识和栈回溯法小结

ARM架构基础知识和栈回溯法小结

qq_37200742的博客 487

arm中断保护和恢复_从单片机转ARMARM架构基础知识小结

从单片机转到ARM,主要需要学习ARM架构ARM相比单片机多了一些外设和总线。在仅仅是裸奔的情况下,如果熟悉了ARM架构,那么我认为使用任何ARM架构的芯片和用单片机将没有区别。ARM架构之所以更复杂,当然是为了跑更快以及更好地支持片上系统,所以在某种程度上来说对片上系统不是很了解的话那对于ARM架构的理解也不会那么深。ARM架构基础知识小结ARM全国巡回技术讲座 - 第一场:最新ARM+An...

weixin_39574050的博客 168

单片机复位后为什么要对sp重新赋值_从单片机转ARMARM架构基础知识小结

从单片机转到ARM,主要需要学习ARM架构ARM相比单片机多了一些外设和总线。在仅仅是裸奔的情况下,如果熟悉了ARM架构,那么我认为使用任何ARM架构的芯片和用单片机将没有区别。ARM架构之所以更复杂,当然是为了跑更快以及更好地支持片上系统,所以在某种程度上来说对片上系统不是很了解的话那对于ARM架构的理解也不会那么深。ARM架构基础知识小结ARM全国巡回技术讲座 - 第一场:最新ARM+An...

weixin_39616003的博客 699

单片机复位后为什么要对sp重新赋值_从单片机转到ARM —— ARM架构基础知识小结...

从单片机转到ARM,主要需要学习ARM架构ARM相比单片机多了一些外设和总线。在仅仅是裸奔的情况下,如果熟悉了ARM架构,那么可以认为使用任何ARM架构的芯片和用单片机将没有区别。ARM架构之所以更复杂,当然是为了跑更快以及更好地支持片上系统,所以在某种程度上来说对片上系统不是很了解的话那对于ARM架构的理解也不会那么深。ARM架构基础知识小结通用寄存器R13通常被用作栈指针,进入异...

weixin_39860166的博客 467

009:semihost/ITM机制浅析以及使用JLINK通过ITM调试stm32单片机(转)

-----------------------------------------------------------------------------------------------作者:prife感谢:hexlog@gmail.com-------------------------------------------------------------------------...

weixin_30477293的博客 960

ARM Cortex-M3,M4内核介绍-内核讲解

m3内核的基本知识

m0_46407447的博客 6767

ARM Coresight Trace 系列文章 2.3 -- 简单介绍 ITM 比 Uart 的优点】

在嵌入式系统中,ARM CoreSight 的 ITM(Instrumentation Trace Macrocell,仪器跟踪宏单元)和 UART(Universal Asynchronous Receiver/Transmitter,通用异步收发器)是广泛用于调试和数据传输的两种机制。尽管两者都能实现数据传输,但 ITM 在某些方面具有明显的优点。在高带宽、低延迟、低 CPU 负载、多通道支持和与 CoreSight 的集成方面具有显著优势,这使其成为嵌入式系统中实时调试和性能分析的理想选择。

CodingCos的博客 484

J-link v9 使用技巧之虚拟串口功能

使用ITM机制实现调试contex-M系列,实现printf与scanf。 1. ITM简介 ITM机制是一种调试机制,是新一代调试方式, ITMARM Cortex-M系列内核芯片中的一种全新的调试功能,可以方便的通过调试器来实现printf调试功能。来自STM32中文参考手册的介绍: ITM ( 指令跟踪微单元 instrumentation trace macrocell):ITM是一应用驱动的跟踪源,它支持printf类的调试手段来跟踪操作系统(OS)和应用事件,并发布判定的系统信息。I

自由的天空 2468

微型计算机的指令集,窥视灵魂深处 AMD新一代SIMD指令集剖析

FMA指令FMA指令是AVX指令集的一个分支,因此FMA指令使用的是与AVX指令同样的编码设计规则。事实上,Intel的FMA指令集也吸取了AMD提出的SSE5指令集的精髓,FMA指令的fused-multiply-add(融合乘加)与SSE5中的multiply-add/subtract运算如出一辙。当前FMA指令已分为2个版本:FMA3版本:这是Intel实现的,提供了3个操作数。FMA4版本...

weixin_35801916的博客 2447

armv7 cortex a系列编程手册_ARM Cortex-A系列处理器详解

如图所示,绿色的部分都是v7-A的架构,蓝色的是v8-A架构,基本上绿色都是可以支持到32和64位的。除了A32,只支持到32位。在右边的每个部分,比如说需要高效能的最上面的A15-A73这个部分是最高效的,接下来就是比较注重整个效率的部分了,中间那个部分是比较高效率的,最下面那栏的是效率最好的,在电池的效能方面达到了最好的标准。最新的还有使用在麒麟980上的,基于Dynamiq技术的第二代优质内...

weixin_39806065的博客 1544

Keil5-GD32芯片包(超详细)

Keil5-MDK,GD32芯片包有F1、F3、F4等系列芯片包有E10、E23\E50等系列芯片包有L23、W51等系列芯片包

上一篇: ucos ii浅尝
下一篇: 失去自控相当于毁灭自己
一格桑京
博客等级 码龄14年 23粉丝 51原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值