Intel IQ80333 manual Debugging Basics, Hardware and Software Breakpoints, Hardware Breakpoints

Page 67

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® 80333 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 80333 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 80333 also supports a 256 entry, trace buffer, that records program execution information. The registers to control the trace buffer are located in CP14.

Customer Reference Board Manual

67

Image 67
Contents Customer Reference Board Manual Intel IQ80333 I/O ProcessorCustomer Reference Board Manual Contents Dram 2.2 Figures Tables Date Revision Description Revision HistoryOther Related Documents Document Purpose and ScopeComponent Reference Electronic InformationComponent References Electronic InformationTerms and Definitions Terms and DefinitionsDefinition Intel 80333 I/O Processor 231 Intel 80333 I/O Processor Block DiagramFeature Definition Summary of FeaturesHardware Installation Kit ContentFirst-Time Installation and Test Power Requirements Supported Tool Buckets Factory SettingsContents of the Flash Development StrategyTarget Monitors RedHat RedBootSerial-UART Communication Host Communications ExamplesJtag Debug Communication Network Communication Example Network CommunicationGNUPro GDB/Insight Communicating with RedBootIntel IQ80333 I/O Processor GDB set remotebaud Connecting with GDBThis Page Left Intentionally Blank Target Market Functional DiagramPCI Express RAID card Board Form-Factor/Connectivity Form-Factor/Connectivity FeaturesPower Features PowerMemory Subsystem Battery BackupFlash Memory Requirements Flash Memory RequirementsExternal Interrupt Routing to Intel 80333 I/O Processor Interrupt Routing80333 populates the peripheral bus as depicted by Figure Peripheral Bus FeaturesFlash ROM Flash ROM FeaturesFlash Connection on Peripheral Bus Audio Buzzer Rotary SwitchUart Non-Volatile RAMBattery Status Buffer Requirements Battery StatusName Description Console Serial Port Debug InterfaceJtag Port Jtag DebugJtag Port Pin-out Reset Requirements/Schemes Board Reset SchemeSwitch Summary Switches and JumpersSwitch Summary Default Switch Settings of S7A1- VisualJumper Summary Connector SummaryGeneral Purpose Input/Output Header Switch S8A1 Rotary Detail Descriptions of Switches/JumpersSwitch S1C2 Intel 80333 I/O Processor Reset Switch S6A1 BPCI-X ResetSwitch S7A1-3 Retry Settings and Operation Mode Switch S7A1-2 Reset IOP Settings and Operation ModeS7A1-4 PCI-X Bus B Speed Enable Settings and Operation Mode S7A1-9 Operation Mode S7A1-8 Operation ModeS7A1-10 Operation Mode Jumper J1C1 Jtag Chain Jumper J7D1 Flash bit-widthJumper J1D2 Uart Control Jumper J7B4 SMBus Header Jumper J9D3 Buzzer Volume ControlComponents on the Peripheral Bus DramFlash Connection to Peripheral Bus Address Range in Hex Size Data Bus Width Description Peripheral Bus Memory MapIntel 80333 I/O Processor Memory Map Board Support Package BSP ExamplesRedBoot Intel 80333 I/O Processor Files RedBoot* Intel 80333 I/O Processor Memory MapVirtual Address Physical Address Size Description Mov R8, r4 IQ80321 and IQ80333 Comparisons This Page Left Intentionally Blank Purpose IntroductionRelated Web Sites Hardware Setup SetupSoftware Flow Diagram Software SetupCreating a New Project New Project SetupConfiguration Overview Flashing with JtagUsing Flash Programmer Building an Executable File From Example Code Debugging Out of FlashRunning the CodeLab Debugger Launching and Configuring DebuggerManually Loading and Executing an Application Program Displaying Source Code Using BreakpointsStepping Through the Code Setting CodeLab Debug OptionsExploring the CodeLab Debug Windows Watch Window Registers WindowVariables Window Hardware Breakpoints Debugging BasicsHardware and Software Breakpoints Software BreakpointsExceptions/Trapping

IQ80333 specifications

The Intel IQ80333 is a high-performance microprocessor designed specifically for advanced networking, telecommunications, and industrial control applications. Known for its ability to deliver exceptional processing power while maintaining efficiency, the IQ80333 represents a key component in the evolution of embedded systems and real-time applications.

One of the principal features of the IQ80333 is its multi-core architecture. It is equipped with dual-core processing capabilities, allowing it to handle multiple tasks simultaneously. This multi-core setup leads to improved throughput and responsiveness, which is critical in environments that demand real-time data processing and robust multitasking.

The IQ80333 is built on Intel's x86 architecture, ensuring compatibility with a wide range of software applications. This feature is particularly valuable for system designers looking to leverage existing codebases while upgrading their hardware. The x86 architecture also supports a variety of operating systems, giving developers the flexibility to choose the most suitable environment for their applications.

In terms of performance, the IQ80333 boasts a clock speed that can reach up to 1.6 GHz. This high frequency, combined with a well-optimized pipeline and cache architecture, allows for swift execution of complex algorithms and processing-intensive tasks. The chip features a large L2 cache, which enhances its ability to manage memory operations and increases overall system performance.

Power efficiency is another standout characteristic of the Intel IQ80333. Designed for embedded applications, it incorporates features that reduce power consumption without sacrificing performance. This energy-efficient design is particularly important for devices operating in remote environments or where power availability is limited.

The IQ80333 also integrates advanced security technologies that are critical for maintaining data integrity in networked applications. Features such as secure boot and hardware-based encryption provide a robust foundation for creating secure systems, guarding against unauthorized access and ensuring the confidentiality of sensitive information.

Moreover, the microprocessor supports a range of interfaces, including PCI Express, USB, and SATA, allowing seamless integration into various systems and enabling connectivity with peripheral devices. This versatility makes the IQ80333 a preferred choice for developers looking to create customized solutions in networking and industrial applications.

In summary, the Intel IQ80333 combines high performance, energy efficiency, and robust security features, making it an ideal choice for modern embedded systems. Its multi-core architecture, support for x86 software, and advanced connectivity options provide engineers and developers with the tools they need to build sophisticated applications. Whether in telecommunications, industrial control, or networking, the IQ80333 continues to be a pivotal component in the advancement of technology in these fields.