diff --git a/bsp/nrf5x/nrf52832/.gitignore b/bsp/nrf5x/nrf52832/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..2541e316303e552e6db66a4faacf733ab854ed17 --- /dev/null +++ b/bsp/nrf5x/nrf52832/.gitignore @@ -0,0 +1,7 @@ +# vscode common config +.vscode/* +!.vscode/launch.json +!.vscode/tasks.json + +# OS X icon info +.DS_Store \ No newline at end of file diff --git a/bsp/nrf5x/nrf52832/.vscode/launch.json b/bsp/nrf5x/nrf52832/.vscode/launch.json new file mode 100644 index 0000000000000000000000000000000000000000..c3a54b371bed6044bc355c8ac6dd88ac17917a95 --- /dev/null +++ b/bsp/nrf5x/nrf52832/.vscode/launch.json @@ -0,0 +1,15 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "type": "cortex-debug", + "request": "launch", + "servertype": "jlink", + "cwd": "${workspaceRoot}", + "executable": "rt-thread.elf", + "name": "Cortex Debug", + "device": "nrf52", + "interface": "swd" + } + ] +} \ No newline at end of file diff --git a/bsp/nrf5x/nrf52832/.vscode/tasks.json b/bsp/nrf5x/nrf52832/.vscode/tasks.json new file mode 100644 index 0000000000000000000000000000000000000000..68331caaad51e561793d06015fc78203e2af6fe1 --- /dev/null +++ b/bsp/nrf5x/nrf52832/.vscode/tasks.json @@ -0,0 +1,54 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=733558 + // for the documentation about the tasks.json format + "version": "2.0.0", + "tasks": [ + { + "label": "config", + "type": "shell", + "command": "RTT_ROOT=../../.. scons --pyconfig", + "problemMatcher": [] + }, + { + "label": "build", + "type": "shell", + "command": "scons", + "problemMatcher": [], + "group": { + "kind": "build", + "isDefault": true + } + }, + { + "label": "clean", + "type": "shell", + "command": "scons -c", + "problemMatcher": [] + }, + { + "label": "flash", + "type": "shell", + "command": "nrfjprog -f nrf52 --program rt-thread.hex --sectorerase", + "group": "build", + "problemMatcher": [] + }, + { + "label": "flash_softdevice", + "type": "shell", + "command": "nrfjprog -f nrf52 --program packages/nrf5x_sdk-latest/components/softdevice/s132/hex/s132_nrf52_7.0.1_softdevice.hex --sectorerase", + "problemMatcher": [] + }, + { + "label": "erase", + "type": "shell", + "command": "nrfjprog -f nrf52 --eraseall", + "problemMatcher": [] + }, + { + "label": "reset", + "type": "shell", + "command": "nrfjprog -f nrf52 --reset", + "problemMatcher": [] + } + ] +} \ No newline at end of file diff --git a/bsp/nrf5x/nrf52832/README.md b/bsp/nrf5x/nrf52832/README.md index 889219000117560b813c9cf54f6fde131e8e3543..e5f46d456f563f1589939fb562dc8d416ea26094 100644 --- a/bsp/nrf5x/nrf52832/README.md +++ b/bsp/nrf5x/nrf52832/README.md @@ -2,7 +2,7 @@ ## 简介 -该文件夹主要存放所有主芯片为nRF52840的板级支持包。目前默认支持的开发板是官方[PCA10040](https://www.nordicsemi.com/Software-and-tools/Development-Kits/nRF52-DK) +该文件夹主要存放所有主芯片为nRF52832的板级支持包。目前默认支持的开发板是官方[PCA10040](https://www.nordicsemi.com/Software-and-tools/Development-Kits/nRF52-DK) 主要内容如下: - 开发板资源介绍 @@ -61,6 +61,30 @@ PCA10040-nrf52832开发板常用 **板载资源** 如下: 4. 输入`scons --target=mdk4/mdk5/iar` 命令重新生成工程。 +### VS Code开发支持 + +配置步骤: + +1. 在命令行设置以下两个环境变量: + + ```bash + export RTT_CC=gcc + export RTT_EXEC_PATH=<工具链路径/bin> + ``` + +2. 搜索插件`Cortex-debug`并安装。 +3. 安装[nRF Command Line Tools](https://www.nordicsemi.com/Software-and-tools/Development-Tools/nRF-Command-Line-Tools)以支持`nrfjprog`命令。 +4. 在.vscode/settings.json内配置工具链和`JlinkGDBServer`,sample: + + ```json + { + "cortex-debug.armToolchainPath": "/usr/local/gcc-arm-none-eabi-9-2019-q4-major/bin/", + "cortex-debug.armToolchainPrefix": "arm-none-eabi", + "cortex-debug.JLinkGDBServerPath": "/Applications/SEGGER/JLink/JLinkGDBServer" + } + ``` + +5. 点击`终端`->`运行任务`->`build`编译,点击`终端`->`运行任务`->`flash`烧录,点击左侧`debug`->`run`使用VS Code进行debug。 ## 支持其他开发板 diff --git a/bsp/nrf5x/nrf52832/rtconfig.py b/bsp/nrf5x/nrf52832/rtconfig.py index 219d20d30357a3e8d68cc886b979fb2bc063aa74..3be0db8de14dae75aefce323d1951aec45b472df 100644 --- a/bsp/nrf5x/nrf52832/rtconfig.py +++ b/bsp/nrf5x/nrf52832/rtconfig.py @@ -54,7 +54,9 @@ if PLATFORM == 'gcc': else: CFLAGS += ' -O2' - POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n' + POST_ACTION = OBJCPY + ' -O binary $TARGET rt-thread.bin\n' + POST_ACTION += OBJCPY + ' -O ihex $TARGET rt-thread.hex\n' + POST_ACTION += SIZE + ' $TARGET \n' elif PLATFORM == 'armcc': # toolchains