• No results found

General Commands Reference Guide F

N/A
N/A
Protected

Academic year: 2021

Share "General Commands Reference Guide F"

Copied!
117
0
0

Loading.... (view fulltext now)

Full text

(1)

General Commands Reference Guide F

TRACE32 Online Help TRACE32 Directory TRACE32 Index

TRACE32 Documents ... General Commands ... General Commands Reference Guide F ... 1 FDX ... 8

Trace Methods 8

Trace Method FDX 9

FDX.METHOD Select communication channel 10

FDX.Arm Arm the trace 11

FDX.AutoArm Arm automatically 11

FDX.AutoFocus Calibrate AUTOFOCUS preprocessor 11

FDX.AutoInit Automatic initialization 11

FDX.AutoTEST Continuous measurement 11

FDX.BookMark Set a bookmark in trace listing 11 FDX.Chart Display trace contents graphically 11

FDX.Chart.DistriB Distribution display 12

FDX.Chart.Func Function activity chart 12

FDX.Chart.GROUP Group activity chart 12

FDX.Chart.Line Graphical HLL lines analysis 12

FDX.Chart.sYmbol Symbol analysis 12

FDX.Chart.TASK Task activity chart 12

FDX.Chart.TASKFunc Task related function run-time analysis (legacy) 12 FDX.Chart.TASKSRV Service routine run-time analysis 13

FDX.Chart.TASKState Task state analysis 13

FDX.Chart.VarState Variable activity chart 13 FDX.CLEAR Clear FDX communication buffers 13

FDX.CLOSE Close FDX files 13

FDX.ComPare Compare trace contents 13

FDX.DISable Disable the trace 13

FDX.DISableChannel Disable FDX communication 14

FDX.DRAW Visualization of trace data 14

FDX.ENableChannel Enable FDX communication 14 FDX.EXPORT Export trace data for processing in other applications 14 FDX.FILE Load a file into the file trace buffer 14

(2)

FDX.FindChange Search for changes in trace flow 14 FDX.GOTO Move cursor to specified trace record 15

FDX.InChannel Inchannel state display 15

FDX.Init Initialize trace 15

FDX.List List trace contents 15

FDX.ListNesting Detailed function nesting 15 FDX.LOAD Load trace file for off-line processing 15

FDX.Mode Set the trace operation mode 15

FDX.OFF Switch off 15

FDX.Out tbd. 16

FDX.PROfileChart Profile charts 16

FDX.PROfileChart.DIStance Time interval for a single event 16 FDX.PROfileChart.DURation Time between two events 16 FDX.PROfileChart.GROUP Group profile chart 16

FDX.PROfileChart.Rate Event frequency 16

FDX.PROTOcol.Chart Graphic display for user-defined protocol 16 FDX.PROTOcol.Draw Graphic display for user-defined protocol 17 FDX.PROTOcol.EXPORT Export trace buffer for user-defined protocol 17 FDX.PROTOcol.Find Find in trace buffer for user-defined protocol 17 FDX.PROTOcol.List Display trace buffer for user-defined protocol 17 FDX.PROTOcol.STATistic Display statistics for user-defined protocol 17

FDX.Rate Select sampling rate 17

FDX.REF Set reference point 17

FDX.RESet Reset command 18

FDX.SAVE Save trace for postprocessing in TRACE32 18 FDX.SelfArm Automatic restart of trace recording 18

FDX.SIZE Define buffer size 18

FDX.SnapShot Restart trace capturing once 18 FDX.state Display trace configuration window 18

FDX.STATistic Statistic analysis 18

FDX.STATistic.DIStance Time interval for a single event 18 FDX.STATistic.DistriB Distribution analysis 19 FDX.STATistic.DURation Time between two events 19 FDX.STATistic.Func Function runtime analysis 19 FDX.STATistic.GROUP Group run-time analysis 19 FDX.STATistic.Ignore Ignore false records in statistic 19 FDX.STATistic.InterruptIsFunction Define statistics interrupt processing 19

FDX.STATistic.Line HLL-Line analysis 19

FDX.STATistic.LINKage Per caller statistic of function 20 FDX.STATistic.Measure Analyze the performance of a single signal 20 FDX.STATistic.PreFetch Prefetch detection 20 FDX.STATistic.Sort Specify sorting criterion for statistic commands 20

(3)

FDX.STATistic.TASK Task activity statistic 20 FDX.STATistic.TASKFunc Task specific function run-time analysis 20 FDX.STATistic.TASKKernel Task analysis with kernel markers (flat) 21 FDX.STATistic.TASKSRV Analysis of time in OS service routines 21 FDX.STATistic.TASKState Performance analysis 21 FDX.STATistic.TASKTREE Tree display of task specific functions 21 FDX.STATistic.TREE Tree display of function run-time analysis 21

FDX.STATistic.Use Use records 21

FDX.TimeStamp Configure timestamps for LOGGER 21

FDX.Timing Waveform of trace buffer 22

FDX.TraceChannel tbd. 22

FDX.TRACK Set tracking record 22

FDX.View Display single record 22

FDX.ZERO tbd. 22

FIFO ... 23

FIFO Display on-chip trace FIFO 23

FLAG ... 24

Flag System of TRACE32-ICE 24

Applications 25

Problems 25

Flag System of TRACE32-FIRE 26

Applications 26

Problems 26

FLAG.Delete Delete flags 26

FLAG.Init Initialization 27

FLAG.List Display flags 27

FLAG.ListFunc Code-coverage functions 28

FLAG.ListModul Code-coverage modules 31

FLAG.ListVar Code-coverage variables 33

FLAG.OFF Switch-off flag system 35

FLAG.ON Switch-on flag system 36

FLAG.RESet Reset 36

FLAG.Set Set 36

FLAG.SetSec Mark sections 37

FLAG.state State 37

FLASH ... 39

FLASH.AUTO Auto programming of FLASH 40

FLASH.BSDLaccess Enables FLASH access via boundary scan 41 FLASH.CFI Generate FLASH declaration by CFI 42

FLASH.CHANGETYPE Changes the FLASH type 46

(4)

FLASH.CreateALIAS Create address alias 52 FLASH.Delete Delete entry in FLASH definition table 53

FLASH.Erase Erase FLASH 54

FLASH.List Display FLASH definition table 55

FLASH.LOCK Lock FLASH 56

FLASH.MultiProgram Simultaneous programming of flash sectors 57 FLASH.OFFSET Change FLASH control address 57

FLASH.Program Program FLASH 58

FLASH.ReProgram Re-program FLASH 59

FLASH.RESet Reset FLASH definition table 60

FLASH.state FLASH programming dialog 61

FLASH.TARGET Define target controlled algorithm 62 FLASH.TARGET2 Define second target controlled algorithm 69

FLASH.UNLOCK Unlock FLASH 70

FLASH.UNSECUREerase Unsecure a device 72

FLASHFILE ... 73 FLASHFILE NAND flash and serial flash devices 73 FLASHFILE.BSDLaccess Enables FLASH access via boundary scan 73 FLASHFILE.BSDLFLASHTYPE Define FLASH type 74

FLASHFILE.CONFIG Configure NAND FLASH 74

NAND FLASH 74

Serial FLASH 75

FLASHFILE.COPY Copy to NAND FLASH 75

FLASHFILE.COPYSPARE Copy to spare area of NAND FLASH 76

FLASHFILE.DUMP Dump NAND FLASH 77

FLASHFILE.Erase Erase NAND FLASH 78

FLASHFILE.GETBADBLOCK Get the bad block addresses 79

FLASHFILE.GETID Get NAND FLASH ID 79

FLASHFILE.GETONFI Display ONFI 80

FLASHFILE.LOAD Load files to NAND FLASH 81

FLASHFILE.LOAD.binary Write NAND FLASH 81

FLASHFILE.LOAD.Elf Load ELF file 84

FLASHFILE.LOAD.IntelHex Load an intel hex file 84 FLASHFILE.LOAD.Srecord Load an “Srecord” file 85 FLASHFILE.LOADALL Load to main area and spare area 85 FLASHFILE.LOADECC Load ECC file to spare area 86 FLASHFILE.LOADSPARE Write NAND FLASH spare area 88

