28
Blackfin Debugger 1 ©1989-2018 Lauterbach GmbH Blackfin Debugger TRACE32 Online Help TRACE32 Directory TRACE32 Index TRACE32 Documents ...................................................................................................................... ICD In-Circuit Debugger ................................................................................................................ Processor Architecture Manuals .............................................................................................. Blackfin .................................................................................................................................... Blackfin Debugger ................................................................................................................ 1 General Note ...................................................................................................................... 3 Brief Overview of Documents for New Users ................................................................. 3 Warning .............................................................................................................................. 4 Application Note ................................................................................................................ 5 Location of Debug Connector 5 Quick Start JTAG ............................................................................................................... 6 Troubleshooting ................................................................................................................ 8 SYStem.Up Errors 8 FAQ ..................................................................................................................................... 8 Configuration ..................................................................................................................... 11 System Overview 11 General System Settings .................................................................................................. 12 SYStem.CONFIG Configure debugger according to target topology 12 Daisy-chain Example 14 TapStates 15 SYStem.CONFIG.CORE Assign core to TRACE32 instance 16 SYStem.CPU CPU type selection 17 SYStem.CpuAccess Run-time memory access (intrusive) 17 SYStem.CpuAccess Run-time memory access (intrusive) 18 SYStem.JtagClock JTAG clock selection 18 SYStem.LOCK Lock and tristate the debug port 19 SYStem.MemAccess Real-time memory access (non-intrusive) 20 SYStem.Mode System mode selection 21 SYStem.Option IMASKASM Interrupt disable 21 SYStem.Option IMASKHLL Interrupt disable 21 Breakpoints ........................................................................................................................ 22

Blackfin Debugger - Lauterbach · Blackfin Debugger 12 ©1989-2018 Lauterbach GmbH DRPRE (default: 0) of TAPs in the JTAG chain between the core of interest and the

  • Upload
    vukhue

  • View
    230

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Blackfin Debugger - Lauterbach · Blackfin Debugger 12 ©1989-2018 Lauterbach GmbH DRPRE (default: 0)  of TAPs in the JTAG chain between the core of interest and the

Blackfin Debugger

TRACE32 Online Help

TRACE32 Directory

TRACE32 Index

TRACE32 Documents ......................................................................................................................

ICD In-Circuit Debugger ................................................................................................................

Processor Architecture Manuals ..............................................................................................

Blackfin ....................................................................................................................................

Blackfin Debugger ................................................................................................................ 1

General Note ...................................................................................................................... 3

Brief Overview of Documents for New Users ................................................................. 3

Warning .............................................................................................................................. 4

Application Note ................................................................................................................ 5

Location of Debug Connector 5

Quick Start JTAG ............................................................................................................... 6

Troubleshooting ................................................................................................................ 8

SYStem.Up Errors 8

FAQ ..................................................................................................................................... 8

Configuration ..................................................................................................................... 11

System Overview 11

General System Settings .................................................................................................. 12

SYStem.CONFIG Configure debugger according to target topology 12

Daisy-chain Example 14

TapStates 15

SYStem.CONFIG.CORE Assign core to TRACE32 instance 16

SYStem.CPU CPU type selection 17

SYStem.CpuAccess Run-time memory access (intrusive) 17

SYStem.CpuAccess Run-time memory access (intrusive) 18

SYStem.JtagClock JTAG clock selection 18

SYStem.LOCK Lock and tristate the debug port 19

SYStem.MemAccess Real-time memory access (non-intrusive) 20

SYStem.Mode System mode selection 21

SYStem.Option IMASKASM Interrupt disable 21

SYStem.Option IMASKHLL Interrupt disable 21

Breakpoints ........................................................................................................................ 22

Blackfin Debugger 1 ©1989-2018 Lauterbach GmbH

Page 2: Blackfin Debugger - Lauterbach · Blackfin Debugger 12 ©1989-2018 Lauterbach GmbH DRPRE (default: 0)  of TAPs in the JTAG chain between the core of interest and the

Software Breakpoints 22

On-chip Breakpoints 22

Breakpoint in ROM 22

Example for Breakpoints 23

Memory Classes ................................................................................................................ 24

JTAG Connector ................................................................................................................ 25

Support ............................................................................................................................... 26

Available Tools 26

Compilers 26

Target Operating Systems 27

3rd-Party Tool Integrations 28

Products ............................................................................................................................. 29

Product Information 29

Order Information 29

Blackfin Debugger 2 ©1989-2018 Lauterbach GmbH

