@@ -2359,17 +2359,22 @@ LinkServer flash LPC55S69 erase
23592359``` sh
23602360LinkServer flash LPC55S69 load factory.bin:0
23612361```
2362+ 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.
23622363
236323643 ) The LED will light up blue to indicate version 1 of the firmware is running. You should also see output
23642365like this in the terminal window:
23652366
23662367``` sh
23672368lpc55s69 init
2368- Boot partition: 0xA000 (sz 24016 , ver 0x1, type 0x601)
2369- Partition 1 header magic 0xFFFFFFFF invalid at 0x15000
2370- Boot partition: 0xA000 (sz 24016 , ver 0x1, type 0x601)
2369+ Boot partition: 0xD000 (sz 22460 , ver 0x1, type 0x601)
2370+ Partition 1 header magic 0xFFFFFFFF invalid at 0x18000
2371+ Boot partition: 0xD000 (sz 22460 , ver 0x1, type 0x601)
23712372Booting version: 0x1
2372- lpc55s69 init
2373+
2374+ ==================================
2375+ LPC55S69 wolfBoot demo Application
2376+ Copyright 2026 wolfSSL Inc
2377+ ==================================
23732378 boot: ver=0x1 state=0xFF
23742379 update: ver=0x0 state=0xFF
23752380Calling wolfBoot_success ()
@@ -2382,25 +2387,30 @@ Calling wolfBoot_success()
238223871 ) Sign the test-app with version 2:
23832388
23842389``` sh
2385- ./tools/keytools/sign --ecc384 --sha384 test-app/image.bin wolfboot_signing_private_key.der 2
2390+ ./tools/keytools/sign --ecc384 --sha256 test-app/image.bin wolfboot_signing_private_key.der 2
23862391```
23872392
238823932 ) Flash v2 update binary to your ` .config ` 's ` WOLFBOOT_PARTITION_UPDATE_ADDRESS `
23892394
23902395Example:
23912396``` sh
2392- LinkServer flash LPC55S69 load test-app/image_v2_signed.bin:0x15000
2397+ LinkServer flash LPC55S69 load test-app/image_v2_signed.bin:0x18000
23932398```
2399+ NOTE: See [ tools/scripts/lpc55s69/lpc55s69_flash_update.cmm] ( /tools/scripts/lpc55s69/lpc55s69_flash_update.cmm ) for the lauterbach equivalent.
23942400
239524013 ) You should see output like this in the terminal window:
23962402
23972403``` sh
23982404lpc55s69 init
2399- Boot partition: 0xA000 (sz 24016 , ver 0x1, type 0x601)
2400- Update partition: 0x15000 (sz 24016 , ver 0x2, type 0x601)
2401- Boot partition: 0xA000 (sz 24016 , ver 0x1, type 0x601)
2405+ Boot partition: 0xD000 (sz 22460 , ver 0x1, type 0x601)
2406+ Update partition: 0x18000 (sz 22460 , ver 0x2, type 0x601)
2407+ Boot partition: 0xD000 (sz 22460 , ver 0x1, type 0x601)
24022408Booting version: 0x1
2403- lpc55s69 init
2409+
2410+ ==================================
2411+ LPC55S69 wolfBoot demo Application
2412+ Copyright 2026 wolfSSL Inc
2413+ ==================================
24042414 boot: ver=0x1 state=0x00
24052415 update: ver=0x2 state=0xFF
24062416Update detected, version: 0x2
@@ -2417,18 +2427,18 @@ like this in the terminal window:
24172427
24182428``` sh
24192429lpc55s69 init
2420- Update partition: 0x15000 (sz 24016 , ver 0x2, type 0x601)
2421- Boot partition: 0xA000 (sz 24016 , ver 0x1, type 0x601)
2422- Update partition: 0x15000 (sz 24016 , ver 0x2, type 0x601)
2430+ Update partition: 0x18000 (sz 22460 , ver 0x2, type 0x601)
2431+ Boot partition: 0xD000 (sz 22460 , ver 0x1, type 0x601)
2432+ Update partition: 0x18000 (sz 22460 , ver 0x2, type 0x601)
24232433Starting Update (fallback allowed 0)
2424- Update partition: 0x15000 (sz 24016 , ver 0x2, type 0x601)
2425- Boot partition: 0xA000 (sz 24016 , ver 0x1, type 0x601)
2434+ Update partition: 0x18000 (sz 22460 , ver 0x2, type 0x601)
2435+ Boot partition: 0xD000 (sz 22460 , ver 0x1, type 0x601)
24262436Versions: Current 0x1, Update 0x2
24272437Copy sector 0 (part 1-> 2)
24282438Copy sector 0 (part 0-> 1)
24292439Copy sector 0 (part 2-> 0)
2430- Boot partition: 0xA000 (sz 24016 , ver 0x2, type 0x601)
2431- Update partition: 0x15000 (sz 24016 , ver 0x1, type 0x601)
2440+ Boot partition: 0xD000 (sz 22460 , ver 0x2, type 0x601)
2441+ Update partition: 0x18000 (sz 22460 , ver 0x1, type 0x601)
24322442Copy sector 1 (part 1-> 2)
24332443Copy sector 1 (part 0-> 1)
24342444Copy sector 1 (part 2-> 0)
@@ -2561,23 +2571,18 @@ Copy sector 43 (part 2->0)
25612571Copy sector 44 (part 1-> 2)
25622572Copy sector 44 (part 0-> 1)
25632573Copy sector 44 (part 2-> 0)
2564- Copy sector 45 (part 1-> 2)
2565- Copy sector 45 (part 0-> 1)
2566- Copy sector 45 (part 2-> 0)
2567- Copy sector 46 (part 1-> 2)
2568- Copy sector 46 (part 0-> 1)
2569- Copy sector 46 (part 2-> 0)
2570- Copy sector 47 (part 1-> 2)
2571- Copy sector 47 (part 0-> 1)
2572- Copy sector 47 (part 2-> 0)
2573- Erasing remainder of partition (38 sectors)...
2574- Boot partition: 0xA000 (sz 24016, ver 0x2, type 0x601)
2575- Update partition: 0x15000 (sz 24016, ver 0x1, type 0x601)
2574+ Erasing remainder of partition (41 sectors)...
2575+ Boot partition: 0xD000 (sz 22460, ver 0x2, type 0x601)
2576+ Update partition: 0x18000 (sz 22460, ver 0x1, type 0x601)
25762577Copy sector 85 (part 0-> 2)
25772578Copied boot sector to swap
2578- Boot partition: 0xA000 (sz 24016 , ver 0x2, type 0x601)
2579+ Boot partition: 0xD000 (sz 22460 , ver 0x2, type 0x601)
25792580Booting version: 0x2
2580- lpc55s69 init
2581+
2582+ ==================================
2583+ LPC55S69 wolfBoot demo Application
2584+ Copyright 2026 wolfSSL Inc
2585+ ==================================
25812586 boot: ver=0x2 state=0x10
25822587 update: ver=0x1 state=0xFF
25832588Calling wolfBoot_success ()
@@ -2600,7 +2605,248 @@ b main
26002605mon reset
26012606c
26022607```
2608+ NOTE: See [ tools/scripts/lpc55s69/lpc55s69_debug.cmm] ( /tools/scripts/lpc55s69/lpc55s69_debug.cmm ) for the lauterbach equivalent.
2609+
2610+
2611+ ### LPC55S69: Test and Benchmark
2612+
2613+ Here is an example of how to run wolfCrypt test and benchmarking on actual hardware.
2614+
2615+ 1 . Start with [ lpc55s69-benchmark.config] ( /config/examples/lpc55s69-benchmark.config )
2616+ - By default, the config file has PKA?=0, which means hardware acceleration of crypto is off. Let's try that first.
2617+ ``` sh
2618+ cp config/examples/lpc55s69-benchmark.config .config
2619+ make clean
2620+ make
2621+ ```
2622+
2623+ 2 . Flash the factory.bin and reboot...
2624+ ``` sh
2625+ lpc55s69 init
2626+ Boot partition: 0x10000 (sz 162932, ver 0x1, type 0x201)
2627+ Partition 1 header magic 0xFFFFFFFF invalid at 0x3B000
2628+ Boot partition: 0x10000 (sz 162932, ver 0x1, type 0x201)
2629+ Booting version: 0x1
2630+
2631+ ==================================
2632+ LPC55S69 wolfBoot demo Application
2633+ Copyright 2026 wolfSSL Inc
2634+ ==================================
2635+ boot: ver=0x1 state=0xFF
2636+ update: ver=0x0 state=0xFF
2637+ Calling wolfBoot_success ()
2638+ boot: ver=0x1 state=0x00
2639+ update: ver=0x0 state=0xFF
2640+
2641+ Running wolfCrypt tests...
2642+ ------------------------------------------------------------------------------
2643+ wolfSSL version 5.9.1
2644+ ------------------------------------------------------------------------------
2645+ macro test passed!
2646+ error test passed!
2647+ MEMORY test passed!
2648+ asn test passed!
2649+ SHA-256 test passed!
2650+ SHA-384 test passed!
2651+ SHA-512 test passed!
2652+ SHA-512/224 test passed!
2653+ SHA-512/256 test passed!
2654+ RANDOM test passed!
2655+ Hash test passed!
2656+ HMAC-SHA256 test passed!
2657+ HMAC-SHA384 test passed!
2658+ HMAC-SHA512 test passed!
2659+ GMAC test passed!
2660+ AES test passed!
2661+ AES192 test passed!
2662+ AES256 test passed!
2663+ AES-CBC test passed!
2664+ AES-CTR test passed!
2665+ AES-OFB test passed!
2666+ AES-GCM test passed!
2667+ AES-CFB test passed!
2668+ ECC test passed!
2669+ ECC buffer test passed!
2670+ logging test passed!
2671+ mutex test passed!
2672+ memcb test passed!
2673+ Test complete
2674+ Tests complete.
2675+
2676+
2677+ Running wolfCrypt benchmarks...
2678+ wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
2679+ RNG SHA-256 DRBG 325 KiB took 1.044 seconds, 311.302 KiB/s
2680+ AES-128-CBC-enc 350 KiB took 1.051 seconds, 333.016 KiB/s
2681+ AES-128-CBC-dec 350 KiB took 1.057 seconds, 331.125 KiB/s
2682+ AES-192-CBC-enc 300 KiB took 1.035 seconds, 289.855 KiB/s
2683+ AES-192-CBC-dec 300 KiB took 1.040 seconds, 288.461 KiB/s
2684+ AES-256-CBC-enc 275 KiB took 1.064 seconds, 258.458 KiB/s
2685+ AES-256-CBC-dec 275 KiB took 1.062 seconds, 258.701 KiB/s
2686+ AES-128-GCM-enc 275 KiB took 1.036 seconds, 265.188 KiB/s
2687+ AES-128-GCM-dec 275 KiB took 1.035 seconds, 265.444 KiB/s
2688+ AES-192-GCM-enc 250 KiB took 1.057 seconds, 236.518 KiB/s
2689+ AES-192-GCM-dec 250 KiB took 1.056 seconds, 236.742 KiB/s
2690+ AES-256-GCM-enc 225 KiB took 1.047 seconds, 214.899 KiB/s
2691+ AES-256-GCM-dec 225 KiB took 1.046 seconds, 215.105 KiB/s
2692+ AES-128-GCM-enc-no_AAD 275 KiB took 1.033 seconds, 265.957 KiB/s
2693+ AES-128-GCM-dec-no_AAD 275 KiB took 1.032 seconds, 266.214 KiB/s
2694+ AES-192-GCM-enc-no_AAD 250 KiB took 1.053 seconds, 237.191 KiB/s
2695+ AES-192-GCM-dec-no_AAD 250 KiB took 1.052 seconds, 237.416 KiB/s
2696+ AES-256-GCM-enc-no_AAD 225 KiB took 1.044 seconds, 215.517 KiB/s
2697+ AES-256-GCM-dec-no_AAD 225 KiB took 1.042 seconds, 215.723 KiB/s
2698+ GMAC Table 1 MiB took 1.009 seconds, 1.208 MiB/s
2699+ AES-128-ECB-enc 374 KiB took 1.026 seconds, 364.167 KiB/s
2700+ AES-128-ECB-dec 385 KiB took 1.027 seconds, 374.878 KiB/s
2701+ AES-192-ECB-enc 319 KiB took 1.024 seconds, 311.219 KiB/s
2702+ AES-192-ECB-dec 330 KiB took 1.018 seconds, 323.846 KiB/s
2703+ AES-256-ECB-enc 286 KiB took 1.036 seconds, 276.061 KiB/s
2704+ AES-256-ECB-dec 286 KiB took 1.006 seconds, 284.011 KiB/s
2705+ AES-128-CFB-enc 350 KiB took 1.064 seconds, 328.947 KiB/s
2706+ AES-128-CFB-dec 350 KiB took 1.057 seconds, 331.125 KiB/s
2707+ AES-192-CFB-enc 300 KiB took 1.046 seconds, 286.532 KiB/s
2708+ AES-192-CFB-dec 300 KiB took 1.039 seconds, 288.461 KiB/s
2709+ AES-256-CFB-enc 275 KiB took 1.074 seconds, 256.052 KiB/s
2710+ AES-256-CFB-dec 275 KiB took 1.067 seconds, 257.490 KiB/s
2711+ AES-128-OFB-enc 350 KiB took 1.020 seconds, 343.137 KiB/s
2712+ AES-128-OFB-dec 350 KiB took 1.019 seconds, 343.137 KiB/s
2713+ AES-192-OFB-enc 300 KiB took 1.009 seconds, 297.324 KiB/s
2714+ AES-192-OFB-dec 300 KiB took 1.009 seconds, 297.324 KiB/s
2715+ AES-256-OFB-enc 275 KiB took 1.038 seconds, 264.677 KiB/s
2716+ AES-256-OFB-dec 275 KiB took 1.039 seconds, 264.423 KiB/s
2717+ AES-128-CTR 350 KiB took 1.010 seconds, 346.191 KiB/s
2718+ AES-192-CTR 300 KiB took 1.003 seconds, 299.102 KiB/s
2719+ AES-256-CTR 275 KiB took 1.033 seconds, 265.957 KiB/s
2720+ SHA-256 1000 KiB took 1.000 seconds, 1000.000 KiB/s
2721+ SHA-384 425 KiB took 1.060 seconds, 400.565 KiB/s
2722+ SHA-512 425 KiB took 1.060 seconds, 400.565 KiB/s
2723+ SHA-512/224 425 KiB took 1.062 seconds, 400.188 KiB/s
2724+ SHA-512/256 425 KiB took 1.060 seconds, 400.565 KiB/s
2725+ HMAC-SHA256 1000 KiB took 1.009 seconds, 991.080 KiB/s
2726+ HMAC-SHA384 400 KiB took 1.015 seconds, 394.088 KiB/s
2727+ HMAC-SHA512 400 KiB took 1.015 seconds, 394.088 KiB/s
2728+ ECC [ SECP256R1] 256 key gen 72 ops took 1.007 sec, avg 13.986 ms, 71.499 ops/sec
2729+ ECDHE [ SECP256R1] 256 agree 34 ops took 1.013 sec, avg 29.823 ms, 33.530 ops/sec
2730+ ECDSA [ SECP256R1] 256 sign 42 ops took 1.036 sec, avg 24.690 ms, 40.501 ops/sec
2731+ ECDSA [ SECP256R1] 256 verify 22 ops took 1.003 sec, avg 45.590 ms, 21.934 ops/sec
2732+ RNG 256 SHA256 Init/Free 196 ops took 1.003 sec, avg 5.117 ms, 195.413 ops/sec
2733+ Benchmark complete
2734+ Benchmarks complete.
2735+ ```
2736+
2737+ 2 . Now try changing to PKA?=1 in the config file, rebuild, and reflash...
2738+ ``` sh
2739+ lpc55s69 init
2740+ Boot partition: 0x10000 (sz 163148, ver 0x1, type 0x201)
2741+ Partition 1 header magic 0xFFFFFFFF invalid at 0x3B000
2742+ Boot partition: 0x10000 (sz 163148, ver 0x1, type 0x201)
2743+ Booting version: 0x1
26032744
2745+ ==================================
2746+ LPC55S69 wolfBoot demo Application
2747+ Copyright 2026 wolfSSL Inc
2748+ ==================================
2749+ boot: ver=0x1 state=0xFF
2750+ update: ver=0x0 state=0xFF
2751+ Calling wolfBoot_success ()
2752+ boot: ver=0x1 state=0x00
2753+ update: ver=0x0 state=0xFF
2754+
2755+ Running wolfCrypt tests...
2756+ ------------------------------------------------------------------------------
2757+ wolfSSL version 5.9.1
2758+ ------------------------------------------------------------------------------
2759+ macro test passed!
2760+ error test passed!
2761+ MEMORY test passed!
2762+ asn test passed!
2763+ SHA-256 test passed!
2764+ SHA-384 test passed!
2765+ SHA-512 test passed!
2766+ SHA-512/224 test passed!
2767+ SHA-512/256 test passed!
2768+ RANDOM test passed!
2769+ Hash test passed!
2770+ HMAC-SHA256 test passed!
2771+ HMAC-SHA384 test passed!
2772+ HMAC-SHA512 test passed!
2773+ GMAC test passed!
2774+ AES test passed!
2775+ AES192 test passed!
2776+ AES256 test passed!
2777+ AES-CBC test passed!
2778+ AES-CTR test passed!
2779+ AES-OFB test passed!
2780+ AES-GCM test passed!
2781+ AES-CFB test passed!
2782+ ECC test passed!
2783+ ECC buffer test passed!
2784+ logging test passed!
2785+ mutex test passed!
2786+ memcb test passed!
2787+ Test complete
2788+ Tests complete.
2789+
2790+
2791+ Running wolfCrypt benchmarks...
2792+ wolfCrypt Benchmark (block bytes 1024, min 1.0 sec each)
2793+ RNG SHA-256 DRBG 650 KiB took 1.011 seconds, 642.292 KiB/s
2794+ AES-128-CBC-enc 23 MiB took 1.000 seconds, 23.657 MiB/s
2795+ AES-128-CBC-dec 22 MiB took 1.000 seconds, 22.097 MiB/s
2796+ AES-192-CBC-enc 23 MiB took 1.000 seconds, 23.510 MiB/s
2797+ AES-192-CBC-dec 19 MiB took 1.000 seconds, 19.531 MiB/s
2798+ AES-256-CBC-enc 21 MiB took 1.000 seconds, 21.582 MiB/s
2799+ AES-256-CBC-dec 17 MiB took 1.000 seconds, 17.504 MiB/s
2800+ AES-128-GCM-enc 950 KiB took 1.022 seconds, 928.641 KiB/s
2801+ AES-128-GCM-dec 950 KiB took 1.022 seconds, 929.549 KiB/s
2802+ AES-192-GCM-enc 925 KiB took 1.003 seconds, 922.233 KiB/s
2803+ AES-192-GCM-dec 925 KiB took 1.001 seconds, 923.153 KiB/s
2804+ AES-256-GCM-enc 925 KiB took 1.012 seconds, 914.031 KiB/s
2805+ AES-256-GCM-dec 925 KiB took 1.011 seconds, 914.935 KiB/s
2806+ AES-128-GCM-enc-no_AAD 950 KiB took 1.010 seconds, 939.663 KiB/s
2807+ AES-128-GCM-dec-no_AAD 950 KiB took 1.010 seconds, 940.594 KiB/s
2808+ AES-192-GCM-enc-no_AAD 950 KiB took 1.016 seconds, 934.119 KiB/s
2809+ AES-192-GCM-dec-no_AAD 950 KiB took 1.014 seconds, 935.960 KiB/s
2810+ AES-256-GCM-enc-no_AAD 925 KiB took 1.000 seconds, 925.000 KiB/s
2811+ AES-256-GCM-dec-no_AAD 950 KiB took 1.025 seconds, 925.925 KiB/s
2812+ GMAC Table 1 MiB took 1.001 seconds, 1.218 MiB/s
2813+ AES-128-ECB-enc 24 MiB took 1.000 seconds, 24.502 MiB/s
2814+ AES-128-ECB-dec 24 MiB took 1.000 seconds, 24.008 MiB/s
2815+ AES-192-ECB-enc 24 MiB took 1.000 seconds, 24.341 MiB/s
2816+ AES-192-ECB-dec 20 MiB took 1.000 seconds, 20.990 MiB/s
2817+ AES-256-ECB-enc 22 MiB took 1.000 seconds, 22.290 MiB/s
2818+ AES-256-ECB-dec 18 MiB took 1.000 seconds, 18.659 MiB/s
2819+ AES-128-CFB-enc 3 MiB took 1.003 seconds, 3.136 MiB/s
2820+ AES-128-CFB-dec 3 MiB took 1.005 seconds, 3.133 MiB/s
2821+ AES-192-CFB-enc 3 MiB took 1.006 seconds, 3.082 MiB/s
2822+ AES-192-CFB-dec 3 MiB took 1.006 seconds, 3.079 MiB/s
2823+ AES-256-CFB-enc 3 MiB took 1.000 seconds, 3.027 MiB/s
2824+ AES-256-CFB-dec 3 MiB took 1.001 seconds, 3.021 MiB/s
2825+ AES-128-OFB-enc 3 MiB took 1.007 seconds, 3.030 MiB/s
2826+ AES-128-OFB-dec 3 MiB took 1.008 seconds, 3.027 MiB/s
2827+ AES-192-OFB-enc 3 MiB took 1.006 seconds, 2.982 MiB/s
2828+ AES-192-OFB-dec 2 MiB took 1.000 seconds, 2.978 MiB/s
2829+ AES-256-OFB-enc 2 MiB took 1.000 seconds, 2.929 MiB/s
2830+ AES-256-OFB-dec 2 MiB took 1.000 seconds, 2.926 MiB/s
2831+ AES-128-CTR 17 MiB took 1.001 seconds, 17.706 MiB/s
2832+ AES-192-CTR 17 MiB took 1.000 seconds, 17.633 MiB/s
2833+ AES-256-CTR 16 MiB took 1.000 seconds, 16.528 MiB/s
2834+ SHA-256 57 MiB took 1.000 seconds, 57.397 MiB/s
2835+ SHA-384 400 KiB took 1.000 seconds, 400.000 KiB/s
2836+ SHA-512 400 KiB took 1.000 seconds, 400.000 KiB/s
2837+ SHA-512/224 400 KiB took 1.000 seconds, 400.000 KiB/s
2838+ SHA-512/256 400 KiB took 1.000 seconds, 400.000 KiB/s
2839+ HMAC-SHA256 48 MiB took 1.000 seconds, 48.803 MiB/s
2840+ HMAC-SHA384 400 KiB took 1.015 seconds, 393.700 KiB/s
2841+ HMAC-SHA512 400 KiB took 1.015 seconds, 393.700 KiB/s
2842+ ECC [ SECP256R1] 256 key gen 74 ops took 1.020 sec, avg 13.783 ms, 72.549 ops/sec
2843+ ECDHE [ SECP256R1] 256 agree 34 ops took 1.015 sec, avg 29.882 ms, 33.464 ops/sec
2844+ ECDSA [ SECP256R1] 256 sign 42 ops took 1.003 sec, avg 23.904 ms, 41.832 ops/sec
2845+ ECDSA [ SECP256R1] 256 verify 24 ops took 1.081 sec, avg 45.041 ms, 22.201 ops/sec
2846+ RNG 256 SHA256 Init/Free 5 ops took 1.258 sec, avg 251.600 ms, 3.974 ops/sec
2847+ Benchmark complete
2848+ Benchmarks complete.
2849+ ```
26042850
26052851## NXP LS1028A
26062852
0 commit comments