Basic application that presents basic usecases for the CSEc driver
- Note
- This example works only for CSEc enabled parts. SIM_SDID indicates whether CSEc is available on your device.
-
The first time when running the example on the board, or after a key erase, this example should be ran from RAM.
-
The user keys are non-volatile. Once the key was loaded, in order to update it, the counter should be increased.
-
After the user key was loaded using this example, any further full erase of the Flash requires a Challenge-Authentication process. This can be done by setting the ERASE_ALL_KEYS macro to 1.
Application description
The purpose of this demo application is to show the user how to use the Cryptographic Services Engine module from the S32K144 MCU with the S32 SDK API.
The implementation demonstrates the following:
- the enablement of the CSEc module, by showing how the Flash should be partitioned (using the Flash driver);
- configuring the MASTER_ECU key;
- configuring the first user key, using the MASTER_ECU key as an authorization;
- using the user key for an encryption. In order to update the user key after they were configured using the example the user should increase the counter used for loading the key. Erasing all the configured keys (including the MASTER_ECU key) can be done by changing the value of the ERASE_ALL_KEYS macro to 1. This will place the part back into factory status (the partition command will need to be run again). Please note that when the Flash is partitioned (the first time running the example on the board, or after a key erase), the example should not be run from Flash (please use the RAM configuration).
Prerequisites
The run the example you will need to have the following items:
- 1 S32K144 board
- 1 Power Adapter 12V (if the board cannot be powered from the USB port)
- 1 Personal Computer
- 1 Jlink Lite Debugger (optional, users can use Open SDA)
Boards supported
The following boards are supported by this application:
- S32K144EVB-Q100
- S32K144-MB
How to run
1. Importing the project into the workspace
After opening S32 Design Studio, go to File -> New S32DS Project From... and select csec_keyconfig_s32k144. Then click on Finish.
The project should now be copied into you current workspace.
2. Generating the Processor Expert configuration
First go to Project Explorer View in S32 DS and select the current project(csec_keyconfig_s32k144). Then go to Project and click on Generate Processor Expert Code
Wait for the code generation to be completed before continuing to the next step.
3. Building the project
Select the configuration to be built FLASH (Debug_FLASH) or RAM (Debug_RAM) by left clicking on the downward arrow corresponding to the build button(. Wait for the build action to be completed before continuing to the next step.
4. Running the project
Go to Run and select Debug Configurations. There will be four debug configurations for this project:
Configuration Name | Description |
csec_keyconfig_s32k144 Debug_RAM Jlink | Debug the RAM configuration using Segger Jlink debuggers |
csec_keyconfig_s32k144 Debug_FLASH Jlink | Debug the FLASH configuration using Segger Jlink debuggers |
csec_keyconfig_s32k144 Debug_RAM PEMicro | Debug the RAM configuration using PEMicro debuggers |
csec_keyconfig_s32k144 Debug_FLASH PEMicro | Debug the FLASH configuration using PEMicro debuggers |
Select the desired debug configuration and click on Launch. Now the perspective will change to the Debug Perspective.
Use the controls to control the program flow.
- Note
- For more detailed information related to S32 Design Studio usage please consult the available documentation.