C1 ARMv7-M Debug

这篇具有很好参考价值的文章主要介绍了C1 ARMv7-M Debug。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

C1.1 Introduction to ARMv7-M debug

This section describes the debug architecture for the ARMv7-M architecture profile. This includes several debug features that are supported only in the M profile.

Debug support is a key element of the ARM architecture. ARMv7-M supports a range of invasive and non-invasive debug mechanisms.

Invasive debug mechanisms are:
• The ability to halt the processor, for example at a breakpoint. This provides a run-stop debug model.
• Debug code using the DebugMonitor exception. This provides less intrusive debug than halting the processor.

Non-invasive debug techniques are:
• Application trace by writing to the Instrumentation Trace Macrocell (ITM), causing a very low level of intrusion.
• Non-intrusive program trace and profiling.

Debug software normally accesses the debug features of the processor using the DAP, see The Debug Access Port on page C1-682. This provides access to debug resources when the processor is running, halted, or held in reset. When a processor is halted, it is in Debug state. When the processor is not halted, it is in Non-Debug state.

The ARMv7-M debug architecture supports the following features:
• High-level trace using the ITM.
• Profiling a variety of system events, including associated timing information. This can include monitoring processor clock counts associated with interrupt and sleep functions.
• PC sampling and event counts associated with load and store operations, instruction folding, and performance statistics based on cycles-per-instruction (CPI) counts.
• Data tracing.
• Instruction trace, using an Embedded Trace Macrocell (ETM).
In the ARMv7-M system address map, debug resources are in the Private Peripheral Bus (PPB) region. Except for the resources in the System Control Space (SCS), each debug component occupies a fixed 4KB address region. The resources are:
• Debug resources in the SCS:
— The Debug Control Block (DCB).
— Debug controls in the System Control Block (SCB).
• Debug components:
— The Instrumentation Trace Macrocell (ITM), for profiling software. This uses non-blocking register accesses, with a fixed low-intrusion overhead, and can be added to a Real-Time Operating System (RTOS), application, or exception handler. If necessary, product code can retain the register access instructions, avoiding probe effects.
— The Debug Watchpoint and Trace (DWT) unit. This provides watchpoint support, program counter
sampling for performance monitoring, and embedded trace trigger control.
— The Flash Patch and Breakpoint (FPB) unit. This unit can remap sections of ROM, typically Flash
memory, to regions of RAM, and can set breakpoints on code in ROM. This unit can be used for debug,
and to provide a code or data patch to an application that requires a field update to a product ROM.
— The Embedded Trace Macrocell (ETM). This provides instruction tracing.
— The Trace Port Interface Unit (TPIU). This provides the external interface for the ITM, DWT, and
ETM.
• The ROM table. A table of entries providing a mechanism to identify the debug infrastructure supported by the implementation.

Note: An implementation might not include all the listed debug features, see Debug support in ARMv7-M on page C1-679.

C1 ARMv7-M Debug,单片机
a. Might be implemented as a shared resource, in which case this region of the memory map is reserved.

Appendix D4 Debug ITM and DWT Packet Protocol describes the protocol used for ITM and DWT output, and the ETM Architecture Specification describes the protocol used for ETM output.

A debug implementation that outputs ITM, DWT, or ETM data requires a trace sink, such as a TPIU, to which it exports the trace data from the device, providing one or more of data trace, instruction trace, and profiling. A TPIU can be either the ARMv7-M TPIU implementation shown in Table C1-1, or an external system resource, usually a CoreSight TPIU. For more information about the CoreSight TPIU see the ARM® CoreSight™ SoC-400 Technical Reference Manual.

Many debug components are optional, and the debug configuration of an implementation is IMPLEMENTATION DEFINED. Debug support in ARMv7-M describes how software can determine which debug features are implemented.文章来源地址https://www.toymoban.com/news/detail-707300.html

