Hi, the Secure Provisioning Tool is very nice. Thanks for bringing all these steps into a single place.
If I take the blinky demo, I can make a signed image and load onto a board and it works.
But if I take another demo, such as freertos_hello, and make a signed image and load it onto the board it doesn't work. It only works IF TrustZone pre-config is set to "Enabled (preset)" in the provisioning tool.
The freertos_hello project had a TrustZone directory, it was deleted. The "power switch" in the TEE config tools is off. In the Compiler settings, the TrustZone project type is set to "none", and ditto in Linker.
Why must TrustZone be enabled in order for freertos_hello to run?
Solved! Go to Solution.
MCUXpresso IDE 11.2.1, SDK 2.8.2, processor is LPC55s16 64 pin on custom board. Secure Provisioning Tool is Version 2.1.
I took the freertos_hello, configured an output pin for an LED, and then toggled that LED in a loop. If signed image is picked in the provisioning tool, the image doesn't run. If I enable TrustZone, then it runs.
can you please double check what is start address at build page? It is expected to be zero. I'm asking because if TrustZone is used, it forces zero start address using VTOR register.
> The freertos_hello project had a TrustZone directory, it was deleted.
I do not see any "TrustZone" directory. Could you send a screenshot? May be I do not understand what you mean.
Do other examples work for you? For example hello_world or some other simple example without FreeRTOS?
Hi Matt from Seattle,
can you please provide additional details:
- what SDK package are you using? What processor or board is it? What version?
- Is this problem related to SDK example "rtos_examples\freertos_hello"?
- What toolchain did you use to build the project?