General Commands Reference Guide F

Size: px
Start display at page:

Download "General Commands Reference Guide F"

Transcription

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 FDX.Find Find specified entry in trace 14 FDX.FindAll Find all specified entries in trace 14 General Commands Reference Guide F 1

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 FDX.STATistic.sYmbol Flat run-time analysis 20 General Commands Reference Guide F 2

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 FIFO Display on-chip trace FIFO 23 FLAG 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 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 FLASH.CLocK Setup input clock for processor internal flash 47 FLASH.Create Define FLASH 48 General Commands Reference Guide F 3

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 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 FLASHFILE.SAVEALL Save the main area and the spare area 90 FLASHFILE.SAVEECC Save error correction code (ECC) to file 91 General Commands Reference Guide F 4

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 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 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 Frame.view Variable stack nesting 117 General Commands Reference Guide F 5

6 Usage: (B) command only available for ICD (E) command only available for ICE (F) command only available for FIRE General Commands Reference Guide F 6

7 General Commands Reference Guide F Version 24-May Jan Nov Oct-14 New commands Frame.CONFIG.EABI and FLASH.TARGET2. Added description and example for FLASHFILE.LOAD.Elf. Added descriptions, screenshots, and illustrations for FLASHFILE.SAVEECC, FLASHFILE.SAVEECC.BCH, FLASHFILE.SAVEECC.hamming, FLASHFILE.SAVEECC.ReedSolomon, and FLASHFILE.LOADECC. General Commands Reference Guide F 7

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: Analyzer ART FDX Integrator LA LOGGER Onchip Probe PORT RTS SNOOPer The currently used trace method is displayed under METHOD in the Trace.state window. General Commands Reference Guide F 8 FDX

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 Max. trace size Sampling Influence on the real-time behavior Selective tracing Fastest sampling rate The user reserves a part of the target RAM, that can be used for the trace information. Any desired. 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. Yes, how much depends on the implementation of the sampling algorithm. Possible by the sampling algorithm. Depends on the sampling algorithm. General Commands Reference Guide F 9 FDX

10 FDX.METHOD Select communication channel FDX.METHOD [<method>] <method>: BufferE BufferC BufferS DCC3 DCC DCC4D DCC7 DCC8 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. BufferE BufferC BufferS 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 Transfers the data after the CPU is stopped. 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 DCC8 8-byte wide channel, where the first byte defines if the last 8 bytes are used. 8-byte wide channel General Commands Reference Guide F 10 FDX

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 see command <trace>.chart in 'General Commands Reference Guide T' (general_ref_t.pdf, page 100) General Commands Reference Guide F 11 FDX

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) General Commands Reference Guide F 12 FDX

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 see command <trace>.disable in 'General Commands Reference Guide T' (general_ref_t.pdf, page 125) General Commands Reference Guide F 13 FDX

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) FDX.FindChange Search for changes in trace flow see command <trace>.findchange in 'General Commands Reference Guide T' (general_ref_t.pdf, page 165) General Commands Reference Guide F 14 FDX

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) FDX.OFF Switch off see command <trace>.off in 'General Commands Reference Guide T' (general_ref_t.pdf, page 204) General Commands Reference Guide F 15 FDX

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) General Commands Reference Guide F 16 FDX

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 see command <trace>.ref in 'General Commands Reference Guide T' (general_ref_t.pdf, page 238) General Commands Reference Guide F 17 FDX

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) FDX.STATistic.DIStance Time interval for a single event see command <trace>.statistic.distance in 'General Commands Reference Guide T' (general_ref_t.pdf, page 274) General Commands Reference Guide F 18 FDX

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) General Commands Reference Guide F 19 FDX

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) General Commands Reference Guide F 20 FDX

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) General Commands Reference Guide F 21 FDX

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. see command <trace>.zero in 'General Commands Reference Guide T' (general_ref_t.pdf, page 398) General Commands Reference Guide F 22 FDX

23 FIFO FIFO Display on-chip trace FIFO FIFO Shows the raw data of the on-chip trace fifo (where applicable). General Commands Reference Guide F 23 FIFO

24 FLAG 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. W R DATA BREAK FLAG system and READ-BEFORE-WRITE trigger Flag logic CPU RBW trigger Trigger 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. General Commands Reference Guide F 24 FLAG

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). General Commands Reference Guide F 25 FLAG

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. 32 bit as 64 bit FIRE RAM READFLAG memory or WRITEFLAG memory 32 bit emulation memory or ADDRESS SELECTOR/BREAK memory 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). General Commands Reference Guide F 26 FLAG

27 FLAG.Delete FIRE / ICE only Delete flags FLAG.Delete [<address> <addressrange>] [/<option> ] <option>: Read (E) Write (E) FLAG.Delete ; delete all flags TRACE32-ICE only: FLAG.Delete /Read FLAG.Delete 0x0--0x0ffff /Write ; delete only all read flags ; delete write flags selective FLAG.state FLAG System in ICE User s Guide FLAG.Init ICE only Initialization FLAG.Init The whole flag memory will be deleted. FLAG.state General Commands Reference Guide F 27 FLAG

28 FLAG.List Debugger / FIRE only Display flags FLAG.List [<address> <addressrange>] [/<option> ] <option>: Read (E) Write (E) NoRead (E) NoWrite (E) 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. 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 FLAG.List /Write /NoRead FLAG.List /NoRead ; list read-only areas ; list initialized, but unused variables ; list unused variables Display flags window: E::FLAG.List C C: E \\MWC\splimit+4E24 C: w \\MWC\splimit+4E28 C: A rw \\MWC\splimit+4E30 C: D \\MWC\environ_ C: E rw \\MWC\I_a_arena_ C: \\MWC\I_a_block_+4 C: FF03 w C:0000FF FF0B rw C:0000FF0C--0001FFFF w C: FFF noram FLAG.state FLAG System in ICE User s Guide General Commands Reference Guide F 28 FLAG

29 FLAG.ListFunc FIRE / ICE only Code-coverage functions FLAG.ListFunc [<address> <addressrange>] [<items> ] [/<option> ] <items>: %<format> Read Write RNW NRW DEFault ALL <format>: Bar Percent <option>: NPrefetch Prefetch 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. Read Write RNW NRW DEFault ALL Bar Percent NPrefetch Prefetch Generates a field output with consideration of the read flag information only. Generates a field output with consideration of the write flag information only. Generates a field output for the supervised address range where the read-only condition is fulfilled. Generates a field output over the write-only information. 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 possible fields in all formats will be shown. Switches the output format to graphical value display. All following items will be displayed in this format. Bar is the default output format. Switches the output format to percent value display. 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. CPU accesses, which overlap the previous or next function (prefetch, cache or burst), are displayed. The prefetch distance differs on the CPU type. General Commands Reference Guide F 29 FLAG

30 The command SETUP.FLIST defines the default output of the flag list symbol commands. 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 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 /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 General Commands Reference Guide F 30 FLAG

31 More detailed information is generated by a short click in the data section of the window. E::w.d.l SD:5E F27 /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; FLAG.state FLAG System in ICE User s Guide General Commands Reference Guide F 31 FLAG

32 FLAG.ListModul FIRE / ICE only Code-coverage modules FLAG.ListModul [<address> <addressrange>] [<items> ] [/<option> ] <items>: %<format> Read Write RNW NRW DEFault ALL <format>: Bar Percent <option>: NPrefetch Prefetch 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. Read Write RNW NRW DEFault ALL Bar Percent NPrefetch Prefetch Generates a field output with consideration of the read flag information only. Generates a field output with consideration of the write flag information only. Generates a field output for the supervised address range where the read-only condition is fulfilled. Generates a field output over the write-only information. 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 possible fields in all formats will be shown. Switches the output format to graphical value display. All following items will be displayed in this format. Bar is the default output format. Switches the output format to percent value display. 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. CPU accesses, which overlap the previous or next function (prefetch, cache or burst), are displayed. The prefetch distance differs on the CPU type. General Commands Reference Guide F 32 FLAG

33 The command SETUP.FLIST defines the default output of the flag list symbol commands. 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 FLAG.state FLAG System in ICE User s Guide General Commands Reference Guide F 33 FLAG

34 FLAG.ListVar FIRE / ICE only Code-coverage variables FLAG.ListVar [<address> <addressrange>] [<items> ] <items>: %<format> Read Write RNW NRW DEFault ALL <format>: Bar Percent Graphic and numeric display of the code coverage of HLL-variables. Read Write RNW NRW DEFault ALL Bar Percent NPrefetch Prefetch Generates a field output with consideration of the read flag information only. Generates a field output with consideration of the write flag information only. Generates a field output for the supervised address range where the readonly condition is fulfilled. Generates a field output over the write-only information. 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 possible fields in all formats will be shown. Switches the output format to graphical value display. All following items will be displayed in this format. Bar is the default output format. Switches the output format to percent value display. CPU accesses, which overlap the previous or next function (prefetch, cache or burst), are not displayed. The prefetch distance differs on the CPU type. CPU accesses, which overlap the previous or next function (prefetch, cache or burst), are displayed. The prefetch distance differs on the CPU type. General Commands Reference Guide F 34 FLAG

35 The command SETUP.FLIST defines the default output of the flag list symbol commands. 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 More detailed information is generated when a short click in the data section of the window was done: E::w.d.p %var v.range(vbfield) /m rf wrcbawrshp address data value symbol wr SD: FF vbfield.a /.b /.c /.d \\MCC\vbf wr SD: FF vbfield.d /.e \\MCC\vbfield+1 wr SD: F8 vbfield.e \\MCC\vbfield+2 wr SD: vbfield \\MCC\vbfield+3 wr SD: FF vbfield.f \\MCC\vbfield+4 wr SD: 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: FF vbfield.m \\MCC\vbfield+0C w SD: FF vbfield.m \\MCC\vbfield+0D SD: \\MCC\vbfield+0E SD: \\MCC\vbfield+0F w SD: FF vbfield.n = -1 \\MCC\vbfield+10 w SD: FF \\MCC\vbfield+11 w SD: FF \\MCC\vbfield+12 FLAG.state FLAG System in ICE User s Guide General Commands Reference Guide F 35 FLAG

36 FLAG.OFF ICE only Switch-off flag system FLAG.OFF 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. FLAG.state FLAG System in ICE User s Guide FLAG.ON ICE only Switch-on flag system FLAG.ON 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. FLAG.state FLAG System in ICE User s Guide FLAG.RESet FIRE / ICE only Reset FLAG.RESet The whole flag memory will be deleted and released (Unmapped). FLAG.state General Commands Reference Guide F 36 FLAG

37 FLAG.Set FIRE / ICE only Set FLAG.Set <address> <addressrange> [/<option> ] <option>: Read Write Map 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. flag.s 0x0--0x0ffff /w ; set write flags FLAG.state FLAG System in ICE User s Guide FLAG.SetSec ICE only Mark sections FLAG.SetSec 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. FLAG.state General Commands Reference Guide F 37 FLAG

38 FLAG.state ICE only State FLAG.state The state of the flag system is shown. The commands FLAG.Init and FLAG.RESet are executable by mouse-clicking. E::w.flag state commands OFF Init ON RESet 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 General Commands Reference Guide F 38 FLAG

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: 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 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 The target controlled programming also allows that an user designed programming routine is used. General Commands Reference Guide F 39 FLASH

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. 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 FLASH.AUTO [<unit> <address_range> ALL off CANCEL /CENSORSHIP] Activates the auto programming mode for the selected FLASH memory unit or address range or for all defined devices. <unit> ALL off CANCEL CENSORSHIP Activate the auto programming mode for all sectors of the specified unit. Activate the auto programming mode for all FLASH sectors. With parameter off or without argument the auto programming mode is terminated. Terminating the auto programming mode lets you program only the modified sectors. Abort without programming pending changes. CPU specific option: Allows you to program the range where the FLASH security bytes are located. The auto programming mode can be used: to patch code in FLASH. to set software breakpoints into FLASH. 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. General Commands Reference Guide F 40 FLASH

41 ; (--) 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 FLASH.state Programming Commands in Onchip/NOR FLASH Programming User s Guide FLASH.BSDLaccess Enables FLASH access via boundary scan FLASH.BSDLaccess ON OFF Enables or disables FLASH memory access via boundary scan. The boundary scan chain must be configured with BSDL.FLASH.IFDefine and BSDL.FLASH.IFMap. FLASH.state FLASH Programming via Boundary Scan in Onchip/NOR FLASH Programming User s Guide General Commands Reference Guide F 41 FLASH

42 FLASH.CFI Generate FLASH declaration by CFI 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 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. DualPort Dual-port can be used for target controlled FLASH programming only. For an explanation of the DualPort option, see FLASH.TARGET. Format 1 If Format 1 is used, a FLASH declaration for TRACE32 tool based FLASH programming is generated. FLASH.RESet FLASH.CFI 0xc Long FLASH.List AREA.view ; reset all FLASH declarations ; perform FLASH declaration by CFI ; display the FLASH declaration ; display the monitoring of the TRACE32 ; FLASH declaration commands General Commands Reference Guide F 42 FLASH

43 If several FLASH devices of the same type are used in serial, a FLASH.CFI for each FLASH device has to be used. FLASH.RESet FLASH.CFI 0xc Long FLASH.CFI 0xc Long FLASH.List AREA.view ; reset all FLASH declarations ; perform FLASH declaration by CFI ; perform FLASH declaration by CFI ; display the FLASH declaration ; display the monitoring of the TRACE32 ; FLASH declaration commands Format 2 If Format 2 is used, a FLASH declaration for target controlled FLASH programming is generated. ; reset all FLASH declarations FLASH.RESet ; FLASH.CFI <addr> <bus_width> /TARGET <code_address> <data_address> ; <buffer_size> FLASH.CFI 0xc 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 AREA.view General Commands Reference Guide F 43 FLASH

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 0xA Long /TARGET2 0xC xD x2000 /DUALPORT ; check configuration FLASH.state FLASH.List General Commands Reference Guide F 44 FLASH

45 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 General Commands Reference Guide F 45 FLASH

46 FLASH.CHANGETYPE Changes the FLASH type FLASH.CHANGETYPE <unit> <address_range> ALL off Changes the FLASH type (FLASH Family Code) for the specified range. All other options remain unchanged. <unit> ALL off Change the FLASH type of the specified unit. Changes the FLASH type of all FLASH sectors. (no effect) ;For the specified address range, change current type to type 'TARGET' FLASH.CHANGETYPE 0xA xA001BFFF TARGET Before After FLASH.state Special Features for Onchip FLASHs in Onchip/NOR FLASH Programming User s Guide Release Information in Release History General Commands Reference Guide F 46 FLASH