Page 3: Blackfin Debugger - Lauterbach · Blackfin Debugger 12 ©1989-2018 Lauterbach GmbH DRPRE (default: 0)  of TAPs in the JTAG chain between the core of interest and the

Blackfin Debugger

Version 22-Mar-2018

General Note

This documentation describes the processor specific settings and features for the Blackfin Embedded Media Processor. TRACE32-ICD supports all Blackfin devices which are equipped with the JTAG debug interface.

If some of the described functions, options, signals or connections in this Processor Architecture Manual are only valid for a single CPU the name is added in brackets.

Brief Overview of Documents for New Users

Architecture-independent information:

• “Debugger Basics - Training” (training_debugger.pdf): Get familiar with the basic features of a TRACE32 debugger.

• “T32Start” (app_t32start.pdf): T32Start assists you in starting TRACE32 PowerView instances for different configurations of the debugger. T32Start is only available for Windows.

• “General Commands” (general_ref_<x>.pdf): Alphabetic list of debug commands.

Architecture-specific information:

• “Processor Architecture Manuals”: These manuals describe commands that are specific for the processor architecture supported by your debug cable. To access the manual for your processor architecture, proceed as follows:

- Choose Help menu > Processor Architecture Manual.

• “RTOS Debuggers” (rtos_<x>.pdf): TRACE32 PowerView can be extended for operating system-aware debugging. The appropriate RTOS manual informs you how to enable the OS-aware debugging.

Blackfin Debugger 3 ©1989-2018 Lauterbach GmbH

Page 4: Blackfin Debugger - Lauterbach · Blackfin Debugger 12 ©1989-2018 Lauterbach GmbH DRPRE (default: 0)  of TAPs in the JTAG chain between the core of interest and the

Warning

Signal Level

The debugger output voltage follows the target voltage level. It supports a voltage range of 0.4 … 5.2 V.

ESD Protection

NOTE: To prevent debugger and target from damage it is recommended to connect or disconnect the debug cable only while the target power is OFF.

Recommendation for the software start:• Disconnect the debug cable from the target while the target power is off.• Connect the host system, the TRACE32 hardware and the debug cable.• Start the TRACE32 software.• Connect the debug cable to the target.• Switch the target power ON.Power down:• Switch off the target power.• Disconnect the debug cable from the target.

Blackfin Debugger 4 ©1989-2018 Lauterbach GmbH

Page 5: Blackfin Debugger - Lauterbach · Blackfin Debugger 12 ©1989-2018 Lauterbach GmbH DRPRE (default: 0)  of TAPs in the JTAG chain between the core of interest and the

Application Note

Location of Debug Connector

Locate the debug connector on your target board as close as possible to the processor to minimize the capacitive influence of the trace length and cross coupling of noise onto the JTAG signals.

Blackfin Debugger 5 ©1989-2018 Lauterbach GmbH

Page 6: Blackfin Debugger - Lauterbach · Blackfin Debugger 12 ©1989-2018 Lauterbach GmbH DRPRE (default: 0)  of TAPs in the JTAG chain between the core of interest and the

Quick Start JTAG

Starting up the debugger is done as follows:

1. Select the device prompt B: for the ICD Debugger, if the device prompt is not active after the TRACE32 software was started.

2. Select the CPU type to load the CPU specific settings.

3. Enter debug mode:

This command resets the CPU and enters debug mode. After the execution of this command access to the registers and to memory is possible. Before performing the first access to external SDRAM or FLASH the External Bus Interface Unit (EBIU) must be configured.

4. The following command sequence is for the BF537 processor and configures the SDRAM controller with default values that were derived for maximum flexibility. They work for a system clock frequency between 54 MHz and 133 MHz.

In the example a ST M29W320DB flash device is used in 16-bit mode. All four memory banks and CLKOUT are enabled.

b:

SYStem.CPU BF537

SYStem.Up

; configure SDRAM controllerData.Set 0xFFC00A1sLONG 0x0091998DData.Set 0xFFC00A14 %WORD 0x0025Data.Set 0xFFC00A1C %WORD 0x03A0

; EBIU_SDGCTL; EBIU_SDBCTL; EBIU_SDRRC

; enable all flash memory banks and clock outData.Set 0xFFC00A00 %WORD 0x00FF

; EBIU_AMGCTL

