In the STM32CubeN6 firmware package, the OEMuRoT example is not provided for all boards and all MCUs. This article explains how to generate the OEMuROT example for the NUCLEO-N657X0-Q board and for boards with the STM32N6 device.
1. OEMuRoT projects creation for NUCLEO-N657X0-Q
OEMuRoT example can be generated for the NUCLEO-N657X0-Q board using the STM32N6570-DK board as a reference.
This paragraph shows how to create the OEMuRoT projects for the NUCLEO-N657X0-Q board starting from STM32N6570-DK OEMuRoT projects. In the package, only readme files are provided in Firmware/Projects/NUCLEO-N657X0-Q/Applications/ROT, so the generation of the OEMuROT_Boot and OEMuROT_Appli projects can be done by following these steps:
- Get the source files from the STM32N6570-DK project:
- Copy the Firmware/Projects/STM32N6570-DK/Applications/ROT/OEMuROT_Boot content (except readme.md/.html) into the Firmware/Projects/NUCLEO-N657X0-Q/Applications/ROT/OEMuROT_Boot folder.
- Copy the Firmware/Projects/STM32N6570-DK/Applications/ROT/OEMuROT_Appli content (except readme.md/.html) into the Firmware/Projects/NUCLEO-N657X0-Q/Applications/ROT/OEMuROT_Appli folder.
- Copy the Firmware/Projects/STM32N6570-DK/ROT_Provisioning content (except readme.md/.html and env.bat/.sh) into Firmware/Projects/NUCLEO-N657X0-Q/ROT_Provisioning.
- Change the board name in the Firmware/Projects/NUCLEO-N657X0-Q/Applications/ROT project configurations (from STM32N6570-DK to NUCLEO-N657X0-Q):
- Depending on your toolchain, open the following files and replace STM32N6570-DK with NUCLEO-N657X0-Q (using a text editor, such as Notepad++):
- IAR (EWARM):
- OEMuROT_Boot\EWARM\Project.ewp and Project.ewd
- OEMuROT_Appli\EWARM\AppliSecure\Project_s.ewp and Project_s.ewd
- OEMuROT_Appli\EWARM\AppliNonSecure\Project_ns.ewp and Project_ns.ewd
- KEIL (MDK-ARM):
- OEMuROT_Boot\MDK-ARM\Project.uvprojx and Project.uvoptx
- OEMuROT_Appli\MDK-ARM\AppliSecure\Project_s.uvprojx and Project_s.uvoptx
- OEMuROT_Appli\MDK-ARM\AppliNonSecure\Project_ns.uvprojx and Project_ns.uvoptx
- STM32CubeIDE:
- OEMuROT_Boot\STM32CubeIDE\.project and .cproject
- OEMuROT_Appli\STM32CubeIDE\AppliSecure\.project and .cproject
- OEMuROT_Appli\STM32CubeIDE\AppliNonSecure\.project and .cproject
- IAR (EWARM):
- Depending on your toolchain, open the following files and replace STM32N6570-DK with NUCLEO-N657X0-Q (using a text editor, such as Notepad++):
You are now ready to follow the tutorial:
2. OEMuRoT project adaptation for STM32N64X devices
To adapt the existing STM32N657 OEMuRoT example to be compatible with devices without hardware-accelerated cryptography STM32N64X MCU, the user must:
- Disable hardware-accelerated cryptography by commenting BL2_HW_ACCEL_ENABLE (mcuboot_config.h).
- Disable MCE by commenting MCUBOOT_USE_MCE (flash_layout.h).