47 FLASH.CLocK Setup input clock for processor internal flash FLASH.CLocK <freq> AUTO The command is used to set up the FLASH module input clock for processor internal flash (target-controlled on-chip FLASH programming only). FLASH.CLocK AUTO ; the FLASH programming algorithm measures ; the input clock before programming or ; erasing the FLASH FLASH.CLocK 10MHz ; a fixed input clock is used FLASH.state FLASH.CLocK.Frequency() General Commands Reference Guide F 47 FLASH

48 FLASH.Create Define FLASH 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> 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. 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. If the FLASH has sectors of different size (boot block devices) one FLASH.Create command has to be entered for each sector size. <sector_size> <family_code> <bus_width> If no <sector_size> is specified then one sector occupying the full <physical_range> will be assumed. 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). 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. General Commands Reference Guide F 48 FLASH

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. General Commands Reference Guide F 49 FLASH

50 Example: Definition for an Am29LV640 in 16 bit mode on a 16 bit bus. The FLASH provides 128 sectors each with 64 KByte: FLASH.RESet FLASH.Create 1. 0x0--0x7FFFFF 0x10000 AM29LV100 Word 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: FLASH.RESet FLASH.Create 1. 0x0--0x1FFFFFF 0x40000 I28F200J3 Long 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: FLASH.RESet FLASH.Create 1. 0x0--0xFFFF 0x2000 AM29LV100B Byte FLASH.Create 1. 0x x3FFFFF 0x10000 AM29LV100B Byte You will find an up-to-date list of all supported FLASHs at the LAUTERBACH website under: 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. General Commands Reference Guide F 50 FLASH

51 Example for /AutoInc, /KEEP, /OTP, and /INFO A user-defined comment is added by /INFO Sector IDs are incremented by /AutoInc FLASH.RESet FLASH.Create 0x x100FFFF 0x4000 TARGET Long 0. \ /AutoInc /KEEP 0x1003FFC--0x1003FFF FLASH.Create 0x x0403FFF 0x4000 TARGET Long 0x500 \ /OTP /INFO "UTEST sector" FLASH.List Example for /BootModeHeaDer The BootModeHeaDer option is only available for TriCore. Example for a TriCore internal FLASH: FLASH.Create 1. 0xA xA0003FFF TARGET Long \ /BootModeHeaDer 0xA xA000001F FLASH.state FLASH Declaration in Detail in Onchip/NOR FLASH Programming User s Guide Release Information in Release History General Commands Reference Guide F 51 FLASH

52 FLASH.CreateALIAS Create address alias FLASH.CreateALIAS <address_range> <alias_address> 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 0x0C x0C01FFFF for uncached accesses At address 0x x0801FFFFF 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. ;reset FLASH definition table FLASH.RESet ;declare FLASH sectors FLASH.Create 1. 0x0C x0C00FFFF 0x4000 TARGET Long FLASH.Create 2. 0x0C x0C01FFFF 0x4000 TARGET Long ;all FLASH write cycles to the address range 0x x0801FFFF ;(cached) are actually performed to the address range ;0x0C x0C01FFFF (not cached) FLASH.CreateALIAS 0x x0801FFFF 0x0C ;define the target controlled FLASH algorithm FLASH.TARGET 0x1FFFE000 0x x1000 \ ~~/demo/arm/flash/long/xmc4000.bin ;open the window FLASH.List General Commands Reference Guide F 52 FLASH

53 The alias is also displayed in the listing of the FLASH declarations, see FLASH.List window: A B A Cached address range. B Destination address for uncached memory. FLASH.state Special Features for Onchip FLASHs in Onchip/NOR FLASH Programming User s Guide FLASH.Delete Delete entry in FLASH definition table FLASH.Delete <unit> <address_range> ALL off 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. <unit> ALL off Delete the specified unit. Deletes all FLASH entries from the definition table. (no effect) FLASH.Delete 2. ; delete unit 2 from the definition table. ; A unit can consist of multiple flash ; sectors. FLASH.Delete 0x xffff FLASH.Delete ALL ; delete the specified flash sectors. ; from the definition table. ; delete all flash sectors from the ; definition table. FLASH.state FLASH Declaration in Detail in Onchip/NOR FLASH Programming User s Guide General Commands Reference Guide F 53 FLASH

54 FLASH.Erase Erase FLASH FLASH.Erase <unit> <address_range> ALL off Erases the selected FLASH memory unit or address range or all defined devices. <unit> ALL off Erase the specified unit. Erase all FLASH sectors of a FLASH memory. (no effect) FLASH.Erase 1. ; erase unit 1 from the FLASH memory. FLASH.Erase 0x0--0x1FFFF FLASH.Erase ALL ; erase the specified FLASH sectors ; from the FLASH memory. ; erase all flash sectors ; of a FLASH memory. FLASH.state TRACE32 Tool-based Programming in Tips to Solve NOR FLASH Programming Problems Programming Commands in Onchip/NOR FLASH Programming User s Guide General Commands Reference Guide F 54 FLASH

55 FLASH.List Display FLASH definition table FLASH.List 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. Each row stands for one sector. Unit 1. consists of multiple sectors. 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 userdefined comments. FLASH.CFI FLASH.state FLASH.List.STATE.PENDING() FLASH Functions in General Functions Standard Approach in Onchip/NOR FLASH Programming User s Guide FLASH Declaration in Detail in Onchip/NOR FLASH Programming User s Guide General Commands Reference Guide F 55 FLASH

56 FLASH.LOCK Lock FLASH FLASH.LOCK <unit> <address_range> ALL off Lock the selected sectors of a FLASH device. <unit> ALL off Lock the specified unit. Lock all FLASH sectors. (no effect) FLASH.LOCK 1. ; lock unit 1. in the FLASH memory. FLASH.LOCK 0x0--0x1FFFF FLASH.LOCK ALL ; lock the specified range ; in the FLASH memory. ; lock all FLASH sectors ; in the FLASH memory. FLASH.state FLASH.UNLOCK TRACE32 Tool-based Programming in Tips to Solve NOR FLASH Programming Problems General Commands Reference Guide F 56 FLASH

57 FLASH.MultiProgram Simultaneous programming of flash sectors FLASH.MultiProgram <range> Simultaneous programming of the internal FLASH is supported for the masks K1, K2, K3 and M of the MPC555. The MPC555 supports simultaneous programming of all 14 flash modules, 8 blocks of FLASH module A and 6 blocks of FLASH module B. ; initialize the virtual memory of TRACE32-ICD with 0xff Data.Set VM:0x0++0x6ffff %Long 0xffffffff ; load the code for the internal FLASH into the virtual memory Data.LOAD.Elf file.elf /VM ; Start the simultaneous programming FLASH.MultiProgram 0x0++0x6ffff FLASH.state CPU specific SYStem Commands in MPC5xx/8xx Debugger and Trace CPU specific SYStem Commands in MPC56x NEXUS Debugger and Trace FLASH.OFFSET Change FLASH control address FLASH.OFFSET [<offset>] On some FLASH memory types a dummy address is used to control FLASH programming and erasure. For this purpose normally the lowest address of the FLASH is used (default offset: 0). If this address can not be accessed, since it is occupied by other peripherals, this command can be used to change these control address. ; FLASH example ; access to location 0 is not possible (overlaid by register block) FLASH.Create P:0x0--0x1ffff AM29F100 Word FLASH.OFFSET 0x1000 FLASH.state General Commands Reference Guide F 57 FLASH

58 FLASH.Program Program FLASH FLASH.Program [<unit> <address_range> ALL off CANCEL] [/OTP] Activates the FLASH programming mode for the selected FLASH memory unit or address range or for all defined devices. <unit> ALL off CANCEL OTP Activate the FLASH programming mode for the specified unit. Programs all FLASH sectors. With parameter off or without argument the programming mode is terminated. With parameter off or without argument the programming mode is terminated. FLASH.Create... /OTP declares an OTP sector (One Time Programmable). Use FLASH.Program... /OTP to activate the FLASH programming mode for the OTP sector. While the programming mode is active, all writes from TRACE32 to the activated FLASH memory range are executed as FLASH program cycles. The programming data must be written to the correct location and access class of the FLASH memory. FLASH.Erase ALL FLASH.Program ALL Data.LOAD.Binary data.bin /Word FLASH.Program off Data.LOAD.Binary data.bin /DIFF IF FOUND() PRINT "Not ok!" ELSE PRINT "FLASH ok!" ; Reset FLASH contents (mandatory) ; Activate all FLASHs for programming ; load binary file ; deactivate FLASH programming ; compare the contents of the FLASH ; with the file contents ; FOUND() returns TRUE if a ; difference was found NOTE: Before using the FLASH.Program command, it is necessary to erase the FLASH memory with FLASH.Erase. This is not required with FLASH.ReProgram or FLASH.AUTO because they automatically erase the sectors before writing them. FLASH.ReProgram FLASH.state Programming Commands in Onchip/NOR FLASH Programming User s Guide General Commands Reference Guide F 58 FLASH

59 FLASH.ReProgram Re-program FLASH FLASH.ReProgram [<unit> <address_range> ALL off CANCEL] [/Erase] Activates the reprog programming mode for the selected FLASH unit, address range or for all defined devices. In reprog programming mode FLASH sectors are only programmed if their contents has changed. In this mode the programming time for large off-chip FLASH devices that use target-controlled FLASH programming is considerably improved. <unit> ALL off CANCEL Erase Activates the reprogramming mode for the specified unit. Reprograms all FLASH sectors. With parameter off or without parameters the reprog programming mode is terminated. Terminating the reprog programming mode lets you program only the modified sectors. Abort without programming pending changes. Erases all sectors and is used to remove obsolete code from sectors that are not reprogrammed (e.g. because a smaller program is flashed into the target). General Commands Reference Guide F 59 FLASH

60 When necessary, FLASH.ReProgram implicitly erases sectors before programming them (in contrast to FLASH.Program). 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. ; (--) FLASH.ReProgram ALL /Erase Data.LOAD.Binary data.bin FLASH.ReProgram 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 FLASH.Program FLASH.state Programming Commands in Onchip/NOR FLASH Programming User s Guide Release Information in Release History FLASH.RESet Reset FLASH definition table FLASH.RESet The debugger-internal table with FLASH-related definitions is cleared and all settings are restored to their default values. Use the command FLASH.Delete to remove a single entry or parts of the list. This command does not erase the FLASH sectors. Use FLASH.Erase for that purpose. FLASH.state Standard Approach in Onchip/NOR FLASH Programming User s Guide General Commands Reference Guide F 60 FLASH

61 FLASH.state FLASH programming dialog FLASH.state Opens the FLASH.state window, where you can create, check, and modify the setup for NOR and onchip FLASH programming. ; script to program onchip and off-chip flash together SYStem.CPU TC298TF ; script to set up onchip flash configuration DO ~~/demo/tricore/flash/tc29x.cmm CPU=TC298TF PREPAREONLY DUALPORT=1 ; configure external bus interface ; prepare off-chip flash configuration FLASH.CFI 0xA Long /TARGET2 0xC xD x2000 /DUALPORT FLASH.state FLASH.AUTO FLASH.BSDLaccess FLASH.CFI FLASH.CHANGETYPE FLASH.CLocK FLASH.Create FLASH.CreateALIAS FLASH.Delete General Commands Reference Guide F 61 FLASH

62 FLASH.Erase FLASH.List FLASH.LOCK FLASH.MultiProgram FLASH.OFFSET FLASH.Program FLASH.ReProgram FLASH.RESet FLASH.TARGET FLASH.TARGET2 FLASH.UNLOCK FLASH.UNSECUREerase Release Information in Release History FLASH.TARGET Define target controlled algorithm Format 1: FLASH.TARGET <code_range> <data_range> [<file>] \ [/STACKSIZE <size> /FirmWareRAM <address_range>] \ [/DualPort] Format 2: FLASH.TARGET <code_address> <data_address> [<buffer_size>] [<file>] \ [/STACKSIZE <size>] /FirmWareRAM <address_range>] \ [/DualPort] Prepare target controlled FLASH programming. STACKSIZE FirmWareRAM DualPort Defines the stack size for the target algorithm. The default size is 265 bytes. Defines the <address_range> used by the on-chip FLASH programming firmware. This range is protected before programming and restored after FLASH programming, just as is the case for the <data_range> and the <code_range>. See Example. DualPort can be used for target controlled FLASH programming only. While FLASH programming is being executed, the TRACE32 host software simultaneously downloads the next command and data via dualport memory access into the target RAM. DualPort can reduce the programming time significantly. See Examples. General Commands Reference Guide F 62 FLASH

63 Example for Format 1 FLASH: Intel Strata FLASH 28F320J3A, 16 bit mode, word access CPU: ARM core Memory configuration: FLASH from 0x0--0x3FFFFF RAM starting at address 0xA ; Format 1 FLASH.RESet FLASH.Create 1. 0x0--0x3fffff 0x20000 TARGET Word ; FLASH.Target <code_range> <data_range> <flash_algorithm> FLASH.Target 0xA xFFF 0xA xFFF ~~\demo\arm\flash\word\i28f200j3.bin ; binary file only! <code_range> the code for the <flash_algorithm> is downloaded to <code_range> required size for the code is size_of(<flash_algorithm>) + 32 byte <data_range> the specified data range is used for <flash_algorithm> <buffer_size> is the number of bytes which are transferred from the TRACE32 software to the target controlled FLASH programming routine in one step. Recommended buffer size is 4 KByte, smaller buffer sizes are also possible. The max. buffer size is 16 KByte. <buffer_size> = size_of(<data_range>) - 32 byte argument buffer byte stack <flash_algorithm> the FLASH algorithm can be found under: ~~\demo\arm\flash\word\i28f200j3.bin Programming procedure: 1. The TRACE32 software takes care of saving the contents of <code_range> <data_range> used CPU registers before the commands FLASH.Erase, FLASH.UNLOCK, FLASH.LOCK are started before patching the code in FLASH or setting a software breakpoint to FLASH is performed after FLASH.AUTO is used when FLASH programming is enabled with the FLASH.Program command 2. The FLASH program is loaded to the target and the requested FLASH programming commands are performed. 3. The saved context (register and data) is restored General Commands Reference Guide F 63 FLASH

64 after the commands FLASH.Erase, FLASH.UNLOCK, FLASH.LOCK are finished after patching the code in FLASH or setting a software breakpoint to FLASH is done when FLASH.AUTO is used when FLASH programming is disabled with the FLASH.Program command. Complete example: ; Format 1 FLASH.RESet FLASH.Create 1. 0x0--0x3fffff 0x20000 TARGET Word FLASH.Target 0xA xFFF 0xA xFFF ~~\demo\arm\flash\word\i28f200j3.bin FLASH.Erase 1. FLASH.Program 1. Data.LOAD.Elf my_application.elf /Word FLASH.Program off Data.LOAD.Elf my_application.elf /Word /DIFF IF FOUND() Print "Not ok!" ELSE Print "FLASH ok!" General Commands Reference Guide F 64 FLASH

