0
\$\begingroup\$

I bought an Atmel ICE a while ago as a way to step away from the Arduino environment and begin using more custom hardware. Now that I am quite comfortable with this I've begun contemplating using or moving to other MCU manufacturers like ST, NXP, etc and primarily ARM core devices...

My question is, what makes programmers/emulators/debuggers different between a core specific and a manufacturer specific tool? Assuming were talking about strictly an ARM core and JTAG, does using a debug tool from the chip manufacturer give any benefit over using one that is not? For example, something like this Segger emulator vs something like STLink or Atmel ICE? What makes a $500 Segger JTAG debugger different from an $8 JTAG debugger? Will an IDE like Microchip Studio or STM32CubeIDE still recognize and work nicely with a debugger that is not a Microchip or STMicro product?

\$\endgroup\$
1
  • 1
    \$\begingroup\$ I think you need to look at the features. My history goes all the back to "bond-out" dice made specifically for ICE systems that would monitor and capture and provide lots of detail about the internals in a very wide layout. This was before JTAG. JTAG itself is only as good as your knowledge of what's being represented. And often, much of that detail is hidden/secret or kept behind very strict NDA agreements. Often, some is disclosed: write operations needed to program the flash, for example. I suggest you call the high-priced spread folks and just ask them why you should pay the extra. \$\endgroup\$ Oct 9, 2023 at 4:22

1 Answer 1

1
\$\begingroup\$

All flasher tools need to know the specific part number to know how to program the flash. You need to state this when programming and the tool should also look at the device id registers of the specific part and refuse to program if it doesn't match with expectations. This isn't just protectionism - you shouldn't be allowed to program the wrong part with the wrong script since that would be dangerous. At an utter minimum it will need to know flash sizes.

Furthermore, when using the actual debugger, you'll want support for the specific memory map and hardware peripherals as well.

How to do all of this is device and manufacturer-specific, so it doesn't make sense for the silicon vendor to add support for the competition. So it will simply not work.

Whereas for example Segger + CrossWorks is a platform that supports multiple manufacturers and they aren't affiliated with any particular vendor. I'm using that same tool for diverse flavours of Cortex M: Microchip, ST and NXP.

There are plenty of other such tool vendors that aren't affiliated with a particular manufacturer: IAR, Lauterbach, iSystem, PE Micro etc etc.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.