1 / 20

LAB 6 JTAG and Multi-ICE

LAB 6 JTAG and Multi-ICE. 第四組 R91921042 蘇倉弘 R91921054 莊銘罡 R90921003 陳建志. OUTLINE. Introduction to the Multi-ICE components EmbeddedICE Watchpoints and Breakpoints Connecting Multi-ICE to AXD Lotto Program. Introduction to the Multi-ICE components.

greta
Download Presentation

LAB 6 JTAG and Multi-ICE

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. LAB 6 JTAG and Multi-ICE 第四組 R91921042 蘇倉弘 R91921054 莊銘罡 R90921003 陳建志

  2. OUTLINE • Introduction to the Multi-ICE components • EmbeddedICE • Watchpoints and Breakpoints • Connecting Multi-ICE to AXD • Lotto Program

  3. Introduction to the Multi-ICE components

  4. Introduction to the Multi-ICE components

  5. Introduction to the Multi-ICE components

  6. EmbeddedICE A debug monitor, such as Angel, is an application that runs on the board in conjunction with the user application, and requires some resource to beavailable for it on the board. This means that Angel requires ROM to store the debug monitor code, RAM to store its data, and control over the exception vectors to allow it to gain control of the ARM while the user application is running.

  7. EmbeddedICE The EmbeddedICE debug architecture, on the other hand, requires no such resource. the debuggee needs no special hardware to support debugging (the EmbeddedICE macrocell and the JTAG TAP controller are all that is required) no memory in the debuggee system need be set aside for debugging, and no special software need be incorporated to allow debugging.

  8. EmbeddedICE Note : Although the EmbeddedICE debug architecture requires no memory on the target to operate, the target will still require some memory for executing its own application code.

  9. Watchpoints and Breakpoints Watchpoints All ARM debugger watchpoints are data-changed watchpoints, that is, they are not activated if the data point is read or written to with the same data value as the one currently in memory. Hardware versus software watchpoints Hardware watchpoints are implemented using an EmbeddedICE macrocellpoint to spot data writes to addresses that fall inside a mask. This type of watchpoint is efficient because execution stops only when the relevant data is written. Software watchpoints make no use of the EmbeddedICE macrocell. Instead, after each instruction is executed, the data locations concerned are examined to see whether their values have changed. This type of watchpoint drastically reduces execution performance.

  10. Watchpoints and Breakpoints Watchpoints are taken when the data being watchpointed has changed. When this happens, the program counter is updated to point to the instruction following the one that caused the watchpoint to be taken. The value of the watchpointed data is therefore the new value, not the old value. Breakpointsare taken when the instruction being breakpointed reaches the execution stage of the pipeline, but before it is executed. So, when the breakpoint is taken, the program counter is not updated, and retains the address of the breakpointed instruction. Note : Inside the core of an ARM, the program counter typically points to two instructions beyond the currently executing instruction However, the ARM debuggers simplify this by reporting a modified value for the program counter, so that when it is displayed within the debugger, its contents are the address of the instruction being

  11. Watchpoints and Breakpoints

  12. Connecting Multi-ICE to AXD Experiment Steps 1.Starting the Multi-ICE server • (1)Ensure that: • The Multi-ICE interface unit is plugged into the workstation • The Multi-ICE interface unit is plugged into the target JTAG connector • The target is powered up • The green power light on the interface unit is glowing brightly • (2)Select Start -> Program -> ARM Multi-ICE v2.2 -> Multi-ICE Server. • (3)File -> Auto-configure 2.Perform a variety of debugging tasks

  13. Before using Multi-ICE, we must connect Multi-ICE to AXD first. Connecting Multi-ICE to AXD • AXD->OPTIONS->CONFIGURE TARGET

  14. Connecting Multi-ICE to AXD • How to setup Multi-ICE configuration • Select Options->Configure Target (from the AXD Options menu) • If Multi-ICE is not listed in the Target Environment, we must add it • in the Target Environment • 3. Configure the Multi-ICE.dll

  15. Connecting Multi-ICE to AXD

  16. Connecting Multi-ICE to AXD • ARMulator • Multi-ICE

  17. Connecting Multi-ICE to AXD • Error Message • Solution Ignore this message and configure target again

  18. Number of the set: N. The numbers must be included in these N sets of number Numbers chosen by user Numbers chosen by computer Lotto Program

  19. Lotto Program Input parameters Number sets chosen by ourselves Number sets chosen by computer Result

  20. Reference • Multi-ICE(DUI0048E_MICE2_1_UG.PDF) • Embedded ICE (ARM DAI 0031C) • Embedded Trace Macrocell (ARM DDI 015BD)

More Related