Follow instructions in

Create/export application for Keil µVision

. At the end of the process, you should see messages in the console. For a PSOC™ Control C3 device, one of the messages should read as follows:

The project is an ARM Trustzone secure project. The following need to be enabled in UVision IDE: Project->Options->Target->Software Model

In most cases, PSOC™ Control C3 applications are set to Trust Zone Secure by default. For more details about TrustZone technology, refer to the Arm® website:

https://www.arm.com/technologies/trustzone-for-cortex-m

.

When you open the application in Keil µVision, you need to check the TrustZone setting. Open the Options for Target dialog, select the

Target

tab, and ensure the

Software Model

option is set to "Secure Mode".



Save the application and select

Project > Build Target

to build it. The Output should display the progress, ending with text similar to this:

linking... bsps/TARGET_APP_KIT_PSC3M5_EVK/TOOLCHAIN_ARM/linker_s_flash.sct(107): warning: L6329W: Pattern *(.cy_sharedmem) only matches removed unused sections. bsps/TARGET_APP_KIT_PSC3M5_EVK/TOOLCHAIN_ARM/linker_s_flash.sct(113): warning: L6314W: No section matches pattern *(Veneer$$CMSE). Program Size: Code=16902 RO-data=1438 RW-data=312 ZI-data=64844
Finished: 0 information, 2 warning and 0 error messages. ".\Hello_World_Objects\Hello_World.axf" - 0 Error(s), 2 Warning(s). Build Time Elapsed: 00:00:22

In addition to the TrustZone technology from Arm, PSOC™ Control C3 devices have various security life cycle stages (LCS). For more details about security, refer to Application Note

AN240106 - Getting started with PSOC™ Control C3 security

.

The following sections provide details about working with a device with the default out of the box policy versus a device that has been provisioned. The process for each is similar, but there are important differences.