# ARM Cortex-M33 Instruction Tracing Without a Debugger | Interrupt

**URL:** https://community.memfault.com/t/arm-cortex-m33-instruction-tracing-without-a-debugger-interrupt/326
**Category:** Blog
**Created:** [December 23, 2020, 5:43am UTC](https://community.memfault.com/t/arm-cortex-m33-instruction-tracing-without-a-debugger-interrupt/326 "2020-12-23T05:43:18Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![discobot](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.memfault.com/discobot/32/1_2.png) [@discobot](https://community.memfault.com/u/discobot)
#### Post date: [December 23, 2020, 5:43am UTC](https://community.memfault.com/t/arm-cortex-m33-instruction-tracing-without-a-debugger-interrupt/326/1 "2020-12-23T05:43:18Z")

</div>

In a previous post, we talked about debugging memory corruption issues by making use of [watchpoints](https://interrupt.memfault.com/blog/cortex-m-watchpoints). You may recall in that post we had to _reproduce_ the failure so we could halt the core with a watchpoint installed in order to debug what happened.

* * *
This is a companion discussion topic for the original entry at [https://interrupt.memfault.com/blog/instruction-tracing-mtb-m33](https://interrupt.memfault.com/blog/instruction-tracing-mtb-m33)

---

<div class="post-metadata">

### Author: ![zakaria1193](https://avatars.discourse-cdn.com/v4/letter/z/96bed5/32.png) [@zakaria1193](https://community.memfault.com/u/zakaria1193)
#### Post date: [December 23, 2020, 7:28pm UTC](https://community.memfault.com/t/arm-cortex-m33-instruction-tracing-without-a-debugger-interrupt/326/2 "2020-12-23T19:28:06Z")

</div>

Thanks for the article. it seems like this feature is also available on cortex m0+ but not on cortex m4 ? am i correct? is there a similar feature in cortex m4?

---

<div class="post-metadata">

### Author: ![discobot](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.memfault.com/discobot/32/1_2.png) [@discobot](https://community.memfault.com/u/discobot)
#### Post date: [December 23, 2020, 7:28pm UTC](https://community.memfault.com/t/arm-cortex-m33-instruction-tracing-without-a-debugger-interrupt/326/3 "2020-12-23T19:28:07Z")

</div>



---

<div class="post-metadata">

### Author: ![francois](https://avatars.discourse-cdn.com/v4/letter/f/77aa72/32.png) [@francois](https://community.memfault.com/u/francois)
#### Post date: [December 23, 2020, 7:44pm UTC](https://community.memfault.com/t/arm-cortex-m33-instruction-tracing-without-a-debugger-interrupt/326/4 "2020-12-23T19:44:10Z")

</div>

Cortex-M4 has the ETB (Embedded Trace Buffer), which is similar albeit a little more complicated. Note that both MTB and ETB are optional features, so not every microcontroller will implement them.

---

<div class="post-metadata">

### Author: ![eclig](https://avatars.discourse-cdn.com/v4/letter/e/ecd19e/32.png) [@eclig](https://community.memfault.com/u/eclig)
#### Post date: [December 29, 2020, 11:14pm UTC](https://community.memfault.com/t/arm-cortex-m33-instruction-tracing-without-a-debugger-interrupt/326/5 "2020-12-29T23:14:09Z")

</div>

I’ve found some discussion regarding [use of the ETM in STM32H7 processors](https://community.st.com/s/question/0D50X0000BRXKIS/use-stm32h7-etm-without-debugging-tool). Maybe it sheds some light on this subject!

---

<div class="post-metadata">

### Author: ![Ojasvi](https://avatars.discourse-cdn.com/v4/letter/o/d2c977/32.png) [@Ojasvi](https://community.memfault.com/u/Ojasvi)
#### Post date: [May 2, 2024, 10:09am UTC](https://community.memfault.com/t/arm-cortex-m33-instruction-tracing-without-a-debugger-interrupt/326/6 "2024-05-02T10:09:54Z")

</div>

Are there any dev kits available in which ETB is implemented? (With R5 or M4)

---

<div class="post-metadata">

### Author: ![francois](https://avatars.discourse-cdn.com/v4/letter/f/77aa72/32.png) [@francois](https://community.memfault.com/u/francois)
#### Post date: [May 2, 2024, 11:10am UTC](https://community.memfault.com/t/arm-cortex-m33-instruction-tracing-without-a-debugger-interrupt/326/7 "2024-05-02T11:10:50Z")

</div>

@ojasvi I believe the Microchip SAMD family implements MTB (on M0s) and ETB (on M4). Any of those dev kits should work (e.g. the metro boards from Adafruit).

---

<div class="post-metadata">

### Author: ![Ojasvi](https://avatars.discourse-cdn.com/v4/letter/o/d2c977/32.png) [@Ojasvi](https://community.memfault.com/u/Ojasvi)
#### Post date: [May 2, 2024, 2:52pm UTC](https://community.memfault.com/t/arm-cortex-m33-instruction-tracing-without-a-debugger-interrupt/326/8 "2024-05-02T14:52:56Z")

</div>

@froncis Thank You for the recommendation,  
I have found 2 boards

> **[Adafruit Grand Central M4 Express featuring the SAMD51](https://www.adafruit.com/product/4064)**
>
> Are you ready? Really ready? Cause here comes the Adafruit Grand Central featuring the Microchip ATSAMD51. This dev board is so big, it's not named after a Metro train, it's a whole ...

and [Overview | Adafruit Metro M4 Express featuring ATSAMD51 | Adafruit Learning System](https://learn.adafruit.com/adafruit-metro-m4-express-featuring-atsamd51?view=all)  
but they don’t specifically mention if ETB is there and if the base address is provided or not(the aim is to access ETB directly from the code just as in this blog), Is there any way to confirm it? Perhaps you could help me out here, I’d be grateful.  
They do use the **Microchip ATSAMD51** chipset, and in the chip documentation, it’s mentioned ETB is there. But I wanna be sure that it’s accessible from Adafruit Boards.  
So please help me with this

---

<div class="post-metadata">

### Author: ![Ojasvi](https://avatars.discourse-cdn.com/v4/letter/o/d2c977/32.png) [@Ojasvi](https://community.memfault.com/u/Ojasvi)
#### Post date: [May 2, 2024, 3:22pm UTC](https://community.memfault.com/t/arm-cortex-m33-instruction-tracing-without-a-debugger-interrupt/326/9 "2024-05-02T15:22:54Z")

</div>

> **[DA14695-00HQDEVKT-U - SmartBond™ DA14695 Bluetooth® Low Energy 5.2 USB...](https://www.renesas.com/us/en/products/wireless-connectivity/bluetooth-low-energy/da14695-00hqdevkt-u-smartbond-da14695-bluetooth-low-energy-52-usb-development-kit?partno=DA14695-00HQDEVKT-U)**
>
> This USB development kit enables users to program and test their Bluetooth® Low Energy application in a small and portable form factor.

Is this the development kit with USB that is used in the above blog ?