FLASHFILE.LOCK Lock the FLASH device 88

FLASHFILE.MSYSDLL Access an M-Systems DiskOnChip flash device 89 FLASHFILE.RESet Reset NAND FLASH configuration 89

FLASHFILE.SAVE Read NAND FLASH 90

(5)

FLASHFILE.SAVEECC.BCH Save ECC with BCH algorithm 91 FLASHFILE.SAVEECC.hamming Save ECC with Hamming algorithm 93 FLASHFILE.SAVEECC.ReedSolomon Save ECC with Reed-S. algorithm 94 FLASHFILE.SAVESPARE Read NAND FLASH spare area 95

FLASHFILE.Set Modify FLASH data 95

FLASHFILE.state tbd. 96

FLASHFILE.TARGET Define target controlled algorithm 97

FLASHFILE.UNLOCK Unlock FLASH device 99

FPU ... 100

FPU Access to the FPU registers 100

FPU.OFF FPU access off 100

FPU.ON FPU access on 101

FPU.RESet Reset command 101

FPU.Set Modify FPU registers 101

FPU.TARGET Define FPU access agent 102

FPU.view Display FPU registers 102

Frame ... 103

Frame Display the call hierarchy 103

Frame.CONFIG Fine-tune stack unwinding 103

Frame.CONFIG.Asm Frame back-trace mode 103

Frame.CONFIG.EABI Use chained frame pointers 104 Frame.CONFIG.EPILOG Use epilog code for frame display 104 Frame.CONFIG.PROLOG Use prolog code for frame display 105 Frame.CONFIG.RELOAD Generate frame information again 105 Frame.CONFIG.sYmbol Use symbol code for frame display 106

Frame.COPY Copy to TRACE32 registers 106

Frame.Down Go down in stack nesting 107

Frame.GOTO Change source code view temporarily 107 Frame.Init Initialize the processor registers 108

Frame.REDO Recover from UNDO registers 111

Frame.SkipFunc Change view to previous/subsequent function 112 Frame.SkipLine Change view to previous/subsequent hll line 113

Frame.SWAP Swap TRACE32 registers 113

Frame.TASK Change view to specified task 113

Frame.UNDO Recover previous registers 115

Frame.Up Go up in stack nesting 115

(6)

Usage:

(B) command only available for ICD (E) command only available for ICE (F) command only available for FIRE

(7)

General Commands Reference Guide F

Version 24-May-2016

10-Jan-16 New commands Frame.CONFIG.EABI and FLASH.TARGET2. 11-Nov-15 Added description and example for FLASHFILE.LOAD.Elf.

10-Oct-14 Added descriptions, screenshots, and illustrations for FLASHFILE.SAVEECC, FLASHFILE.SAVEECC.BCH, FLASHFILE.SAVEECC.hamming,

(8)

FDX

Trace Methods

The command Trace is a general command for trace configuration and trace display. It is available for all kind of trace methods provided by TRACE32. The following trace methods are available:

The currently used trace method is displayed under METHOD in the Trace.state window.

Analyzer ART FDX

Integrator LA LOGGER

Onchip Probe PORT

(9)

Trace Method FDX

The trace method FDX is mainly used for TRACE32-ICD without a trace extension.

Problem description: A TRACE32-ICD debugger is used to test and integrate an application program on the target. Now a problem occurs, that could easily be solved if more information about the program history would be available.

Usually a TRACE32-ICD trace extension can be used to get more information about the program history. But not all targets allow the operation of such a trace. For these targets TRACE32 is offering a software trace. The software trace however needs RAM from the target and is influencing the real-time behavior.

To operate a software trace, TRACE32 provides:

• a general trace format for a software trace located in the target RAM.

• configuration and display commands for the software trace in the TRACE32 software (command: FDX).

• predefined algorithms to operate the software trace from the target program.

To use the software trace basic knowledge of the target hardware and the processor architecture is required.

Implementation of the trace memory

The user reserves a part of the target RAM, that can be used for the trace information.

Max. trace size Any desired.

Sampling The trace memory is filled either by an algorithm predefined by LAUTERBACH or by a user-defined algorithm.

The algorithm can either be called by an interrupt or the code has to be instrumented.

Influence on the real-time behavior

Yes, how much depends on the implementation of the sampling algorithm.

Selective tracing Possible by the sampling algorithm. Fastest sampling

rate

(10)

FDX.METHOD

Select communication channel

If a <method> is specified, the command defines the low level communication channel. Without <method>, the command displays the currently selected <method> in the TRACE32 message line.

BufferE and DCC are methods where the CPU does not need to be stopped to transfer data. These modes require a hardware support from the CPU. The BUFFER methods require a buffer at the target side. The host is accessing these buffers by memory access to its addresses.

The DCC channel is a real-time debug communication channel which needs to be supported by the CPU. DCC, DCC3, DCC4D require a 4-byte wide channel. DCC7 and DCC8 require a 8-byte wide channel. BufferC and BufferS require a stopped CPU to transfer data that’s why this methods are very slow compared to the other methods.

Format: FDX.METHOD [<method>]

<method>: BufferE | BufferC | BufferS | DCC3 | DCC | DCC4D | DCC7 | DCC8

BufferE Transfers the data via Dual Port Memory access. This method requires a buffer at the target side and a special CPU feature that allow to read memory while CPU is running

BufferC Transfers the data after the CPU is stopped.

BufferS Transfers the data when the CPU has reached a SPOT breakpoint

DCC3 4-byte wide channel, where the first byte defines if the last 3 bytes are used.

DCC 4-byte wide channel (e.g. ARM family)

DCC4D 4-byte wide channel without FDX high level protocol, every package is 4 byte wide

DCC7 8-byte wide channel, where the first byte defines if the last 8 bytes are used.

(11)

FDX.Arm

Arm the trace

see command <trace>.Arm in 'General Commands Reference Guide T' (general_ref_t.pdf, page 89)

FDX.AutoArm

Arm automatically

see command <trace>.AutoArm in 'General Commands Reference Guide T' (general_ref_t.pdf, page 90)

FDX.AutoFocus

Calibrate AUTOFOCUS preprocessor

see command <trace>.AutoFocus in 'General Commands Reference Guide T' (general_ref_t.pdf, page 90)

FDX.AutoInit

Automatic initialization

see command <trace>.AutoInit in 'General Commands Reference Guide T' (general_ref_t.pdf, page 94)

FDX.AutoTEST

Continuous measurement

see command <trace>.AutoTEST in 'General Commands Reference Guide T' (general_ref_t.pdf, page 95)

FDX.BookMark

Set a bookmark in trace listing

see command <trace>.BookMark in 'General Commands Reference Guide T' (general_ref_t.pdf, page 97)

FDX.Chart

Display trace contents graphically

(12)

FDX.Chart.DistriB

Distribution display

see command <trace>.Chart.DistriB in 'General Commands Reference Guide T' (general_ref_t.pdf, page 105)

FDX.Chart.Func

Function activity chart

see command <trace>.Chart.Func in 'General Commands Reference Guide T' (general_ref_t.pdf, page 107)

FDX.Chart.GROUP

Group activity chart

see command <trace>.Chart.GROUP in 'General Commands Reference Guide T' (general_ref_t.pdf, page 108)

FDX.Chart.Line

Graphical HLL lines analysis

see command <trace>.Chart.Line in 'General Commands Reference Guide T' (general_ref_t.pdf, page 109)

FDX.Chart.sYmbol

Symbol analysis

see command <trace>.Chart.sYmbol in 'General Commands Reference Guide T' (general_ref_t.pdf, page 111)

FDX.Chart.TASK

Task activity chart

see command <trace>.Chart.TASK in 'General Commands Reference Guide T' (general_ref_t.pdf, page 115)

FDX.Chart.TASKFunc

Task related function run-time analysis (legacy)

see command <trace>.Chart.TASKFunc in 'General Commands Reference Guide T' (general_ref_t.pdf, page 116)

(13)

FDX.Chart.TASKSRV