到了这里,关于C1 ARMv7-M Debug的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 汇编实现1-100累加(ARMv7)

    代码 运行效果

    2024年02月16日
    浏览(44)
  • armv7l安装miniconda

    armv7l架构的资料相对较少,本文记录安装miniconda及搭建虚拟python环境的过程。 可以看到本设备是armv7l的架构。 请读者根据自己机器的配置,在miniconda官网查找对应的下载版本。注意如果是aarch64架构那miniconda3的版本不要超过4.10。本设备为armv7架构,应该下载的文件是:Minic

    2024年02月04日
    浏览(51)
  • keil 4单片机程序的debug调试

    1、单击keil4窗口的调试按钮快捷图标 ,进入到软件模拟调试模式,如图所示     在软件调试模式下,可以设置断点、单步、全速、进入某个函数内部运行,还可以查看变量的变化过程、模拟硬件IO口电平变化、查看代码执行时间等,先了解一下调试按钮的功能:  其中,RS

    2024年02月09日
    浏览(50)
  • Ubuntu and Debian(ARMv7) grafana prometheus

    Ubuntu and Debian(ARMv7)SHA256: 4d13652e0bb215fae2338123cd0e98d0755b76076d9ea7e652bea0fd039124e4 sudo apt-get install -y adduser libfontconfig1 musl wget https://dl.grafana.com/enterprise/release/grafana-enterprise_10.0.10_armhf.deb sudo dpkg -i grafana-enterprise_10.0.10_armhf.deb Download Grafana | Grafana Labs Download | Prometheus

    2024年01月21日
    浏览(46)
  • ARMv7,ARM7,ARMA7有什么区别

    随着ARM的发展,芯片也越来越多,对芯片的称呼也多了。首先,ARMv7属于 内核版本号 ,而ARM 7则为 Soc的称号 。其中,内核的版本号,是有V1到V2 V3等,从小到大,性能越来越好。如下图,ARM7(soc版本号)是ARMV4内核版本下的。 ARM是从 Cortex系列 有了一个大的转折。ARM Cortex系列

    2024年02月06日
    浏览(40)
  • Yocto系列讲解[技巧篇]92 - armv8 aarch64兼容armv7 32位程序运行环境

    By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力!

    2024年01月24日
    浏览(61)
  • 百度车牌识别AI Linux使用方法-armV7交叉编译

    百度智能云-登录 (baidu.com)         里面有两个版本的armV7和armV8架构。v7架构的性能比较低往往需要交叉编译,v8的板子性能往往比较好,可以直接在板子上编译。         解压到ubuntu里面。这里介绍v7架构的。 ubuntu下安装软件包。根据提示可以安装其他的包 zlib Home Site

    2024年02月06日
    浏览(44)
  • 如何在armv6 armv7 armv8(aarch64)嵌入式板子上面安装nginx服务器,支持H265码流

    为什么要在板子瑞芯微rv1126核心板上面安装nginx服务器,是因为我的项目需要用到拉到连接在板子上面的摄像头,由于是摄像头是直连摄像头的只能通过板子上面的wifi热点设备,先连接这个热点才能获取到这个网络摄像头,那么就需要板子做一个推流的服务器让摄像头的画面

    2024年02月15日
    浏览(51)
  • 【ARM Cortex-M 系列 3 番外篇 -- ARMv6, ARMv7, ARMv8, ARMv9 架构差异及精简指令集 与 复杂指令集 介绍】

    上篇文章:ARM Cortex-M 系列 2.1 – RT-Thread Cortex-M7 异常处理及 hardfault 处理分析 ARM架构是一种处理器架构,全称为高级精简指令集计算机(Advanced RISC Machine)。它是英国ARM公司设计的一种精简指令集( RISC )处理器架构,和复杂指令集( CISC )处理器架构相对。 CISC 与 RISC 差异

    2024年02月08日
    浏览(47)
  • unity android包(armV7+arm64)启动黑屏崩溃,在splash动画开始前

    1、先交代下问题背景。打包一直是用的armV7架构,前段时间老板提到加上arm64。没想到公司其中一台手机居然崩溃,unity的splash动画都没播,但是也没闪退,就是黑屏。看到一串红色崩溃日志。 2、解决方式。把原来安装的armV7架构包删掉,再装armV7+arm64架构的包就可以了。参考

    2023年04月26日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包