; ST M29W320DB flash device in 16-bit modeFLASH.Create 1. 0x20000000--0x20003FFF 0x4000 AM29LV100 WordFLASH.Create 1. 0x20004000--0x20007FFF 0x2000 AM29LV100 WordFLASH.Create 1. 0x20008000--0x2000FFFF 0x8000 AM29LV100 WordFLASH.Create 1. 0x20010000--0x203FFFFF 0x10000 AM29LV100 Word

Blackfin Debugger 6 ©1989-2018 Lauterbach GmbH

Page 7: Blackfin Debugger - Lauterbach · Blackfin Debugger 12 ©1989-2018 Lauterbach GmbH DRPRE (default: 0)  of TAPs in the JTAG chain between the core of interest and the

5. Load the program.

The option of the Data.LOAD command depends on the file format generated by the compiler. For information on the compiler options refer to the section Compiler. A detailed description of the Data.LOAD command is given in the “General Commands Reference”.

The start up can be automated using the programming language PRACTICE. A typical start sequence is shown below:

*) These commands open windows on the screen. The window position can be specified with the WinPOS command.

Data.LOAD.Elf demo.dxe ; The file demo.dxe is in ELF format

b:: ; Select the ICD device prompt

WinClear ; Delete all windows

SYStem.CPU BF537 ; select the processor

SYStem.Up ; Reset the target and enter debug mode

Data.Load.Elf sieve.dxe ; Load the application

Register.Set PC main ; Set the PC to function main

Data.List ; Open disassembly window *)

Register ; Open register window *)

PER.view ; Open window with peripheral register *)

Break.Set sieve ; Set breakpoint to function sieve

Break.Set 0x1000 /p ; Set on-chip breakpoint to address 1000; Refer to the restrictions in; On-chip Breakpoints.

Blackfin Debugger 7 ©1989-2018 Lauterbach GmbH

Page 8: Blackfin Debugger - Lauterbach · Blackfin Debugger 12 ©1989-2018 Lauterbach GmbH DRPRE (default: 0)  of TAPs in the JTAG chain between the core of interest and the

Troubleshooting

SYStem.Up Errors

The SYStem.Up command is the first command of a debug session where communication with the target is required. If you receive error messages while executing this command this may have the following reasons.

FAQ

All The target has no power.

All There are additional loads or capacities on the JTAG lines.

All The JTAG clock is too fast.

Debugging via VPN

Ref: 0307

The debugger is accessed via Internet/VPN and the performance is very slow. What can be done to improve debug performance?

The main cause for bad debug performance via Internet or VPN are low data throughput and high latency. The ways to improve performance by the debugger are limited:

In PRACTICE scripts, use "SCREEN.OFF" at the beginning of the scriptand "SCREEN.ON" at the end. "SCREEN.OFF" will turn off screenupdates. Please note that if your program stops (e.g. on error) without exe-cuting "SCREEN.OFF", some windows will not be updated.

"SYStem.POLLING SLOW" will set a lower frequency for target statechecks (e.g. power, reset, jtag state). It will take longer for the debugger torecognize that the core stopped on a breakpoint.

"SETUP.URATE 1.s" will set the default update frequency ofData.List/Data.dump/Variable windows to 1 second (the slowest possiblesetting).

prevent unneeded memory accesses using "MAP.UPDATEONCE[address-range]" for RAM and "MAP.CONST [address--range]" forROM/FLASH. Address ranged with "MAP.UPDATEONCE" will read thespecified address range only once after the core stopped at a breakpoint ormanual break. "MAP.CONST" will read the specified address range onlyonce per SYStem.Mode command (e.g. SYStem.Up).

Blackfin Debugger 8 ©1989-2018 Lauterbach GmbH

Page 9: Blackfin Debugger - Lauterbach · Blackfin Debugger 12 ©1989-2018 Lauterbach GmbH DRPRE (default: 0)  of TAPs in the JTAG chain between the core of interest and the

Setting a Software Breakpoint fails

Ref: 0276

What can be the reasons why setting a software breakpoint fails?

Setting a software breakpoint can fail when the target HW is not able to implement the wanted breakpoint. Possible reasons:

The wanted breakpoint needs special features that are only possible torealize by the trigger unit inside the controller.

Example: Read, write and access (Read/Write) breakpoints ("type" in Break.Set window). Breakpoints with checking in real-time for data-values ("Data"). Breakpoints with special features ("action") like TriggerTrace, TraceEnable, TraceOn/TraceOFF.

TRACE32 can not change the memory.Example: ROM and Flash when no preparation with FLASH.Create, FLASH.TARGET and FLASH.AUTO was made. All type of memory if the memory device is missing the necessary control signals like WriteEnable or settings of registers and SpecialFunctionRegisters (SFR).