Service routine run-time analysis

see command <trace>.Chart.TASKSRV in 'General Commands Reference Guide T' (general_ref_t.pdf, page 117)

FDX.Chart.TASKState

Task state analysis

see command <trace>.Chart.TASKState in 'General Commands Reference Guide T' (general_ref_t.pdf, page 118)

FDX.Chart.VarState

Variable activity chart

see command <trace>.Chart.VarState in 'General Commands Reference Guide T' (general_ref_t.pdf, page 119)

FDX.CLEAR

Clear FDX communication buffers

see command <trace>.CLEAR in 'General Commands Reference Guide T' (general_ref_t.pdf, page 121)

FDX.CLOSE

Close FDX files

see command <trace>.CLOSE in 'General Commands Reference Guide T' (general_ref_t.pdf, page 122)

FDX.ComPare

Compare trace contents

see command <trace>.ComPare in 'General Commands Reference Guide T' (general_ref_t.pdf, page 123)

FDX.DISable

Disable the trace

(14)

FDX.DISableChannel

Disable FDX communication

see command <trace>.DISableChannel in 'General Commands Reference Guide T' (general_ref_t.pdf, page 125)

FDX.DRAW

Visualization of trace data

see command <trace>.DRAW in 'General Commands Reference Guide T' (general_ref_t.pdf, page 129)

FDX.ENableChannel

Enable FDX communication

see command <trace>.ENableChannel in 'General Commands Reference Guide T' (general_ref_t.pdf, page 147)

FDX.EXPORT

Export trace data for processing in other applications

see command <trace>.EXPORT in 'General Commands Reference Guide T' (general_ref_t.pdf, page 148)

FDX.FILE

Load a file into the file trace buffer

see command <trace>.FILE in 'General Commands Reference Guide T' (general_ref_t.pdf, page 159)

FDX.Find

Find specified entry in trace

see command <trace>.Find in 'General Commands Reference Guide T' (general_ref_t.pdf, page 161)

FDX.FindAll

Find all specified entries in trace

see command <trace>.FindAll in 'General Commands Reference Guide T' (general_ref_t.pdf, page 164)

(15)

FDX.GOTO

Move cursor to specified trace record

see command <trace>.GOTO in 'General Commands Reference Guide T' (general_ref_t.pdf, page 169)

FDX.InChannel

Inchannel state display

see command <trace>.InChannel in 'General Commands Reference Guide T' (general_ref_t.pdf, page 178)

FDX.Init

Initialize trace

see command <trace>.Init in 'General Commands Reference Guide T' (general_ref_t.pdf, page 178)

FDX.List

List trace contents

see command <trace>.List in 'General Commands Reference Guide T' (general_ref_t.pdf, page 182)

FDX.ListNesting

Detailed function nesting

see command <trace>.ListNesting in 'General Commands Reference Guide T' (general_ref_t.pdf, page 193)

FDX.LOAD

Load trace file for off-line processing

see command <trace>.LOAD in 'General Commands Reference Guide T' (general_ref_t.pdf, page 194)

FDX.Mode

Set the trace operation mode

see command <trace>.Mode in 'General Commands Reference Guide T' (general_ref_t.pdf, page 200)

(16)

FDX.Out

tbd.

see command <trace>.Out in 'General Commands Reference Guide T' (general_ref_t.pdf, page 204)

FDX.PROfileChart

Profile charts

see command <trace>.PROfileChart in 'General Commands Reference Guide T' (general_ref_t.pdf, page 208)

FDX.PROfileChart.DIStance

Time interval for a single event

see command <trace>.PROfileChart.DIStance in 'General Commands Reference Guide T' (general_ref_t.pdf, page 209)

FDX.PROfileChart.DURation

Time between two events

see command <trace>.PROfileChart.DURation in 'General Commands Reference Guide T' (general_ref_t.pdf, page 210)

FDX.PROfileChart.GROUP

Group profile chart

see command <trace>.PROfileChart.GROUP in 'General Commands Reference Guide T' (general_ref_t.pdf, page 215)

FDX.PROfileChart.Rate

Event frequency

see command <trace>.PROfileChart.Rate in 'General Commands Reference Guide T' (general_ref_t.pdf, page 216)

FDX.PROTOcol.Chart

Graphic display for user-defined protocol

see command <trace>.PROTOcol.Chart in 'General Commands Reference Guide T' (general_ref_t.pdf, page 224)

(17)

FDX.PROTOcol.Draw

Graphic display for user-defined protocol

see command <trace>.PROTOcol.Draw in 'General Commands Reference Guide T' (general_ref_t.pdf, page 226)

FDX.PROTOcol.EXPORT

Export trace buffer for user-defined protocol

see command <trace>.PROTOcol.EXPORT in 'General Commands Reference Guide T' (general_ref_t.pdf, page 227)

FDX.PROTOcol.Find

Find in trace buffer for user-defined protocol

see command <trace>.PROTOcol.Find in 'General Commands Reference Guide T' (general_ref_t.pdf, page 228)

FDX.PROTOcol.List

Display trace buffer for user-defined protocol

see command <trace>.PROTOcol.List in 'General Commands Reference Guide T' (general_ref_t.pdf, page 229)

FDX.PROTOcol.STATistic

Display statistics for user-defined protocol

see command <trace>.PROTOcol.STATistic in 'General Commands Reference Guide T' (general_ref_t.pdf, page 232)

FDX.Rate

Select sampling rate

see command <trace>.Rate in 'General Commands Reference Guide T' (general_ref_t.pdf, page 237)

FDX.REF

Set reference point

(18)

FDX.RESet

Reset command

see command <trace>.RESet in 'General Commands Reference Guide T' (general_ref_t.pdf, page 239)

FDX.SAVE

Save trace for postprocessing in TRACE32

see command <trace>.SAVE in 'General Commands Reference Guide T' (general_ref_t.pdf, page 240)

FDX.SelfArm

Automatic restart of trace recording

see command <trace>.SelfArm in 'General Commands Reference Guide T' (general_ref_t.pdf, page 245)

FDX.SIZE

Define buffer size

see command <trace>.SIZE in 'General Commands Reference Guide T' (general_ref_t.pdf, page 255)

FDX.SnapShot

Restart trace capturing once

see command <trace>.SnapShot in 'General Commands Reference Guide T' (general_ref_t.pdf, page 257)

FDX.state

Display trace configuration window

see command <trace>.state in 'General Commands Reference Guide T' (general_ref_t.pdf, page 260)

FDX.STATistic

Statistic analysis

see command <trace>.STATistic in 'General Commands Reference Guide T' (general_ref_t.pdf, page 263)

(19)

FDX.STATistic.DistriB

Distribution analysis

see command <trace>.STATistic.DistriB in 'General Commands Reference Guide T' (general_ref_t.pdf, page 277)

FDX.STATistic.DURation

Time between two events

see command <trace>.STATistic.DURation in 'General Commands Reference Guide T' (general_ref_t.pdf, page 280)

FDX.STATistic.Func

Function runtime analysis

see command <trace>.STATistic.Func in 'General Commands Reference Guide T' (general_ref_t.pdf, page 285)

FDX.STATistic.GROUP

Group run-time analysis

see command <trace>.STATistic.GROUP in 'General Commands Reference Guide T' (general_ref_t.pdf, page 310)

FDX.STATistic.Ignore

Ignore false records in statistic

see command <trace>.STATistic.Ignore in 'General Commands Reference Guide T' (general_ref_t.pdf, page 311)

FDX.STATistic.InterruptIsFunction

Define statistics interrupt processing

see command <trace>.STATistic.InterruptIsFunction in 'General Commands Reference Guide T' (general_ref_t.pdf, page 313)

FDX.STATistic.Line

HLL-Line analysis

see command <trace>.STATistic.Line in 'General Commands Reference Guide T' (general_ref_t.pdf, page 317)

(20)

FDX.STATistic.LINKage

Per caller statistic of function

see command <trace>.STATistic.LINKage in 'General Commands Reference Guide T' (general_ref_t.pdf, page 320)

FDX.STATistic.Measure

Analyze the performance of a single signal

