sgrams / libstcrypto-example-nucleo_l552ze-q

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

libstcrypto-example-nucleo_l552ze-q

This is an example project demonstrating libstcrypto usage on ©STMicroelectronics' target NUCLEO L552ZE-Q.

More info on the development platform:
https://www.st.com/en/evaluation-tools/nucleo-l552ze-q.html

License information

Majority of the source code is using MIT License - mainly code written by the author. Please see LICENSE file for more details.

Some of the parts might be using SLA0044 license. See file below for more details:
https://www.st.com/content/ccc/resource/legal/legal_agreement/license_agreement/group0/87/0c/3d/ad/0a/ba/44/26/DM00216740/files/DM00216740.pdf/jcr:content/translations/en.DM00216740.pdf

Project dependencies

Option bytes

In order to program the target, following option bytes MUST be set:

  • TZEN = 1 – marking TZ (Arm® TrustZone) enabled
  • DBANK = 1 – marking flash dual banking enabled
  • SECWM1_PSTRT = 0x00, SECWM1_PEND = 0x7F – marking all 128 pages of Bank1 flash secured
  • SECMW2_PSTRT = 0x01, SECWM2_PEND = 0x00 – marking none pages of Bank2 flash secured

Flash layout

The flash of the target (512 KB) is split into two halves (each 256 KB sized) for secure and non-secure domains.
TBC

Debug messages

All debug messages use SWV ITM (Serial Wire Viewer Instruction Trace Module).
This is achieved by _write function overloading (weak attribute).
See (Secure|NonSecure)/Core/Src/syscall.c for the actual implementation.

Example usage

This example project provides following use cases of libstcrypto library:

  • TBC
  • TBC

Stanislaw Grams ® stanislawgrams@gmail.com

About

License:MIT License


Languages

Language:C 99.5%Language:Assembly 0.5%