Contrary settings in TRACE32.Like: MAP.BOnchip for this memory range. Break.SELect.<breakpoint-type> Onchip (HARD is only available for ICE and FIRE).

RTOS and MMU:If the memory can be changed by Data.Set but the breakpoint doesn't work it might be a problem of using an MMU on target when setting the breakpoint to a symbolic address that is different than the writable and intended memory location.

Blackfin Debugger 9 ©1989-2018 Lauterbach GmbH

Page 10: Blackfin Debugger - Lauterbach · Blackfin Debugger 12 ©1989-2018 Lauterbach GmbH DRPRE (default: 0)  of TAPs in the JTAG chain between the core of interest and the

Configuration

System Overview

POWER DEBUG IIPODBUS SYNC

TRIG

POWER7-9 V

US

B

LAUTERBACHPODBUS OUT

DE

BU

G C

AB

LE

Target

POWER DEBUG II

EthernetCable

POWER

SELECT

RUNNING

LINK

ACTIVITY

ET

HE

RN

ET

HUB

1 GBit Ethernet

Debug Cable

DE

BU

G C

AB

LE

JTA

GC

onn

ecto

r

LA

UT

ER

BA

CH

PODBUS EXPRESS OUT

PC orWorkstation

AC/DC Adapter

Blackfin Debugger 10 ©1989-2018 Lauterbach GmbH

Page 11: Blackfin Debugger - Lauterbach · Blackfin Debugger 12 ©1989-2018 Lauterbach GmbH DRPRE (default: 0)  of TAPs in the JTAG chain between the core of interest and the

General System Settings

SYStem.CONFIG Configure debugger according to target topology

The four parameters IRPRE, IRPOST, DRPRE, DRPOST are required to inform the debugger about the TAP controller position in the JTAG chain, if there is more than one core in the JTAG chain (e.g. ARM + DSP). The information is required before the debugger can be activated e.g. by a SYStem.Up. See Daisy-chain Example.For some CPU selections (SYStem.CPU) the above setting might be automatically included, since the required system configuration of these CPUs is known.

TriState has to be used if several debuggers (“via separate cables”) are connected to a common JTAG port at the same time in order to ensure that always only one debugger drives the signal lines. TAPState and TCKLevel define the TAP state and TCK level which is selected when the debugger switches to tristate mode. Please note: nTRST must have a pull-up resistor on the target, TCK can have a pull-up or pull-down resistor, other trigger inputs need to be kept in inactive state.

Format: SYStem.CONFIG <parameter> <number_or_address>SYStem.MultiCore <parameter> <number_or_address> (deprecated)

<parameter>: CORE <core>

<parameter>:(JTAG):

DRPRE <bits>DRPOST <bits>IRPRE <bits>IRPOST <bits>TAPState <state>TCKLevel <level>TriState [ON | OFF]Slave [ON | OFF]

Multicore debugging is not supported for the DEBUG INTERFACE (LA-7701).

CORE For multicore debugging one TRACE32 GUI has to be started per core. To bundle several cores in one processor as required by the system this command has to be used to define core and processor coordinates within the system topology.Further information can be found in SYStem.CONFIG.CORE.

Blackfin Debugger 11 ©1989-2018 Lauterbach GmbH

Page 12: Blackfin Debugger - Lauterbach · Blackfin Debugger 12 ©1989-2018 Lauterbach GmbH DRPRE (default: 0)  of TAPs in the JTAG chain between the core of interest and the

DRPRE (default: 0) <number> of TAPs in the JTAG chain between the core of interest and the TDO signal of the debugger. If each core in the system contributes only one TAP to the JTAG chain, DRPRE is the number of cores between the core of interest and the TDO signal of the debugger.

DRPOST (default: 0) <number> of TAPs in the JTAG chain between the TDI signal of the debugger and the core of interest. If each core in the system contributes only one TAP to the JTAG chain, DRPOST is the number of cores between the TDI signal of the debugger and the core of interest.

IRPRE (default: 0) <number> of instruction register bits in the JTAG chain between the core of interest and the TDO signal of the debugger. This is the sum of the instruction register length of all TAPs between the core of interest and the TDO signal of the debugger.

IRPOST (default: 0) <number> of instruction register bits in the JTAG chain between the TDI signal and the core of interest. This is the sum of the instruction register lengths of all TAPs between the TDI signal of the debugger and the core of interest.

