From fb3d6549b82358e688ee869a9673aa7a021ebee2 Mon Sep 17 00:00:00 2001 From: LorenzoRai Date: Wed, 14 Jun 2023 15:43:03 +0200 Subject: [PATCH] Add support for RTT UART --- script/build | 14 +++++++++++++- script/test | 9 +++++++++ src/CMakeLists.txt | 16 ++++++++++------ src/src/system.c | 5 +++++ 4 files changed, 37 insertions(+), 7 deletions(-) diff --git a/script/build b/script/build index c6ce6e0a..d4d4e1f2 100755 --- a/script/build +++ b/script/build @@ -34,7 +34,7 @@ OT_CMAKE_NINJA_TARGET=${OT_CMAKE_NINJA_TARGET:-} NRF_PLATFORMS=(nrf52811 nrf52833 nrf52840) readonly NRF_PLATFORMS -NRF_BUILD_TYPES=(UART_trans USB_trans SPI_trans_NCP soft_crypto soft_crypto_threading) +NRF_BUILD_TYPES=(UART_trans USB_trans SPI_trans_NCP RTT_trans soft_crypto soft_crypto_threading) readonly NRF_BUILD_TYPES OT_SRCDIR="$(pwd)" @@ -107,6 +107,10 @@ main() OT_CMAKE_NINJA_TARGET=("ot-ncp-mtd" "ot-rcp") options+=("${local_options[@]}" "-DOT_NCP_SPI=ON") ;; + RTT_trans) + OT_CMAKE_NINJA_TARGET=("ot-cli-mtd" "ot-rcp") + options+=("${local_options[@]}" "-DOT_RTT_UART=ON") + ;; esac ;; nrf52833) @@ -122,6 +126,10 @@ main() OT_CMAKE_NINJA_TARGET=("ot-ncp-ftd" "ot-ncp-mtd" "ot-rcp") options+=("${local_options[@]}" "-DOT_NCP_SPI=ON") ;; + RTT_trans) + OT_CMAKE_NINJA_TARGET=("ot-cli-ftd" "ot-cli-mtd" "ot-rcp") + options+=("${local_options[@]}" "-DOT_RTT_UART=ON") + ;; esac ;; nrf52840) @@ -137,6 +145,10 @@ main() OT_CMAKE_NINJA_TARGET=("ot-ncp-ftd" "ot-ncp-mtd" "ot-rcp") options+=("${local_options[@]}" "-DOT_NCP_SPI=ON" "-DOT_EXTERNAL_MBEDTLS=nordicsemi-mbedtls") ;; + RTT_trans) + OT_CMAKE_NINJA_TARGET=("ot-cli-ftd" "ot-cli-mtd" "ot-rcp") + options+=("${local_options[@]}" "-DOT_RTT_UART=ON" "-DOT_EXTERNAL_MBEDTLS=nordicsemi-mbedtls") + ;; soft_crypto) options+=("${local_options[@]}") ;; diff --git a/script/test b/script/test index 935d0c06..aebe9d4a 100755 --- a/script/test +++ b/script/test @@ -68,6 +68,15 @@ main() rm -rf "$OT_BUILDDIR" "$(dirname "$0")"/build nrf52840 SPI_trans_NCP "${OT_OPTIONS[@]}" + rm -rf "$OT_BUILDDIR" + "$(dirname "$0")"/build nrf52811 RTT_trans "${OT_OPTIONS[@]}" + + rm -rf "$OT_BUILDDIR" + "$(dirname "$0")"/build nrf52833 RTT_trans "${OT_OPTIONS[@]}" + + rm -rf "$OT_BUILDDIR" + "$(dirname "$0")"/build nrf52840 RTT_trans "${OT_OPTIONS[@]}" + rm -rf "$OT_BUILDDIR" "$(dirname "$0")"/build nrf52840 soft_crypto "${OT_OPTIONS[@]}" diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index f3857a0a..c726380a 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -26,14 +26,18 @@ # POSSIBILITY OF SUCH DAMAGE. # -if(OT_NCP_SPI) - list(APPEND OT_PLATFORM_DEFINES "SPIS_AS_SERIAL_TRANSPORT=1") +if(OT_RTT_UART) + list(APPEND OT_PLATFORM_DEFINES "OPENTHREAD_UART_RTT_ENABLE=1") else() - option(OT_USB "enable nrf USB as serial transport support") - if(OT_USB) - list(APPEND OT_PLATFORM_DEFINES "USB_CDC_AS_SERIAL_TRANSPORT=1") + if(OT_NCP_SPI) + list(APPEND OT_PLATFORM_DEFINES "SPIS_AS_SERIAL_TRANSPORT=1") else() - list(APPEND OT_PLATFORM_DEFINES "UART_AS_SERIAL_TRANSPORT=1") + option(OT_USB "enable nrf USB as serial transport support") + if(OT_USB) + list(APPEND OT_PLATFORM_DEFINES "USB_CDC_AS_SERIAL_TRANSPORT=1") + else() + list(APPEND OT_PLATFORM_DEFINES "UART_AS_SERIAL_TRANSPORT=1") + endif() endif() endif() diff --git a/src/src/system.c b/src/src/system.c index 0e49c447..c8cc957f 100644 --- a/src/src/system.c +++ b/src/src/system.c @@ -46,6 +46,8 @@ #include +#include + #if !OPENTHREAD_CONFIG_ENABLE_BUILTIN_MBEDTLS_MANAGEMENT && PLATFORM_OPENTHREAD_VANILLA #include @@ -139,6 +141,9 @@ bool otSysPseudoResetWasRequested(void) void otSysProcessDrivers(otInstance *aInstance) { +#if OPENTHREAD_UART_RTT_ENABLE + utilsUartRttUpdate(); +#endif nrf5RadioProcess(aInstance); nrf5TransportProcess(); nrf5TempProcess();