Infineon AURIX How to program UCB and boot CPU?

31-Jul-2024

Programming User Configuration Block (UCBmemory is essential otherwise the CPU does not have the information from which address to boot. Refer to the Infineon documentation to determine which UCB sectors need to be programmed.


The number of writes to UCB is limited. Refer to your TriCore device documentation for the exact number of writes. Uncheck <UCB_device> box once UCB is programmed. 

Wrong UCB data can lock the device permanently. Use winIDEA Demo Mode before FLASH programming to test whether all UCB sectors contain correct data.


Possible solutions

UCB Checker requires a Security license. With Security license, you gain access to capabilities and functionalities that maximize the potential of UCB management practices. Check  this topic in winIDEA Help for more information.


Via UCB Checker / Startup Address dialog

1. Open the Hardware | Options | Programming page and check the UCB device box.

2. Open View | <device> AURIX | UCB Checker and establish a debug session.

3. Open Hamburger menu | Device Contents | Set Startup Address. For more information about this dialog, press F1 or go to Startup Address.


Via UCB Checker / New set

The same settings can be achieved by creating a new set. 

1. Open Hardware | Options | Programming page and check the UCB device box.

2. Open View | <device> AURIX | UCB Checker and establish a debug session.

3. Create a new set via the hamburger menu.

4. Inspect the current contents of the UCB in the Device Contents set and change them in the newly created set

For example, if you wish to configure TC3xx devices to boot properly, UCB_BMHD0_ORIG would be the best choice. Typically, you would want to change STAD, since this is the address that the device boots from. Be careful to leave other values in the legal state.



5. Select Program to Device on the newly created set, to write new values into UCB.

  • CRC_BMHD and CRC_BMHD_N will be calculated automatically.
  • BMHDID will be forced to 0xB359.
  • Content of the *_ORIG UCB will be programmed to the *_COPY UCB as well.


With a predefined Program file

1. Open Hardware Options | Programming and check the <UCB_device> box in the Programmable memory device section.

2. Add your UCB Program file to the list of files to be programmed via Debug | Configure session | SoCs | Program files

You can create the UCB Program file  (Motorola S-Rec or binary) via UCB Checker | Hamburger menu | New set | Save 

Take care when using files created from the UCB plugin. When copying device content to a set in the winIDEA UCB plugin, it can also set read-only UCBs.


3. Perform Download (each time the boot address or any other part of the UCB structure is changed). 

For more information on booting and using UCB_BMHD1-3, please refer to the Infineon documentation.


More resources in winIDEA Help

Was this answer helpful?