Can't run any TrustZone enabled project - Nucleo-U575ZI-Q
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:
- How can I fix the Makefile error in the GitHub examples?
- Why would calling NonSecure_ResetHandler() from a CubeMX-generated project cause a HardFault at that address?
- 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.
