From 9af899e8c07756aee9f7fd52580bf7c665fccdcd Mon Sep 17 00:00:00 2001 From: Lorenzo Rai Date: Sat, 21 Oct 2023 06:49:07 +0200 Subject: [PATCH] Add support for RTT cli (#628) --- script/build | 14 +++++++++++++- script/test | 9 +++++++++ src/CMakeLists.txt | 4 +++- src/src/transport/transport.c | 5 +++++ 4 files changed, 30 insertions(+), 2 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..fffb99b7 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -26,7 +26,9 @@ # POSSIBILITY OF SUCH DAMAGE. # -if(OT_NCP_SPI) +if(OT_RTT_UART) + list(APPEND OT_PLATFORM_DEFINES "OPENTHREAD_UART_RTT_ENABLE=1") +elseif(OT_NCP_SPI) list(APPEND OT_PLATFORM_DEFINES "SPIS_AS_SERIAL_TRANSPORT=1") else() option(OT_USB "enable nrf USB as serial transport support") diff --git a/src/src/transport/transport.c b/src/src/transport/transport.c index 074be886..c79df4d1 100644 --- a/src/src/transport/transport.c +++ b/src/src/transport/transport.c @@ -38,6 +38,8 @@ #include "transport-drivers.h" +#include "utils/uart_rtt.h" + void nrf5TransportInit(bool aPseudoReset) { OT_UNUSED_VARIABLE(aPseudoReset); @@ -82,6 +84,9 @@ void nrf5TransportProcess(void) #if (SPIS_AS_SERIAL_TRANSPORT == 1) nrf5SpiSlaveProcess(); #endif +#if (OPENTHREAD_UART_RTT_ENABLE == 1) + utilsUartRttProcess(); +#endif } bool nrf5TransportPseudoResetRequired(void)