Debugging code: monitor
Monitor
- adds small program to microcontroller code
- usually in ROM inside microcontroller or on target board
- provides system initialization
- runs user program as subroutine
- can always get control of program (via interrupts)
- uses system resources (e.g., timer, serial line, LAN)
- makes it difficult to debug device drivers and real-time code (e.g., OS)
- provides many of the same functions as emulator at no hardware cost
- e.g., Angel monitor for StrongARM