TAPState (default: 7 = Select-DR-Scan) This is the state of the TAP controller when the debugger switches to tristate mode. All states of the JTAG TAP controller are selectable.

TCKLevel (default: 0) Level of TCK signal when all debuggers are tristated.

TriState (default: OFF) If several debuggers share the same debug port, this option is required. The debugger switches to tristate mode after each debug port access. Then other debuggers can access the port. JTAG: This option must be used, if the JTAG line of multiple debug boxes are connected by a JTAG joiner adapter to access a single JTAG chain.

Slave (default: OFF) If more than one debugger share the same debug port, all except one must have this option active.JTAG: Only one debugger - the “master” - is allowed to control the signals nTRST and nSRST (nRESET).

Blackfin Debugger 12 ©1989-2018 Lauterbach GmbH

Page 13: Blackfin Debugger - Lauterbach · Blackfin Debugger 12 ©1989-2018 Lauterbach GmbH DRPRE (default: 0)  of TAPs in the JTAG chain between the core of interest and the

Daisy-chain Example

Below, configuration for core C.

Instruction register length of

• Core A: 3 bit

• Core B: 5 bit

• Core D: 6 bit

SYStem.CONFIG.IRPRE 6 ; IR Core D

SYStem.CONFIG.IRPOST 8 ; IR Core A + B

SYStem.CONFIG.DRPRE 1 ; DR Core D

SYStem.CONFIG.DRPOST 2 ; DR Core A + B

SYStem.CONFIG.CORE 0. 1. ; Target Core C is Core 0 in Chip 1

Core A Core B Core C Core D TDOTDI

Chip 0 Chip 1

Blackfin Debugger 13 ©1989-2018 Lauterbach GmbH

Page 14: Blackfin Debugger - Lauterbach · Blackfin Debugger 12 ©1989-2018 Lauterbach GmbH DRPRE (default: 0)  of TAPs in the JTAG chain between the core of interest and the

TapStates

0 Exit2-DR

1 Exit1-DR

2 Shift-DR

3 Pause-DR

4 Select-IR-Scan

5 Update-DR

6 Capture-DR

7 Select-DR-Scan

8 Exit2-IR

9 Exit1-IR

10 Shift-IR

11 Pause-IR

12 Run-Test/Idle

13 Update-IR

14 Capture-IR

15 Test-Logic-Reset

Blackfin Debugger 14 ©1989-2018 Lauterbach GmbH

Page 15: Blackfin Debugger - Lauterbach · Blackfin Debugger 12 ©1989-2018 Lauterbach GmbH DRPRE (default: 0)  of TAPs in the JTAG chain between the core of interest and the

SYStem.CONFIG.CORE Assign core to TRACE32 instance

Default coreindex: depends on the CPU, usually 1. for generic chips

Default chipindex: derived from CORE= parameter of the configuration file (config.t32). The CORE parameter is defined according to the start order of the GUI in T32Start with ascending values.

To provide proper interaction between different parts of the debugger the systems topology must be mapped to the debuggers topology model. The debugger model abstracts chips and sub-cores of these chips. Every GUI must be connect to one unused core entry in the debugger topology model. Once the SYStem.CPU is selected a generic chip or none generic chip is created at the default chipindex.

None Generic Chips

None generic chips have a fixed amount of sub-cores with a fixed CPU type.

First all cores have successive chip numbers at their GUIs. Therefore you have to assign the coreindex and the chipindex for every core. Usually the debugger does not need further information to access cores in none generic chips, once the setup is correct.

Generic Chips

Generic chips can accommodate an arbitrary amount of sub-cores. The debugger still needs information how to connect to the individual cores e.g. by setting the JTAG chain coordinates.

Start-up Process

The debug system must not have an invalid state where a GUI is connected to a wrong core type of a none generic chip, two GUI are connected to the same coordinate or a GUI is not connected to a core. The initial state of the system is value since every new GUI uses a new chipindex according to its CORE= parameter of the configuration file (config.t32). If the system contains fewer chips than initially assumed, the chips must be merged by calling SYStem.CONFIG.CORE.

Format: SYStem.CONFIG.CORE <coreindex> <chipindex>SYStem.MultiCore.CORE <coreindex> <chipindex> (deprecated)

<chipindex>: 1 … i

<coreindex>: 1 … k

Blackfin Debugger 15 ©1989-2018 Lauterbach GmbH

Page 16: Blackfin Debugger - Lauterbach · Blackfin Debugger 12 ©1989-2018 Lauterbach GmbH DRPRE (default: 0)  of TAPs in the JTAG chain between the core of interest and the

