cancel
Showing results for 
Search instead for 
Did you mean: 

Can't run any TrustZone enabled project - Nucleo-U575ZI-Q

GreatMachinist
Associate

Hello everyone!

I’ve been struggling for a while with TrustZone projects on the NUCLEO-U575ZI-Q. I’ve tried both the STM32CubeU5 example projects (Templates/TrustZoneEnabled/ and Examples/GPIO/GPIO_IOToggle_TrustZone/) and my own CubeMX-generated project, but I can’t get any of them to run successfully. I'm using STM32CubeIDE.

I've tried running the example projects, this is the error I get when building:

make: *** No rule to make target '/home/Drivers/STM32U5xx_HAL_Driver/Src/stm32u5xx_hal.c', needed by 'Drivers/STM32U5xx_HAL_Driver/stm32u5xx_hal.o'. Stop.

I've set the Option bytes correctly, Secure Area 2 is set to NonSecure and TZEN bit is set to 1.

I've also generated a project with CubeMX:

  • Enabled TrustZone, applied Application Regions Settings to Linker files/Peripherals.
  • When the non-secure world calls NonSecure_ResetHandler(), I get a HardFault at address 0x08100d81.

Questions:

  1. How can I fix the Makefile error in the GitHub examples?
  2. Why would calling NonSecure_ResetHandler() from a CubeMX-generated project cause a HardFault at that address?
  3. Are there any minimal working examples for NUCLEO-U575ZI-Q TrustZone projects that I can compile and run directly with CubeIDE?

Any guidance or pointers would be greatly appreciated.

1 REPLY 1
lobna
ST Employee