To get started with the LPC55S69 and TrustZone, I am running the TrustZone hello world example from the SDK example projects on the LPC55S69-EVK board. My first problem is, that I am not able to erase the flash with the GUI flash tool. As long as I only tried a project from the driver examples without trustzone, everything worked fine. As soon as I flashed the hello world trustzone example, I was not even able to debug anymore.
I could solve the debug-problem through setting Debugger -> Configuration Options -> Flash Driver Reset Handling -> Select SYSRESETREQ in the launch configuration of the project. In the GUI flash tool, I can also select SYSRESETREQ, but it still fails to erase/program the flash. As soon as I have flashed a single non-secure project again, it's possible to erase the flash again. The error is always:
Flash Driver V.2 startup failed - rc Ef(34): Timed-out initializing flash.
chip initialization failed - Ef(34): Timed-out initializing flash.
failed to initialize flash driver LPC55xx.cfx
And just as a note: Debugging fails regularly. It can always be fixed through hitting the "Clean up Debug" button first and then starting debugging from the Quick Start panel but it would be nice if debugging would just work always as expected.
UPDATE: I "solved" the second problem, that the non-secure application fails to link: When importing the SDK example, the GUI provides the possibility to add a suffix to the project. If this is done, the non-secure application won't link. The reason is, that the application expects that the library generated by the secure project is named: lpcxpresso55s69_hello_world_s_CMSE_lib.o. This is not the case if a suffix was added to the project name. It then must be configured in non-secure Project Properties -> C/C++ Build -> Settings -> MCU Linker -> Miscellaneous -> Other Objects, then the project will link again (if the secure application was built before).