10.4.4. Disassembly View. Altium TriCore
Annonce
Annonce
Using the Debugger
FILE * f3 = fopen("terminal window 3", "rw"); fprintf(f3, "Hello, window 3.\n"); fclose(f3);
You can set the initial working directory of the target application in the Debug configuration dialog (see also
Section 10.2, Creating a Customized Debug Configuration ):
1. On the Debugger tab, select the Miscellaneous sub-tab.
2. In the FSS root directory field, specify the FSS root directory.
The FSS implementation is designed to work without user intervention. Nevertheless, there are some aspects that you need to be aware of.
First, the interaction between the C library code (in the files dbg*.c
and dbg*.h
) and the debugger takes place via a breakpoint, which incidentally is not shown in the Breakpoints view. Depending on the situation this may be a hardware breakpoint, which may be in short supply.
Secondly, proper operation requires certain code in the C library to have debug information. This debug information should normally be present but might get lost when this information is stripped later in the development process.
10.4.4. Disassembly View
The Disassembly view shows target memory disassembled into instructions and / or data. If possible, the associated C / C++ source code is shown as well. The Address field shows the address of the current selected line of code.
To view the contents of a specific memory location, type the address in the Address field. If the address is invalid, the field turns red.
10.4.5. Expressions View
The Expressions view allows you to evaluate and watch regular C expressions.
To add an expression:
Click OK to add the expression.
1. Right-click in the Expressions View and select Add Watch Expression.
The Add Watch Expression dialog appears.
2. Enter an expression you want to watch during debugging, for example, the variable name "i"
If you have added one or more expressions to watch, the right-click menu provides options to Remove and Edit or Enable and Disable added expressions.
• You can access target registers directly using
#NAME
. For example " arr[#R0 << 3]
" or "
#TIMER3
= m++
". If a register is memory-mapped, you can also take its address, for example, "
&#ADCIN
".
• Expressions may contain target function calls like for example " g1 + invert(&g2)
". Be aware that this will not work if the compiler has optimized the code in such a way that the original function code
279
Download
Annonce