Embedded Systems Design Europe - October 2007 - (Page 18) debug Tools widely available today make it possible to catch 95% of system bugs. An in-circuit emulator is effective for solving basic software issues, and a software simulator gives a good idea of what’s happening inside a chip. The emulator, though, is invasive and impacts how the system performs, while a simulator can’t predict or respond to real-time events. Thus, these tools aren’t effective at helping uncover complex, intermittent, and context-sensitive real-time bugs. It’s a slow process to detect scheduling issues or race conditions between events, intermittent glitches, and problems due to a stack overflow, runaway code, false interrupts, or other unpredictable system crashes. For some types of system problems, these tools are adequate, although debugging can be tedious. As a sort of system sleuth, the developer can take a guess as to what caused the problem, go to critical sections of code, and set a group of emulation breakpoints that hopefully will isolate the problematic event. When the code reaches the breakpoint condition, it stops the CPU, and the designer can store system information so it can be examined. After evaluating this snapshot, the designer will have to take an educated guess as to what could have caused the problem and will have to do so without the help of any historical data that shows the system’s status leading up to the event. Further, each breakpoint might be associated with several thousands of lines of code, and it’s that one particular problematic line that needs to be identified. After evaluating the situation when the error occurred, another set of breakpoints needs to be set to repeat the process. By trial and error, the issue might eventually emerge after tedious hours of unearthing the possible problems and trying to reconstruct the events that led to the actual error. Only then can exhaustive testing ensure that the real source of the problem has been uncovered. In some cases, this approach is simply inadequate. As noted earlier, debug tools are invasive; that is, their existence 18 affects system performance. When debugging aids are removed, whether in hardware or software, the system may perform differently and the problem may no longer exist – or other new ones might arise. Further, if the CPU is stopped during a debug session, it completely changes the way a real-time system operates. With breakpoints, the designer may be able to examine the effect of the error condition, but the cause of the error might have happened long ago and what caused it may be masked by several other system events that have already occurred. It may even be an unusual combination of circumstances that leads to that particular failure. TRACE INTO THE PAST All developers face these frustrating situations when there’s insufficient information to quickly find the source of a system bug. However, now chip makers and debug-tool suppliers have worked together to provide a new type of debug aid known generically as a trace tool. It provides two major benefits. First, it stores a historical record of key system events continuously in real time without having to stop the system CPU. Second, it is so non-intrusive and thus doesn’t have any effect on system performance. A trace tool, such as the one shown in Figure 1, consists of a CPU with onboard triggering logic and data collection along with a high-speed interface to move the data to emulation hardware. That hardware continues to serve in the role it does in a conventional debug session, controlling the processor and monitoring its status – except in trace mode it controls the trigger logic, not the processor core itself. A benefit of this architecture is that the emulator doesn’t steal any processing cycles from the device. Besides controlling the device, the emulator can be used for profiling purposes, such as counting the number of occurrences of an event or for synchronizing the operation of multiple devices. In a trace tool, the emulation hardware also retrieves the stored program information and can be viewed from a software-debugging environment running on a PC. The on-chip debug unit enables high visibility into key system data pathways and its sophisticated triggering, which is controlled from the PC environment, and enables any condition of interest to be isolated. This thereby locates where and why complex, intermittent problems occur. OPERATIONAL DETAILS To get a better idea of exactly what such a system can offer, consider the XDS560 Trace module. Certain DSPs are available with a built-in debug unit as described in Figure 1. By using this trigger, developers can set hardware breakpoints and watchpoints, count many kinds of events, and detect precise debugging sequences. To perform these actions, emulation resources built directly into the target processor require no overhead in terms of either memory or processing cycles. This triggering also helps developers analyze system performance and OCTOBER 2007 | embedded systems design europe | www.embedded.com/europe 017-018-020-021_ESDE.indd 18 9/10/07 15:23:22 http://www.embedded.com/europe
Table of Contents Feed for the Digital Edition of Embedded Systems Design Europe - October 2007 Embedded Systems Design Europe - October 2007 Contents Linux Set to Dominate Torvalds Updates Linux Kernel ARM Establishes Smart Card Foundry Program Emerson Buys Motorola's Embedded Comms Group LynuxWroks and TTTech to Cooperate on Avionics MontaVista CEO Looks for Acquisitions in Europe Ready: Multiprocessing Technology Provides Opportunity Automotive to Drive MCU Market New Supporters Join COM Express Group Analyst Weighs TI Versus Xilinx Versus PicoChip Cover Feature: Embedded Systems Security Has Moved to the Forefront Trace Exposes the Toughest Real-Time Bugs Employ a Secure Flavor of Linux Use an MCU's Low-Power Modes in Foreground/Background Systems Transporting Video Over Wireless Networks New Products Advertising Contacts Embedded Systems Design Europe - October 2007 Embedded Systems Design Europe - October 2007 - Embedded Systems Design Europe - October 2007 (Page 1) Embedded Systems Design Europe - October 2007 - Embedded Systems Design Europe - October 2007 (Page 2) Embedded Systems Design Europe - October 2007 - Contents (Page 3) Embedded Systems Design Europe - October 2007 - Contents (Page 4) Embedded Systems Design Europe - October 2007 - Contents (Page 5) Embedded Systems Design Europe - October 2007 - ARM Establishes Smart Card Foundry Program (Page 6) Embedded Systems Design Europe - October 2007 - ARM Establishes Smart Card Foundry Program (Page 7) Embedded Systems Design Europe - October 2007 - LynuxWroks and TTTech to Cooperate on Avionics (Page 8) Embedded Systems Design Europe - October 2007 - Ready: Multiprocessing Technology Provides Opportunity (Page 9) Embedded Systems Design Europe - October 2007 - Analyst Weighs TI Versus Xilinx Versus PicoChip (Page 10) Embedded Systems Design Europe - October 2007 - Analyst Weighs TI Versus Xilinx Versus PicoChip (Page 11) Embedded Systems Design Europe - October 2007 - Cover Feature: Embedded Systems Security Has Moved to the Forefront (Page 12) Embedded Systems Design Europe - October 2007 - Cover Feature: Embedded Systems Security Has Moved to the Forefront (Page 13) Embedded Systems Design Europe - October 2007 - Cover Feature: Embedded Systems Security Has Moved to the Forefront (Page 14) Embedded Systems Design Europe - October 2007 - Cover Feature: Embedded Systems Security Has Moved to the Forefront (Page 15) Embedded Systems Design Europe - October 2007 - Cover Feature: Embedded Systems Security Has Moved to the Forefront (Page 16) Embedded Systems Design Europe - October 2007 - Trace Exposes the Toughest Real-Time Bugs (Page 17) Embedded Systems Design Europe - October 2007 - Trace Exposes the Toughest Real-Time Bugs (Page 18) Embedded Systems Design Europe - October 2007 - Trace Exposes the Toughest Real-Time Bugs (Page 19) Embedded Systems Design Europe - October 2007 - Trace Exposes the Toughest Real-Time Bugs (Page 20) Embedded Systems Design Europe - October 2007 - Trace Exposes the Toughest Real-Time Bugs (Page 21) Embedded Systems Design Europe - October 2007 - Employ a Secure Flavor of Linux (Page 22) Embedded Systems Design Europe - October 2007 - Employ a Secure Flavor of Linux (Page 23) Embedded Systems Design Europe - October 2007 - Employ a Secure Flavor of Linux (Page 24) Embedded Systems Design Europe - October 2007 - Employ a Secure Flavor of Linux (Page 25) Embedded Systems Design Europe - October 2007 - Employ a Secure Flavor of Linux (Page 26) Embedded Systems Design Europe - October 2007 - Employ a Secure Flavor of Linux (Page 27) Embedded Systems Design Europe - October 2007 - Use an MCU's Low-Power Modes in Foreground/Background Systems (Page 28) Embedded Systems Design Europe - October 2007 - Use an MCU's Low-Power Modes in Foreground/Background Systems (Page 29) Embedded Systems Design Europe - October 2007 - Use an MCU's Low-Power Modes in Foreground/Background Systems (Page 30) Embedded Systems Design Europe - October 2007 - Use an MCU's Low-Power Modes in Foreground/Background Systems (Page 31) Embedded Systems Design Europe - October 2007 - Use an MCU's Low-Power Modes in Foreground/Background Systems (Page 32) Embedded Systems Design Europe - October 2007 - Use an MCU's Low-Power Modes in Foreground/Background Systems (Page 33) Embedded Systems Design Europe - October 2007 - Use an MCU's Low-Power Modes in Foreground/Background Systems (Page 34) Embedded Systems Design Europe - October 2007 - Transporting Video Over Wireless Networks (Page 35) Embedded Systems Design Europe - October 2007 - Transporting Video Over Wireless Networks (Page 36) Embedded Systems Design Europe - October 2007 - Transporting Video Over Wireless Networks (Page 37) Embedded Systems Design Europe - October 2007 - Transporting Video Over Wireless Networks (Page 38) Embedded Systems Design Europe - October 2007 - New Products (Page 39) Embedded Systems Design Europe - October 2007 - New Products (Page 40) Embedded Systems Design Europe - October 2007 - New Products (Page 41) Embedded Systems Design Europe - October 2007 - New Products (Page 42) Embedded Systems Design Europe - October 2007 - Advertising Contacts (Page 43) Embedded Systems Design Europe - October 2007 - Advertising Contacts (Page 44)
For optimal viewing of this digital publication, please enable JavaScript and then refresh the page. If you would like to try to load the digital publication without using Flash Player detection, please click here.