65 Example for Format 2 FLASH: Intel Strata FLASH 28F320J3A, 16 bit mode, word access CPU: ARM core Memory configuration: FLASH from 0x0--0x3FFFFF RAM starting at address 0xA ; Format 2 FLASH.RESet FLASH.Create 1. 0x0--0x3FFFFF 0x20000 TARGET Word ; FLASH.Target <code_address> <data_address> <buffer_size> <flash_algorithm> FLASH.Target 0xA xA x1000 ~~\demo\arm\flash\word\i28f200j3.bin ; binary file only! <code_address> the code for the <flash_algorithm> is downloaded to the target RAM starting at <code_address> required size for the code is size_of(<flash_algorithm>) + 32 byte <data_address> the address range starting with <data_address> is used as data range for <flash_algorithm> required size for the data is <buffer_size> + 32 byte argument buffer byte stack <buffer_size> <buffer_size> is the number of bytes which are transferred from the TRACE32 software to the target controlled FLASH programming routine in one step. Recommended buffer size is 4 KByte, smaller buffer sizes are also possible. The max. buffer size is 16 KByte. <flash_algorithm> the FLASH algorithm can be found under: ~~\demo\arm\flash\word\i28f200j3.bin General Commands Reference Guide F 65 FLASH

66 Programming procedure: 1. The TRACE32 software takes care of saving the contents of <code_address>++(size_of(<flash_algorithm>)+32 byte) <data_address>++(<buffer_size> + 32 byte argument buffer byte stack>) used CPU registers before the commands FLASH.Erase, FLASH.UNLOCK, FLASH.LOCK are started before patching the code in FLASH or setting a software breakpoint to FLASH is performed after FLASH.AUTO is used when FLASH programming is enabled with the FLASH.Program command 2. The FLASH program is loaded to the target and the requested FLASH programming commands are executed. 3. The saved context (register and data) is restored. after the commands FLASH.Erase, FLASH.UNLOCK, FLASH.LOCK are finished after patching the code in FLASH or setting a software breakpoint to FLASH is done when FLASH.AUTO is used when FLASH programming is disabled with the FLASH.Program command Complete example ; Format 2 FLASH.RESet FLASH.Create 1. 0x0--0x3FFFFF 0x20000 TARGET Word FLASH.Target 0xA xA x1000 ~~\demo\arm\flash\word\i28f200j3.bin FLASH.Erase 1. FLASH.Program 1. Data.LOAD.Elf my_application.elf /Word FLASH.Program off Data.LOAD.Elf my_application.elf /Word /DIFF IF FOUND() Print "Not ok!" ELSE Print "FLASH ok!" General Commands Reference Guide F 66 FLASH

67 Example 3 (Recommended to Test Your Own FLASH Algorithm) Tips for writing your own FLASH algorithm can be found in How to Write your own FLASH Algorithm (flash_app_own_algorithm.pdf). FLASH: Intel Strata FLASH 28F320J3A, 16 bit mode, word access Memory configuration: FLASH from 0x0--0x3FFFFF RAM starting at address 0xA ; Format 1 using your own FLASH algorithm FLASH.RESet FLASH.Create 1. 0x0--0x3fffff 0x20000 TARGET Word ; FLASH.Target <code_range> <data_range> FLASH.Target 0xA xFFF 0xA xFFF Data.LOAD.Elf my_flash_algorithm.elf FLASH.Erase ALL FLASH.Program ALL Data.LOAD.Bin flash_contents.bin FLASH.Program off <code_range> the code for my_flash_algorithm.elf is downloaded to <code_range> required size for the code is size_of(my_flash_algorithm.elf) + 32 byte <data_range> the specified data range is used for my_flash_algorithm.elf <buffer_size> is the number of bytes which are transferred from the TRACE32 software to the target controlled FLASH programming routine in one step. Recommended buffer size is 4 KByte, smaller buffer sizes are also possible. The max. buffer size is 16 KByte. <buffer_size> = size_of(<data_range>) - 32 byte argument buffer byte stack General Commands Reference Guide F 67 FLASH

68 Programming procedure: 1. The FLASH program is loaded to the target by the user. 2. The TRACE32 software saves the used CPU registers before the commands FLASH.Erase, FLASH.UNLOCK, FLASH.LOCK are started when FLASH programming is enabled with the FLASH.Program command. 3. The requested FLASH commands are executed. 4. The saved CPU registers are restored. after the commands FLASH.Erase, FLASH.UNLOCK, FLASH.LOCK are finished when FLASH programming is disabled with the FLASH.Program command. Examples for /DualPort Example for processor-internal FLASH: ; <code> <data> <bufsize> FLASH.TARGET 0x x x1000 *.bin /DualPort Example for Cortex/ARM using dual-port access via AHB bus: ; <code> <data> <bufsize> FLASH.TARGET 0x EAHB:0x x1000 *.bin /DualPort Example for /FirmWareRAM FLASH declaration of LPC43xx internal FLASH: FLASH.TARGET 0x x x2000 \ ~~/demo/arm/flash/long/lpc4300.bin \ /STACKSIZE 0x200 /FirmWareRAM 0x10089FF0--0x10089FFF FLASH.CFI FLASH.state FLASH.TARGET2 FLASH.TARGET.BUILD() FLASH.TARGET.FILE() FLASH Declaration in Detail in Onchip/NOR FLASH Programming User s Guide Release Information in Release History General Commands Reference Guide F 68 FLASH

69 FLASH.TARGET2 Define second target controlled algorithm Format 1: FLASH.TARGET2 <code_address> <data_address> <buffer_size> <file> \ [/STACKSIZE <size>] [/FirmWareRAM <address_range>] \ [/DualPort] Format 2: FLASH.TARGET2 <code_range> <data_range> [<file>] \ [/STACKSIZE <size>] [/FirmWareRAM <address_range>] \ [/DualPort] The command FLASH.TARGET2 supports the simultaneous programming of multiple flash devices with two different flash algorithms. This allows to program for example processor internal and processor external NOR flash, HyperFlash or QSPI flash with a single programming command sequence. The command syntax is the same as for the FLASH.TARGET command. ; set up declaration for off-chip flash 1 FLASH.Create 1. 0x x0001FFFF 0x10000 TARGET Long FLASH.TARGET 0xC xD x2000 \ ~~/demo/arm/flash/long/am29lv100.bin ; set up declaration for off-chip flash 2 FLASH.Create 2. 0xA xA401FFFF 0x4000 TARGET2 Long FLASH.Create 2. 0xA xA43FFFFF 0x20000 TARGET2 Long FLASH.TARGET2 0xC xD x2000 \ ~~/demo/arm/flash/long/am29n256.bin ; single flash programming sequence for both flash devices FLASH.ReProgram ALL /Erase Data.LOAD.Elf my_program.elf FLASH.ReProgram off FLASH.CFI FLASH.state FLASH.TARGET FLASH.TARGET.BUILD() FLASH.TARGET2.FILE() Release Information in Release History General Commands Reference Guide F 69 FLASH

70 FLASH.UNLOCK Unlock FLASH FLASH.UNLOCK <unit> <address_range> ALL off Many FLASH devices provide a sector/block protection to avoid unintended erasing or programming operations. This protection has to be unlocked in order to erase or program a FLASH device. <unit> ALL off Unlock the specified unit. Unlock all FLASH sectors. (no effect) Two unlocking schemes are used by FLASH devices: 1. Each individual sector/block has to be unlocked (individual unlocking). 2. The execution of a single unlock command sequence on an address range unlocks the complete FLASH device (parallel unlocking). Re-locking has to be executed usually sector by sector. Please refer to the data sheet of your FLASH device, to find out which scheme is used by your FLASH device. Example for 1 (individual unlocking): INTEL 28F128L18 at address 0x0, connected to the CPU via a 16 bit data bus FLASH.RESet FLASH.CFI 0x0 Word FLASH.UNLOCK ALL FLASH.LOCK ALL ; reset FLASH declaration ; declare FLASH sectors via ; CFI query ; unlock each sector individually ; erasing and programming ; re-lock each sector individually General Commands Reference Guide F 70 FLASH

71 Example for 2 (parallel unlocking): INTEL 28F128J3 at address 0x0, connected to the CPU via a 16 bit data bus, each sector 128KByte FLASH.RESet FLASH.CFI 0x0 Word FLASH.UNLOCK 0x0--0x1ffff FLASH.LOCK ALL ; reset FLASH declaration ; declare FLASH sectors via ; CFI query ; execute a single unlock command ; by using an address range ; inside of a FLASH sector (faster) ; erasing and programming ; re-lock each sector individually FLASH.LOCK FLASH.state TRACE32 Tool-based Programming in Tips to Solve NOR FLASH Programming Problems Programming Commands in Onchip/NOR FLASH Programming User s Guide General Commands Reference Guide F 71 FLASH

72 FLASH.UNSECUREerase Unsecure a device FLASH.UNSECUREerase Debug access is no longer possible if the CPU is secured by programming special FLASH address locations. In these cases, the FLASH.UNSECUREerase command can be used to unsecure a device by sending special commands via the debug interface. As a result, the FLASH is completely erased by the unsecure sequence. Debug access is now possible again. SYStem.CPU <cpu_type> FLASH.UNSECUREerase SYStem.Up NOTE: FLASH.UNSECUREerase is a CPU specific command. FLASH.state General Commands Reference Guide F 72 FLASH

73 FLASHFILE FLASHFILE NAND flash and serial flash devices NAND FLASH devices and serial FLASH devices can be programmed and erased by the FLASHFILE command group. For a description of the NAND FLASH programming concept, see NAND FLASH Programming User s Guide (nandflash.pdf). For a description of the Serial FLASH programming concept, see Serial FLASH Programming User s Guide (serialflash.pdf). BSDL.FLASH FLASHFILE.BSDLFLASHTYPE FLASHFILE.COPY FLASHFILE.DUMP FLASHFILE.GETBADBLOCK FLASHFILE.GETONFI FLASHFILE.LOADALL FLASHFILE.LOADSPARE FLASHFILE.MSYSDLL FLASHFILE.SAVE FLASHFILE.SAVEECC FLASHFILE.Set FLASHFILE.TARGET FLASHFILE.SPAREADDRESS() Introduction in NAND FLASH Programming User s Guide Introduction in Serial FLASH Programming User s Guide FLASHFILE.BSDLaccess FLASHFILE.CONFIG FLASHFILE.COPYSPARE FLASHFILE.Erase FLASHFILE.GETID FLASHFILE.LOAD FLASHFILE.LOADECC FLASHFILE.LOCK FLASHFILE.RESet FLASHFILE.SAVEALL FLASHFILE.SAVESPARE FLASHFILE.state FLASHFILE.UNLOCK FLASHFILE.BSDLaccess Enables FLASH access via boundary scan FLASHFILE.BSDLaccess ON OFF Enables or disables FLASH memory access via boundary scan. The boundary scan chain must be configured with BSDL.FLASH.IFDefine and BSDL.FLASH.IFMap. FLASHFILE FLASHFILE.state General Commands Reference Guide F 73 FLASHFILE

74 FLASHFILE.BSDLFLASHTYPE Define FLASH type FLASHFILE.BSDLFLASHTYPE <flash_family_code> Declaration of FLASH memories. <flash_family_code> Determines the programming algorithm. Supported flash family codes are listed on in the Code column. FLASHFILE FLASHFILE.state FLASHFILE.CONFIG Configure NAND FLASH Format 1: NAND FLASH FLASHFILE.CONFIG <cmd_reg> <addr_reg> <io_reg> Format 2: Serial FLASH FLASHFILE.CONFIG <spi_tx> <spi_rx> <cs_reg> <cs_port> NAND FLASH NAND FLASH devices use a common multiplexed bus for data, address and command transfers. With the two signals (Command Latch Enable, Address Latch Enable) the access is latched to the appropriate register. If the two signals are inactive, the access is performed to the I/O register. Normally CLE and ALE are part of the address on the external bus. Thus NAND FLASHs data, address and command register can be mapped to the processors external memory space. The user has to define the following three addresses: <cmd_reg> <addr_reg> <io_reg> Address of the NAND FLASH command register Address of the NAND FLASH address register Address of the NAND FLASH I/O register General Commands Reference Guide F 74 FLASHFILE

75 Example: The NAND FLASH device chip select is assigned to the address 0xa CPU A17 A18 NAND FLASH ALE CLE <addr_reg>: <cmd_reg>: <io_reg>: 0xa xa xa Data bus For a processor with integrated NAND FLASH controller this command can be omitted. Instead a script for the configuration of such a controller must be executed. Scripts for the supported NAND FLASH controllers are located in the demo directory. Serial FLASH tbd. FLASHFILE FLASHFILE.state Scripts for NAND Flash Programming in NAND FLASH Programming User s Guide FLASHFILE.COPY Copy to NAND FLASH FLASHFILE.COPY <source_range> <target_address> [/<option>] <option>: ComPare DIFF The source range data is copied to the defined target address. It is useful to write some memory data to FLASH memory. tbd. <option> For a description of the options, see FLASHFILE.LOAD.binary. General Commands Reference Guide F 75 FLASHFILE

76 ; Copy the 2MB virtual memory data at 0x0 to the NAND FLASH address at 0x100000, the writing scheme is the skipped way FLASHFILE.COPY VM:0x0--0x1FFFFF 0x ; Compare the data between virtual memory and NAND FLASH FLASHFILE.COPY VM:0x0--0x1FFFFF 0x /ComPare FLASHFILE FLASHFILE.state FLASHFILE.COPYSPARE Copy to spare area of NAND FLASH FLASHFILE.COPYSPARE <source_range> <spare_area_address> [/<option>] <option>: ComPare DIFF The source range data is copied from the TRACE32 virtual memory (VM:) to the defined spare area address of the NAND flash. tbd. <option> For a description of the options, see FLASHFILE.LOAD.binary. ; NAND Page Size (example for main/spare: 2KB/64B) ; From the TRACE32 virtual memory, copy 64B to the spare area that ; corresponds to the NAND FLASH main address 0x FLASHFILE.COPYSPARE VM:0x0--0x3F FLASHFILE.SPAREADDRESS(0x100000) ;or ;the spare area address 0x8000 corresponds to the main area 0x FLASHFILE.COPYSPARE VM:0x0--0x3F 0x8000 FLASHFILE FLASHFILE.SPAREADDRESS() FLASHFILE.state General Commands Reference Guide F 76 FLASHFILE

