Even today, developers build complex embedded systems with virtually no insight into what the CPU is doing, or why it’s doing it.  That’s a terrible state of affairs given the quality and breadth of tooling that is available, but information about using that tooling, and the tricks of the trade, seem to be spread all over the web, in the heads of Greybeards, or deeply embedded in commercial tools.

So, encouraged (nay, cajoled) by the folks working on the Blackmagic Debug Probe, I figured we’d try and pull some of this stuff together into one place…anyone who can put together a reasonably competent post in the style of the ones that are already here is more than welcome to get a login and come contribute. The intention is to try and turn this into a reasonably extensive repository of embedded principles and practice.

The focus, at least initially, will be on the ARM CORTEX-Ms, but a lot of the tricks and techniques are generally applicable. This isn’t a beginners resource and the posts aren’t step-by-step recipes; We’ll be leaving quite a lot as exercise for the reader. The idea is that anyone using these incredibly powerful little CPUs doesn’t have to end up in a world where ‘Debug Instrumentation’ means a flashing LED.

If you’re new here, and trying to find your way through CORTEX-M debug, I recommend you start with the first post and work your way forwards as the story develops, or take a look at the Posts index.

BTW, we run Google Analytics on this site just to know who’s visited. Feel free to block our cookies if that sort of thing bothers you, but rest assured the information isn’t used by us for any other purpose than to see if anyone loves us.