see command <trace>.STATistic.Measure in 'General Commands Reference Guide T' (general_ref_t.pdf, page 322)

FDX.STATistic.PreFetch

Prefetch detection

see command <trace>.STATistic.PreFetch in 'General Commands Reference Guide T' (general_ref_t.pdf, page 327)

FDX.STATistic.Sort

Specify sorting criterion for statistic commands

see command <trace>.STATistic.Sort in 'General Commands Reference Guide T' (general_ref_t.pdf, page 330)

FDX.STATistic.sYmbol

Flat run-time analysis

see command <trace>.STATistic.sYmbol in 'General Commands Reference Guide T' (general_ref_t.pdf, page 338)

FDX.STATistic.TASK

Task activity statistic

see command <trace>.STATistic.TASK in 'General Commands Reference Guide T' (general_ref_t.pdf, page 344)

FDX.STATistic.TASKFunc

Task specific function run-time analysis

see command <trace>.STATistic.TASKFunc in 'General Commands Reference Guide T' (general_ref_t.pdf, page 351)

(21)

FDX.STATistic.TASKKernel

Task analysis with kernel markers (flat)

see command <trace>.STATistic.TASKKernel in 'General Commands Reference Guide T' (general_ref_t.pdf, page 359)

FDX.STATistic.TASKSRV

Analysis of time in OS service routines

see command <trace>.STATistic.TASKSRV in 'General Commands Reference Guide T' (general_ref_t.pdf, page 362)

FDX.STATistic.TASKState

Performance analysis

see command <trace>.STATistic.TASKState in 'General Commands Reference Guide T' (general_ref_t.pdf, page 363)

FDX.STATistic.TASKTREE

Tree display of task specific functions

see command <trace>.STATistic.TASKTREE in 'General Commands Reference Guide T' (general_ref_t.pdf, page 367)

FDX.STATistic.TREE

Tree display of function run-time analysis

see command <trace>.STATistic.TREE in 'General Commands Reference Guide T' (general_ref_t.pdf, page 369)

FDX.STATistic.Use

Use records

see command <trace>.STATistic.Use in 'General Commands Reference Guide T' (general_ref_t.pdf, page 370)

FDX.TimeStamp

Configure timestamps for LOGGER

see command <trace>.TimeStamp in 'General Commands Reference Guide T' (general_ref_t.pdf, page 384)

(22)

FDX.Timing

Waveform of trace buffer

see command <trace>.Timing in 'General Commands Reference Guide T' (general_ref_t.pdf, page 385)

FDX.TraceChannel

tbd.

see command <trace>.TraceChannel in 'General Commands Reference Guide T' (general_ref_t.pdf, page 389)

FDX.TRACK

Set tracking record

see command <trace>.TRACK in 'General Commands Reference Guide T' (general_ref_t.pdf, page 391)

FDX.View

Display single record

see command <trace>.View in 'General Commands Reference Guide T' (general_ref_t.pdf, page 396)

FDX.ZERO

tbd.

(23)

FIFO

FIFO

Display on-chip trace FIFO

Shows the raw data of the on-chip trace fifo (where applicable). Format: FIFO

(24)

FLAG

See also

■ FLAG.Delete ■ FLAG.Init ■ FLAG.List ■ FLAG.ListFunc ■ FLAG.ListModul ■ FLAG.ListVar ■ FLAG.OFF ■ FLAG.ON ■ FLAG.RESet ■ FLAG.Set ■ FLAG.SetSec ■ FLAG.state

Flag System of TRACE32-ICE

The flag system is an excellent tool for the analysis of complex software systems. Flag memory is divided into 4 KByte blocks, and can be mapped into the CPU’s entire external bus address range. A read-flag, as well as a write-flag is available for each address. The read-flag is set at memory read and OP-FETCH cycles (prefetch too), whereas the write-flag is set for all write-to memory operations. After power-up, or execution of the MAP.RESet command, no flag memory is mapped. Flag memory is activated by means of the MAP.Flag or MAP.Ram command. It can, however, also be mapped-to using the FLAG.Set command if the Map option is selected.

Before restarting a program all flag-memory cells should be reset (FLAG.Delete or FLAG.Init commands). Evaluating which cells were accessed can be done by means of the FLAG.List command. However, the flag memory state is displayed whenever any DATA command is executed.

If no flag memory cells are changed, the flag system will be enabled or disabled by using the FLAG.ON or FLAG.OFF options.

The flag memory is dual-ported so that analysis can also be carried out during real-time emulation.

W R DATA BREAK

Flag logic CPU

RBW trigger Trigger

FLAG system and READ-BEFORE-WRITE trigger

(25)

Applications

1. Stack depth

2. Code coverage analysis

3. Checking variables (READ/WRITE) 4. Unused variables (WRITE-ONLY)

5. Uninitialized variable triggering (READ ONLY/ READ-BEFORE-WRITE)

Problems

The flag system is not able to decide if the prefetch is executed or not. Therefore short skips are not detected as not executed code and prefetches at function end sets some flag bits in the next function. The analyzer base code coverage (command COVerage) can make a 'C1' code coverage without this problem. Data flags are not correctly set, when the CPU cache function is activated (disable for data analysis).

(26)

Flag System of TRACE32-FIRE

TRACE32-FIRE provides a memory based Flag system:

• A read-flag is set at a memory read or opfetch cycle to an address. • A write-flag is set for all write-to memory operations.

After power-up, or execution of the MAP.RESet command, no flag memory is mapped. Since the same memory is used for READFLAG and WRITEFLAG, only one flag type can be used at a time.

• READFLAG memory is activated by means of the MAP.ReadFlag command. • WRITEFLAG memory is activated by means of the MAP.WriteFlag command.

Since the same memory is used also for hardware breakpoints/address selectors, setting hardware breakpoints or trigger programming is not possible while READFLAG or WRITEFLAG is mapped.

Before restarting a program all flag-memory cells should be reset by the FLAG.Delete command. Evaluating which cells were accessed can be done by means of the FLAG.List command. The flag memory is dual-ported so that analysis can also be carried out during real-time emulation.

Applications

1. Stack depth

2. Code coverage analysis 3. Checking variables

Problems

The flag system is not able to decide if the prefetch is executed or not. Therefore short skips are not detected as not executed code and prefetches at function end sets some flag bits in the next function. The analyzer base code coverage (command COVerage) can make a 'C1' code coverage without this problem. Data flags are not correctly set, when the CPU cache function is activated (disable for data analysis).

64 bit FIRE RAM 32 bit as

READFLAG memory or

WRITEFLAG memory or

ADDRESS SELECTOR/BREAK memory

(27)

FIRE / ICE only

FLAG.Delete

Delete flags

TRACE32-ICE only:

See also

■ FLAG.state

▲ ’FLAG System’ in ’ICE User’s Guide’

ICE only

FLAG.Init

Initialization

The whole flag memory will be deleted.

See also

■ FLAG.state

Format: FLAG.Delete [<address> | <addressrange>] [/<option> …]

<option>: Read (E) Write (E)

FLAG.Delete ; delete all flags

FLAG.Delete /Read ; delete only all read flags FLAG.Delete 0x0--0x0ffff /Write ; delete write flags selective

(28)

Debugger / FIRE only

FLAG.List

Display flags

Options may be used simultaneously, e.g. READ and NOWRITE. If no option is selected then the whole flag information will be displayed without condition.

Display flags window:

See also

Format: FLAG.List [<address> | <addressrange>] [/<option> …]

<option>: Read (E) Write (E) NoRead (E) NoWrite (E) FLAG.Delete Go … … Break FLAG.List

; delete the whole flag memory ; activate the flag system ; start the program

; stop the program

; list the flag distribution

FLAG.List /Read /NoWrite ; list read-only areas

FLAG.List /Write /NoRead ; list initialized, but unused variables FLAG.List /NoRead ; list unused variables

