nRF52开发环境搭建
nRF52开发环境搭建
现在 Nordic 主推的开发环境是:VS Code + NCS(nRF Connect SDK)
环境搭建
VS Code 下载地址:https://code.visualstudio.com/
刷写固件需要用到 Jlink,因此需要 Jlink 驱动的配合:https://www.segger.com/downloads/jlink
安装 jlink 软件时注意勾选 Install legacy USB Driver for J-Link(新版本 Jlink 默认使用 WinUSB 驱动,因此安装程序默认不安装 jlink 驱动,需要手动勾选)
首先在 VS Code 中搜索插件:nRF Connect for VS Code Extension Pack 并安装好
安装好插件后会在左侧出现插件图标,点击进入插件,会提示安装工具链以开始,点击后选择安装工具链安装即可
安装完 Toolchain 后插件选项就多了,点击 Manage SDKs 继续安装 SDK
SDK 要从 Github 拉取特别多仓库,没点魔法很难一次性下载成功,可以为 git 设置代理(代理地址需根据自己情况修改)
git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy https://127.0.0.1:7890
工程配置
安装完 SDK 即可选择 Create New Application 创建新应用
填写应用的路径完成新应用创建
刚创建的应用是空的需要设置编译选项,首先选择 nRF 插件,点击 Add build configuration,选择对应的开发板,例如 52840dongle 最后点击 Build Configuration
编写代码
配置完成编译选项后,会自动生成三个文件夹,Source files 是源码,Output files 是编译后的固件,修改源码后点击 Build 进行编译,然后使用 JLINK 连 SWD 接口,点击 Flash 即可烧录固件到开发板
这段代码的效果是 USB Dongle 的绿色 LED 灯闪烁 NCS开发参考文档
#include <zephyr/kernel.h>
#include "hal/nrf_gpio.h"
#define LED_PIN1 NRF_GPIO_PIN_MAP(0,6)
void main(void)
{
nrf_gpio_cfg_output(LED_PIN1);
nrf_gpio_pin_clear(LED_PIN1);
while(1){
nrf_gpio_pin_toggle(LED_PIN1);
k_sleep(K_MSEC(100));
}
}
LED1 | P0.06 | GREEN |
---|---|---|
LED2 | P0.12 | GREEN |
LED2 | P1.9 | RED |
LED2 | P0.8 | BLUE |
编译器默认开发板是有 nRF5 bootloader 的,因此编译出来的固件只是 APP,没有 bootloader,在左侧的【nRF Kconfig GUI】中的 Board Options 菜单取消勾选 Board has nRF5 bootloader,注意要点击右上角的 Apply,然后重新编译烧录即可
注意,烧录完成后需要对开发板进行复位操作,才会执行烧录进去的代码