77 FLASHFILE.DUMP Dump NAND FLASH FLASHFILE.DUMP [<address> <range>] [/<format> <option> ] <format>: NoHex NoAscii Byte Word Long Quad TByte HByte BE LE <option>: MAIN SPARE Track ReFresh Read NAND FLASH to the Data.dump window. You can read the main and spare data from NAND FLASH devices. You can find the matched spare area easily from the main area dump window by the Track option. FLASHFILE FLASHFILE.state Release Information in Release History General Commands Reference Guide F 77 FLASHFILE

78 FLASHFILE.Erase Erase NAND FLASH FLASHFILE.Erase <range> /EraseBadBlocks Erase NAND FLASH. MAIN SP MAIN SP MAIN SP MAIN SP Bad 4 Bad 4 Bad 5 5 N N <FLASHFILE.ERASE> <FLASHFILE.ERASE /EBB> ;Erase NAND FLASH except bad blocks FLASHFILE.Erase 0x0--0xFFFF ;Erase NAND FLASH including bad blocks FLASHFILE.Erase 0x0--0xFFFF /EraseBadBlocks FLASHFILE FLASHFILE.state General Commands Reference Guide F 78 FLASHFILE

79 FLASHFILE.GETBADBLOCK Get the bad block addresses FLASHFILE.GETBADBLOCK <range> Displays the bad block addresses within the specified range. If the NAND FLASH block #0 is bad, then TRACE32 cannot detect any bad blocks in the NAND FLASH device. FLASHFILE FLASHFILE.state FLASHFILE.GETID Get NAND FLASH ID FLASHFILE.GETID Get the manufacture and device ID from NAND FLASH. This command is mainly used to test the communication between the CPU and NAND FLASH device. FLASHFILE FLASHFILE.state General Commands Reference Guide F 79 FLASHFILE

80 FLASHFILE.GETONFI Display ONFI FLASHFILE.GETONFI Displays the Open NAND FLASH Interface (ONFI) specification. This command works only for NAND flash devices that support ONFI. FLASHFILE FLASHFILE.state General Commands Reference Guide F 80 FLASHFILE

81 FLASHFILE.LOAD Load files to NAND FLASH Using the FLASHFILE.LOAD command group, you can load binary, ELF, Intel HEX, and Srecord files to the NAND FLASH. FLASHFILE FLASHFILE.LOAD.binary FLASHFILE.LOAD.Elf FLASHFILE.LOAD.IntelHex FLASHFILE.LOAD.Srecord FLASHFILE.state FLASHFILE.LOAD.binary Write NAND FLASH FLASHFILE.LOAD.binary <file> [<address> <range>] /<option> <option>: WriteBadBlocks ComPare DIFF SKIP <offset> ZIPLOAD NoFF NoZero The data from the binary <file> is programmed to the flash. tbd. If the command is called without <address> and <range>, the complete file will be programmed to flash beginning from target address 0. <address> <range> ComPare DIFF NoFF If <address> is specified, the complete file will be loaded to target <address>. If <range> is specified, the file will be loaded to the range start address until the end of the range, or the end of the file. Verify the contents of <file> against the flash main area. tbd. Skips the pages of a <file> that contain only 0xFF. General Commands Reference Guide F 81 FLASHFILE

82 NoZero Skips the pages of a <file> that contain only 0x00. NOTE: Pages containing only 0xFF or 0x00 can cause unexpected ECC code generation on the NAND flash spare area. The purpose of the options NoFF and NoZero is to prevent unexpected ECC code generation by skipping these pages. For information about ECC, see Appendix A: ECC (Error Correction Code) (nandflash.pdf) SKIP WriteBadBlock ZIPLOAD If the option SKIP <offset> is specified, the first <offset> bytes of the file are omitted. Program NAND Flash including bad blocks. (Does not apply to serial flash). Speeds up the transfer of compressed files through the JTAG interface, decompresses and programs the files to the FLASH memory on the target board. Requirements for using ZIPLOAD: SDRAM > 256 KB; SDRAM > 512 KB is recommended. Configure the CPU clock and SDRAM clock. Example 1: FLASHFILE.RESet ; FLASHFILE.Config <cmd_reg> <addr_reg> <io_reg> FLASHFILE.Config 0xA xA xA ; FLASHFILE.TARGET <code_range> <data_range> <file> FLASHFILE.TARGET 0x x1FFF 0x x1FFFF \ ~~\demo\arm\flash\word\nand1216.bin ; get the flash identification FLASHFILE.GETID ; erase first 1 MByte FLASHFILE.Erase 0++0xFFFFF ; write file to NAND FLASH FLASHFILE.LOAD my_file.bin 0++0xFFFFF Example 2 - ZIPLOAD option: FLASHFILE.LOAD * 0x0 /ZIPLOAD ;the asterisk (*) lets you browse ;for the compressed file you want ;to load General Commands Reference Guide F 82 FLASHFILE

83 Example 3 - Illustration of the WriteBadBlock option: My_file NAND My_file NAND Main SP Main SP Bad Bad N N-1 N N FLASHFILE.LOAD FLASHFILE.LOAD /WriteBadBlock Example 4 - DIFF option: ; compare the contents of the NAND FLASH with the file contents FLASHFILE.LOAD.Elf data.elf /DIFF ; FOUND() returns TRUE if a difference was found IF FOUND() PRINT "Not ok!" ELSE PRINT "NAND FLASH ok!" FLASHFILE.LOAD General Commands Reference Guide F 83 FLASHFILE

84 FLASHFILE.LOAD.Elf Load ELF file FLASHFILE.LOAD.Elf <file> [<offset> <range>] [/<option>] <option>: /ComPare /DIFF Loads an ELF file to the FLASH memory on the target. <option> <offset> <range> For a description of the options, see FLASHFILE.LOAD.binary. Offset for the ELF-file base address. The ELF-file range to be loaded. FLASHFILE.LOAD.ELF *.* -0x x0--0xFFFFFF FLASHFILE.LOAD FLASHFILE.LOAD.IntelHex Load an intel hex file FLASHFILE.LOAD.IntelHex <file> [/<option>] <option>: /ComPare /DIFF Loads a file in the intel HEX format to the NAND Flash. tbd. <option> For a description of the options, see FLASHFILE.LOAD.binary. FLASHFILE.LOAD General Commands Reference Guide F 84 FLASHFILE

85 FLASHFILE.LOAD.Srecord Load an Srecord file FLASHFILE.LOAD.S1record <file> [/<option>] FLASHFILE.LOAD.S2record <file> [/<option>] FLASHFILE.LOAD.S3record <file> [/<option>] <option>: /ComPare /DIFF Loads a file in the Srecord format to the NAND Flash. tbd. <option> For a description of the options, see FLASHFILE.LOAD.binary. FLASHFILE.LOAD FLASHFILE.LOADALL Load to main area and spare area FLASHFILE.LOADALL <file> <range> <value> [/<option>] <option>: ComPare DIFF WriteBadBlocks Loads <file> to the main area and the spare area of the NAND flash memory. This is useful for cloning a NAND flash device. <option> For a description of the options, see FLASHFILE.LOAD.binary. FLASHFILE FLASHFILE.state General Commands Reference Guide F 85 FLASHFILE

86 FLASHFILE.LOADECC Load ECC file to spare area FLASHFILE.LOADECC <params> <params>: <file> <range value> <ref_size> <ecc_size> <location> Loads a saved ECC file to the spare area of a NAND Flash. TRACE32 calculates the location of the spare area based on the range of the main area, which is known to users. <file> <range> <value> <ref_size> <ecc_size> <location> Source file containing the error correction code (ECC). Range of the main area. Start address of the main area. The same <ref_size> with which the ECC file was saved by the FLASHFILE.SAVEECC.* command. (B) below. The same length of the ECC word with which the ECC file was saved by the FLASHFILE.SAVEECC.* command. (A) below. Spare area address (byte) to which the ECC file is loaded in the spare area of the NAND Flash. (D) below. Example: ; <range> <ref_size> FLASHFILE.SAVEECC.hamming file.hmg 0x0--0xFFFF 512. ; <range> <ref_size> <ecc_size> <location> FLASHFILE.LOADECC file.hmg 0x0--0xFFFF ;view the result of FLASHFILE.SAVEECC.hamming and FLASHFILE.LOADECC AREA.view General Commands Reference Guide F 86 FLASHFILE

87 A B C D A In this example, each ECC word consists of 3 bytes (= <ecc_size>). B In this example, 512 bytes in the source memory range are represented by an ECC word. (512 = <ref_size>) C DUMP of file.hmg, which was created with FLASHFILE.SAVEECC.hamming. D <location> address in the spare area to which file.hmg was loaded with FLASHFILE.LOADECC. In this example, the <location> address has an offset of 8 bytes. FLASHFILE FLASHFILE.SAVEECC FLASHFILE.state Scripts for NAND Flash Programming in NAND FLASH Programming User s Guide General Commands Reference Guide F 87 FLASHFILE

88 FLASHFILE.LOADSPARE Write NAND FLASH spare area FLASHFILE.LOADSPARE <file> <range> /WriteBadBlocks /ComPare The data from <file> is written to the spare area on the address and size specified by <range>. At first only binary files are supported. My_File_Spare Nand Main SP Bad N N-1 <FLASHFILE.LOADSPARE> FLASHFILE FLASHFILE.SPAREADDRESS() FLASHFILE.state FLASHFILE.LOCK Lock the FLASH device FLASHFILE.LOCK <range> Locks the FLASH device. FLASHFILE FLASHFILE.state FLASHFILE.UNLOCK General Commands Reference Guide F 88 FLASHFILE

89 FLASHFILE.MSYSDLL Access an M-Systems DiskOnChip flash device FLASHFILE.MSYSDLL <file> [<cmd> ] Accesses an M-Systems DiskOnChip flash device. FLASHFILE FLASHFILE.state FLASHFILE.RESet Reset NAND FLASH configuration FLASHFILE.RESet The setup for the NAND FLASH device is cleared and set to the default values. FLASHFILE FLASHFILE.state Scripts for emmc Controllers in emmc FLASH Programming User s Guide Scripts for NAND Flash Programming in NAND FLASH Programming User s Guide Scripts for SPI Controllers in Serial FLASH Programming User s Guide General Commands Reference Guide F 89 FLASHFILE

90 FLASHFILE.SAVE Read NAND FLASH FLASHFILE.SAVE <file> <range> The data whose address and size is specified by <range> is read from the NAND FLASH main area and written to <file>. Nand Main SP File Bad 4 Bad N-1 N-1 <FLASHFILE.SAVE> FLASHFILE FLASHFILE.state FLASHFILE.SAVEALL Save the main area and the spare area FLASHFILE.SAVEALL <file> <range> [/SkipBadBlocks] Saves the main area and the spare area of the NAND flash memory to <file>. This is useful for cloning a NAND flash device. SkipBadBlocks Skips bad blocks while saving the contents of the NAND Flash main area to <file>. FLASHFILE FLASHFILE.state General Commands Reference Guide F 90 FLASHFILE

91 FLASHFILE.SAVEECC Save error correction code (ECC) to file The FLASHFILE.SAVEECC command group is used to generate and save error correction code (ECC) to file. The ECC is generated from the target application residing in the main area of a flash device. Depending on the FLASHFILE.SAVEECC.* command used, TRACE32 generates the ECC with one of the following algorithms: Bose-Chaudhuri-Hocquenghem (BCH) algorithm Hamming algorithm Reed-Solomon algorithm Use FLASHFILE.LOADECC to load ECC files to the spare area of a flash device. FLASHFILE FLASHFILE.SAVEECC.BCH FLASHFILE.SAVEECC.ReedSolomon FLASHFILE.LOADECC FLASHFILE.SAVEECC.hamming FLASHFILE.state FLASHFILE.SAVEECC.BCH Save ECC with BCH algorithm FLASHFILE.SAVEECC.BCH <params> [/REVERSE /SWAP] <params>: <file> <range> <ref_size> <g_field> <err_correc> Saves the error correction code (ECC) to file using the BCH algorithm. <file> <range> <ref_size> Destination file for the error correction code (ECC). Source memory range for which you want to save the ECC to file. Number of bytes that will be represented by an ECC word. Example: One ECC word is generated for every 512. bytes of the <range> if the <ref_size> is set to 512. bytes. <g_field> <err_correc> Dimension of the Galois field. Error correction capability (measured in bit) of the BCH code. General Commands Reference Guide F 91 FLASHFILE

92 SWAP Swaps the read byte order (byte access) of each ECC word. Example for the 4 byte ECC word 0x : Without /SWAP With /SWAP 0x x REVERSE Reverses the read bit order (bit access) of each ECC word. Example: The ECC word is 0xC1, i.e. 1 byte [7:0]. The REVERSE option changes bit 7 to bit 0, bit 6 to bit 1, and so on. Thus, the resulting reversed ECC word is 0x83. Without /REVERSE With /REVERSE 0x C 1 0y x 8 3 0y Example for FLASHFILE.SAVEECC.BCH ;save the ECC file: <range> <ref_s.><g_field><err_correc> FLASHFILE.SAVEECC.BCH file.bch 0x0--0xFFFF ;open an AREA window to view the result AREA.view ;optionally, view the ECC file with the DUMP command ;for WIDTH use the width of the generated ECC word DUMP file.bch /WIDTH 13. <g_field> <err_correc> <ref_size> Generated 13-byte ECC word FLASHFILE.SAVEECC Scripts for NAND Flash Programming in NAND FLASH Programming User s Guide General Commands Reference Guide F 92 FLASHFILE

93 FLASHFILE.SAVEECC.hamming Save ECC with Hamming algorithm FLASHFILE.SAVEECC.hamming <file> <range> <ref_size> [/SWAP] Saves the error correction code (ECC) to file using the Hamming algorithm. By default, the ECC words generated by the Hamming algorithm are fixed (3 bytes). Consequently, you do not need to specify the <ecc_size>, but only <file>, <range>, and <ref_size>. <file> <range> <ref_size> SWAP Destination file for the error correction code (ECC). Source memory range for which you want to save the ECC to file. Number of bytes that will be represented by an ECC word. Example: One ECC word is generated for every 512. bytes of the <range> if the <ref_size> is set to 512. bytes. In the generated 3-byte ECC words, the location of ECC0 and ECC1 is swapped. The location of ECC2 remains fixed. Example: Without /SWAP With /SWAP ECC0 ECC1 ECC2 FF 3C 0F 69 AA 96 ECC0 ECC1 ECC2 3C FF 0F AA ;save the ECC file: <range> <ref_size FLASHFILE.SAVEECC.hamming file.hmg 0x0--0xFFFF 512. ;open an AREA window to view the result AREA.view ;optionally, view the ECC file with the DUMP command ;use WIDTH 3. because each ECC word is 3 bytes DUMP file.hmg /WIDTH 3. Generated 3-byte ECC word <ref_size> FLASHFILE.SAVEECC Scripts for NAND Flash Programming in NAND FLASH Programming User s Guide General Commands Reference Guide F 93 FLASHFILE

