...
When e2studio/FSP is used, the S project and NS project reside in the same workspace and are linked to one another. e2studio can generate NSC veneer.
Access to NSC drivers from a Non-secure project is possible through the Guard APIs. The FSP automatically generates guard functions for all the top-of-stack/driver APIs configured in the Secure project as Non-secure Callable. Example below:
1.3.5 Creating user-defined NSC functions
One can create a customized NSC API in the Secure project to expose only the top-level control of your algorithms and store the IP in the Secure Arm® Trust Zone® region. Precautions mentioned previously should be exercised during the creation of the user-defined NSC API.
The steps to create a customized NSC API are:
- Create the Non-secure Callable custom function by declaring the function with BSP_CMSE_NONSECURE_ENTRY.
- Create a header file that includes all the customized NSC function prototypes, for example, my_nsc_api.h.
- Include the path to the NSC header using the Build Variable as shown in below figure.
- Compile the Secure project to create the Secure Bundle. The NSC header will be automatically extracted for use in the Non-secure project.
1.3.5 S code calling NS code
If FreeRTOS is selected and there is access to NSC functions from a Thread in the Non-secure project, it is necessary to enable Allocate secure context for this thread in the configurator for that Thread.
ddd
1.3.6 USB debug interface setup
...
- RA Flexible Software Package Users Manual
- Security Design with ARM Trust Zone using Cortex M33
- Renesas Device Life Cycle Management Key Injection
- Renesas Device Life Cycle Management for Cortex M33
- RA4E1 device data sheet
- Segger J-Link RTT
- J-Link Telnet Interface
- J-Link SDK
...