E::FLAG.List C C:0000645E--00006461 \\MWC\splimit+4E24 C:00006462--00006469 w \\MWC\splimit+4E28 C:0000646A--00006471 rw \\MWC\splimit+4E30 C:00006472--0000648D \\MWC\environ_ C:0000648E--00006495 rw \\MWC\I_a_arena_ C:00006496--00006771 \\MWC\I_a_block_+4 C:00006772--0000FF03 w C:0000FF04--0000FF0B rw C:0000FF0C--0001FFFF w C:00020000--00413FFF noRam

(29)

FIRE / ICE only

FLAG.ListFunc

Code-coverage functions

Graphic and numeric display of the code coverage of HLL functions. More detailed information is generated by a short click (left mouse button) in the data section of the window.

Format: FLAG.ListFunc [<address> | <addressrange>] [<items> …] [/<option> …]

<items>: %<format>

Read | Write | RNW | NRW | DEFault | ALL

<format>: Bar | Percent

<option>: NPrefetch | Prefetch

Read Generates a field output with consideration of the read flag information only.

Write Generates a field output with consideration of the write flag information only.

RNW Generates a field output for the supervised address range where the read-only condition is fulfilled.

NRW Generates a field output over the write-only information.

DEFault The defined default fields will be shown. The default is the 4 field types in graphical format and then in percent format. This configuration could be changed with the command SETUP.FLIST.

ALL All possible fields in all formats will be shown.

Bar Switches the output format to graphical value display. All following items will be displayed in this format. Bar is the default output format.

Percent Switches the output format to percent value display.

NPrefetch CPU accesses, which overlap the previous or next function (prefetch, cache or burst), are not displayed. The prefetch distance differs on the CPU type.

Is also default option.

Prefetch CPU accesses, which overlap the previous or next function (prefetch, cache or burst), are displayed. The prefetch distance differs on the CPU type.

(30)

The command SETUP.FLIST defines the default output of the flag list symbol commands.

Code-Coverage of CPU accesses, which overlap the previous or next function (prefetch, cache or burst), are not displayed in this example.

E::w.flag.lf

symbolname read write read only write only

\\MCC\mcc\func0 \\MCC\mcc\func1 \MCC\mcc\func1g \\MCC\mcc\func2 \\MCC\mcc\func3 \\MCC\mcc\func4

\\MCC\mcc\func5 function prefetched

\\MCC\mcc\func6 function fully executed

\\MCC\mcc\func7 \\MCC\mcc\func8 \\MCC\mcc\func9 \MCC\mcc\func10

\MCC\mcc\func11 function partly executed

MCC\mcc\func11a function not accessed

\MCC\mcc\func12 \MCC\mcc\func13

E::w.flag.lf /np

symbolname read write read only write only

\\MCC\mcc\func0 - function to short for analysis

\\MCC\mcc\func1 \MCC\mcc\func1g

\\MCC\mcc\func2 function code modified !!!

\\MCC\mcc\func3 \\MCC\mcc\func4

\\MCC\mcc\func5 function not accessed

\\MCC\mcc\func6

\\MCC\mcc\func7 function fully executed

\\MCC\mcc\func8 \\MCC\mcc\func9 \MCC\mcc\func10 \MCC\mcc\func11 MCC\mcc\func11a \MCC\mcc\func12 \MCC\mcc\func13

(31)

More detailed information is generated by a short click in the data section of the window.

See also

■ FLAG.state

▲ ’FLAG System’ in ’ICE User’s Guide’

E::w.d.l SD:5E72--0005F27 /m rf wrCBAWRSHP addr/line source