94 FLASHFILE.SAVEECC.ReedSolomon Save ECC with Reed-S. algorithm FLASHFILE.SAVEECC.ReedSolomon <file> <range> Saves the error correction code (ECC) to file using the Reed-Solomon algorithm. By default, one ECC word is 10 bytes for 4-bits error correction. Consequently, you do not need to specify the <ecc_size>, but only <file> and <range>. <file> <range> Destination file for the error correction code (ECC). Source memory range for which you want to save the ECC to file. ;view the result of FLASHFILE.SAVEECC.ReedSolomon in the AREA window AREA.view ; <range> FLASHFILE.SAVEECC.ReedSolomon file.rs 0x0--0xFFFF ;optionally, view the ECC file with the DUMP command ;use WIDTH 10. because each ECC word is 10 bytes DUMP file.rs /WIDTH 10. <ref_size> Generated 10-byte ECC word FLASHFILE.SAVEECC Scripts for NAND Flash Programming in NAND FLASH Programming User s Guide General Commands Reference Guide F 94 FLASHFILE

95 FLASHFILE.SAVESPARE Read NAND FLASH spare area FLASHFILE.SAVESPARE <file> <range> The data whose address and size is specified by <range> is read from the NAND FLASH spare area and written to <file>. Nand Main SP Bad File Bad N-1 N-1 <FLASHFILE.SAVESPARE> FLASHFILE FLASHFILE.SPAREADDRESS() FLASHFILE.state FLASHFILE.Set Modify FLASH data FLASHFILE.Set <address > <range> %<format> <data> <format>: Byte Word Long Quad Modifies the contents of FLASH data at defined <address>. The maximum size of modifying is a block size of the flash. General Commands Reference Guide F 95 FLASHFILE

96 Example: ; Write 4Bytes data 0x at the address 0x100000; FLASHFILE.Set 0x %LE %LONG 0x ; Write data 0x0 at the address range 0x xFFF; FLASHFILE.Set 0x xFFF %BYTE 0x0 FLASHFILE FLASHFILE.state FLASHFILE.state tbd. FLASHFILE.state Future use. FLASHFILE FLASHFILE.BSDLaccess FLASHFILE.BSDLFLASHTYPE FLASHFILE.CONFIG FLASHFILE.COPY FLASHFILE.COPYSPARE FLASHFILE.DUMP FLASHFILE.Erase FLASHFILE.GETBADBLOCK FLASHFILE.GETID FLASHFILE.GETONFI FLASHFILE.LOAD FLASHFILE.LOADALL FLASHFILE.LOADECC FLASHFILE.LOADSPARE FLASHFILE.LOCK FLASHFILE.MSYSDLL FLASHFILE.RESet FLASHFILE.SAVE FLASHFILE.SAVEALL FLASHFILE.SAVEECC FLASHFILE.SAVESPARE FLASHFILE.Set FLASHFILE.TARGET FLASHFILE.UNLOCK General Commands Reference Guide F 96 FLASHFILE

97 FLASHFILE.TARGET Define target controlled algorithm FLASHFILE.TARGET <code_range> <data_range> [<file>] [/DualPort /KEEP] Example: <code_range> is the place where the code for NAND FLASH programming (<file>) is downloaded to. required size for the code is size_of(file) + 32 byte Memory mapping for the <code_range> FLASH algorithm 32 byte <data_range> specdualporifies the range where data buffer, argument buffer and stack are placed <data_buffer_size> = size_of(<data_range>) - 64 byte argument buffer byte stack <data_buffer_size> is the number of bytes which are transferred from the TRACE32 software to NAND FLASH programming routine in one step. Recommended buffer size is 4 KByte, smaller buffer sizes are also possible. The max. buffer size is 16 KByte. 64 byte argument buffer Memory mapping for the <data_range> Data buffer for data transfer between TRACE32 and NAND FLASH algorithm <buffer_size> calculated as described above 256 byte stack DualPort (for FLASHFILE.TARGET) DualPort can be used for target controlled FLASH programming. While FLASH programming is being executed, the TRACE32 host software simultaneously downloads the next command and data via dual-port memory access into the target RAM. DualPort can reduce the programming time significantly. The DualPort option can only be used together with the memory class E: for <data_range>: ; <code_range> <data_range> FLASHFILE.TARGET 0x x1FFF EAHB:0x x4FFF \ ~~/demo/arm/flash/byte/nand2g08_cortex3.bin /DualPort /KEEP General Commands Reference Guide F 97 FLASHFILE

98 KEEP (for FLASHFILE.TARGET) After FLASH programming, the <code_range> and <data_range> on the target remain (=KEEP) reserved for FLASH programming. TRACE32 does not restore the original data that existed in <code_range> and <data_range> before the FLASH programming was executed. So TRACE32 can save the restore overhead, for example, when FLASHFILE commands are executed within a large <data_range> or when FLASHFILE commands are executed frequently, such as the FLASHFILE.DUMP command. FLASHFILE FLASHFILE.state Scripts for emmc Controllers in emmc FLASH Programming User s Guide Scripts for NAND Flash Programming in NAND FLASH Programming User s Guide Scripts for SPI Controllers in Serial FLASH Programming User s Guide General Commands Reference Guide F 98 FLASHFILE

99 FLASHFILE.UNLOCK Unlock FLASH device FLASHFILE.UNLOCK <range> Unlock FLASH device. Some FLASH devices are locked after power-up. These devices have to be unlocked in order to erase or program the FLASH device. FLASHFILE FLASHFILE.LOCK FLASHFILE.state General Commands Reference Guide F 99 FLASHFILE

100 FPU FPU Access to the FPU registers In order to access the FPU (Floating-Point Unit) state, the FPU.ON command must be set. Standalone Emulation probes which support standalone FPU operation (socket inside the emulation probe), this FPU must be activated by the SYStem.Option FPU ON command first. This option must not be set, if a FPU in the target is used. Multitask Debugger The FPU's registers are not a part of the tasks, rather, are jointly available only once to all tasks. HLL HLL-debugging with the FPU is fully supported, i.e. register variables in FPU and stack back traces through FPU stacks are supported. Assembler Stepping with 68881/68882 When stepping floating point commands, it is possible, that the FPU operation is stopped by the single step during the execution of the operation. This state is indicated by the message 'Mid-Instruction Break' in the FPU window. The displayed PC value may be wrong in this case. The FPU operation will be completed with the next assembler step. FPU.OFF FPU.ON FPU.RESet FPU.Set FPU.TARGET FPU.view FPU() FPUCR() FPU.OFF FPU access off FPU.OFF All other FPU commands are locked. The FPU in the target is not accessed. FPU FPU.view Register and Peripherals in ICE User s Guide General Commands Reference Guide F 100 FPU

101 FPU.ON FPU access on FPU.ON The FPU register set is activated. The FPU must be either in the target or in the emulation-probe. FPU registers are handled similarly to CPU registers (stack tracing, HLL register variables, etc.). FPU FPU.view Register and Peripherals in ICE User s Guide FPU.RESet Reset command FPU.RESet The access to the FPU is turned off. FPU FPU.view Register and Peripherals in ICE User s Guide FPU.Set Modify FPU registers FPU.Set <register> [<expression> <float>] The modification can either set floating-point values, or hexadecimal values. FPU.Set fpiar 0x1000 FPU.Set fp FPU.Set fp ; set FPIAR ; FP0 on 1.23 ; the upper most bytes from ; FP0 to FPU FPU.view Register and Peripherals in ICE User s Guide General Commands Reference Guide F 101 FPU

102 FPU.TARGET Define FPU access agent FPU.TARGET <code_range> [<data_range>] Defines the code and data address ranges used by the target agent to read or write FPU registers. Both ranges must define RAM areas that can be used for code or data access. This command is only required for the ARM9 vfp. FPU FPU.view FPU.view Display FPU registers FPU.view All visible FPU registers are displayed in a window. The contents of this window are strongly dependent on the CPU type. Exception Enable E68::w.fpu INEX1 _ INEX _ NAN _ FP C INEX2 _ DZ D Inf _ FP1 NAN 7FFF.FFFFFFFFFFFFFF DZ _ UNFL _ Zr _ FP2 NAN 7FFF.FFFFFFFFFFFFFF UNFL _ OVFL O Neg _ FP FFF.9E065152D8EAEC OVFL _ IOP _ RND Z FP4 NAN 7FFF.FFFFFFFFFFFFFF OPERR _ Q +00 PREC S FP5 NAN 7FFF.FFFFFFFFFFFFFF SNAN _ FPCR FP6 NAN 7FFF.FFFFFFFFFFFFFF BSUN _ FPSR FP7 NAN 7FFF.FFFFFFFFFFFFFF FPIAR P: Flags FPU FPU.OFF FPU.ON FPU.RESet FPU.Set FPU.TARGET FPU() FPUCR() Register and Peripherals in ICE User s Guide Release Information in Release History General Commands Reference Guide F 102 FPU

103 Frame Frame Display the call hierarchy Frame.CONFIG Frame.COPY Frame.Down Frame.GOTO Frame.Init Frame.REDO Frame.SkipFunc Frame.SkipLine Frame.SWAP Frame.TASK Frame.UNDO Frame.Up Frame.view Release Information in Release History Frame.CONFIG Fine-tune stack unwinding Frame.CONFIG [ON OFF] tbd. Frame Frame.CONFIG.Asm Frame.CONFIG.EABI Frame.CONFIG.EPILOG Frame.CONFIG.PROLOG Frame.CONFIG.RELOAD Frame.CONFIG.sYmbol Frame.view Frame.CONFIG.Asm Frame back-trace mode Frame.CONFIG.Asm [ON OFF] symbol.asmframe (deprecated) If this option is set (default), the system will try to trace back over assembler generated frames and frames without debug information (command Frame.view). This back trace will fail, if the stack is modified by a function in a 'non standard' way. Frame.CONFIG Symbol Management in ICE User s Guide General Commands Reference Guide F 103 Frame

104 Frame.CONFIG.EABI Use chained frame pointers Frame.CONFIG.EABI [ON OFF] Default: OFF. When turned on, this command forces the stack unwinding algorithm to assume that the frame pointers of each call are chained with each other. The stack unwinding algorithm then reads the previous frame pointer and the return address consecutively from the current frame pointer address. The user should only use this command if he is sure that the architecture supports frame pointers and the compiler has chained all the frame pointers. Frame.CONFIG Frame.CONFIG.EPILOG Use epilog code for frame display Frame.CONFIG.EPILOG [ON OFF UNRESTRICTED RESTRICTED] symbol.frame.epilog (deprecated) Default: ON. When turned on, the epilog of each function is run through the simulator to find the return address thus the calling function. ON OFF RESTRICTED UNRESTRICTED The simulator is used to find the return address. The simulator is not used for stack unwinding. The Simulator does not follow indirect jumps. The Simulator follows indirect jumps. Frame.CONFIG General Commands Reference Guide F 104 Frame

105 Frame.CONFIG.PROLOG Use prolog code for frame display Frame.CONFIG.PROLOG [ON OFF] symbol.frame.prolog (deprecated) Default: ON. When turned on, the prolog of each function is analyzed and the effect of the prolog is reversed to find the calling function. Frame.CONFIG Frame.CONFIG.RELOAD Generate frame information again Frame.CONFIG.RELOAD [ON OFF] symbol.frame.reload (deprecated) Default: ON. Updates the frame window content several times a second. This costs some cpu power and can be turned off if the code does not change and the user needs a faster TRACE32. Frame.CONFIG General Commands Reference Guide F 105 Frame

106 Frame.CONFIG.sYmbol Use symbol code for frame display Frame.CONFIG.sYmbol [ON OFF] symbol.frame.symbol (deprecated) Default: ON. This command is an on-and-off switch for debug information from the debug file to find the calling function. ON OFF Use the symbolic debug information the compiler generated during compile time (if any). Use a platform-dependent built-in algorithm to make an educated and sophisticated guess about frame size and layout. Frame.CONFIG Frame.COPY Copy to TRACE32 registers Frame.COPY Register.COPY (deprecated) The processor register set is copied to the TRACE32-internal register set. This command is useful, when the current register values need to be saved and restored later. The TRACE32-internal register set can be copied back by the Frame.SWAP command. Frame Frame.view Register and Peripherals in ICE User s Guide General Commands Reference Guide F 106 Frame

107 Frame.Down Go down in stack nesting Frame.Down Register.Down (deprecated) The registers are set to the values they had one subroutine nesting level deeper. This command is used after the command Frame.Up to restore the original register values. Frame Frame.view FLAG.READ() FLAG.WRITE() Frame.GOTO Change source code view temporarily Frame.GOTO [<address>] Register.GOTO (deprecated) Sets the PC to the specified address in order to change the view of the source listing (Data.List). The current PC value is saved and will be restored before the application is started again. Frame Frame.view General Commands Reference Guide F 107 Frame

108 Frame.Init Initialize the processor registers Frame.Init Resets the CPU registers to their default values after a processor reset. Registers that are undefined after a reset are set to zero. B:: ; example for the debugger SYStem.Up Frame.Init ; establish the communication between the ; processor and the debugger ; initialize the general purpose registers CPU Behavior of Frame.Init ARC STATUS <= 0x STATUS32 <= 0x DEBUG <= 0x IRQ_LV12 <= 0x (Resets any interrupt flags) IENABLE <= 0xffffffff SEMAPHORE <= 0x All other registers are set to zero. If SYStem.Option ResetDetection is used with a semaphore bit (Sem0...Sem3), Frame.Init sets the corresponding semaphore bit in the SEMAPHORE register. ARM, Cortex, XScale ARM7/9/10/11, Cortex-A/R, XScale: Rx = 0 SPSRx = 0x10 CPSR = 0xd3 (ARM7/9/10, XScale), 0x1d3 (ARM11, Cortex-A/R) R15 (PC) = 0, 0xffff0000 if high exception vectors selected Cortex-M: Rx = 0 R15 (PC) = [vector table base + 4] xpsr = 0x MSP = [vector table base + 0] PSP = 0 R13 (SP) = MSP or PSP depending on the mode General Commands Reference Guide F 108 Frame

