Skip to content

Commit 7202d77

Browse files
committed
add descriptions for config
1 parent 7290234 commit 7202d77

File tree

4 files changed

+172
-1
lines changed

4 files changed

+172
-1
lines changed

wolfBoot/Makefile

+2-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ APPENDIX= appendix01.md \
2323
appendix10.md \
2424
appendix11.md \
2525
appendix12.md \
26-
appendix13.md
26+
appendix13.md \
27+
appendix14.md
2728

2829
ifeq ($(DOC_LANG),JA)
2930
PDF = wolfBoot-Manual-jp.pdf

wolfBoot/mkdocs.yml

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ nav:
2525
- "K. wolfBoot Key Tools": appendix11.md
2626
- "L. wolfCrypt in TrustZone-M secure domain": appendix12.md
2727
- "M. wolfBoot TPM support": appendix13.md
28+
- "N. wolfBoot Configuration Options": appendix14.md
2829
theme:
2930
name: null
3031
custom_dir: ../mkdocs-material/material

wolfBoot/src/appendix14.md

+167
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,167 @@
1+
# wolfBoot Configuration Options
2+
3+
This section shows parameters by running `make config`.
4+
5+
- `ARCH`: Architecture of the target to be used.
6+
- Default: ARM
7+
- Possible: x86_64/AARCH64/ARM/RNESAS_RX/RISCV/PPC/ARM_BE
8+
9+
- `HASH`: Selection of hash algorithm to be used.
10+
- Default: SHA256
11+
- Possible: SHA3/SHA256/SHA384
12+
13+
- `MCUXSDK`: Enable when using NXP's MCUXpresso SDK.
14+
- Default: 1
15+
16+
- `MCUXPRESSO`: Setting for MCUXpresso IDE environment.
17+
- Default: /mnt/c/Users/(User)/(Project)/wolfboot-2.4.0/mcux-sdk
18+
19+
- `MCUXPRESSO_CPU`: CPU-specific settings for MCUXpresso.
20+
- Default: MK64FN1M0VLL12
21+
22+
- `MCUXPRESSO_DRIVERS`: Enable driver support for MCUXpresso.
23+
- Default: /mnt/c/Users/(User)/(Project)/wolfboot-2.4.0/mcux-sdk/devices/MK64F12
24+
25+
- `MCUXPRESSO_CMSIS`: Enable CMSIS (Cortex Microcontroller Software Interface Standard) library.
26+
- Default: /mnt/c/Users/(User)/(Project)/wolfboot-2.4.0/CMSIS_5/CMSIS
27+
28+
- `FREEDOM_E_SDK`: Enable when using SiFive Freedom-E SDK (for RISC-V).
29+
- Default: /home/(User)/src/freedom-e-sdk
30+
31+
- `STM32CUBE`: Enable STM32Cube HAL (for STM32).
32+
- Default: /home/(User)/STM32Cube/Repository/STM32Cube_FW_WB_V1.3.0
33+
34+
- `CYPRESS_PDL`: Enable Cypress Peripheral Driver Library (PDL).
35+
- Default: /home/(User)/src/psoc6pdl
36+
37+
- `CYPRESS_CORE_LIB`: Enable Cypress core library.
38+
- Default: /home/(User)/src/cypress-core-lib
39+
40+
- `CYPRESS_TARGET_LIB`: Enable Cypress target-specific library.
41+
- Default: /home/(User)/src/TARGET_CY8CKIT-062S2-43012
42+
43+
- `CORTEX_M7`: Enable when targeting ARM Cortex-M7.
44+
- Default: 0
45+
46+
- `CORTEX_M33`: Enable when targeting ARM Cortex-M33.
47+
- Default: 0
48+
49+
- `NO_ASM`: Disable assembly optimizations and implement in C language only.
50+
- Default: 0
51+
52+
- `NO_XIP`: Disable XIP (Execute in Place) (do not execute code directly from flash memory).
53+
- Default: 0
54+
55+
- `WOLFBOOT_VERSION`: Option to specify the version of wolfBoot.
56+
- Default is set in include/wolfboot/version.h
57+
58+
- `V`: Enable Verbose build.
59+
- Default: 0
60+
61+
- `NO_MPU`: Disable Memory Protection Unit (MPU).
62+
- Default: 0
63+
64+
- `SPMATH`: Enable SP Math library (single-precision math library).
65+
- Default: 1
66+
67+
- `SPMATHALL`: Enable all SP Math functions.
68+
- Default: 0
69+
70+
- `IMAGE_HEADER_SIZE`: Specify the firmware image header size.
71+
- Default: 256
72+
73+
- `PKA`: Enable public key cryptography processing (Public Key Accelerator).
74+
- Default: 1
75+
76+
- `TZEN`: Enable TrustZone security features.
77+
- Default: 0
78+
79+
- `PSOC6_CRYPTO`: Use Cypress PSoC 6 series hardware cryptographic engine.
80+
- Default: 1
81+
82+
- `WOLFBOOT_TPM_VERIFY`: Enable firmware verification using TPM (Trusted Platform Module).
83+
- Default: 0
84+
85+
- `WOLFBOOT_TPM_SEAL`: Enable function to seal data using TPM.
86+
- Default: 0
87+
88+
- `WOLFBOOT_TPM_KEYSTORE`: Enable key storage using TPM.
89+
- Default: 0
90+
91+
- `WOLFCRYPT_TZ`: Enable the use of wolfCrypt in TrustZone.
92+
- Default: 0
93+
94+
- `WOLFCRYPT_TZ_PKCS11`: Enable PKCS#11 interface in TrustZone.
95+
- Default: 0
96+
97+
- `WOLFBOOT_LOAD_ADDRESS`: Specify the load address for wolfBoot.
98+
- Default: 0x200000
99+
100+
- `WOLFBOOT_LOAD_DTS_ADDRESS`: Specify the load address for Device Tree Storage (DTS).
101+
- Default: 0x400000
102+
103+
- `WOLFBOOT_DTS_BOOT_ADDRESS`: Specify the device tree address during boot.
104+
- Default: 0x30000
105+
106+
- `WOLFBOOT_DTS_UPDATE_ADDRESS`: Specify the device tree address for updates.
107+
- Default: 0x50000
108+
109+
- `DELTA_BLOCK_SIZE`: Specify the block size for delta updates.
110+
- Default: 256
111+
112+
- `WOLFBOOT_HUGE_STACK`: Option to increase stack size.
113+
- Default: 0
114+
115+
- `FORCE_32BIT`: Option to force build as a 32-bit system.
116+
- Default: 0
117+
118+
- `ENCRYPT_WITH_CHACHA`: Enable firmware encryption using the ChaCha algorithm.
119+
- Default: 0
120+
121+
- `ARMORED`: Enable additional mitigations against fault-injection attacks, e.g. voltage and clock glitches, or EMFI.
122+
- Default: 0
123+
124+
- `LMS_LEVELS`: Specify the levels for LMS (Leighton-Micali Signature) hash-based signatures.
125+
- Default: 0
126+
127+
- `LMS_HEIGHT`: Specify the hash tree height for LMS signatures.
128+
- Default: 0
129+
130+
- `LMS_WINTERNITZ`: Set the Winternitz coefficient (LMS signature parameter).
131+
- Default: 0
132+
133+
- `WOLFBOOT_UNIVERSAL_KEYSTORE`: Enable storing public keys of different types in the same keystore.
134+
- Default: 0
135+
136+
- `XMSS_PARAMS`: Specify parameters for XMSS (eXtended Merkle Signature Scheme).
137+
- Default: XMSS-SHA2_10_256
138+
- Possible: XMSS-SHA2_10_256
139+
140+
- `ELF`: Enable support for ELF format.
141+
- Default: 0
142+
143+
- `BIG_ENDIAN`: Support big-endian architecture.
144+
- Default: 0
145+
146+
- `NXP_CUSTOM_DCD`: Enable custom DCD (Device Configuration Data) settings for NXP platforms.
147+
- Default: 0
148+
149+
- `NXP_CUSTOM_DCD_OBJS`: Enable custom DCD objects for NXP.
150+
151+
- `FLASH_OTP_KEYSTORE`: Enable flash key storage using OTP (One-Time Programmable) memory.
152+
- Default: 0
153+
154+
- `KEYVAULT_OBJ_SIZE`: Specify the size of objects stored in KeyVault.
155+
156+
- `KEYVAULT_MAX_ITEMS`: Specify the maximum number of items that can be stored in KeyVault.
157+
158+
- `NO_ARM_ASM`: Disable ARM assembly code and implement in C language only.
159+
- Default: 0
160+
161+
- `SIGN_SECONDARY`: Enable a second signature for the images. Used to implement hybrid mode (e.g. ECC + ML_DSA). Set to the secondary algorithm selected for hybrid (classic + PQC) authentication.
162+
163+
- `WOLFHSM_CLIENT`: Enable wolfHSM client (HSM).
164+
- Default: 0
165+
166+
- `WOLFHSM_CLIENT_LOCAL_KEYS`: Option for wolfHSM client to use local keys.
167+
- Default: 0

wolfBoot/src/chapter02.md

+2
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ Once a .config file is in place, it will change the default compile-time options
1818

1919
.config can be modified with a text editor to alter the default options later on.
2020

21+
Detailed parameters can be found at [Appendix. N](appendix14.md)
22+
2123
## Platform selection
2224

2325
If supported natively, the target platform can be specified using the `TARGET` variable. Make will automatically select the correct compile option, and include the corresponding HAL for the selected target.

0 commit comments

Comments
 (0)