Categories

Debug
Extracting SFRs when launching winIDEA 24-Apr-2023
When launching winIDEA IDE Special Function Registers (SFRs) are expanded to a dedicated SFR location on your computer. If winIDEA detects that the SFR database is corrupt, missing or does not match to winIDEA version, it restores it. Note that SFR database could get corrupt if: You are us...
How to reach maximum Flash programming performance? 11-Sep-2024
Programming applications to a microcontroller can take a lot of time, especially if the application is large, the storage device is external memory and the data rate is slow. Possible solutions Minimize download time - general settings Check the frequency of the debug interface and set up ...
winIDEA Callstack: Issues with display 11-Jan-2024
Callstack Window doesn't show current call stack content or displayed info is incorrect. Possible solutions: Compiler optimization Compiler can optimize the code to an extent that the required information being used by the debugger to extract theCall Stackcontextis not available or just no...
winIDEA: Variables missing from the structure 18-Apr-2024
Variables missing from the structure or two structures in the ELF with the same name but slightly different types are usually caused by compiler excessive code optimization. Possible solution: winIDEA offers an option to control the resolution of variable locations from Symbol table. 1. Op...
winIDEA Editor: Source-level debugging not available 23-Nov-2023
This topic describes what to do if winIDEA Editor window shows inconsistent or no glyph margin (grey strip or column on the left side of the Editor), icons (glyphs, LoC (Line of Code) markers, debug line symbols,...) for debugging of the opened source file thus disabling source-level debug...
Error: Cannot connect to server RC1 28-Aug-2024
While establishing a debug session with the secondary core by performing Download an error appears Cannot connect to server RC1 . Possible solutions Open ports 5235 and 5304 Open these ports in the Windows Defender Firewall or any other hardware or software firewalls you are using. When de...
Infineon Aurix: How to unlock ENDINIT protected SFRs? 23-Aug-2024
Solution To disable ENDINIT protection and be able to change the registers, add this line to any initialization file: A CBS_OCNTRL L 0x000000C0 // Disable ENDINIT More resources in winIDEA Help Initialization sequence Internal Flash programming
Dump and examine disassembled code elements 22-Aug-2024
The procedure described below generates a searchable text file containing the same information (address, data, debug symbol, opcode, operands...) as in the Disassembly window. With this, you can: Find opcodes Find a ccesses to specific addresses (e.g. write to SFR register) Disassemble a s...
Active Watchdog issues 14-Aug-2024
When an active External Watchdog / System Basis Chip (SBC) or Internal CPU Watchdog is not serviced properly, i t can cause problems such as: Unintended reset during Flash programming or Mass Erase operation Error 258:Failed to initialize debug session BlueBox loses control over the CPU af...
RL78 ID code check fails 06-Aug-2024
Renesas RL78 devices have On-Chip debug security ID setting area. The values programmed to this device memory area are compared to the values of the bytes set in the winIDEA. If these two do not match, you get different effects when trying to debug this device like: RL78 ERROR Unlock ID co...
Missing callstack information when using GHS Compiler 14-Mar-2024
Possible solutions Command line Use the following compiler command line option (for Generate Target-Walkable Stack) : -gtws. To get maximum debug information with GHS Compiler follow this link . Calls tack Generation Probe different callstack options, e.g. if Automatic does not work, try w...
Infineon Aurix TC2xx/TC3xx: From INI files to winIDEA GUI settings - synchronization & peripheral suspension configuration guide 24-May-2024
This guide helps with the transition from using the INI files to using winIDEA GUI settings to configure synchronization and peripheral suspension. If you are also migrating from an old winIDEA version, please refer to the general transition guide as well. In the older winIDEA versions ( 9...
Reset is INACTIVE 30-Jul-2024
When trying to establish a debug session, the message Reset is INACTIVE appears in the Progress window and/or log file. Explanation The reset line state is reported for informational purposes . It is the state sensed on the reset signal of the debug connector. Message is usually informativ...
Setting debug interface voltage levels (Vref) 25-Jul-2024
The voltage levels for the debug interface are configured within winIDEA via the CPU Options dialog. Solution Make sure Vref is selected for Debug I/O levels, otherwise, the debug session fails or may behave unpredictably. 1. Open Hardware | CPU Options | Hardware . 2. Select the Vref opti...
EmuSync: Synchronizing parallel processors under winIDEA control 22-Jul-2024
You would like to synchronize: The basic debugging operations across multiple winIDEA instances, independent of the BlueBox platform and processor family The execution of a custom Python script using winIDEA SDK Possible solution With EmuSync you can keep track of many different winIDEA ap...
Error: Cannot stop the CPU 22-Jul-2024
Some possible reasons for this error to occur: Watchdog issues Clock source for CPU is set with higher frequency than allowed or predictable CPU suspended / in reset / running in sleep mode No debug line symbol available to put the breakpoint to stop the CPU winIDEA cannot attach to the co...
Running out of disk space 22-Jul-2024
winIDEA stores various temporary files in %TEMP%, or if specified, %ISYSTEM_TEMP% directory. Some files are meant to speed up your debugging experience and therefore may remain there even after winIDEA is closed.This means that the after a while, this directory will grow in size and may ta...
Target Download - Writing to a memory from a file without interrupting debug session 19-Jul-2024
With Target Download functionality you can write to memory from a file without resetting your target system. Solution 1. Open Debug |Configure Session |SoCs | Target Files . 3. Add files via the Add button you want to write to the target memory. 4. Go to the Startup page and s elect Target...
Infineon AURIX TC2xx, TC3xx: How to configure DAP over CAN (DXCPL)? 16-Jul-2024
DAP over CAN Physical Layer Converter (DXCPL) enables debugging via the regular CAN pins of the ECU connector without opening its housing. This connection is electrically robust due to the nature of the CAN bus. The DXCPL Converter translates Infineon AURIX™ SPD (Single Pin DAP) encoded DA...
winIDEA shows question marks in the Memory Window 26-Jun-2024
winIDEA shows question marks "??" in the Memory Window whenever a memory read at a specific memory location fails. Possible reasons No physical memory is present at the specific memory. The debug interface memory read command fails for some reason. The memory is not accessible after the mi...
Debug port disabled for security 27-May-2024
How to download new code/data when the application temporarily allows debug port access? For security reasons, your application can block access to the debug port,restricting readout or tampering of the firmware. In such a case, there is often some special code written in the application t...
How to display Enums values? 27-May-2024
winIDEA can displaydescriptive bit field Enums in the Watch window. Solution 1. Open Debug |Debug Options| Symbols . 2.Select an option from Enum display drop-down list: Enum - Displays the value as an Enum. Integer - Displays the value as a number. Enum (Int) - Displays value in both repr...
Mismatched regular and custom SFRs 27-May-2024
The following applies only in winIDEA 9.21.99 and older. When the regular Special Function Registers (SFR) window is expanded, winIDEA tries to read all of the expanded SFR registers. As soon as there is an access error, it stops reading the SFR registers and prints out the error message S...
JTAG scan when multiple devices are connected in a chain 24-May-2024
JTAG Chain scan functionality enables you to define IR/DR Prefix/Postfix values which could be entered in Hardware |CPU Options |JTAG . That is important when several devices are connected in a chain and you want to debug for example the second one. Possible solution: From winIDEA build 9....
Arm Cortex / Texas Instruments TMS570: Unlocking device for temporary debug access 24-May-2024
You can unlock the TexasInstruments TMS570 device with the AJSM unlock keyin winIDEA for temporary debug access. More information in winIDEA Help TMS570: AJSM Unlocking .
Infineon Aurix: Cannot step over function 24-May-2024
While debugging, some functions (or source lines) cannot be stepped over. A dialog Step Operation in Progress appears. If the CPU is run, the same function executes normally. One of the possible root causes for such behavior is that the function that is being stepped over uses interrupts o...
Infineon Aurix: How to release Watchdog from the suspend mode? 24-May-2024
When Aurix devices are in the debug mode, W atchdog is by default enabled, but the Watchdog Timer is unconditionally suspended (stopped), which means that the Watchdog never resets the chip. To use the Watchdog during debugging, you have to disable the Watchdog Timer suspended logic (or en...
Cannot locate source code 24-May-2024
Use the Directories page to help winIDEA locate (or share) the source code referenced in Symbol Files . This is necessary to allow source-level debugging. Possible scenarios You can locate files: From View | Symbols From an open Editor document If the original path to the source files is k...
How to clean and recreate a corrupted SFR database? 24-May-2024
Possible errors are: CPU variant not found Invalid SoC Error reading INI file (Errors when trying to perform memory writes contained in an initialization file) SoC not specified Empty Programmable memory devices list in Hardware |Options Empty Boot Core selection in Hardware |CPU Options |...
Executing cheksum control in my application fails when the debugger is connected 08-May-2024
Using software breakpoints impacts the checksum result. The debugger inserts a dedicated “software breakpoint” instruction on addresses where software breakpoints are set. These “software breakpoint” instructions are not visible, e.g. in the Disassembly or Memory Window at software breakpo...
I can no longer connect to the Target CPU 19-Apr-2024
Sometimes it can happen that the Target CPU ends up in a unrecoverable state after the debug session was established and operational . Neither performing Download or CPU Reset command regains winIDEA control over the Target CPU. Possible solution: Try to restart the whole setup via Power O...
Python modify() call not working with raw address (cache RAM) 18-Apr-2024
To be able to write to SFR register you need to use modify() call. Possible solutions Drag and drop an item to the Watch Window This way you will get the correct syntax and to find out the name for the SFR. Use this syntax in P ython Backslash '' \ '' in P ython is also used as an instruct...
How to find winIDEA build number? 18-Apr-2024
Solution Each winIDEA version has a unique build number with a committed number, e.g. 9.21.222 (162707). 1. Open Help / About winIDEA . 2. The build number is located at the bottom of the window:
How to start up a core? 18-Apr-2024
The Debug Entry feature in Hardware / CPU Options / Cores allows you to configure per-core startup actions. Use cases Want to debug a core immediatelyafter it is released from reset? 1. Open Hardware / CPU Options / core name . 2.Set the Debug entry type to Catch . This setting is overridd...
Updating SFRs takes a considerable time 28-Mar-2024
In some cases an update of the SFRs can be in tens of seconds. Therefore it is recommended to create a custom SFR group with the SFRs of interest. Possible solutions Check how to create a custom SFR group: Creating a custom SFR window - Tutorial Special Function Registers in winIDEA - Vide...
Infineon DAP miniWiggler 14-Mar-2024
Infineon DAS Wiggler plugin enables the use of the Infineon DAP miniWiggler directly within winIDEA to allow direct programming and debug control of AURIX devices. Supported IDEs and Licensing 32-bit winIDEA version 9.21.48 or higher 64-bit winIDEA version 9.21.48or higher with DAS V7.0 Th...
Switching contexts for Debug Windows via the Callstack Window 14-Mar-2024
Callstack display is one of the fundamental tools in the debugging process. Solution: 1. Open the Callstack Window via View / Debug / Callstack . 2. Set a breakpoint in the function. 3. Observe the entire callstack of the beginning of the execution up to the breakpoint. 4. Observe how to s...
How to manage a large number of SFRs? 14-Mar-2024
A special Function Register (SFR) is a register within a microcontroller that controls or monitors various aspects of its function, e.g. GPIO control registers, or processor status registers. Solution: Create a custom SFR Windowthat contains only the registers you select. 1. Open View / De...
Which Active Probe / Debug Adapter / Converter do I need? 14-Mar-2024
The following cross-over tables list all available Converters and their target connection. The tables explain which iC7/iC5000/iC5700 Debug Adapter or Active Probe the particular Converter can be used with. iC7 iC5 More resources iC7 / Active Probe Adapters User Manual iC5 Debug Adapters U...
The application behaves differently when it's running with the debugger connected 14-Mar-2024
Possible solution 1. Close all debug windows in winIDEA. 2. R un the application from the reset state on. This ensures that the debugger doesn’t access any Target CPU resources while the application is running. This also best mimics Target running standalone without the debugger connected....
NXP/ST Power Architecture: How to write to the OTP memory? 14-Mar-2024
The best method to write to the One-Time-Programmable (OTP, also shadow, TEST, UTEST) Memoryregions is by running a script, which uses winIDEA SDK to connect to winIDEA. I t is recommended to verify the script accuracy before writing to the OTP Memory, since the OTP Memory can only be prog...
Unpredictable CPU behavior due to unintended memory reads 14-Mar-2024
If the CPU starts to behave unpredictably, make sure you are not making any unintended memory reads. Possible solution Close all debug windows and see if this resolves the problem. This will help you identify which debug window is performing the problematic memory reads. Possible causes Me...
How to configure maximum debug interface frequency for best debug performance? 29-Nov-2023
Maximum debug interface frequency ensures that under all circumstances the debug interface communication works reliably, which is especially important during FLASH programming, where in worst case an error in transmission could cause the CPU/SoC device failure. Higher debug interface frequ...
How to get maximum debug information with GHS Compiler? 24-Nov-2023
Possible solution: These command line options provide maximum debug information when using GHS Compiler: dual_debug full_debug_info Omoredebug You should not use ignore_debug_references compiler command line option.
Troubleshooting the application using SFR dump 14-Jul-2023
With the SFR dump method, you can determine what CPU registers were changed between two points (e.g. between reset and some function, function entry and exit, CPU reset, and CPU initialization, etc.) and find issues via low-level debugging by revealing and comparing the content of two CPU ...
MPC551x: Internal Watchdog resets the CPU while debugging 04-Apr-2023
Possible solutions Disable internal watchdog The Internal Watchdog must be disabled because the Watchdog is not stopped when the application is stopped (microcontroller is in the debug mode). In such case, the Watchdog could reset the microcontroller while the application is stopped and th...
Breakpoint bisecting with winIDEA 05-Oct-2021
Find a bug in your code using basic debugging principles: Breakpoint bisecting Stepping into and over the code Using microcontroller documentation For a m ore detailed visualization of the whole configuration procedure follow the Breakpoint bisecting Tutorial!