109 CPU Behavior of Frame.Init C166 The CP is set to 0xFC00. The sixteen registers R0 - R15 are set to 0x0. DPP0 = 0x0, DPP1 = 0x1, DPP2 = 0x2 and DPP3 = 0x3. Stack registers STKUN is set to 0xFC00 and STKOV is set to 0xFA00. The Stack Pointer SP is set to 0xFC00 The Instruction Pointer IP is set to zero. The Code Segment Pointer CSP and the VECSEG are set to the initial value after SYStem.Up. All other registers are set to zero. CEVA-X MODA and MODA shadow register are set to 0x1E. All other registers are set to zero. DSP56K Family and The eight 16-bit modifier registers M[0-7] are set to 0xFFFF. This specifies linear arithmetic as the default type for address register update calculations.the Operating Mode Register (OMR) is set to the initial value after SYStem.Up. Values of bits MA, MB and MC of the OMR register are preserved.the program counter is set to zero. All interrupts are masked by setting the Status Register (SR) to 0x300. Family and Dualcore The eight 24-bit modifier registers M[0-7] are set to 0xFFFFFF. This specifies linear arithmetic as the default type for address register update calculations. The Operating Mode Register (OMR) is set to the initial value after SYStem.Up. Values of bits MA, MB, MC and MD of the OMR register are preserved. All interrupts are masked by setting Status Register (SR) to 0x300. The program counter is set to zero. Family and 56800E The eight 16-bit modifier registers M[0-7] are set to 0xFFFF. This specifies linear arithmetic as the default type for address register update calculations. The Operating Mode Register (OMR) is set to the initial value after SYStem.Up. Values of bits MA and MB of the OMR register are preserved. All interrupts are masked by setting Status Register (SR) to 0x300. The program counter is set to zero. HCS08 HC11 HC12/S12/S12X MIPS32/MIPS64/ NEC-VR The Program Counter is set to the value read at 0xFFFE. The Stack Pointer SP is set to 0xFF and the CCR is set to 0x68. All other registers are set to zero. The Program Counter is set to the value read at 0xFFFE. The Stack Pointer SP is set to a default value dependent on the derivative. The CCR is set to 0xD8. All other registers are set to zero. The Program Counter is set to the value read at 0xFFFE. The CCR is set to 0xD8. All other registers are set to zero. Program Counter, Status register and Config register are set to their initial values after reset (read during SYStem.Up). PRID and Cause register are updated, all other registers are set to zero. General Commands Reference Guide F 109 Frame

110 CPU MMDSP PowerPC Microblaze PCP Teak Teaklite/Teaklite-II/ Oak Teaklite-III x86 TMS320 TriCore XTENSA ZSP Behavior of Frame.Init Sets all registers to their initial value after a reset. This is done via a soft reset of the core. NOTE: This may have effects besides updating the contents of architectural registers. Program counter and MSR are set to their initial values after reset (read during SYStem.Up). GPRs and SPR appearing in the Register window are set to zero. All registers are set to zero. All registers are set to zero. MOD0 and MOD0S registers SATA bit is set. MOD1 and MOD1S regsiters CMD bit is set. MOD3 and MOD3S registers CREP, CPC and CCNTA bits are set. All other registers are set to zero. All registers are set to zero. MOD2 register SATA and SATP bits are set. All other registers are set to zero. EDX is set to a cpu specific value defining the family/model/stepping of the core if a SYStem.Up has been executed at some point before, otherwise EDX is set to 0. EAX,EBX,ECX,ESI,EDI,ESP,EBP are set to 0. EIP is set to 0xFFF0 and EFLAGS to 2. CR0 is set to 0x and CR2-4 to 0. DR0-3 are set to 0. DR6 to 0xFFFF0FF0 and DR7 to 0x400. IDT and GDT: Base = 0 and Limit = 0xFFFF. LDT and TR: Selector = 0, Base = 0, Limit = 0xFFFF, Access = 0x82. CS: Selector = 0xF000, Base = 0xFFFF0000, Limit = 0xFFFF, Access = 0x93. DS,ES,FS,GS,SS: Selector = 0, Base = 0, Limit = 0xFFFF, Access = 0x93. NOTE: In a multicore system the above holds for the main bootstrap processor. For the other processors the following differences apply: EIP is set to 0x10000 and CR0 to 0x10. All registers except SSR, IER and TSR are set to zero. All registers except PC, PSW, ICR and BTV are set to zero. Program Counter (PC), Program Status (PS) and dependent on the XTENSA configuration some other Special Registers are read from the CPU. All other registers are set to zero. All registers are set to zero. General Commands Reference Guide F 110 Frame

111 Frame Frame.view Frame.REDO Recover from UNDO registers Frame.REDO Register.REDO (deprecated) Recovers the state of the registers before the last Register.UNDO command was executed. Frame Frame.view General Commands Reference Guide F 111 Frame

112 Frame.SkipFunc Change view to previous/subsequent function Frame.SkipFunc <number> Register.SkipFunc (deprecated) Sets the PC temporarily to one of the subsequent (positive number) or previous (negative number) functions in the source. The current PC value is saved and will be restored before the application is started again. Frame.SkipFunc -1. Frame.SkipFunc 1. Frame Frame.view General Commands Reference Guide F 112 Frame

113 Frame.SkipLine Change view to previous/subsequent hll line Frame.SkipLine <number> Register.SkipLine (deprecated) Sets the PC temporarily to one of the subsequent (positive number) or previous (negative number) hll lines in the source. The current PC value is saved and will be restored before the application is started again. Register.SkipLine +3. ; set PC 3 hll line forward Frame Frame.view Frame.SWAP Swap TRACE32 registers Frame.SWAP Register.SWAP (deprecated) The processor register set and TRACE32-internal register sets are swapped. This command is useful when an operating system-call or HLL-function call fails to restore the original registers. Frame Frame.view Register and Peripherals in ICE User s Guide Frame.TASK Change view to specified task Frame.TASK <magic> <id> <name> Register.TASK (deprecated) Display register set of the specified task temporarily. This will also change the source listing display (Data.List). The register set of the current task is saved and will be restored before the application is started again. General Commands Reference Guide F 113 Frame

114 A reddish cursor at the program counter indicates a manipulation by Register.TASK. reddish cursor (task) indicates that the register set was temporarily changed by the command Register.TASK Register.TASK 0x41498 ; <magic> ; <task_id> Register.TASK "thread 0" ; <name> Frame Frame.view General Commands Reference Guide F 114 Frame

115 Frame.UNDO Recover previous registers Frame.UNDO Register.UNDO (deprecated) Recovers the state of the registers before the last register change or execution command. Repeating the command will recover earlier registers. The command Frame.REDO can be used to undo this command. Frame Frame.view Frame.Up Go up in stack nesting Frame.Up Register.Up (deprecated) The debugger virtually goes up one level of the call stack by switching to the stack frame of the calling function and reconstructing its registers. The command can be repeated to traverse multiple levels of the call stack. The current offset from the actual stack frame is shown in the status line as (2), (3) etc. The register window will show the values of the newly selected stack frame. In Data.List windows, the bar indicating the PC position changes its color to a reddish tone to indicate that it is not the actual PC of the processor. The actual register set in the processor is not affected by this. Therefore a Go would continue from the place where the processor stopped before issuing the Frame.Up command. The corresponding command for going down in the call hierarchy is Frame.Down. General Commands Reference Guide F 115 Frame

116 reddish cursor back level Frame Frame.view General Commands Reference Guide F 116 Frame

117 Frame.view Variable stack nesting Frame.view [%<format>] [/<option>] Var.Frame (deprecated) <option>: NoVar Args Locals Caller Displays a stack back trace. Without options solely the functions together with the arguments are displayed. The command Frame.CONFIG.Asm configures whether the back trace stops at frames that do not belong to HLL code or attempts to trace back over those frames. The format parameters can modify the display in various ways. For information about format parameters, refer to section Display Formats in General Commands Reference Guide V (general_ref_v.pdf). NoVar Args Locals Caller No display of variables and arguments. Display of arguments (default). Local variables of functions. Display of the high level language block, from which the function was called. Clicking with the mouse at the numbers indicating the nesting level (left of the function names) will execute a Frame.Up command to get to this level. Clicking the variables will modify or display the values in detail. Frame Frame.CONFIG Frame.COPY Frame.Down Frame.GOTO Frame.Init Frame.REDO Frame.SkipFunc Frame.SkipLine Frame.SWAP Frame.TASK Frame.UNDO Frame.Up Var.View FLAG() FLAG.READ() FLAG.WRITE() HLL Structures in ICE User s Guide Display Variables in Training HLL Debugging General Commands Reference Guide F 117 Frame

RTOS Debugger for ecos

RTOS Debugger for ecos RTOS Debugger for ecos TRACE32 Online Help TRACE32 Directory TRACE32 Index TRACE32 Documents... RTOS Debugger... RTOS Debugger for ecos... 1 Overview... 2 Brief Overview of Documents for New Users... 3

More information

National CR16C Family On-Chip Emulation. Contents. Technical Notes V9.11.75

National CR16C Family On-Chip Emulation. Contents. Technical Notes V9.11.75 _ V9.11.75 Technical Notes National CR16C Family On-Chip Emulation Contents Contents... 1 1 Introduction... 2 2 Emulation options... 3 2.1 Hardware Options... 3 2.2 Initialization Sequence... 4 2.3 JTAG

More information

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-17: Memory organisation, and types of memory

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-17: Memory organisation, and types of memory ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-17: Memory organisation, and types of memory 1 1. Memory Organisation 2 Random access model A memory-, a data byte, or a word, or a double

More information

NAND FLASH Programming User s Guide

NAND FLASH Programming User s Guide NAND FLASH Programming User s Guide TRACE32 Online Help TRACE32 Directory TRACE32 Index TRACE32 Documents... FLASH Programming... NAND FLASH Programming User's Guide... 1 Introduction... 4 How This Manual

More information

AN10860_1. Contact information. NXP Semiconductors. LPC313x NAND flash data and bad block management

AN10860_1. Contact information. NXP Semiconductors. LPC313x NAND flash data and bad block management Rev. 01 11 August 2009 Application note Document information Info Keywords Abstract Content LPC3130 LPC3131 LPC313x LPC313X LPC3153 LPC3154 LPC3141 LPC3142 LPC31XX LPC31xx Linux kernel Apex boot loader

More information

General Commands Reference Guide G

General Commands Reference Guide G General Commands Reference Guide G TRACE32 Online Help TRACE32 Directory TRACE32 Index TRACE32 Documents... General Commands... General Commands Reference Guide G... 1 History... 3 GLOBALON... 4 GLOBALON

More information

S7 for Windows S7-300/400

S7 for Windows S7-300/400 S7 for Windows S7-300/400 A Programming System for the Siemens S7 300 / 400 PLC s IBHsoftec has an efficient and straight-forward programming system for the Simatic S7-300 and ern controller concept can

More information

TRACE32 Debugger Getting Started... ICD Tutorial... 1. About the Tutorial... 2

TRACE32 Debugger Getting Started... ICD Tutorial... 1. About the Tutorial... 2 ICD Tutorial TRACE32 Online Help TRACE32 Directory TRACE32 Index TRACE32 Debugger Getting Started... ICD Tutorial... 1 About the Tutorial... 2 Working with the Debugger... 3 Set up the Program Environment

More information

Technical Note. Micron NAND Flash Controller via Xilinx Spartan -3 FPGA. Overview. TN-29-06: NAND Flash Controller on Spartan-3 Overview

Technical Note. Micron NAND Flash Controller via Xilinx Spartan -3 FPGA. Overview. TN-29-06: NAND Flash Controller on Spartan-3 Overview Technical Note TN-29-06: NAND Flash Controller on Spartan-3 Overview Micron NAND Flash Controller via Xilinx Spartan -3 FPGA Overview As mobile product capabilities continue to expand, so does the demand

More information

Freescale Semiconductor, I

