From 7c766c8ae30a061eb8589ce17e7f7c8a7bb5cbea Mon Sep 17 00:00:00 2001 From: hydevcode Date: Wed, 9 Jul 2025 01:04:32 +0800 Subject: [PATCH] [bsp][nrf5x] Adapt to gcc compilation --- bsp/nrf5x/libraries/drivers/drv_uarte.c | 6 ++++++ bsp/nrf5x/nrf5340/README.md | 26 +++++++++++++++++++++++++ bsp/nrf5x/nrf5340/rtconfig.py | 4 ++-- 3 files changed, 34 insertions(+), 2 deletions(-) diff --git a/bsp/nrf5x/libraries/drivers/drv_uarte.c b/bsp/nrf5x/libraries/drivers/drv_uarte.c index 1139b69de8b..54c72cc4044 100644 --- a/bsp/nrf5x/libraries/drivers/drv_uarte.c +++ b/bsp/nrf5x/libraries/drivers/drv_uarte.c @@ -254,6 +254,9 @@ static int _uart_putc(struct rt_serial_device *serial, char c) { } } +#if defined(SOC_NRF5340) + return 1; +#endif /* SOC_NRF5340*/ return rtn; } @@ -299,6 +302,9 @@ int rt_hw_uart_init(void) #ifdef BSP_USING_UART1 m_serial_1.config = config; +#if defined(SOC_NRF5340) + m_serial_1.config.baud_rate = 1000000; +#endif /* SOC_NRF5340*/ m_serial_1.ops = &_uart_ops; m_uarte1_cb.serial = &m_serial_1; rt_hw_serial_register(&m_serial_1, "uart1", \ diff --git a/bsp/nrf5x/nrf5340/README.md b/bsp/nrf5x/nrf5340/README.md index 7635735bc9a..08d8e10e3dc 100644 --- a/bsp/nrf5x/nrf5340/README.md +++ b/bsp/nrf5x/nrf5340/README.md @@ -93,6 +93,32 @@ PCA10143-nrf7002 开发板常用 **板载资源** 如下: 4. 输入`scons --target=mdk5` 命令重新生成工程。 +### 启用Openocd调试 + +``` + +{ + "version": "0.2.0", + "configurations": [ + { + "name": "nRF5340_Debug-RT-Thread", + "executable": "${workspaceRoot}/rt-thread.elf", + "request": "launch", + "type": "cortex-debug", + "runToEntryPoint": "main", + "targetId": "nRF5340_xxAA_APP",//填device名 + "servertype": "jlink", + "device": "nRF5340_xxAA_APP",//填device名 + "interface": "swd", + "svdFile": "${workspaceRoot}/packages/nrfx-latest/mdk/nrf5340_application.svd", + "armToolchainPath": "D:/bin/env-windows/tools/gnu_gcc/arm_gcc/mingw/bin", // 这里填入GCC 工具链路径,我用的是env的gcc + "serverpath": "D:/RT-ThreadStudio/repo/Extract/Debugger_Support_Packages/SEGGER/J-Link/v7.92/JLinkGDBServerCL.exe" // 这里填入GDB 路径,我用的是RT-ThreadStudio,注意你的jlink路径跟我的不一样一样,可以参考 + } + ] +} + +``` + ## 支持其他开发板 diff --git a/bsp/nrf5x/nrf5340/rtconfig.py b/bsp/nrf5x/nrf5340/rtconfig.py index e932950ac62..d58cd4bc35b 100644 --- a/bsp/nrf5x/nrf5340/rtconfig.py +++ b/bsp/nrf5x/nrf5340/rtconfig.py @@ -42,14 +42,14 @@ DEVICE = ' -mcpu='+CPU + ' -mthumb -ffunction-sections -fdata-sections' CFLAGS = DEVICE - AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp' + AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp -D__START=entry -D__STARTUP_CLEAR_BSS' LFLAGS = DEVICE + ' -Wl,--gc-sections,-Map=rtthread.map,-cref,-u,Reset_Handler -T board/linker_scripts/link.lds' CPATH = '' LPATH = '' if BUILD == 'debug': - CFLAGS += ' -O0 -gdwarf-2' + CFLAGS += ' -Og -gdwarf-2' AFLAGS += ' -gdwarf-2' else: CFLAGS += ' -O2'