SYStem.CPU CPU type selection

Default selection: BF534.

Selects the CPU type.

SYStem.CpuAccess Run-time memory access (intrusive)

Default: Denied.

Format: SYStem.CPU <cpu>

<cpu>: BF531 | BF532 | BF533 | BF534 …

Format: SYStem.CpuAccess Enable | Denied | Nonstop

Enable Allow intrusive run-time memory access.In order to perform a memory read or write while the CPU is executing the program, the debugger stops the program execution shortly. Each short stop takes 1 … 100 ms depending on the speed of the debug interface and on the number of the read/write accesses required.A red S in the state line of the TRACE32 main window indicates this intrusive behavior of the debugger.

Denied Lock intrusive run-time memory access.

Nonstop Lock all features of the debugger that affect the run-time behavior. Nonstop reduces the functionality of the debugger to:• Run-time access to memory and variables• Trace displayThe debugger inhibits the following:• To stop the program execution• All features of the debugger that are intrusive (e.g. action Spot for

breakpoints, performance analysis via StopAndGo mode, condi-tional breakpoints, etc.)

Blackfin Debugger 16 ©1989-2018 Lauterbach GmbH

Page 17: Blackfin Debugger - Lauterbach · Blackfin Debugger 12 ©1989-2018 Lauterbach GmbH DRPRE (default: 0)  of TAPs in the JTAG chain between the core of interest and the

SYStem.CpuAccess Run-time memory access (intrusive)

Default: Denied.

SYStem.JtagClock JTAG clock selection

Default frequency: 1 MHz.

Selects the JTAG port frequency (TCK). Any frequency up to 50 MHz can be entered, it will be generated by the debuggers internal PLL.

Format: SYStem.CpuAccess Enable | Denied | Nonstop

Enable Allow intrusive run-time memory access.Since a non-intrusive run-time memory access (SYStem.MemoryAccess CPU) is available for all TRACE32 instruction set simulators, there is no need for an intrusive run-time memory access.

Denied Lock intrusive run-time memory access.

Nonstop Lock all features of the debugger that affect the run-time behavior.Nonstop reduces the functionality of the debugger to:• run-time access to memory and variables• trace displayThe debugger inhibits the following:• to stop the program execution• all features of the debugger that are intrusive (e.g. action Spot for

breakpoints, performance analysis via StopAndGo mode, condi-tional breakpoints etc.)

Format: SYStem.JtagClock [<frequency>]SYStem.BdmClock <frequency> (deprecated)

Blackfin Debugger 17 ©1989-2018 Lauterbach GmbH

Page 18: Blackfin Debugger - Lauterbach · Blackfin Debugger 12 ©1989-2018 Lauterbach GmbH DRPRE (default: 0)  of TAPs in the JTAG chain between the core of interest and the

For CPUs which come up with very low clock speeds it might be necessary to slow down the JTAG frequency. After initialization of the CPUs PLL the JTAG clock can be increased.

SYStem.LOCK Lock and tristate the debug port

Default: OFF.

If the system is locked, no access to the debug port will be performed by the debugger. While locked, the debug connector of the debugger is tristated. The main intention of the lock command is to give debug access to another tool.

If there are buffers, additional loads or high capacities on the JTAG/COP lines, reduce the debug speed.

Format: SYStem.LOCK [ON | OFF]

Blackfin Debugger 18 ©1989-2018 Lauterbach GmbH

Page 19: Blackfin Debugger - Lauterbach · Blackfin Debugger 12 ©1989-2018 Lauterbach GmbH DRPRE (default: 0)  of TAPs in the JTAG chain between the core of interest and the

SYStem.MemAccess Real-time memory access (non-intrusive)

Format: SYStem.MemAccess Denied <cpu_specific>

BTC “BTC” allows a non intrusive memory access while the core is running, if a Background Telemetry Channel (BTC) is defined in your application. Any information on how to create such a channel can be found in Analog Devices’ VisualDSP++ user’s manual. The JTAG clock speed should be as fast as possible to get good performance

Denied Real-time memory access during program execution to target is disabled.

Blackfin Debugger 19 ©1989-2018 Lauterbach GmbH

Page 20: Blackfin Debugger - Lauterbach · Blackfin Debugger 12 ©1989-2018 Lauterbach GmbH DRPRE (default: 0)  of TAPs in the JTAG chain between the core of interest and the

SYStem.Mode System mode selection

SYStem.Option IMASKASM Interrupt disable

