From 9f6c0556da7c278007e0004ab4b34e03932150d4 Mon Sep 17 00:00:00 2001 From: Andrei Menzopol Date: Fri, 21 Jun 2024 04:55:04 -0700 Subject: [PATCH 1/2] [K32W1] Update build to use SDK mbedtls Signed-off-by: Andrei Menzopol --- script/build_k32w1 | 3 +- src/k32w1/k32w1/CMakeLists.txt | 6 +- src/k32w1/k32w1/k32w1.cmake | 6 +- third_party/k32w1_sdk/CMakeLists.txt | 114 ++++++++++++++++++++++++++- 4 files changed, 117 insertions(+), 12 deletions(-) diff --git a/script/build_k32w1 b/script/build_k32w1 index 376ed3a0..c5ca0d9b 100755 --- a/script/build_k32w1 +++ b/script/build_k32w1 @@ -45,6 +45,7 @@ OT_OPTIONS=( "-DOT_NXP_EXPORT_TO_SREC=ON" "-DOT_PLATFORM=external" "-DOT_SLAAC=ON" + "-DOT_EXTERNAL_MBEDTLS=nxp-k32w1-mbedtls" ) readonly OT_OPTIONS @@ -92,7 +93,7 @@ build() fi # shellcheck disable=SC2068 - cmake -GNinja -DUSE_NBU=1 -DOT_BUILD_K32W1=ON -DOT_COMPILE_WARNING_AS_ERROR=ON -DOT_MBEDTLS_CONFIG_FILE=\"mbedtls-config.h\" ${cmakeArgs[@]} "${OT_SRCDIR}" + cmake -GNinja -DUSE_NBU=1 -DOT_BUILD_K32W1=ON -DOT_COMPILE_WARNING_AS_ERROR=ON ${cmakeArgs[@]} "${OT_SRCDIR}" if [[ -n ${OT_CMAKE_NINJA_TARGET[*]} ]]; then ninja "${OT_CMAKE_NINJA_TARGET[@]}" diff --git a/src/k32w1/k32w1/CMakeLists.txt b/src/k32w1/k32w1/CMakeLists.txt index 5fea8eec..409b6d8d 100644 --- a/src/k32w1/k32w1/CMakeLists.txt +++ b/src/k32w1/k32w1/CMakeLists.txt @@ -32,10 +32,8 @@ list(APPEND OT_PUBLIC_DEFINES ) list(APPEND OT_PUBLIC_INCLUDES - "${PROJECT_SOURCE_DIR}/include/" - "${PROJECT_SOURCE_DIR}/openthread/third_party/mbedtls/" - "${PROJECT_SOURCE_DIR}/openthread/third_party/mbedtls/repo/" - "${PROJECT_SOURCE_DIR}/openthread/third_party/mbedtls/repo/include/" + "$ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/" + "$ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/include/" "$ENV{NXP_K32W1_SDK_ROOT}" "$ENV{NXP_K32W1_SDK_ROOT}/CMSIS/Include" "$ENV{NXP_K32W1_SDK_ROOT}/platform/drivers/common" diff --git a/src/k32w1/k32w1/k32w1.cmake b/src/k32w1/k32w1/k32w1.cmake index 607c1c72..8c32aa77 100644 --- a/src/k32w1/k32w1/k32w1.cmake +++ b/src/k32w1/k32w1/k32w1.cmake @@ -32,10 +32,6 @@ list(APPEND OT_PLATFORM_DEFINES set(OT_PLATFORM_DEFINES ${OT_PLATFORM_DEFINES} PARENT_SCOPE) -target_compile_definitions(ot-config INTERFACE - "MBEDTLS_USER_CONFIG_FILE=\"k32w1-mbedtls-config.h\"" -) - set(OT_PUBLIC_INCLUDES ${OT_PUBLIC_INCLUDES} PARENT_SCOPE) set(COMM_FLAGS @@ -95,6 +91,7 @@ target_link_libraries(openthread-k32w1 -Wl,-Map=$.map,-print-memory-usage PRIVATE nxp-k32w1-driver + nxp-k32w1-mbedtls ot-config ) else() @@ -106,6 +103,7 @@ target_link_libraries(openthread-k32w1 -Wl,-Map=$.map,-print-memory-usage PRIVATE nxp-k32w1-driver + nxp-k32w1-mbedtls ot-config ) endif() diff --git a/third_party/k32w1_sdk/CMakeLists.txt b/third_party/k32w1_sdk/CMakeLists.txt index 96c17384..12a3de88 100644 --- a/third_party/k32w1_sdk/CMakeLists.txt +++ b/third_party/k32w1_sdk/CMakeLists.txt @@ -122,8 +122,6 @@ set(K32W1_SDK_SOURCES $ENV{NXP_K32W1_SDK_ROOT}/middleware/wireless/XCVR/drv/nb2p4ghz/configs/gen45/nxp_xcvr_mode_config.c $ENV{NXP_K32W1_SDK_ROOT}/middleware/wireless/XCVR/drv/nb2p4ghz/configs/gen45/nxp_xcvr_msk_config.c $ENV{NXP_K32W1_SDK_ROOT}/middleware/wireless/XCVR/drv/nb2p4ghz/configs/gen45/nxp_xcvr_oqpsk_802p15p4_config.c - $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/port/sssapi/entropy_poll_alt.c - $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/port/sssapi/sssapi_mbedtls.c $ENV{NXP_K32W1_SDK_ROOT}/middleware/secure-subsystem/src/sscp/fsl_sscp_mu.c $ENV{NXP_K32W1_SDK_ROOT}/middleware/secure-subsystem/src/sscp/fsl_sss_mgmt.c $ENV{NXP_K32W1_SDK_ROOT}/middleware/secure-subsystem/src/sscp/fsl_sss_sscp.c @@ -225,6 +223,7 @@ else() ) endif() + add_library(nxp-k32w1-driver ${K32W1_SDK_SOURCES} ) @@ -271,12 +270,119 @@ target_compile_options(nxp-k32w1-driver -fno-strict-aliasing ) +add_library(nxp-k32w1-mbedtls + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/aes.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/aesni.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/arc4.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/aria.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/asn1parse.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/asn1write.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/base64.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/bignum.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/blowfish.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/camellia.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/ccm.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/certs.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/cipher.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/cipher_wrap.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/chacha20.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/chachapoly.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/cmac.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/constant_time.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/ctr_drbg.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/debug.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/des.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/dhm.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/ecdh.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/ecdsa.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/ecjpake.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/ecp.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/ecp_curves.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/entropy.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/error.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/gcm.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/havege.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/hkdf.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/hmac_drbg.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/md.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/md2.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/md4.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/md5.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/memory_buffer_alloc.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/net_sockets.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/nist_kw.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/oid.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/padlock.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/pem.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/pk.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/pk_wrap.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/pkcs5.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/pkcs11.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/pkcs12.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/pkparse.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/pkwrite.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/platform.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/platform_util.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/poly1305.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/psa_crypto.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/psa_crypto_client.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/psa_crypto_driver_wrappers.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/psa_crypto_ecp.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/psa_crypto_rsa.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/psa_crypto_se.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/psa_crypto_slot_management.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/psa_crypto_storage.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/psa_its_file.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/ripemd160.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/rsa.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/rsa_internal.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/sha1.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/sha256.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/sha512.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/ssl_cache.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/ssl_ciphersuites.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/ssl_cli.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/ssl_cookie.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/ssl_msg.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/ssl_srv.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/ssl_ticket.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/ssl_tls.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/ssl_tls13_keys.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/threading.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/timing.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/version.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/version_features.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/x509.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/x509_create.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/x509_crl.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/x509_crt.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/x509_csr.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/x509write_crt.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/x509write_csr.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library/xtea.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/port/sssapi/entropy_poll_alt.c + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/port/sssapi/sssapi_mbedtls.c +) + +target_include_directories(nxp-k32w1-mbedtls + PRIVATE + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/library + PUBLIC + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/include + $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/port/sssapi +) + +target_compile_definitions(nxp-k32w1-mbedtls + PUBLIC + "MBEDTLS_USER_CONFIG_FILE=\"k32w1-mbedtls-config.h\"" + "MBEDTLS_CONFIG_FILE=\"${PROJECT_SOURCE_DIR}/openthread/third_party/mbedtls/mbedtls-config.h\"" +) + set(K32W1_SDK_INCLUDES ${PROJECT_SOURCE_DIR}/openthread/examples/platforms ${PROJECT_SOURCE_DIR}/third_party/k32w1_sdk $ENV{NXP_K32W1_SDK_ROOT}/devices/K32W1480 $ENV{NXP_K32W1_SDK_ROOT}/CMSIS/Core/Include - $ENV{NXP_K32W1_SDK_ROOT}/middleware/mbedtls/port/sssapi $ENV{NXP_K32W1_SDK_ROOT}/middleware/secure-subsystem/inc $ENV{NXP_K32W1_SDK_ROOT}/middleware/secure-subsystem/inc/elemu $ENV{NXP_K32W1_SDK_ROOT}/middleware/secure-subsystem/port/kw45_k4w1 @@ -361,3 +467,5 @@ target_include_directories(nxp-k32w1-driver ) target_link_libraries(nxp-k32w1-driver PRIVATE ot-config) + +target_link_libraries(nxp-k32w1-mbedtls PRIVATE ot-config) From f3cdacf972843a4efbf2cc0c209aebe79dfdf6ee Mon Sep 17 00:00:00 2001 From: Andrei Menzopol Date: Fri, 21 Jun 2024 04:57:33 -0700 Subject: [PATCH 2/2] submodule: bump openthread from 330b175 to 89b54dc Signed-off-by: Andrei Menzopol --- openthread | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openthread b/openthread index 330b1759..89b54dca 160000 --- a/openthread +++ b/openthread @@ -1 +1 @@ -Subproject commit 330b1759f141171b7f613edfdbd78c891f09a240 +Subproject commit 89b54dca2b4b7f5da0f203eaac8a9e048738403f