Infineon AURIX TC2xx: Application misbehaves, exception is triggered, "Step in" does not work for some functions, Verify ERROR

19-Oct-2024

This topic applies only to winIDEA versions up to 9.21.126. For HSM flash sector security in newer winIDEA versions the code which goes to those sectors is already checked by the Image checker. For more information refer to the Infineon AURIX: Prevent locking


On the first generation, TriCore devices (also TC2xx) sectors S6, S16, and S17 of Program Memory Unit (PMU0) Program Flash (also PFLASH) bank 0 (PF0) are the only sectors where HSM code can be programmed for the devices that have Hardware Security Module (HSM). These sectors can be programmed in two different ways:

  • With non-security code as other sectors or
  • Specifically with the security code for HSM.

To prevent accidental overwriting of these sectors when using HSM, winIDEA implements the option to protect these sectors for all TC2xx devices, which is enabled by default.

If these sectors are supposed to be used for non-security applications then their programming must be enabled by disabling the protection. If not it can have various undesired effects (such as the ones described in the topic article title). Together with verification failure after download of the program files, these effects are even more likely to occur. Therefore option Verify after download has to be enabled as well. 


Possible solution

Enable Allow HSM sector (S6, S16, S17) programming and Verify after download options.

1. Navigate to Hardware | <related PFLASH device> | Configure to open the Device window.

2. Check the Allow HSM sector (S6, S16, S17) programming option to disable protection of these sectors.

3. Check the Verify option in Debug | Configure Session | SoC | Startup | After download to have verification after the download is enabled and confirm that programming was done correctly. 

If a Hardware Security Module (HSM) is used, mishandling of the HSM code sectors can lock the device permanently.


More resources in winIDEA Help

Was this answer helpful?