r H 401 switch ( x ) { case 1: H 404 x = x+1; H 405 x = x*2; H 406 return x*x; case 2: H 408 return x+x; case 3: H 410 return x-x; case 4: r H 412 x = x+1; r H 413 x = x*2; r H 414 return x*x; case 5: break; case 6: H 418 return x+x; default: break;

(32)

FIRE / ICE only

FLAG.ListModul

Code-coverage modules

Graphic and numeric display of the code coverage of the modules. More detailed information is generated by a short click in the data section of the window.

Format: FLAG.ListModul [<address> | <addressrange>] [<items> …] [/<option> …]

<items>: %<format>

Read | Write | RNW | NRW | DEFault | ALL

<format>: Bar | Percent

<option>: NPrefetch | Prefetch

Read Generates a field output with consideration of the read flag information only.

Write Generates a field output with consideration of the write flag information only.

RNW Generates a field output for the supervised address range where the read-only condition is fulfilled.

NRW Generates a field output over the write-only information.

DEFault The defined default fields will be shown. The default is the 4 field types in graphical format and then in percent format. This configuration could be changed with the command SETUP.FLIST.

ALL All possible fields in all formats will be shown.

Bar Switches the output format to graphical value display. All following items will be displayed in this format. Bar is the default output format.

Percent Switches the output format to percent value display.

NPrefetch CPU accesses, which overlap the previous or next function (prefetch, cache or burst), are not displayed. The prefetch distance differs on the CPU type.

Is also default option.

Prefetch CPU accesses, which overlap the previous or next function (prefetch, cache or burst), are displayed. The prefetch distance differs on the CPU type.

(33)

The command SETUP.FLIST defines the default output of the flag list symbol commands.

See also

■ FLAG.state

▲ ’FLAG System’ in ’ICE User’s Guide’

E::w.flag.lm

symbolname read write read only write only

\\MCC\entry \\MCC\mcc \\MCC\ADD \\MCC\LMUL \\MCC\FPK \\MCC\MEMSET \\MCC\csys \\MCC\outchr \\MCC\op_dadd \\MCC\op_dmul \\MCC\op_dtof \\MCC\op_fadd \\MCC\op_ftod \\MCC\dadd \\MCC\dpk \\MCC\ipk

(34)

FIRE / ICE only

FLAG.ListVar

Code-coverage variables

Graphic and numeric display of the code coverage of HLL-variables.

Format: FLAG.ListVar [<address> | <addressrange>] [<items> …]

<items>: %<format>

Read | Write | RNW | NRW | DEFault | ALL

<format>: Bar | Percent

Read Generates a field output with consideration of the read flag information only. Write Generates a field output with consideration of the write flag information only. RNW Generates a field output for the supervised address range where the

read-only condition is fulfilled.

NRW Generates a field output over the write-only information.

DEFault The defined default fields will be shown. The default is the 4 field types in graphical format and then in percent format. This configuration could be changed with the command SETUP.FLIST.

ALL All possible fields in all formats will be shown.

Bar Switches the output format to graphical value display. All following items will be displayed in this format. Bar is the default output format.

Percent Switches the output format to percent value display.

NPrefetch CPU accesses, which overlap the previous or next function (prefetch, cache or burst), are not displayed. The prefetch distance differs on the CPU type. Prefetch CPU accesses, which overlap the previous or next function (prefetch,

cache or burst), are displayed. The prefetch distance differs on the CPU type.

(35)

The command SETUP.FLIST defines the default output of the flag list symbol commands.

More detailed information is generated when a short click in the data section of the window was done:

See also

■ FLAG.state

▲ ’FLAG System’ in ’ICE User’s Guide’

E::w.flag.lv

symbolname read write read only write only

\\MCC\vppulong

\\MCC\ast fully used data set

\\MCC\vbfield data part.

\\MCC\vshort not used

\\MCC\vdarray

\\MCC\def uninitialized data set

\\MCC\funcptr \\MCC\vpuint

E::w.d.p %var v.range(vbfield) /m rf

wrCBAWRSHP address data value symbol

wr SD:002554 FF vbfield.a / .b / .c / .d \\MCC\vbf wr SD:002555 FF vbfield.d / .e \\MCC\vbfield+1 wr SD:002556 F8 vbfield.e \\MCC\vbfield+2 wr SD:002557 00 vbfield \\MCC\vbfield+3 wr SD:002558 FF vbfield.f \\MCC\vbfield+4 wr SD:002559 FF vbfield.f / .g \\MCC\vbfield+5

wr SD:00255A FF vbfield.h \\MCC\vbfield+6

wr SD:00255B FF vbfield.h / .i \\MCC\vbfield+7

w SD:00255C FF vbfield.j \\MCC\vbfield+8

w SD:00255D FF vbfield.j \\MCC\vbfield+9

wr SD:00255E E0 vbfield.k / .l \\MCC\vbfield+0A

SD:00255F 00 vbfield \\MCC\vbfield+0B w SD:002560 FF vbfield.m \\MCC\vbfield+0C w SD:002561 FF vbfield.m \\MCC\vbfield+0D SD:002562 00 \\MCC\vbfield+0E SD:002563 00 \\MCC\vbfield+0F w SD:002564 FF vbfield.n = -1 \\MCC\vbfield+10 w SD:002565 FF \\MCC\vbfield+11 w SD:002566 FF \\MCC\vbfield+12

(36)

ICE only

FLAG.OFF

Switch-off flag system

The flag system would be switched off. The program activity doesn't influence the flag information. This command is not possible on real-time emulation.

See also

■ FLAG.state

▲ ’FLAG System’ in ’ICE User’s Guide’

ICE only

FLAG.ON

Switch-on flag system

The flag system would be switched on. Every program and data cycle sets the corresponding flag bit. This command is blocked if real-time emulation is running.

See also

■ FLAG.state

▲ ’FLAG System’ in ’ICE User’s Guide’

FIRE / ICE only

FLAG.RESet

Reset

The whole flag memory will be deleted and released (Unmapped).

See also

■ FLAG.state

Format: FLAG.OFF

Format: FLAG.ON

(37)

FIRE / ICE only

FLAG.Set

Set

This command is used to manually set flags before starting real-time emulation. Flag setting is needed to prevent read-before-write triggering on code and initialized data areas. See FLAG.SetSec. In EPROM based embedded controller systems the write flags should be set in the whole EPROM area (To detect malfunction set the write breakpoint too and protect against write).

Map

This option forces mapping of flag memory if necessary.

See also

■ FLAG.state

▲ ’FLAG System’ in ’ICE User’s Guide’

ICE only

FLAG.SetSec

Mark sections

If the object files loaded has correct information about initialized data and code areas, the presetting of the write flag should be done by this command instead of FLAG.Set. Presetting of the write flag prevents from read-before-write (RBW) triggering on code or initialized data access.

See also

■ FLAG.state

Format: FLAG.Set <address> | <addressrange> [/<option> …]

<option>: Read Write Map

flag.s 0x0--0x0ffff /w ; set write flags

(38)

ICE only

FLAG.state

State

The state of the flag system is shown. The commands FLAG.Init and FLAG.RESet are executable by mouse-clicking.

See also

■ FLAG.Delete FLAG.Init FLAG.List FLAG.ListFunc ■ FLAG.ListModul FLAG.ListVar FLAG.OFF FLAG.ON ■ FLAG.RESet FLAG.Set FLAG.SetSec

▲ ’FLAG System’ in ’ICE User’s Guide’ Format: FLAG.state

E::w.flag

state commands

OFF Init

(39)

FLASH

External FLASH memories and on-chip FLASH memories of microcontrollers can be programmed and erased by the FLASH command group.

An up-to date list of all supported FLASHs you will find at the LAUTERBACH home page under: http://www.lauterbach.com/ylist.html. The list is also available under “List of Supported FLASH Devices” (flashlist.pdf).

For further information please refer to “Onchip/NOR FLASH Programming User’s Guide” (norflash.pdf). The FLASH.Create command allows to define the layout of the FLASH memories on the target. After activating the programming option any memory modification command of TRACE32 will issue a FLASH programming sequence for the devices. Parallel programming of multiple FLASH devices is supported. The programming can be done in two different modes:

• TRACE32 software based

• target controlled (an extra FLASH programming routine is used)

The TRACE32 software based programming needs no programming algorithm running on the target and no target RAM, but is slow (typical about 1 to 5 KByte/s). An exception are buffered FLASH chips (like Intel FlashFile devices) which can be programmed at rates of more than 100 KByte/s.

Target controlled FLASH algorithms are called by TRACE32 with appropriate parameters to program a memory. The advantage of this method is the higher programming speed and more flexibility in the implementation of the programming algorithm.

LAUTERBACH provides ready to run binary files for target controlled FLASH programming. These files are available for most common architectures on the TRACE32 software CD under:

~~\demo\<cpu>\flash

The FLASH algorithms are organized by <bus_width>. The name of the FLASH algorithm corresponds to the <family_code>. To get the <family_code> refer to the FLASH.Create command or to the LAUTERBACH home page under http://www.lauterbach.com/ylist.html.

E.g. the algorithm to program a Am29LV640 at a 16 bit bus with an ARM core working in little endian mode can be found under ~~\demo\arm\flash\word\am29lv100.bin

(40)

In production environments, it is recommended to use target controlled FLASH programming and to load the FLASH data in binary format (Data.LOAD.Binary) to get the highest possible programming speed.

See also

■ FLASH.AUTO ■ FLASH.BSDLaccess ■ FLASH.CFI ■ FLASH.CHANGETYPE ■ FLASH.CLocK ■ FLASH.Create ■ FLASH.CreateALIAS ■ FLASH.Delete ■ FLASH.Erase ■ FLASH.List ■ FLASH.LOCK ■ FLASH.MultiProgram ■ FLASH.OFFSET ■ FLASH.Program ■ FLASH.ReProgram ■ FLASH.RESet ■ FLASH.state ■ FLASH.TARGET ■ FLASH.TARGET2 ■ FLASH.UNLOCK ■ FLASH.UNSECUREerase

FLASH.AUTO

Auto programming of FLASH

Activates the auto programming mode for the selected FLASH memory unit or address range or for all defined devices.

The auto programming mode can be used: • to patch code in FLASH.

• to set software breakpoints into FLASH.

Format: FLASH.AUTO [<unit> | <address_range> | ALL | off | CANCEL |

/CENSORSHIP]

<unit> Activate the auto programming mode for all sectors of the specified unit. ALL Activate the auto programming mode for all FLASH sectors.

off With parameter “off” or without argument the auto programming mode is terminated. Terminating the auto programming mode lets you program only the modified sectors.

CANCEL Abort without programming pending changes.

CENSORSHIP CPU specific option: Allows you to program the range where the FLASH security bytes are located.

NOTE: The FLASH.AUTO off and FLASH.ReProgram off commands automatically erase the modified sectors before writing them.

• Consequently, do not use FLASH.Erase when using the auto or reprog programming mode.

• If you do, you will lose the advantage of reprogramming only modified sectors, which will result in a loss of performance.

(41)

See also

■ FLASH.state

▲ ’Programming Commands’ in ’Onchip/NOR FLASH Programming User’s Guide’

FLASH.BSDLaccess

Enables FLASH access via boundary scan

Enables or disables FLASH memory access via boundary scan. The boundary scan chain must be configured with BSDL.FLASH.IFDefine and BSDL.FLASH.IFMap.

See also

■ FLASH.state

▲ ’FLASH Programming via Boundary Scan’ in ’Onchip/NOR FLASH Programming User’s Guide’ ; (--)

FLASH.AUTO ALL

Data.LOAD.Binary data.bin FLASH.AUTO off

Data.LOAD.Binary data.bin /DIFF

IF FOUND()

PRINT "Not ok!" ELSE

PRINT "FLASH ok!"

; No FLASH.Erase!

; Activate all FLASHs for programming ; load binary file

; Erase and program all modified ; sectors

; compare the contents of the FLASH ; with the file contents

; FOUND() returns TRUE if a ; difference was found

(42)

FLASH.CFI

Generate FLASH declaration by CFI

Generate FLASH declaration by using the CFI information stored in an off-chip FLASH device.

CFI (Common FLASH memory Interface) is an open standard, that specifies how FLASH identification information can be provided by FLASH devices. The identification information includes the memory size, block configuration, voltage and timing information etc.

Without any parameters a CFI dialog is opened.

Format 1

If Format 1 is used, a FLASH declaration for TRACE32 tool based FLASH programming is generated. Format 1: FLASH.CFI [[<unit_number>] <address> | <range> <bus_width>]

Format 2: FLASH.CFI [<unit_number>] <address> | <range> <bus_width> /TARGET \ <code_address> <data_address> <buffer_size> [/DualPort]

Format 3: FLASH.CFI [<unit_number>] <address> | <range> <bus_width> /TARGET2 \ <code_address> <data_address> <buffer_size> [/DualPort]

<bus_width> Byte | Word | Long | Quad

DualPort Dual-port can be used for target controlled FLASH programming only. For an explanation of the DualPort option, see FLASH.TARGET.

FLASH.RESet ; reset all FLASH declarations FLASH.CFI 0xc0000000 Long ; perform FLASH declaration by CFI FLASH.List ; display the FLASH declaration

AREA.view ; display the monitoring of the TRACE32 ; FLASH declaration commands

(43)

If several FLASH devices of the same type are used in serial, a FLASH.CFI for each FLASH device has to be used.

Format 2

If Format 2 is used, a FLASH declaration for target controlled FLASH programming is generated. FLASH.RESet ; reset all FLASH declarations

FLASH.CFI 0xc0000000 Long ; perform FLASH declaration by CFI FLASH.CFI 0xc2000000 Long ; perform FLASH declaration by CFI FLASH.List ; display the FLASH declaration

AREA.view ; display the monitoring of the TRACE32 ; FLASH declaration commands

; reset all FLASH declarations

FLASH.RESet

; FLASH.CFI <addr> <bus_width> /TARGET <code_address> <data_address> ; <buffer_size>

FLASH.CFI 0xc0000000 Long /TARGET 0x1000 0x2000 0x1000

; display flash programming dialog to check settings

FLASH.state

; display the FLASH declaration

FLASH.List

; display the monitoring of the TRACE32 FLASH declaration commands

(44)

Format 3

If Format 3 is used, a second FLASH declaration for target controlled FLASH programming is generated. This is needed for example to program processor internal and processor external NOR flash or HyperFlash together.

; script to set up onchip flash configuration

DO ~~/demo/tricore/flash/tc29x.cmm CPU=TC298TF PREPAREONLY DUALPORT=1

; configure external bus interface

; perform flash declaration for external NOR flash by CFI

FLASH.CFI 0xA4000000 Long /TARGET2 0xC0000000 0xD0000000 0x2000 /DUALPORT

; check configuration

FLASH.state FLASH.List

(45)

See also

■ FLASH.List ■ FLASH.state ■ FLASH.TARGET ■ FLASH.TARGET2 ❏ FLASH.CFI.SIZE()

▲ ’Standard Approach’ in ’Onchip/NOR FLASH Programming User’s Guide’ ▲ ’Release Information’ in ’Release History’

(46)

FLASH.CHANGETYPE

Changes the FLASH type

Changes the FLASH type (FLASH Family Code) for the specified range. All other options remain unchanged.

See also

■ FLASH.state

▲ ’Special Features for Onchip FLASHs’ in ’Onchip/NOR FLASH Programming User’s Guide’ ▲ ’Release Information’ in ’Release History’

Format: FLASH.CHANGETYPE <unit> <address_range> ALL | off

<unit> Change the FLASH type of the specified unit. ALL Changes the FLASH type of all FLASH sectors.

off (no effect)

;For the specified address range, change current type to type 'TARGET' FLASH.CHANGETYPE 0xA0018000--0xA001BFFF TARGET

(47)

FLASH.CLocK

Setup input clock for processor internal flash

The command is used to set up the FLASH module input clock for processor internal flash (target-controlled on-chip FLASH programming only).

See also

■ FLASH.state ❏ FLASH.CLocK.Frequency() Format: FLASH.CLocK <freq> | AUTO

FLASH.CLocK AUTO ; the FLASH programming algorithm measures ; the input clock before programming or ; erasing the FLASH

(48)

FLASH.Create

Define FLASH

Declaration of FLASH memories. Internal FLASH memories:

• are defined automatically. The address ranges of internal FLASH memory will be calculated when executing a FLASH.Erase or FLASH.Program command.

• have to be defined by the user. Ready-to-run batch scripts are available on the TRACE32 software CD in the directory files\demo\<cpu>\flash. The name of the batch script corresponds to the processor name.

If the FLASH has sectors of different size (boot block devices) one FLASH.Create command has to be entered for each sector size.

Format: FLASH.Create <unit_number> <physical_range> <sector_size> <family_code> <bus_width>

<family_ code>:

I28F001B | I28F200B | … | TARGET [/<option>] | EEPROM | NOP [/<option>]

<bus_width>: Byte | Word | Long | Quad

<option>: AutoInc | EraseALIAS | BootModeHeaDer | KEEP <address_range> | OTP | INFO <string>

A <unit_number> has to be declared for each device. If the processor has on-chip FLASH that is defined automatically by TRACE32, the unit numbers 1 … n are already in use for the on-chip FLASH. Please use the

FLASH.List command to check the next free unit number.

<sector_size> If no <sector_size> is specified then one sector occupying the full <physical_range> will be assumed.

<family_code> The family_code determines the programming algorithm. The FLASH types and the corresponding family_codes are listed under “List of Supported FLASH Devices” (flashlist.pdf).

<bus_width> The bus_width parameter defines the external data bus size (8-bit, 16-bit, 32-bit, 64-bit). Default: 8-bit. If the data bus size is wider than the bus size of the FLASH device, it will be assumed that FLASH devices of the same type are in parallel.

(49)

AutoInc Increments the FLASH.CREATE extra argument for every created sector by 1. See Example.

The AutoInc option is only available for TARGET and NOP and a few other FLASH family codes.

EraseALIAS <address_range>

The EraseALIAS option allows you to apply the commands

FLASH.Auto.off and FLASH.ReProgram.off to non-contiguous physical sectors.

The EraseALIAS option is, for example, used for a processor-internal FLASH with visible ECC sectors.

KEEP

<address_range>

Does not delete the specified address range when the commands FLASH.Erase and FLASH.ReProgram are executed. See Example. But, after the FLASH.ReProgram command has been executed, the specified address range can be overwritten.

BootModeHeaDer <address_range>

Only available for the TriCore debugger. See Example.

Does not delete the TriCore boot mode header when the commands FLASH.Erase and FLASH.ReProgram are executed.

But, after the FLASH.ReProgram command has been executed, the TriCore boot mode header can be overwritten.

OTP States in a declaration that the specified range is an OTP sector (One Time Programmable). See Example.

All regular FLASH erase and FLASH programming commands have no effect on the OTP sector. In the FLASH.List window, the state column displays “nop” for this OTP sector.

To activate the FLASH programming mode for an OTP sector, use the FLASH.Program ... /OTP command. In the FLASH.List window, the state column displays “otp” for this OTP sector.

INFO <string> Adds a user-defined comment to the extra column of the FLASH.List window (max. length 64 characters). See Example.

(50)

Example:

Definition for an Am29LV640 in 16 bit mode on a 16 bit bus. The FLASH provides 128 sectors each with 64 KByte:

Example:

Definition for 2 Intel 28F128J3 in 16 bit mode, 2 FLASHs in parallel on a 32 bit bus. Each FLASH provides 128 sectors with 128 KByte. Since the FLASHs are in parallel the sector size used with the FLASH.Create command is 2 x 128 KByte:

Example:

Definition for an Am29DL322DB in 8 bit mode on a 8 bit bus (FLASH sectors of different size - bottom boot block device). The 8 boot blocks have a size of 8 KByte, the 63 main blocks have a size of 64 KBytes:

You will find an up-to-date list of all supported FLASHs at the LAUTERBACH website under:

http://www.lauterbach.com/ylist.html. The list is also available under “List of Supported FLASH Devices” (flashlist.pdf).

The family_code TARGET must be selected if target controlled FLASH programming is used. The definitions for target based FLASH programming are done via the FLASH.Target command.

EEPROM can be used to declare an EEPROM area. When activated write accesses result in EEPROM programming sequences. This is useful if both FLASH and EEPROM areas are used by the download file. If no data accesses are allowed to a specific memory area, the option NOP can be used, to prevent any access when data transfer commands are used.

Compatible types are supported even if they are not explicitly listed. (Please note that not all FLASH types have been tested in all configurations).

It is recommended to use Long or Word option for load or memory copy command, corresponding to the bus_width defined with the FLASH.Create command.

On some ATMEL flash types the data written must be aligned to the flash page size. Use binary file format or copy from virtual memory if possible (refer to Data.Load <file> /VM for more information). TRACE32 software based programming is not working on all FLASHs.

FLASH.RESet

FLASH.Create 1. 0x0--0x7FFFFF 0x10000 AM29LV100 Word

FLASH.RESet

FLASH.Create 1. 0x0--0x1FFFFFF 0x40000 I28F200J3 Long

FLASH.RESet

FLASH.Create 1. 0x0--0xFFFF 0x2000 AM29LV100B Byte

(51)

Example for /AutoInc, /KEEP, /OTP, and /INFO

Example for /BootModeHeaDer

The BootModeHeaDer option is only available for TriCore. Example for a TriCore internal FLASH:

See also

■ FLASH.state

▲ ’FLASH Declaration in Detail’ in ’Onchip/NOR FLASH Programming User’s Guide’ ▲ ’Release Information’ in ’Release History’

FLASH.RESet

FLASH.Create 0x1000000--0x100FFFF 0x4000 TARGET Long 0. \

/AutoInc /KEEP 0x1003FFC--0x1003FFF FLASH.Create 0x0400000--0x0403FFF 0x4000 TARGET Long 0x500 \

/OTP /INFO "UTEST sector"

FLASH.List

FLASH.Create 1. 0xA0000000--0xA0003FFF TARGET Long \

/BootModeHeaDer 0xA0000000--0xA000001F A user-defined comment is added by /INFO

(52)

FLASH.CreateALIAS

Create address alias

All FLASH write cycles to <address_range> are performed to the address range starting with <alias_address>.

This command is useful when the on-chip FLASH is mapped to different addresses, for example: • At address 0x0C000000--0x0C01FFFF for uncached accesses

• At address 0x08000000--0x0801FFFFF for cached accesses

Due to this, a compiler may generate bootcode for the uncached address range and application code for the cached address range. This situation complicates the programming of the on-chip FLASH. With the command FLASH.CreateALIAS flash programming is only executed in the uncached address range. The command FLASH.CreateALIAS might also be useful for mirrored FLASH address ranges.

Format: FLASH.CreateALIAS <address_range> <alias_address>

;reset FLASH definition table FLASH.RESet

;declare FLASH sectors

FLASH.Create 1. 0x0C000000--0x0C00FFFF 0x4000 TARGET Long FLASH.Create 2. 0x0C010000--0x0C01FFFF 0x4000 TARGET Long

;all FLASH write cycles to the address range 0x08000000--0x0801FFFF ;(cached) are actually performed to the address range

;0x0C000000--0x0C01FFFF (not cached)

FLASH.CreateALIAS 0x08000000--0x0801FFFF 0x0C000000

;define the target controlled FLASH algorithm FLASH.TARGET 0x1FFFE000 0x20000000 0x1000 \

~~/demo/arm/flash/long/xmc4000.bin ;open the window

(53)

The alias is also displayed in the listing of the FLASH declarations, see FLASH.List window:

See also

■ FLASH.state

▲ ’Special Features for Onchip FLASHs’ in ’Onchip/NOR FLASH Programming User’s Guide’

FLASH.Delete

Delete entry in FLASH definition table

The specified FLASH entry is removed from the definition table. Use the command FLASH.RESet to clear the whole list and the entire FLASH target configuration.

See also

A Cached address range.

B Destination address for uncached memory.

Format: FLASH.Delete <unit> | <address_range> | ALL | off

<unit> Delete the specified unit.

ALL Deletes all FLASH entries from the definition table.

off (no effect)

FLASH.Delete 2. ; delete unit 2 from the definition table. ; A unit can consist of multiple flash ; sectors.

FLASH.Delete 0x2000--0xffff ; delete the specified flash sectors. ; from the definition table.

FLASH.Delete ALL ; delete all flash sectors from the ; definition table.

A

(54)

FLASH.Erase

Erase FLASH

Erases the selected FLASH memory unit or address range or all defined devices.

See also

■ FLASH.state

▲ ’TRACE32 Tool-based Programming’ in ’Tips to Solve NOR FLASH Programming Problems’ ▲ ’Programming Commands’ in ’Onchip/NOR FLASH Programming User’s Guide’

Format: FLASH.Erase <unit> | <address_range> | ALL | off

<unit> Erase the specified unit.

ALL Erase all FLASH sectors of a FLASH memory.

off (no effect)

FLASH.Erase 1. ; erase unit 1 from the FLASH memory. FLASH.Erase 0x0--0x1FFFF ; erase the specified FLASH sectors

; from the FLASH memory. FLASH.Erase ALL ; erase all flash sectors

(55)

FLASH.List

Display FLASH definition table

Displays the address range, family code, bus width, state (if programming or auto is activated), and the unit number of defined FLASH memories. For a description of the columns in the FLASH.List window, see table below.

Description of Columns in the FLASH.List Window

address: Address range of a sector.

type: FLASH family code. An ALIAS entry is created with FLASH.CreateALIAS. width: Data bus width (Byte, Word, Long, Quad).

state

- program: FLASH programming for the selected sector is activated by FLASH.Program. - reprog: FLASH programming for the selected sector is activated by FLASH.ReProgram. - pending: The contents in the virtual host memory differs from the real FLASH contents.

FLASH will be programmed by FLASH.AUTO.off or FLASH.ReProgram.off.

- nop: Sectors that are not affected by FLASH.Program, FLASH.AUTO, or FLASH.ReProgram. - otp: OTP sector programming is enabled by FLASH.Program... /OTP.

unit: A unit consists of multiple sectors. Each row stands for one sector. Related sectors have the same unit number.

extra: Displays the extra value and the options created with FLASH.Create, including user-defined comments.

See also

■ FLASH.CFI FLASH.state FLASH.List.STATE.PENDING() ▲ ’FLASH Functions’ in ’General Functions’

Format: FLASH.List

Unit 1. consists of multiple sectors. Each row stands

(56)

FLASH.LOCK

Lock FLASH

Lock the selected sectors of a FLASH device.

See also

■ FLASH.state ■ FLASH.UNLOCK

▲ ’TRACE32 Tool-based Programming’ in ’Tips to Solve NOR FLASH Programming Problems’ Format: FLASH.LOCK <unit> | <address_range> | ALL | off

<unit> Lock the specified unit. ALL Lock all FLASH sectors.

off (no effect)

FLASH.LOCK 1. ; lock unit 1. in the FLASH memory. FLASH.LOCK 0x0--0x1FFFF ; lock the specified range

; in the FLASH memory. FLASH.LOCK ALL ; lock all FLASH sectors

Figure

Graphic and numeric display of the code coverage of HLL functions. More detailed information is generated  by a short click (left mouse button) in the data section of the window.
Graphic and numeric display of the code coverage of the modules. More detailed information is generated  by a short click in the data section of the window.
Graphic and numeric display of the code coverage of HLL-variables.

References

Related documents

pylori, isolated in Sicily, to clarithromycin; the principal point of mutation associated with this resistance; and the more frequent association between resistance to

The empirical results from multinomial logit analysis showed that the choice of CA adopted is positively influenced by farmer’s formal education, access to

By the aggregate number of individual contracts, the most widely used type of contract were those that consisted of a lump-sum payment to the landowner, covering both the land

18 The presence of a significant positive (negative) deterministic trend term would provide evidence in support of an increasing (decreasing) gap or range (ML or HL) in average

Recognizing that Microsoft's breach of contract claim hinged on the factual question of whether Motorola's proposed terms of 2.25% were FRAND, Judge Robart

In the political-administrative context, the ming-shi polarity is used to speak about official duties (ming) and their fulfillment (shi), about the intended (ming) and actual

Calculating Postage using Weighing Platform Weighing Platform Manual Weight Using Moistener Changing Ink Using Moistener Select Class.. Some classes will display postage rates next

We believe that the key to achieving LCOE targets is not a single ‘breakthrough’ development, but to bring together as many of the performance improving, cost reducing design concepts