B.9 Debugging Basics

B.9.1 Overview

Debuggers allow developers to interrogate application code by allowing program flow control, data observation, and data manipulation. The flow control functions include the ability to single-step through the code, step into functions, step over functions, and run to breakpoint (hardware or software). The data observation and manipulation functions include access to memory, registers, and variables. The combination of the flow control and data functions allows the developer to debug problems as they occur or to validate the application code. As the size of an application grows, the need to be able to narrow down the cause of a problem to a few lines of code is imperative.

Debuggers have a finite set of capabilities and limitations. Debuggers can give insight that is difficult to obtain without them, but they can fail when they are not used within the limits of their functionality. They are intrusive by definition. They are software programs that interact with software monitors or hardware (JTAG) to control a target program. Ultimately, the debugger works best when the developer understands what it can and can not do and uses it within those constraints.

B.9.2 Hardware and Software Breakpoints

The following section provides a brief overview of breakpoints. See the Intel® 80332 I/O Processor Developer’s Manual, for more detailed information.

B.9.2.1 Software Breakpoints

Software breakpoints are setup and utilized via debugger utilities (such as CodeLab). The abilities of software breakpoints were seen in Section B.7 of this Guide. Program execution can be halted at a particular line of code, stepped through, and executed again to the next breakpoint via debuggers.

During this process, register values, memory address contents, variable contents, and many other useful pieces of information can be monitored.

B.9.2.2 Hardware Breakpoints

Hardware breakpoints step and breakpoint in code in either ROM or RAM without altering the code, stacks, or other target information. Hardware breakpoints handle difficult issues, by providing the ability to set the processor conditions that cause the program to halt. Use hardware breakpoints to locate problems such as reentrance, obscure timing, etc.

The 80332 contains two instruction breakpoint address registers (IBCR0 and IBCR1), one data breakpoint address register (DBR0), one configurable data mask/address register (DBR1), and one data breakpoint control register (DBCON). The 80332 also supports a 256 entry, trace buffer, that records program execution information. The registers to control the trace buffer are located in CP14.

Evaluation Platform Board Manual

67

Page 67
Image 67
Intel IQ80332 manual Debugging Basics, Hardware and Software Breakpoints, Hardware Breakpoints

IQ80332 specifications

The Intel IQ80332 is a high-performance microprocessor designed primarily for embedded applications, showcasing Intel's commitment to delivering powerful computing solutions for a variety of industries. Launched as part of Intel’s post-Pentium architecture, the IQ80332 is built on a robust architecture that combines efficiency with advanced performance capabilities, making it particularly suitable for industrial, telecommunications, and networking environments.

One of the standout features of the IQ80332 is its support for wireless communication technologies, providing seamless connectivity options for embedded devices. The chip integrates advanced power management features, enabling it to operate efficiently, which is crucial for systems that demand low power consumption without sacrificing performance.

The processor is built on a scalable architecture that supports a wide range of applications, from simple control operations to complex data processing tasks. It has a diverse instruction set, allowing developers to leverage a variety of programming paradigms for optimizing application performance. This versatility makes the IQ80332 a preferred choice for developers looking to build sophisticated embedded systems.

Another key characteristic of the IQ80332 processor is its robust security features. It includes hardware-level security measures that help protect sensitive data and maintain system integrity—an essential requirement in today’s connected environments where cyber threats are prevalent.

Additionally, the Intel IQ80332 supports multiple system interfaces, allowing for easy integration with various peripherals. Its compatibility with industry-standard buses makes it an ideal choice for upgrading existing systems without extensive redesign efforts.

Moreover, the chip is capable of running multiple operating systems, which provides developers with flexibility in choosing the best software platforms for their applications. This multitasking ability contributes to its efficiency, making it a noteworthy contender in the embedded processing market.

In summary, the Intel IQ80332 microprocessor is characterized by high performance, low power consumption, and robust security features. Its versatility, combined with advanced connectivity options and strong support for multiple operating systems, makes it a valuable asset in the development of next-generation embedded systems across a multitude of sectors. As industries continue to evolve, the IQ80332 remains a compelling solution for engineers and developers seeking reliable and efficient computing power.