Intel IQ80219 manual Board Manual 119

Page 119

Intel® IQ80219 General Purpose PCI Processor Evaluation Platform

Getting Started and Debugger

C.9 Debugging Basics

C.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.

C.9.2 Hardware and Software Breakpoints

The following section provides a brief overview of breakpoints. See the Intel® 80219 General Purpose PCI Processor Developer’s Manual, for more detailed information.

C.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 C.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.

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

Image 119
Contents November 13 Board ManualBoard Manual Contents Debug Interface Dram Exploring the CodeLab Debug Windows 100 119 Figures Tables Rstmode and Retry Operation Setting Summary105 Date Revision Description Revision HistoryThis Page Left Intentionally Blank Related Documents Document Purpose and ScopeComponent Reference Electronic InformationComponent References Electronic InformationDefinition Terms and DefinitionsTerms and Definitions Intel 80219 General Purpose PCI Processor Intel 80219 General Purpose PCI Processor Block DiagramIntroduction Feature Definition Intel IQ80219 Evaluation Platform Board FeaturesSummary of Features Power and Backplane Requirements Kit ContentHardware Installation First-Time Installation and TestSupported Tool Buckets Factory SettingsContents of the Flash Development StrategyTarget Monitors Redhat RedbootARM Firmware Suite Semihosting File I/O ARM AngelEthernet-Network Communication Host Communications ExamplesSerial-UART Communication Jtag Debug Communication Jtag Debug CommunicationGNUPro GDB/Insight Communicating with RedbootGetting Started GDB set remotebaud Connecting with GDBARM Extended Debugger This Page Left Intentionally Blank Bridge Functional DiagramIntel fi Giga EthernetBoard Form-Factor/Connectivity Form-Factor/Connectivity FeaturesPower Features PowerSupported Dimm Types Battery BackupDDR Memory Features Memory SubsystemFlash Memory Requirements Flash Memory RequirementsIntel 80219 General Purpose PCI Processor Operation Mode IQ80219 Interrupt routing Interrupt RoutingIntel IQ80219 Evaluation Platform Board Peripheral Bus Peripheral Bus FeaturesFlash ROM Flash ROM FeaturesUart Uart FeaturesHEX Display on the Peripheral Bus HEX DisplayRotary Switch Requirements Rotary SwitchBattery Status Buffer Requirements Battery StatusIntel 82544EI Gigabit Ethernet Controller Debug InterfaceConsole Serial Port Ethernet PortJtag Port Pin-out Logic-Analyzer ConnectorsJtag Debug 3.1 Jtag PortMictor J3F2 Micor J3F2 Signal/PinsMictor J2F1 Micor J2F1 Signal/PinsSchematic Signal Name Mictor J1C1 Micor J1C1 Signal/PinsMictor J3C1 Micor J3C1 Signal/PinsMictor J2C1 Micor J2C1 Signal/PinsReset Requirements/Schemes Board Reset SchemeSwitch Summary Switches and JumpersPcix Initialization Summary User Defined SwitchesPCI-X Bridge Initialization Signals Default Switch Settings Visual General Purpose Input/Output Header Connector SummaryJumper Summary S9E1-1 S9E1-2 S9E1-3 S9E1-4 S8E1-6 Operation Mode Secondary PCI/PCI-X Operation SettingsPrimary PCI/PCI-X Operation Settings Primary PCI/PCI-X Operation SettingsSwitch S7E1- 2/3 Detail Descriptions of Switches/JumpersSwitch S7E1- 6/7 Switch S7E1- 4/5S7E1-8 Switch S7E1Switch S7E1 8 Descriptions Switch S7E1 8 Settings and Operation ModeSwitch S8E1 Switch S8E1 6 Descriptions Switch S8E1 5 DescriptionsSwitch S8E1 5 Settings and Operation Mode Switch S8E1 5 Driver Mode Output ImpedancesSwitch S8E1 8 Settings and Operation Mode Switch S8E1 7 DescriptionsSwitch S8E1 7 Settings and Operation Mode Switch S8E1 8 DescriptionsSwitch S8E2 Switch S8E2 1/2Switch S9E1 4 Descriptions Switch S9E1Switch S9E1 13 Descriptions Switch S9E1 13 Settings and Operation ModeSwitch S4D1 3/4 Switch S1D1 1/2Switch S4D1 1/2 Jumper J3G1 Jumper J1G2Jumper J3E1 Jumper J9F1 Jumper J9E1This Page Left Intentionally Blank Idsel Routing for Private Device Configuration Private Device ConfigurationPrivate Device Configuration Requirements Interrupt Routing for Secondary PCI-X Private Device Interrupt Routing for Private Device ConfigurationDDR Memory Bias Voltage Minimum/Maximum Values DramComponents on the Peripheral Bus Software Reference Address Read Register Write Register Uart Register SettingsHex Display Connection to Peripheral Bus Register Bitmap 7-Segment Display LSB FE85 0000h Write Only Ethernet Intel General Purpose PCI Processor Memory Map Board Support Package BSP ExamplesIntel 80219 General Purpose PCI Processor Memory Map Physical Address Range Description Redboot* Intel IQ80219 Memory MapRedboot Intel IQ80310 Physical Memory Map Redboot Intel IQ80219 Physical Memory Map VisualRedboot Intel IQ80310 Virtual Memory Map Redboot Intel IQ80219 Virtual Memory Map VisualRedboot Intel IQ80219 Files Redboot Intel IQ80219 DDR Memory Initialization Sequence Redboot Switching This Page Left Intentionally Blank IQ80310 and IQ80219 Comparisons This Page Left Intentionally Blank Necessary Hardware and Software IntroductionPurpose Related 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 DebuggerDisplaying Source Code Manually Loading and Executing an Application ProgramUsing Breakpoints Stepping Through the Code Setting CodeLab Debug OptionsExploring the CodeLab Debug Windows Variables Window Registers WindowWatch Window Hardware Breakpoints Debugging BasicsHardware and Software Breakpoints Software BreakpointsExceptions/Trapping 104 Board Manual 105 106 Board Manual 107 Flash Memory Evaluation Board 108 Board Manual 109 110 Board Manual 111 112 Board Manual 113 114 Board Manual 115 116 4 4 Debug and Console Windows 118 Board Manual 119 3 C.9.3 Exceptions/Trapping