Mask interrupts during assembler single steps. Useful to prevent interrupt disturbance during assembler single stepping.

SYStem.Option IMASKHLL Interrupt disable

Mask interrupts during HLL single steps. Useful to prevent interrupt disturbance during HLL single stepping.

Format: SYStem.Mode <mode>

<mode>: DownGoAttachUp

Down Disables the debugger.

Go Resets the target with debug mode enabled and prepares the CPU for debug mode entry. After this command the CPU is in the system.up mode and running. Now, the processor can be stopped with the break command or if a break condition occurs.

Attach User program remains running (no reset) and the debug interface is initialized.

Up Resets the target and sets the CPU to debug mode. After execution of this command the CPU is stopped and prepared for debugging.

StandBy Not supported.

NoDebug Not supported.

Format: SYStem.Option IMASKASM [ON | OFF]

Format: SYStem.Option IMASKHLL [ON | OFF]

Blackfin Debugger 20 ©1989-2018 Lauterbach GmbH

Page 21: Blackfin Debugger - Lauterbach · Blackfin Debugger 12 ©1989-2018 Lauterbach GmbH DRPRE (default: 0)  of TAPs in the JTAG chain between the core of interest and the

Breakpoints

There are two types of breakpoints available: software breakpoints and on-chip breakpoints.

Software Breakpoints

Software breakpoints are the default breakpoints. A special breakcode is patched to memory so it only can be used in RAM or FLASH areas.There is no restriction in the number of software breakpoints.

On-chip Breakpoints

The Blackfin processor has a total of six instruction and two data on-chip breakpoints.

A pair of two breakpoints may be further grouped together to form a range breakpoint. A range breakpoint can be including or excluding. In the first case the core is stopped if an address in the range is detected, in the second case the core is stopped when an address outside of the range is observed.

Breakpoint in ROM

With the command MAP.BOnchip <range> it is possible to inform the debugger about ROM (FLASH,EPROM) address ranges in target. If a breakpoint is set within the specified address range the debugger uses automatically the available on-chip breakpoints.

Blackfin Debugger 21 ©1989-2018 Lauterbach GmbH

Page 22: Blackfin Debugger - Lauterbach · Blackfin Debugger 12 ©1989-2018 Lauterbach GmbH DRPRE (default: 0)  of TAPs in the JTAG chain between the core of interest and the

Example for Breakpoints

Assume you have a target with FLASH from 0x20000000 to 0x200FFFFF and RAM from 0x0 to 0x1000000. The command to configure TRACE32 correctly for this configuration is:

The following breakpoint combinations are possible.

Software breakpoints:

On-chip breakpoints:

Map.BOnchip 0x20000000--0x200FFFFF

Break.Set 0x0 /Program ; Software Breakpoint 1

Break.Set 0x1000 /Program ; Software Breakpoint 2

Break.Set 0x20000100 /Program ; On-chip Breakpoint 1

Break.Set 0x2000ff00 /Program ; On-chip Breakpoint 2

Blackfin Debugger 22 ©1989-2018 Lauterbach GmbH

Page 23: Blackfin Debugger - Lauterbach · Blackfin Debugger 12 ©1989-2018 Lauterbach GmbH DRPRE (default: 0)  of TAPs in the JTAG chain between the core of interest and the

Memory Classes

The following memory classes are available:

Memory Class Description

P Program

D Data

Blackfin Debugger 23 ©1989-2018 Lauterbach GmbH

Page 24: Blackfin Debugger - Lauterbach · Blackfin Debugger 12 ©1989-2018 Lauterbach GmbH DRPRE (default: 0)  of TAPs in the JTAG chain between the core of interest and the

JTAG Connector

Signal Pin Pin SignalGND 1 2 EMU-N/C 3 4 GND

VDDIO 5 6 TMSN/C 7 8 TCKN/C 9 10 TRST-N/C 11 12 TDI

GND 13 14 TDO

JTAG Connector Signal Description CPU Signal

TMS JTAG-TMS,output of debugger

TMS

TDI JTAG-TDI,output of debugger

TDI

TCK JTAG-TCK,output of debugger

TCK

/TRST JTAG-TRST,output of debugger

/TRST

TDO JTAG-TDO,input for debugger

TDO

/EMU JTAG Emulation Flag /EMU

VDDIO This pin is used by the debugger to sense the target I/O voltage and to set the drive levels accordingly. If the sensed voltage level is too low (e.g. target has no power) the debugger powers down its drivers to prevent the target from damage.

VDDIO