Freescale Semiconductor, I nc. Application Note 6/2002 8-Bit Software Development Kit By Jiri Ryba Introduction 8-Bit SDK Overview This application note describes the features and advantages of the 8-bit SDK (software development

More information

Chapter 13. PIC Family Microcontroller

Chapter 13. PIC Family Microcontroller Chapter 13 PIC Family Microcontroller Lesson 01 PIC Characteristics and Examples PIC microcontroller characteristics Power-on reset Brown out reset Simplified instruction set High speed execution Up to

More information

TRACE32 Documents... ICD In-Circuit Debugger... Processor Architecture Manuals... TriCore... TriCore Monitor... 1

TRACE32 Documents... ICD In-Circuit Debugger... Processor Architecture Manuals... TriCore... TriCore Monitor... 1 TriCore Monitor TRACE32 Online Help TRACE32 Directory TRACE32 Index TRACE32 Documents... ICD In-Circuit Debugger... Processor Architecture Manuals... TriCore... TriCore Monitor... 1 Brief Overview of Documents

More information

Production Flash Programming Best Practices for Kinetis K- and L-series MCUs

Production Flash Programming Best Practices for Kinetis K- and L-series MCUs Freescale Semiconductor Document Number:AN4835 Application Note Rev 1, 05/2014 Production Flash Programming Best Practices for Kinetis K- and L-series MCUs by: Melissa Hunter 1 Introduction This application

More information

AN141 SMBUS COMMUNICATION FOR SMALL FORM FACTOR DEVICE FAMILIES. 1. Introduction. 2. Overview of the SMBus Specification. 2.1.

AN141 SMBUS COMMUNICATION FOR SMALL FORM FACTOR DEVICE FAMILIES. 1. Introduction. 2. Overview of the SMBus Specification. 2.1. SMBUS COMMUNICATION FOR SMALL FORM FACTOR DEVICE FAMILIES 1. Introduction C8051F3xx and C8051F41x devices are equipped with an SMBus serial I/O peripheral that is compliant with both the System Management

More information

WINDOWS PROCESSES AND SERVICES

WINDOWS PROCESSES AND SERVICES OBJECTIVES: Services o task manager o services.msc Process o task manager o process monitor Task Scheduler Event viewer Regedit Services: A Windows service is a computer program that operates in the background.

More information

Training Simulator and Demo Software

Training Simulator and Demo Software Training Simulator and Demo Software TRACE32 Online Help TRACE32 Directory TRACE32 Index TRACE32 Training... Training Simulator and Demo Software... 1 About the Demo... 2 Starting the TRACE32 Simulator...

More information

DiskPulse DISK CHANGE MONITOR

DiskPulse DISK CHANGE MONITOR DiskPulse DISK CHANGE MONITOR User Manual Version 7.9 Oct 2015 www.diskpulse.com [email protected] 1 1 DiskPulse Overview...3 2 DiskPulse Product Versions...5 3 Using Desktop Product Version...6 3.1 Product

More information

DsPIC HOW-TO GUIDE Creating & Debugging a Project in MPLAB

DsPIC HOW-TO GUIDE Creating & Debugging a Project in MPLAB DsPIC HOW-TO GUIDE Creating & Debugging a Project in MPLAB Contents at a Glance 1. Introduction of MPLAB... 4 2. Development Tools... 5 3. Getting Started... 6 3.1. Create a Project... 8 3.2. Start MPLAB...

More information

Embedded Component Based Programming with DAVE 3

Embedded Component Based Programming with DAVE 3 Embedded Component Based Programming with DAVE 3 By Mike Copeland, Infineon Technologies Introduction Infineon recently introduced the XMC4000 family of ARM Cortex -M4F processor-based MCUs for industrial

More information

Programming NAND devices

Programming NAND devices Technical Guide Programming NAND devices Kelly Hirsch, Director of Advanced Technology, Data I/O Corporation Recent Design Trends In the past, embedded system designs have used NAND devices for storing

More information

NAND Flash Memories. Using Linux MTD compatible mode. on ELNEC Universal Device Programmers. (Quick Guide)

NAND Flash Memories. Using Linux MTD compatible mode. on ELNEC Universal Device Programmers. (Quick Guide) NAND Flash Memories Using Linux MTD compatible mode on ELNEC Universal Device Programmers (Quick Guide) Application Note April 2012 an_elnec_linux_mtd, version 1.04 Version 1.04/04.2012 Page 1 of 16 As

More information

Microcontroller Based Low Cost Portable PC Mouse and Keyboard Tester

Microcontroller Based Low Cost Portable PC Mouse and Keyboard Tester Leonardo Journal of Sciences ISSN 1583-0233 Issue 20, January-June 2012 p. 31-36 Microcontroller Based Low Cost Portable PC Mouse and Keyboard Tester Ganesh Sunil NHIVEKAR *, and Ravidra Ramchandra MUDHOLKAR

More information

NAND Flash FAQ. Eureka Technology. apn5_87. NAND Flash FAQ

NAND Flash FAQ. Eureka Technology. apn5_87. NAND Flash FAQ What is NAND Flash? What is the major difference between NAND Flash and other Memory? Structural differences between NAND Flash and NOR Flash What does NAND Flash controller do? How to send command to

More information

Debugging A MotoHawk Application using the Application Monitor

Debugging A MotoHawk Application using the Application Monitor CONTROL SYSTEM SOLUTIONS Debugging A MotoHawk Application using the Application Monitor Author(s): New Eagle Consulting 3588 Plymouth Road, #274 Ann Arbor, MI 48105-2603 Phone: +1 (734) 929-4557 Ben Hoffman

More information

Eureka Technology. Understanding SD, SDIO and MMC Interface. by Eureka Technology Inc. May 26th, 2011. Copyright (C) All Rights Reserved

Eureka Technology. Understanding SD, SDIO and MMC Interface. by Eureka Technology Inc. May 26th, 2011. Copyright (C) All Rights Reserved Understanding SD, SDIO and MMC Interface by Eureka Technology Inc. May 26th, 2011 Copyright (C) All Rights Reserved Copyright by Eureka Technology Inc. All Rights Reserved Introduction This white paper

More information

Embedded Linux Platform Developer

Embedded Linux Platform Developer Embedded Linux Platform Developer Course description Advanced training program on Embedded Linux platform development with comprehensive coverage on target board bring up, Embedded Linux porting, Linux

More information

Hardware and Software Requirements

Hardware and Software Requirements C Compiler Real-Time OS Simulator Training Evaluation Boards Installing and Using the Keil Monitor-51 Application Note 152 May 31, 2000, Munich, Germany by Keil Support, Keil Elektronik GmbH [email protected]

More information

Helping you avoid stack overflow crashes!

Helping you avoid stack overflow crashes! Helping you avoid stack overflow crashes! One of the toughest (and unfortunately common) problems in embedded systems is stack overflows and the collateral corruption that it can cause. As a result, we

More information

Chapter 2 Array Configuration [SATA Setup Utility] This chapter explains array configurations using this array controller.

Chapter 2 Array Configuration [SATA Setup Utility] This chapter explains array configurations using this array controller. Embedded MegaRAID SATA User's Guide Areas Covered Before Reading This Manual This section explains the notes for your safety and conventions used in this manual. Chapter 1 Overview This chapter introduces

More information

ES_LPC4357/53/37/33. Errata sheet LPC4357/53/37/33. Document information

ES_LPC4357/53/37/33. Errata sheet LPC4357/53/37/33. Document information Rev. 1.1 8 August 2012 Errata sheet Document information Info Keywords Abstract Content LPC4357FET256; LPC4357FET180; LPC4357FBD208; LPC4353FET256; LPC4353FET180; LPC4353FBD208; LPC4337FET256; LPC4337FET180;

More information

Using the HCS12 Serial Monitor on Wytec Dragon-12 boards. Using Motorola s HCS12 Serial Monitor on Wytec s Dragon-12 boards

Using the HCS12 Serial Monitor on Wytec Dragon-12 boards. Using Motorola s HCS12 Serial Monitor on Wytec s Dragon-12 boards Using Motorola s HCS12 Serial Monitor on Wytec s Dragon-12 boards Wytec s Dragon-12 development boards are pre-installed with DBug-12, a small monitor program which allows a user to interact with the board

More information

OPERATION MANUAL. MV-410RGB Layout Editor. Version 2.1- higher

OPERATION MANUAL. MV-410RGB Layout Editor. Version 2.1- higher OPERATION MANUAL MV-410RGB Layout Editor Version 2.1- higher Table of Contents 1. Setup... 1 1-1. Overview... 1 1-2. System Requirements... 1 1-3. Operation Flow... 1 1-4. Installing MV-410RGB Layout

More information

INGENIEURBÜRO FÜR TECHNOLOGIE TRANSFER DIPL.-ING. B. P. SCHULZ-HEISE. Getting Started with. S7 for Windows. Version 6.x

INGENIEURBÜRO FÜR TECHNOLOGIE TRANSFER DIPL.-ING. B. P. SCHULZ-HEISE. Getting Started with. S7 for Windows. Version 6.x INGENIEURBÜRO FÜR TECHNOLOGIE TRANSFER DIPL.-ING. B. P. SCHULZ-HEISE Getting Started with S7 for Windows Version 6.x TTI Ingenieurbüro für Technologie Transfer Dipl. Ing. B. Peter Schulz-Heise Stadtring

More information

GIVE WINGS TO YOUR IDEAS TOOLS MANUAL

GIVE WINGS TO YOUR IDEAS TOOLS MANUAL GIVE WINGS TO YOUR IDEAS TOOLS MANUAL PLUG IN TO THE WIRELESS WORLD Version: 001 / 1.0 Date: October 30, 2001 Reference: WM_TOO_OAT_UGD_001 confidential Page: 1 / 22 (THIS PAGE IS INTENTIONALY LEFT BLANK)

More information

SKP16C62P Tutorial 1 Software Development Process using HEW. Renesas Technology America Inc.

SKP16C62P Tutorial 1 Software Development Process using HEW. Renesas Technology America Inc. SKP16C62P Tutorial 1 Software Development Process using HEW Renesas Technology America Inc. 1 Overview The following tutorial is a brief introduction on how to develop and debug programs using HEW (Highperformance

More information

AN11008 Flash based non-volatile storage

AN11008 Flash based non-volatile storage Rev. 1 5 January 2011 Application note Document information Info Content Keywords Flash, EEPROM, Non-Volatile Storage Abstract This application note describes the implementation and use of a library that

More information

Industrial Flash Storage Trends in Software and Security

Industrial Flash Storage Trends in Software and Security January 22, 2013 Industrial Flash Storage Trends in Software and Security Many flash storage devices in embedded applications are used to save data but also function as disks for the OS. Most users are

More information

DISK DEFRAG Professional

DISK DEFRAG Professional auslogics DISK DEFRAG Professional Help Manual www.auslogics.com / Contents Introduction... 5 Installing the Program... 7 System Requirements... 7 Installation... 7 Registering the Program... 9 Uninstalling

More information

SYMETRIX SOLUTIONS: TECH TIP August 2015

SYMETRIX SOLUTIONS: TECH TIP August 2015 String Output Modules The purpose of this document is to provide an understanding of operation and configuration of the two different String Output modules available within SymNet Composer. The two different

More information

Dolphin In-Circuit programming Updating Firmware in the field

Dolphin In-Circuit programming Updating Firmware in the field Dolphin In-Circuit programming Updating Firmware in the field 1 Introduction In systems e.g. gateways, where an external microcontroller is connected to a Dolphin based product like a TCM300 it might be

More information

AXI Performance Monitor v5.0

AXI Performance Monitor v5.0 AXI Performance Monitor v5.0 LogiCORE IP Product Guide Vivado Design Suite Table of Contents IP Facts Chapter 1: Overview Advanced Mode...................................................................

More information

Tutorial for MPLAB Starter Kit for PIC18F

Tutorial for MPLAB Starter Kit for PIC18F Tutorial for MPLAB Starter Kit for PIC18F 2006 Microchip Technology Incorporated. All Rights Reserved. WebSeminar Title Slide 1 Welcome to the tutorial for the MPLAB Starter Kit for PIC18F. My name is

More information

Computer Organization & Architecture Lecture #19

Computer Organization & Architecture Lecture #19 Computer Organization & Architecture Lecture #19 Input/Output The computer system s I/O architecture is its interface to the outside world. This architecture is designed to provide a systematic means of

More information

Serial Communications

Serial Communications Serial Communications 1 Serial Communication Introduction Serial communication buses Asynchronous and synchronous communication UART block diagram UART clock requirements Programming the UARTs Operation

More information

Block 3 Size 0 KB 0 KB 16KB 32KB. Start Address N/A N/A F4000H F0000H. Start Address FA000H F8000H F8000H F8000H. Block 2 Size 8KB 16KB 16KB 16KB

Block 3 Size 0 KB 0 KB 16KB 32KB. Start Address N/A N/A F4000H F0000H. Start Address FA000H F8000H F8000H F8000H. Block 2 Size 8KB 16KB 16KB 16KB APPLICATION NOTE M16C/26 1.0 Abstract The following article describes using a synchronous serial port and the FoUSB (Flash-over-USB ) Programmer application to program the user flash memory of the M16C/26

More information

ontroller LSI with Built-in High- Performance Graphic Functions for Automotive Applications

ontroller LSI with Built-in High- Performance Graphic Functions for Automotive Applications C ontroller LSI with Built-in High- Performance Graphic Functions for Automotive Applications 1-chip solution for color display, video input and meter control with built-in highperformance CPU core FR81S

More information

Design of a High Speed Communications Link Using Field Programmable Gate Arrays

Design of a High Speed Communications Link Using Field Programmable Gate Arrays Customer-Authored Application Note AC103 Design of a High Speed Communications Link Using Field Programmable Gate Arrays Amy Lovelace, Technical Staff Engineer Alcatel Network Systems Introduction A communication

More information

Booting from NAND Flash Memory

Booting from NAND Flash Memory Booting from NAND Flash Memory Introduction NAND flash memory technology differs from NOR flash memory which has dominated the embedded flash memory market in the past. Traditional applications for NOR

More information

DS-5 ARM. Using the Debugger. Version 5.13. Copyright 2010-2012 ARM. All rights reserved. ARM DUI 0446M (ID120712)

DS-5 ARM. Using the Debugger. Version 5.13. Copyright 2010-2012 ARM. All rights reserved. ARM DUI 0446M (ID120712) ARM DS-5 Version 5.13 Using the Debugger Copyright 2010-2012 ARM. All rights reserved. ARM DUI 0446M () ARM DS-5 Using the Debugger Copyright 2010-2012 ARM. All rights reserved. Release Information The

More information

MICROPROCESSOR AND MICROCOMPUTER BASICS

MICROPROCESSOR AND MICROCOMPUTER BASICS Introduction MICROPROCESSOR AND MICROCOMPUTER BASICS At present there are many types and sizes of computers available. These computers are designed and constructed based on digital and Integrated Circuit

More information

Security & Chip Card ICs SLE 44R35S / Mifare

Security & Chip Card ICs SLE 44R35S / Mifare Security & Chip Card ICs SLE 44R35S / Mifare Intelligent 1 Kbyte EEPROM with Interface for Contactless Transmission, Security Logic and Anticollision according to the MIFARE -System Short Product Info

More information

Fondamenti su strumenti di sviluppo per microcontrollori PIC

Fondamenti su strumenti di sviluppo per microcontrollori PIC Fondamenti su strumenti di sviluppo per microcontrollori PIC MPSIM ICE 2000 ICD 2 REAL ICE PICSTART Ad uso interno del corso Elettronica e Telecomunicazioni 1 2 MPLAB SIM /1 MPLAB SIM is a discrete-event

More information

MBP_MSTR: Modbus Plus Master 12

MBP_MSTR: Modbus Plus Master 12 Unity Pro MBP_MSTR 33002527 07/2011 MBP_MSTR: Modbus Plus Master 12 Introduction This chapter describes the MBP_MSTR block. What s in this Chapter? This chapter contains the following topics: Topic Page

More information

Table 1 below is a complete list of MPTH commands with descriptions. Table 1 : MPTH Commands. Command Name Code Setting Value Description

Table 1 below is a complete list of MPTH commands with descriptions. Table 1 : MPTH Commands. Command Name Code Setting Value Description MPTH: Commands Table 1 below is a complete list of MPTH commands with descriptions. Note: Commands are three bytes long, Command Start Byte (default is 128), Command Code, Setting value. Table 1 : MPTH

More information

Programming Flash Microcontrollers through the Controller Area Network (CAN) Interface

Programming Flash Microcontrollers through the Controller Area Network (CAN) Interface Programming Flash Microcontrollers through the Controller Area Network (CAN) Interface Application te Programming Flash Microcontrollers through the Controller Area Network (CAN) Interface Abstract This

More information

LatticeECP2/M S-Series Configuration Encryption Usage Guide

LatticeECP2/M S-Series Configuration Encryption Usage Guide Configuration Encryption Usage Guide June 2013 Introduction Technical Note TN1109 All Lattice FPGAs provide configuration data read security, meaning that a fuse can be set so that when the device is read

More information

What is LOG Storm and what is it useful for?

What is LOG Storm and what is it useful for? What is LOG Storm and what is it useful for? LOG Storm is a high-speed digital data logger used for recording and analyzing the activity from embedded electronic systems digital bus and data lines. It

More information

An Implementation Of Multiprocessor Linux

An Implementation Of Multiprocessor Linux An Implementation Of Multiprocessor Linux This document describes the implementation of a simple SMP Linux kernel extension and how to use this to develop SMP Linux kernels for architectures other than

More information

OPTIMIZE DMA CONFIGURATION IN ENCRYPTION USE CASE. Guillène Ribière, CEO, System Architect

OPTIMIZE DMA CONFIGURATION IN ENCRYPTION USE CASE. Guillène Ribière, CEO, System Architect OPTIMIZE DMA CONFIGURATION IN ENCRYPTION USE CASE Guillène Ribière, CEO, System Architect Problem Statement Low Performances on Hardware Accelerated Encryption: Max Measured 10MBps Expectations: 90 MBps

More information

Jianjian Song LogicWorks 4 Tutorials (5/15/03) Page 1 of 14

Jianjian Song LogicWorks 4 Tutorials (5/15/03) Page 1 of 14 LogicWorks 4 Tutorials Jianjian Song Department of Electrical and Computer Engineering Rose-Hulman Institute of Technology March 23 Table of Contents LogicWorks 4 Installation and update...2 2 Tutorial

More information

Kaseya 2. User Guide. Version 7.0. English

Kaseya 2. User Guide. Version 7.0. English Kaseya 2 Monitoring Configuration User Guide Version 7.0 English September 3, 2014 Agreement The purchase and use of all Software and Services is subject to the Agreement as defined in Kaseya s Click-Accept

More information

11.1. Performance Monitoring

11.1. Performance Monitoring 11.1. Performance Monitoring Windows Reliability and Performance Monitor combines the functionality of the following tools that were previously only available as stand alone: Performance Logs and Alerts

More information

NAND Flash & Storage Media

NAND Flash & Storage Media ENABLING MULTIMEDIA NAND Flash & Storage Media March 31, 2004 NAND Flash Presentation NAND Flash Presentation Version 1.6 www.st.com/nand NAND Flash Memories Technology Roadmap F70 1b/c F12 1b/c 1 bit/cell

More information

LINDY ELECTRONICS LIMITED & LINDY-ELEKTRONIK GMBH - SECOND EDITION

LINDY ELECTRONICS LIMITED & LINDY-ELEKTRONIK GMBH - SECOND EDITION RS-422/485 PCI Card User Manual English No. 51200 (2 Port) No. 51202 (4 Port) No. 51204 (8 Port) www.lindy.com LINDY ELECTRONICS LIMITED & LINDY-ELEKTRONIK GMBH - SECOND EDITION (Nov 2005) 1.0 Introduction

More information

Linux. Reverse Debugging. Target Communication Framework. Nexus. Intel Trace Hub GDB. PIL Simulation CONTENTS

Linux. Reverse Debugging. Target Communication Framework. Nexus. Intel Trace Hub GDB. PIL Simulation CONTENTS Android NEWS 2016 AUTOSAR Linux Windows 10 Reverse ging Target Communication Framework ARM CoreSight Requirements Analysis Nexus Timing Tools Intel Trace Hub GDB Unit Testing PIL Simulation Infineon MCDS

More information

AVR Butterfly Training. Atmel Norway, AVR Applications Group

AVR Butterfly Training. Atmel Norway, AVR Applications Group AVR Butterfly Training Atmel Norway, AVR Applications Group 1 Table of Contents INTRODUCTION...3 GETTING STARTED...4 REQUIRED SOFTWARE AND HARDWARE...4 SETTING UP THE HARDWARE...4 SETTING UP THE SOFTWARE...5

More information

Software development and debugging for NXP ARM7 MCUs

Software development and debugging for NXP ARM7 MCUs THE MINISTRY of EDUCATION and SCIENCE of RUSSIAN FEDERATION SAMARA STATE AEROSPACE UNIVERSITY Software development and debugging for NXP ARM7 MCUs Learner s guide SAMARA 2011 2 Compilers: Kudryavtsev Ilya

More information

SP8 Programmers 硕 飞 科 技. User's Guide. TEL: 0755-8486 7757 FAX: 0755-8486 7941 WEB: www.sofi-tech.com

SP8 Programmers 硕 飞 科 技. User's Guide. TEL: 0755-8486 7757 FAX: 0755-8486 7941 WEB: www.sofi-tech.com 硕 飞 科 技 SP8 Programmers User's Guide SHENZHEN SOFI TECHNOLOGY CO.,LTD. TEL: 0755-8486 7757 FAX: 0755-8486 7941 WEB: www.sofi-tech.com Publication Release Date: August 2011 Revision A1 Contents Chapter

More information

MCF54418 NAND Flash Controller

MCF54418 NAND Flash Controller Freescale Semiconductor Application Note Document Number: AN4348 Rev. 0, 09/2011 MCF54418 NAND Flash Controller by: Liew Tsi Chung Applications Engineer 1 Introduction The ColdFire MCF5441x family is the

More information

Basics of VTune Performance Analyzer. Intel Software College. Objectives. VTune Performance Analyzer. Agenda

Basics of VTune Performance Analyzer. Intel Software College. Objectives. VTune Performance Analyzer. Agenda Objectives At the completion of this module, you will be able to: Understand the intended purpose and usage models supported by the VTune Performance Analyzer. Identify hotspots by drilling down through

More information

Data Acquisition Module with I2C interface «I2C-FLEXEL» User s Guide

Data Acquisition Module with I2C interface «I2C-FLEXEL» User s Guide Data Acquisition Module with I2C interface «I2C-FLEXEL» User s Guide Sensors LCD Real Time Clock/ Calendar DC Motors Buzzer LED dimming Relay control I2C-FLEXEL PS2 Keyboards Servo Motors IR Remote Control

More information

Keil Debugger Tutorial

Keil Debugger Tutorial Keil Debugger Tutorial Yifeng Zhu December 17, 2014 Software vs Hardware Debug There are two methods to debug your program: software debug and hardware debug. By using the software debug, you do not have

More information

LDCDP 11999.GdW. L force Controls. Ä.GdWä. Software Manual. Industrial PC. WindowsR CE Thin Client. Operating system

LDCDP 11999.GdW. L force Controls. Ä.GdWä. Software Manual. Industrial PC. WindowsR CE Thin Client. Operating system L force Controls Ä.GdWä LDCDP 11999.GdW Software Manual Industrial PC WindowsR CE Thin Client Operating system l Please read these instructions before you start working! Follow the enclosed safety instructions.

More information

DS-5 ARM. Using the Debugger. Version 5.7. Copyright 2010, 2011 ARM. All rights reserved. ARM DUI 0446G (ID092311)

DS-5 ARM. Using the Debugger. Version 5.7. Copyright 2010, 2011 ARM. All rights reserved. ARM DUI 0446G (ID092311) ARM DS-5 Version 5.7 Using the Debugger Copyright 2010, 2011 ARM. All rights reserved. ARM DUI 0446G () ARM DS-5 Using the Debugger Copyright 2010, 2011 ARM. All rights reserved. Release Information The

More information

USER GUIDE EDBG. Description

USER GUIDE EDBG. Description USER GUIDE EDBG Description The Atmel Embedded Debugger (EDBG) is an onboard debugger for integration into development kits with Atmel MCUs. In addition to programming and debugging support through Atmel

More information

The Advanced JTAG Bridge. Nathan Yawn [email protected] 05/12/09

The Advanced JTAG Bridge. Nathan Yawn nathan.yawn@opencores.org 05/12/09 The Advanced JTAG Bridge Nathan Yawn [email protected] 05/12/09 Copyright (C) 2008-2009 Nathan Yawn Permission is granted to copy, distribute and/or modify this document under the terms of the

More information

How to test and debug an ASP.NET application

How to test and debug an ASP.NET application Chapter 4 How to test and debug an ASP.NET application 113 4 How to test and debug an ASP.NET application If you ve done much programming, you know that testing and debugging are often the most difficult

More information

Fastboot Techniques for x86 Architectures. Marcus Bortel Field Application Engineer QNX Software Systems

Fastboot Techniques for x86 Architectures. Marcus Bortel Field Application Engineer QNX Software Systems Fastboot Techniques for x86 Architectures Marcus Bortel Field Application Engineer QNX Software Systems Agenda Introduction BIOS and BIOS boot time Fastboot versus BIOS? Fastboot time Customizing the boot

More information

Lab 2-2: Exploring Threads

Lab 2-2: Exploring Threads Lab 2-2: Exploring Threads Objectives Prerequisites After completing this lab, you will be able to: Add profiling support to a Windows CE OS Design Locate files associated with Windows CE profiling Operate

More information

Ride7 for ARM. RAISONANCE Tools for the STRx and STM32 families. Overview and Getting Started

Ride7 for ARM. RAISONANCE Tools for the STRx and STM32 families. Overview and Getting Started Ride7 for ARM RAISONANCE Tools for the STRx and STM32 families Overview and Getting Started July 2007 Table of Contents 1. INTRODUCTION 4 1.1 RAISONANCE tools for the ARM family 6 1.2 Third party tools

More information

Chapter 11 I/O Management and Disk Scheduling

Chapter 11 I/O Management and Disk Scheduling Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 11 I/O Management and Disk Scheduling Dave Bremer Otago Polytechnic, NZ 2008, Prentice Hall I/O Devices Roadmap Organization

More information

IAR C-SPY Hardware Debugger Systems User Guide. for Renesas PC7501 Emulator and ROM-monitor

IAR C-SPY Hardware Debugger Systems User Guide. for Renesas PC7501 Emulator and ROM-monitor IAR C-SPY Hardware Debugger Systems User Guide for Renesas PC7501 Emulator and ROM-monitor COPYRIGHT NOTICE Copyright 1995-2006 IAR Systems. All rights reserved. No part of this document may be reproduced

More information

ROM Monitor. Entering the ROM Monitor APPENDIX

ROM Monitor. Entering the ROM Monitor APPENDIX APPENDIX B This appendix describes the Cisco router ROM monitor (also called the bootstrap program). The ROM monitor firmware runs when the router is powered up or reset. The firmware helps to initialize

More information

UNIVERSITY OF CALIFORNIA. Los Angeles. Software for A Fault Tolerant. Microcontroller Network. A thesis submitted in partial satisfaction

UNIVERSITY OF CALIFORNIA. Los Angeles. Software for A Fault Tolerant. Microcontroller Network. A thesis submitted in partial satisfaction UNIVERSITY OF CALIFORNIA Los Angeles Software for A Fault Tolerant Microcontroller Network A thesis submitted in partial satisfaction of the requirements for the degree Master of Science in Computer Science

More information

Embedded Multi-Media Card Specification (e MMC 4.5)

Embedded Multi-Media Card Specification (e MMC 4.5) Product Features: Packaged NAND flash memory with e MMC 4.5 interface Compliant with e MMC Specification Ver 4.41 & 4.5. Bus mode - High-speed e MMC protocol - Provide variable clock frequencies

More information

User Manual. AS-Interface Programmer

User Manual. AS-Interface Programmer AS-Interface Programmer Notice: RESTRICTIONS THE ZMD AS-INTERFACE PROGRAMMER HARDWARE AND ZMD AS-INTERFACE PROGRAMMER SOFTWARE IS DESIGNED FOR IC EVALUATION, LABORATORY SETUP AND MODULE DEVELOPMENT ONLY.

More information

Software User Guide UG-461

Software User Guide UG-461 Software User Guide UG-461 One Technology Way P.O. Box 9106 Norwood, MA 02062-9106, U.S.A. Tel: 781.329.4700 Fax: 781.461.3113 www.analog.com ezlinx icoupler Isolated Interface Development Environment

More information

150127-Microprocessor & Assembly Language

150127-Microprocessor & Assembly Language Chapter 3 Z80 Microprocessor Architecture The Z 80 is one of the most talented 8 bit microprocessors, and many microprocessor-based systems are designed around the Z80. The Z80 microprocessor needs an

More information

The I2C Bus. NXP Semiconductors: UM10204 I2C-bus specification and user manual. 14.10.2010 HAW - Arduino 1

The I2C Bus. NXP Semiconductors: UM10204 I2C-bus specification and user manual. 14.10.2010 HAW - Arduino 1 The I2C Bus Introduction The I2C-bus is a de facto world standard that is now implemented in over 1000 different ICs manufactured by more than 50 companies. Additionally, the versatile I2C-bus is used

More information

- 35mA Standby, 60-100mA Speaking. - 30 pre-defined phrases with up to 1925 total characters.

- 35mA Standby, 60-100mA Speaking. - 30 pre-defined phrases with up to 1925 total characters. Contents: 1) SPE030 speech synthesizer module 2) Programming adapter kit (pcb, 2 connectors, battery clip) Also required (for programming) : 4.5V battery pack AXE026 PICAXE download cable Specification:

