Skip to content

Commit 53775cc

Browse files
committed
Update target doc
1 parent d56c0ac commit 53775cc

1 file changed

Lines changed: 277 additions & 31 deletions

File tree

docs/Targets.md

Lines changed: 277 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2289,17 +2289,22 @@ LinkServer flash LPC55S69 erase
22892289
```sh
22902290
LinkServer flash LPC55S69 load factory.bin:0
22912291
```
2292+
NOTE: See [tools/scripts/lpc55s69/lpc55s69_flash_factory_bin.cmm](/tools/scripts/lpc55s69/lpc55s69_flash_factory_bin.cmm) for the lauterbach equivalent of 1 and 2 combined.
22922293

22932294
3) The LED will light up blue to indicate version 1 of the firmware is running. You should also see output
22942295
like this in the terminal window:
22952296

22962297
```sh
22972298
lpc55s69 init
2298-
Boot partition: 0xA000 (sz 24016, ver 0x1, type 0x601)
2299-
Partition 1 header magic 0xFFFFFFFF invalid at 0x15000
2300-
Boot partition: 0xA000 (sz 24016, ver 0x1, type 0x601)
2299+
Boot partition: 0xD000 (sz 22460, ver 0x1, type 0x601)
2300+
Partition 1 header magic 0xFFFFFFFF invalid at 0x18000
2301+
Boot partition: 0xD000 (sz 22460, ver 0x1, type 0x601)
23012302
Booting version: 0x1
2302-
lpc55s69 init
2303+
2304+
==================================
2305+
LPC55S69 wolfBoot demo Application
2306+
Copyright 2026 wolfSSL Inc
2307+
==================================
23032308
boot: ver=0x1 state=0xFF
23042309
update: ver=0x0 state=0xFF
23052310
Calling wolfBoot_success()
@@ -2312,25 +2317,30 @@ Calling wolfBoot_success()
23122317
1) Sign the test-app with version 2:
23132318

23142319
```sh
2315-
./tools/keytools/sign --ecc384 --sha384 test-app/image.bin wolfboot_signing_private_key.der 2
2320+
./tools/keytools/sign --ecc384 --sha256 test-app/image.bin wolfboot_signing_private_key.der 2
23162321
```
23172322

23182323
2) Flash v2 update binary to your `.config`'s `WOLFBOOT_PARTITION_UPDATE_ADDRESS`
23192324

23202325
Example:
23212326
```sh
2322-
LinkServer flash LPC55S69 load test-app/image_v2_signed.bin:0x15000
2327+
LinkServer flash LPC55S69 load test-app/image_v2_signed.bin:0x18000
23232328
```
2329+
NOTE: See [tools/scripts/lpc55s69/lpc55s69_flash_update.cmm](/tools/scripts/lpc55s69/lpc55s69_flash_update.cmm) for the lauterbach equivalent.
23242330

23252331
3) You should see output like this in the terminal window:
23262332

23272333
```sh
23282334
lpc55s69 init
2329-
Boot partition: 0xA000 (sz 24016, ver 0x1, type 0x601)
2330-
Update partition: 0x15000 (sz 24016, ver 0x2, type 0x601)
2331-
Boot partition: 0xA000 (sz 24016, ver 0x1, type 0x601)
2335+
Boot partition: 0xD000 (sz 22460, ver 0x1, type 0x601)
2336+
Update partition: 0x18000 (sz 22460, ver 0x2, type 0x601)
2337+
Boot partition: 0xD000 (sz 22460, ver 0x1, type 0x601)
23322338
Booting version: 0x1
2333-
lpc55s69 init
2339+
2340+
==================================
2341+
LPC55S69 wolfBoot demo Application
2342+
Copyright 2026 wolfSSL Inc
2343+
==================================
23342344
boot: ver=0x1 state=0x00
23352345
update: ver=0x2 state=0xFF
23362346
Update detected, version: 0x2
@@ -2347,18 +2357,18 @@ like this in the terminal window:
23472357