Blackfin Debugger 24 ©1989-2018 Lauterbach GmbH

Page 25: Blackfin Debugger - Lauterbach · Blackfin Debugger 12 ©1989-2018 Lauterbach GmbH DRPRE (default: 0)  of TAPs in the JTAG chain between the core of interest and the

Support

Available Tools

Compilers

CP

U

ICE

FIR

E

ICD

DE

BU

G

ICD

MO

NIT

OR

ICD

TR

AC

E

PO

WE

RIN

TE

GR

ATO

R

INS

TR

UC

TIO

NS

IMU

LA

TOR

ADSP-BF531 YESADSP-BF532 YESADSP-BF533 YESADSP-BF534 YESADSP-BF536 YESADSP-BF537 YESADSP-BF538 YESADSP-BF538F YESADSP-BF542 YESADSP-BF544 YESADSP-BF547 YESADSP-BF548 YESADSP-BF549 YES

Language Compiler Company Option Comment

ASM VISUALDSP++ Analog Devices Inc. ELF/DWARF2C VISUALDSP++ Analog Devices Inc. ELF/DWARF2C GCC Free Software

Foundation, Inc.ELF/DWARF2

C++ VISUALDSP++ Analog Devices Inc. ELF/DWARF2

Blackfin Debugger 25 ©1989-2018 Lauterbach GmbH

Page 26: Blackfin Debugger - Lauterbach · Blackfin Debugger 12 ©1989-2018 Lauterbach GmbH DRPRE (default: 0)  of TAPs in the JTAG chain between the core of interest and the

Target Operating Systems

Company Product Comment

Express Logic Inc. ThreadX 3.0, 4.0, 5.0Micrium Inc. uC/OS-II 2.0 to 2.92- uCLinux Kernel Version 2.4 and 2.6Analog Devices Inc. VDK

Blackfin Debugger 26 ©1989-2018 Lauterbach GmbH

Page 27: Blackfin Debugger - Lauterbach · Blackfin Debugger 12 ©1989-2018 Lauterbach GmbH DRPRE (default: 0)  of TAPs in the JTAG chain between the core of interest and the

3rd-Party Tool Integrations

CPU Tool Company Host

WINDOWS CE PLATF. BUILDER

- Windows

CODE::BLOCKS - -C++TEST - WindowsADENEO -X-TOOLS / X32 blue river software GmbH WindowsCODEWRIGHT Borland Software

CorporationWindows

CODE CONFIDENCE TOOLS

Code Confidence Ltd Windows

CODE CONFIDENCE TOOLS

Code Confidence Ltd Linux

EASYCODE EASYCODE GmbH WindowsECLIPSE Eclipse Foundation, Inc WindowsCHRONVIEW Inchron GmbH WindowsLDRA TOOL SUITE LDRA Technology, Inc. WindowsUML DEBUGGER LieberLieber Software

GmbHWindows

SIMULINK The MathWorks Inc. WindowsATTOL TOOLS MicroMax Inc. WindowsVISUAL BASIC INTERFACE

Microsoft Corporation Windows

LABVIEW NATIONAL INSTRUMENTS Corporation

Windows

RAPITIME Rapita Systems Ltd. WindowsRHAPSODY IN MICROC IBM Corp. WindowsRHAPSODY IN C++ IBM Corp. WindowsDA-C RistanCASE WindowsTRACEANALYZER Symtavision GmbH WindowsECU-TEST TraceTronic GmbH WindowsUNDODB Undo Software LinuxTA INSPECTOR Vector WindowsVECTORCAST UNIT TESTING

Vector Software Windows

VECTORCAST CODE COVERAGE

Vector Software Windows

Blackfin Debugger 27 ©1989-2018 Lauterbach GmbH

Page 28: Blackfin Debugger - Lauterbach · Blackfin Debugger 12 ©1989-2018 Lauterbach GmbH DRPRE (default: 0)  of TAPs in the JTAG chain between the core of interest and the

Products

Product Information

Order Information

OrderNo Code Text

LA-7833 JTAG-BLACKFIN

JTAG Debugger for BLACKFIN (ICD)supports Blackfin Coreincludes software for Windows, Linux and MacOSXrequires Power Debug Moduledebug cable with 14 pin connector

Order No. Code Text

LA-7833 JTAG-BLACKFIN JTAG Debugger for BLACKFIN (ICD)

Additional OptionsLA-7960X MULTICORE-LICENSE License for Multicore Debugging

Blackfin Debugger 28 ©1989-2018 Lauterbach GmbH