Книга: Real-Time Concepts for Embedded Systems
3.2.2 Embedded Monitor
3.2.2 Embedded Monitor
An alternative to the boot image plus loader approach is to use an embedded monitor. A monitor is an embedded software application commonly provided by the target system manufacturer for its evaluation boards. The monitor enables developers to examine and debug the target system at run time. Similar to the boot image, the monitor is executed on power up and performs system initialization such as
· initializing the required peripheral devices, for example, the serial interface and the system timer chip for memory refresh, at a minimum,
· initializing the memory system for downloading the image, and
· initializing the interrupt controller and installing default interrupt handlers.
The monitor has a well-defined user interface accessible through a terminal emulation program over the serial interface. The monitor defines a set of commands allowing the developer to
· download the image,
· read from and write to system memory locations,
· read and write system registers,
· set and clear different types of breakpoints,
· single-step instructions, and
· reset the system.
The way in which the monitor downloads the image from the host system over the serial or network connection is similar to how the loader does it. The monitor is capable of downloading the image into either the RAM memory or the flash memory. In essence, the monitor has both the boot image and the loader functionalities incorporated but with the added interactive debug capability. The monitor is still present while the newly downloaded image executes. A special keystroke on the host system, for example, CTRL+D, interrupts the program execution and reactivates the monitor user interface so the developer can conduct interactive debugging activities.
The monitor is generally developed by the hardware engineers and is also used by the hardware engineers to perform both system device diagnostics and low-level code debugging. Some manufactures give the monitor source code to their customers. In that case, the code can be extracted and modified to work with a custom-designed target board.
- Lesson 1: Monitoring and Optimizing System Performance
- Remote Performance Monitor
- Using Double Quotes to Resolve Variables in Strings with Embedded Spaces
- CHAPTER 12 System-Monitoring Tools
- Monitoring User Activity on the System
- Console-Based Monitoring
- KDE Process- and System-Monitoring Tools
- Chapter 12. Embedded Development Environment
- Chapter 15. Debugging Embedded Linux Applications
- Practical Advice for the Practicing Embedded Developer
- 1.2. Embedded Linux Today
- 2.1. Embedded or Not?