23482358
```sh
23492359
lpc55s69 init
2350-
Update partition: 0x15000 (sz 24016, ver 0x2, type 0x601)
2351-
Boot partition: 0xA000 (sz 24016, ver 0x1, type 0x601)
2352-
Update partition: 0x15000 (sz 24016, ver 0x2, type 0x601)
2360+
Update partition: 0x18000 (sz 22460, ver 0x2, type 0x601)
2361+
Boot partition: 0xD000 (sz 22460, ver 0x1, type 0x601)
2362+
Update partition: 0x18000 (sz 22460, ver 0x2, type 0x601)
23532363
Starting Update (fallback allowed 0)
2354-
Update partition: 0x15000 (sz 24016, ver 0x2, type 0x601)
2355-
Boot partition: 0xA000 (sz 24016, ver 0x1, type 0x601)
2364+
Update partition: 0x18000 (sz 22460, ver 0x2, type 0x601)
2365+
Boot partition: 0xD000 (sz 22460, ver 0x1, type 0x601)
23562366
Versions: Current 0x1, Update 0x2
23572367
Copy sector 0 (part 1->2)
23582368
Copy sector 0 (part 0->1)
23592369
Copy sector 0 (part 2->0)
2360-
Boot partition: 0xA000 (sz 24016, ver 0x2, type 0x601)
2361-
Update partition: 0x15000 (sz 24016, ver 0x1, type 0x601)
2370+
Boot partition: 0xD000 (sz 22460, ver 0x2, type 0x601)
2371+
Update partition: 0x18000 (sz 22460, ver 0x1, type 0x601)
23622372
Copy sector 1 (part 1->2)
23632373
Copy sector 1 (part 0->1)
23642374
Copy sector 1 (part 2->0)
@@ -2491,23 +2501,18 @@ Copy sector 43 (part 2->0)
24912501
Copy sector 44 (part 1->2)
24922502
Copy sector 44 (part 0->1)
24932503
Copy sector 44 (part 2->0)
2494-
Copy sector 45 (part 1->2)
2495-
Copy sector 45 (part 0->1)
2496-
Copy sector 45 (part 2->0)
2497-
Copy sector 46 (part 1->2)
2498-
Copy sector 46 (part 0->1)
2499-
Copy sector 46 (part 2->0)
2500-
Copy sector 47 (part 1->2)
2501-
Copy sector 47 (part 0->1)
2502-
Copy sector 47 (part 2->0)
2503-
Erasing remainder of partition (38 sectors)...
2504-
Boot partition: 0xA000 (sz 24016, ver 0x2, type 0x601)
2505-
Update partition: 0x15000 (sz 24016, ver 0x1, type 0x601)
2504+
Erasing remainder of partition (41 sectors)...
2505+
Boot partition: 0xD000 (sz 22460, ver 0x2, type 0x601)
2506+
Update partition: 0x18000 (sz 22460, ver 0x1, type 0x601)
25062507
Copy sector 85 (part 0->2)
25072508
Copied boot sector to swap
2508-
Boot partition: 0xA000 (sz 24016, ver 0x2, type 0x601)
2509+
Boot partition: 0xD000 (sz 22460, ver 0x2, type 0x601)
25092510
Booting version: 0x2
2510-
lpc55s69 init
2511+
2512+
==================================
2513+
LPC55S69 wolfBoot demo Application
2514+
Copyright 2026 wolfSSL Inc
2515+
==================================
25112516
boot: ver=0x2 state=0x10
25122517
update: ver=0x1 state=0xFF
25132518
Calling wolfBoot_success()
@@ -2530,7 +2535,248 @@ b main
25302535
mon reset
25312536
c
25322537
```
2538+
NOTE: See [tools/scripts/lpc55s69/lpc55s69_debug.cmm](/tools/scripts/lpc55s69/lpc55s69_debug.cmm) for the lauterbach equivalent.
2539+
2540+
2541+
### LPC55S69: Test and Benchmark
2542+
2543+
Here is an example of how to run wolfCrypt test and benchmarking on actual hardware.
2544+
2545+
1. Start with [lpc55s69-benchmark.config](/config/examples/lpc55s69-benchmark.config)
2546+
- By default, the config file has PKA?=0, which means hardware acceleration of crypto is off. Let's try that first.
2547+
```sh
2548+
cp config/examples/lpc55s69-benchmark.config .config
2549+
make clean
2550+
make
2551+
```
2552+
2553+
2. Flash the factory.bin and reboot...
2554+
```sh
2555+
lpc55s69 init
2556+
Boot partition: 0x10000 (sz 162932, ver 0x1, type 0x201)
2557+
Partition 1 header magic 0xFFFFFFFF invalid at 0x3B000
2558+
Boot partition: 0x10000 (sz 162932, ver 0x1, type 0x201)
2559+
Booting version: 0x1
2560+
2561+
==================================
2562+
LPC55S69 wolfBoot demo Application
2563+
Copyright 2026 wolfSSL Inc
2564+
==================================
2565+
boot: ver=0x1 state=0xFF
2566+
update: ver=0x0 state=0xFF
2567+
Calling wolfBoot_success()
2568+
boot: ver=0x1 state=0x00
2569+
update: ver=0x0 state=0xFF
2570+
2571+
Running wolfCrypt tests...
2572+
------------------------------------------------------------------------------
2573+
wolfSSL version 5.9.1
2574+
------------------------------------------------------------------------------
2575+
macro test passed!
2576+
error test passed!
2577+
MEMORY test passed!
2578+
asn test passed!
2579+
SHA-256 test passed!
2580+
SHA-384 test passed!
2581+
SHA-512 test passed!
2582+
SHA-512/224 test passed!
2583+
SHA-512/256 test passed!
2584+
RANDOM test passed!
2585+
Hash test passed!
2586+
HMAC-SHA256 test passed!
2587+
HMAC-SHA384 test passed!
2588+
HMAC-SHA512 test passed!
2589+
GMAC test passed!
2590+
AES test passed!
2591+
AES192 test passed!
2592+
AES256 test passed!
2593+
AES-CBC test passed!
2594+
AES-CTR test passed!
2595+
AES-OFB test passed!
2596+
AES-GCM test passed!
2597+
AES-CFB test passed!
2598+
ECC test passed!
2599+
ECC buffer test passed!
2600+
logging test passed!
2601+
mutex test passed!
2602+
memcb test passed!
2603+
Test complete
2604+
Tests complete.
2605+
2606+
2607+
Running wolfCrypt benchmarks...
2608+
wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
2609+
RNG SHA-256 DRBG 325 KiB took 1.044 seconds, 311.302 KiB/s
2610+
AES-128-CBC-enc 350 KiB took 1.051 seconds, 333.016 KiB/s
2611+
AES-128-CBC-dec 350 KiB took 1.057 seconds, 331.125 KiB/s
2612+
AES-192-CBC-enc 300 KiB took 1.035 seconds, 289.855 KiB/s
2613+
AES-192-CBC-dec 300 KiB took 1.040 seconds, 288.461 KiB/s
2614+
AES-256-CBC-enc 275 KiB took 1.064 seconds, 258.458 KiB/s
2615+
AES-256-CBC-dec 275 KiB took 1.062 seconds, 258.701 KiB/s
2616+
AES-128-GCM-enc 275 KiB took 1.036 seconds, 265.188 KiB/s
2617+
AES-128-GCM-dec 275 KiB took 1.035 seconds, 265.444 KiB/s
2618+
AES-192-GCM-enc 250 KiB took 1.057 seconds, 236.518 KiB/s
2619+
AES-192-GCM-dec 250 KiB took 1.056 seconds, 236.742 KiB/s
2620+
AES-256-GCM-enc 225 KiB took 1.047 seconds, 214.899 KiB/s
2621+
AES-256-GCM-dec 225 KiB took 1.046 seconds, 215.105 KiB/s
2622+
AES-128-GCM-enc-no_AAD 275 KiB took 1.033 seconds, 265.957 KiB/s
2623+
AES-128-GCM-dec-no_AAD 275 KiB took 1.032 seconds, 266.214 KiB/s
2624+
AES-192-GCM-enc-no_AAD 250 KiB took 1.053 seconds, 237.191 KiB/s
2625+
AES-192-GCM-dec-no_AAD 250 KiB took 1.052 seconds, 237.416 KiB/s
2626+
AES-256-GCM-enc-no_AAD 225 KiB took 1.044 seconds, 215.517 KiB/s
2627+
AES-256-GCM-dec-no_AAD 225 KiB took 1.042 seconds, 215.723 KiB/s
2628+
GMAC Table 1 MiB took 1.009 seconds, 1.208 MiB/s
2629+
AES-128-ECB-enc 374 KiB took 1.026 seconds, 364.167 KiB/s
2630+
AES-128-ECB-dec 385 KiB took 1.027 seconds, 374.878 KiB/s
2631+
AES-192-ECB-enc 319 KiB took 1.024 seconds, 311.219 KiB/s
2632+
AES-192-ECB-dec 330 KiB took 1.018 seconds, 323.846 KiB/s
2633+
AES-256-ECB-enc 286 KiB took 1.036 seconds, 276.061 KiB/s
2634+
AES-256-ECB-dec 286 KiB took 1.006 seconds, 284.011 KiB/s
2635+
AES-128-CFB-enc 350 KiB took 1.064 seconds, 328.947 KiB/s
2636+
AES-128-CFB-dec 350 KiB took 1.057 seconds, 331.125 KiB/s
2637+
AES-192-CFB-enc 300 KiB took 1.046 seconds, 286.532 KiB/s
2638+
AES-192-CFB-dec 300 KiB took 1.039 seconds, 288.461 KiB/s
2639+
AES-256-CFB-enc 275 KiB took 1.074 seconds, 256.052 KiB/s
2640+
AES-256-CFB-dec 275 KiB took 1.067 seconds, 257.490 KiB/s
2641+
AES-128-OFB-enc 350 KiB took 1.020 seconds, 343.137 KiB/s
2642+
AES-128-OFB-dec 350 KiB took 1.019 seconds, 343.137 KiB/s
2643+
AES-192-OFB-enc 300 KiB took 1.009 seconds, 297.324 KiB/s
2644+
AES-192-OFB-dec 300 KiB took 1.009 seconds, 297.324 KiB/s
2645+
AES-256-OFB-enc 275 KiB took 1.038 seconds, 264.677 KiB/s
2646+
AES-256-OFB-dec 275 KiB took 1.039 seconds, 264.423 KiB/s
2647+
AES-128-CTR 350 KiB took 1.010 seconds, 346.191 KiB/s
2648+
AES-192-CTR 300 KiB took 1.003 seconds, 299.102 KiB/s
2649+
AES-256-CTR 275 KiB took 1.033 seconds, 265.957 KiB/s
2650+
SHA-256 1000 KiB took 1.000 seconds, 1000.000 KiB/s
2651+
SHA-384 425 KiB took 1.060 seconds, 400.565 KiB/s
2652+
SHA-512 425 KiB took 1.060 seconds, 400.565 KiB/s
2653+
SHA-512/224 425 KiB took 1.062 seconds, 400.188 KiB/s
2654+
SHA-512/256 425 KiB took 1.060 seconds, 400.565 KiB/s
2655+
HMAC-SHA256 1000 KiB took 1.009 seconds, 991.080 KiB/s
2656+
HMAC-SHA384 400 KiB took 1.015 seconds, 394.088 KiB/s
2657+
HMAC-SHA512 400 KiB took 1.015 seconds, 394.088 KiB/s
2658+
ECC [ SECP256R1] 256 key gen 72 ops took 1.007 sec, avg 13.986 ms, 71.499 ops/sec
2659+
ECDHE [ SECP256R1] 256 agree 34 ops took 1.013 sec, avg 29.823 ms, 33.530 ops/sec
2660+
ECDSA [ SECP256R1] 256 sign 42 ops took 1.036 sec, avg 24.690 ms, 40.501 ops/sec
2661+
ECDSA [ SECP256R1] 256 verify 22 ops took 1.003 sec, avg 45.590 ms, 21.934 ops/sec
2662+
RNG 256 SHA256 Init/Free 196 ops took 1.003 sec, avg 5.117 ms, 195.413 ops/sec
2663+
Benchmark complete
2664+
Benchmarks complete.
2665+
```
2666+
2667+
2. Now try changing to PKA?=1 in the config file, rebuild, and reflash...
2668+
```sh
2669+
lpc55s69 init
2670+
Boot partition: 0x10000 (sz 163148, ver 0x1, type 0x201)
2671+
Partition 1 header magic 0xFFFFFFFF invalid at 0x3B000
2672+
Boot partition: 0x10000 (sz 163148, ver 0x1, type 0x201)
2673+
Booting version: 0x1
25332674

2675+
==================================
2676+
LPC55S69 wolfBoot demo Application
2677+
Copyright 2026 wolfSSL Inc
2678+
==================================
2679+
boot: ver=0x1 state=0xFF
2680+
update: ver=0x0 state=0xFF
2681+
Calling wolfBoot_success()
2682+
boot: ver=0x1 state=0x00
2683+
update: ver=0x0 state=0xFF
2684+
2685+
Running wolfCrypt tests...
2686+
------------------------------------------------------------------------------
2687+
wolfSSL version 5.9.1
2688+
------------------------------------------------------------------------------
2689+
macro test passed!
2690+
error test passed!
2691+
MEMORY test passed!
2692+
asn test passed!
2693+
SHA-256 test passed!
2694+
SHA-384 test passed!
2695+
SHA-512 test passed!
2696+
SHA-512/224 test passed!
2697+
SHA-512/256 test passed!
2698+
RANDOM test passed!
2699+
Hash test passed!
2700+
HMAC-SHA256 test passed!
2701+
HMAC-SHA384 test passed!
2702+
HMAC-SHA512 test passed!
2703+
GMAC test passed!
2704+
AES test passed!
2705+
AES192 test passed!
2706+
AES256 test passed!
2707+
AES-CBC test passed!
2708+
AES-CTR test passed!
2709+
AES-OFB test passed!
2710+
AES-GCM test passed!
2711+
AES-CFB test passed!
2712+
ECC test passed!
2713+
ECC buffer test passed!
2714+
logging test passed!
2715+
mutex test passed!
2716+
memcb test passed!
2717+
Test complete
2718+
Tests complete.
2719+
2720+
2721+
Running wolfCrypt benchmarks...
2722+
wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
2723+
RNG SHA-256 DRBG 650 KiB took 1.011 seconds, 642.292 KiB/s
2724+
AES-128-CBC-enc 23 MiB took 1.000 seconds, 23.657 MiB/s
2725+
AES-128-CBC-dec 22 MiB took 1.000 seconds, 22.097 MiB/s
2726+
AES-192-CBC-enc 23 MiB took 1.000 seconds, 23.510 MiB/s
2727+
AES-192-CBC-dec 19 MiB took 1.000 seconds, 19.531 MiB/s
2728+
AES-256-CBC-enc 21 MiB took 1.000 seconds, 21.582 MiB/s
2729+
AES-256-CBC-dec 17 MiB took 1.000 seconds, 17.504 MiB/s
2730+
AES-128-GCM-enc 950 KiB took 1.022 seconds, 928.641 KiB/s
2731+
AES-128-GCM-dec 950 KiB took 1.022 seconds, 929.549 KiB/s
2732+
AES-192-GCM-enc 925 KiB took 1.003 seconds, 922.233 KiB/s
2733+
AES-192-GCM-dec 925 KiB took 1.001 seconds, 923.153 KiB/s
2734+
AES-256-GCM-enc 925 KiB took 1.012 seconds, 914.031 KiB/s
2735+
AES-256-GCM-dec 925 KiB took 1.011 seconds, 914.935 KiB/s
2736+
AES-128-GCM-enc-no_AAD 950 KiB took 1.010 seconds, 939.663 KiB/s
2737+
AES-128-GCM-dec-no_AAD 950 KiB took 1.010 seconds, 940.594 KiB/s
2738+
AES-192-GCM-enc-no_AAD 950 KiB took 1.016 seconds, 934.119 KiB/s
2739+
AES-192-GCM-dec-no_AAD 950 KiB took 1.014 seconds, 935.960 KiB/s
2740+
AES-256-GCM-enc-no_AAD 925 KiB took 1.000 seconds, 925.000 KiB/s
2741+
AES-256-GCM-dec-no_AAD 950 KiB took 1.025 seconds, 925.925 KiB/s
2742+
GMAC Table 1 MiB took 1.001 seconds, 1.218 MiB/s
2743+
AES-128-ECB-enc 24 MiB took 1.000 seconds, 24.502 MiB/s
2744+
AES-128-ECB-dec 24 MiB took 1.000 seconds, 24.008 MiB/s
2745+
AES-192-ECB-enc 24 MiB took 1.000 seconds, 24.341 MiB/s
2746+
AES-192-ECB-dec 20 MiB took 1.000 seconds, 20.990 MiB/s
2747+
AES-256-ECB-enc 22 MiB took 1.000 seconds, 22.290 MiB/s
2748+
AES-256-ECB-dec 18 MiB took 1.000 seconds, 18.659 MiB/s
2749+
AES-128-CFB-enc 3 MiB took 1.003 seconds, 3.136 MiB/s
2750+
AES-128-CFB-dec 3 MiB took 1.005 seconds, 3.133 MiB/s
2751+
AES-192-CFB-enc 3 MiB took 1.006 seconds, 3.082 MiB/s
2752+
AES-192-CFB-dec 3 MiB took 1.006 seconds, 3.079 MiB/s
2753+
AES-256-CFB-enc 3 MiB took 1.000 seconds, 3.027 MiB/s
2754+
AES-256-CFB-dec 3 MiB took 1.001 seconds, 3.021 MiB/s
2755+
AES-128-OFB-enc 3 MiB took 1.007 seconds, 3.030 MiB/s
2756+
AES-128-OFB-dec 3 MiB took 1.008 seconds, 3.027 MiB/s
2757+
AES-192-OFB-enc 3 MiB took 1.006 seconds, 2.982 MiB/s
2758+
AES-192-OFB-dec 2 MiB took 1.000 seconds, 2.978 MiB/s
2759+
AES-256-OFB-enc 2 MiB took 1.000 seconds, 2.929 MiB/s
2760+
AES-256-OFB-dec 2 MiB took 1.000 seconds, 2.926 MiB/s
2761+
AES-128-CTR 17 MiB took 1.001 seconds, 17.706 MiB/s
2762+
AES-192-CTR 17 MiB took 1.000 seconds, 17.633 MiB/s
2763+
AES-256-CTR 16 MiB took 1.000 seconds, 16.528 MiB/s
2764+
SHA-256 57 MiB took 1.000 seconds, 57.397 MiB/s
2765+
SHA-384 400 KiB took 1.000 seconds, 400.000 KiB/s
2766+
SHA-512 400 KiB took 1.000 seconds, 400.000 KiB/s
2767+
SHA-512/224 400 KiB took 1.000 seconds, 400.000 KiB/s
2768+
SHA-512/256 400 KiB took 1.000 seconds, 400.000 KiB/s
2769+
HMAC-SHA256 48 MiB took 1.000 seconds, 48.803 MiB/s
2770+
HMAC-SHA384 400 KiB took 1.015 seconds, 393.700 KiB/s
2771+
HMAC-SHA512 400 KiB took 1.015 seconds, 393.700 KiB/s
2772+
ECC [ SECP256R1] 256 key gen 74 ops took 1.020 sec, avg 13.783 ms, 72.549 ops/sec
2773+
ECDHE [ SECP256R1] 256 agree 34 ops took 1.015 sec, avg 29.882 ms, 33.464 ops/sec
2774+
ECDSA [ SECP256R1] 256 sign 42 ops took 1.003 sec, avg 23.904 ms, 41.832 ops/sec
2775+
ECDSA [ SECP256R1] 256 verify 24 ops took 1.081 sec, avg 45.041 ms, 22.201 ops/sec
2776+
RNG 256 SHA256 Init/Free 5 ops took 1.258 sec, avg 251.600 ms, 3.974 ops/sec
2777+
Benchmark complete
2778+
Benchmarks complete.
2779+
```
25342780

25352781
## NXP LS1028A
25362782

0 commit comments

Comments
 (0)