Microcontrollers are general-purpose devices that need software to make them application specific. In order to make the software work it needs to be debugged. At one time, debugging consisted of inserting software break points and observing what happened on the outside with a scope or some other observation tool. This worked for simple microcontrollers with small memory footprints and simple peripherals, but this technique was no longer adequate when memory sizes increased to support more sophisticated cores and peripherals.
展开▼