More information

Trace Port Analysis for ARM7-ETM and ARM9-ETM Microprocessors

Trace Port Analysis for ARM7-ETM and ARM9-ETM Microprocessors Trace Port Analysis for ARM7-ETM and ARM9-ETM Microprocessors Product Overview Introduction Quickly and accurately determine the root cause of your team s most difficult hardware, software, and system

More information

Extending the swsusp Hibernation Framework to ARM. Russell Dill

Extending the swsusp Hibernation Framework to ARM. Russell Dill Extending the swsusp Hibernation Framework to ARM Russell Dill 1 2 Introduction Russ Dill of Texas Instruments swsusp/hibernation on ARM Overview Challenges Implementation Remaining work Debugging swsusp

More information

Keil C51 Cross Compiler

Keil C51 Cross Compiler Keil C51 Cross Compiler ANSI C Compiler Generates fast compact code for the 8051 and it s derivatives Advantages of C over Assembler Do not need to know the microcontroller instruction set Register allocation

More information

How to read this guide

How to read this guide How to read this guide The following shows the symbols used in this Quick start guide with descriptions and examples. Symbol Description Example P oint Reference Caution [ ] This symbol explains information

More information

Application Unit, MDRC AB/S 1.1, GH Q631 0030 R0111

Application Unit, MDRC AB/S 1.1, GH Q631 0030 R0111 , GH Q631 0030 R0111 SK 0010 B 98 The application unit is a DIN rail mounted device for insertion in the distribution board. The connection to the EIB is established via a bus connecting terminal at the

More information

i.mx USB loader A white paper by Tristan Lelong

i.mx USB loader A white paper by Tristan Lelong i.mx USB loader A white paper by Tristan Lelong Introduction This document aims to explain the serial downloader feature of i.mx SoCs on Linux (available across i.mx family starting with i.mx23). This

More information

Notes and terms of conditions. Vendor shall note the following terms and conditions/ information before they submit their quote.

Notes and terms of conditions. Vendor shall note the following terms and conditions/ information before they submit their quote. Specifications for ARINC 653 compliant RTOS & Development Environment Notes and terms of conditions Vendor shall note the following terms and conditions/ information before they submit their quote. 1.

More information

EZ DUPE DVD/CD Duplicator

EZ DUPE DVD/CD Duplicator EZ DUPE DVD/CD Duplicator User s Manual Version 3.0 0 TABLE OF CONTENTS Introduction 2 Setup 11 LCD Front Panel Overview 2 o Auto Start Time 11 Menu Overview 3-5 o Display Mode 12 Functions 6 o Button

More information

Project Manager Editor & Debugger

Project Manager Editor & Debugger TM IDE for Microcontrollers Quick Start µvision2, the new IDE from Keil Software, combines Project Management, Source Code Editing, and Program Debugging in one powerful environment. This Quick Start guide

More information