You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

BL654_DVK与nRF52840的Zephyr闪烁项目故障排查求助

问题排查与解决方案

针对你基于nRF52840创建自定义板卡项目后LED无法闪烁的问题,以下是具体排查方向和解决方法:

1. 补充时钟与GPIO驱动配置

nRF52系列芯片的GPIO外设依赖时钟控制模块,仅启用CONFIG_GPIO=y不足以让GPIO正常工作。在prj.conf中添加以下配置:

CONFIG_CLOCK_CONTROL=y
CONFIG_CLOCK_CONTROL_NRF5=y
CONFIG_GPIO_NRF5=y
CONFIG_LOG=y  # 用于输出调试日志

2. 检查引脚复用冲突

nRF52840的GPIO0_13默认可能被其他外设(如UART0)占用,导致GPIO功能无法启用。查看BL654_DVK的原始dts文件,确认是否禁用了占用该引脚的外设,然后在自定义dts中添加对应禁用配置:

&uart0 {
    status = "disabled";
};

(注:具体外设需参考nRF52840参考手册中GPIO0_13的复用功能,若默认复用为其他外设,需禁用对应节点)

3. 验证设备树解析正确性

执行以下命令生成设备树头文件,确认LED节点是否被正确解析:

west build -t devicetree

打开build/zephyr/include/generated/devicetree_unfixed.h,搜索DT_NODELABEL(led1_label),检查以下宏是否正确:

  • DT_N_NODELABEL_led1_label_GPIOS_PIN 应为13
  • DT_N_NODELABEL_led1_label_GPIOS_PORT 应为GPIO0对应的节点标识

4. 增强代码调试能力

修改main.c添加日志输出,明确哪一步出现异常:

#include <zephyr/kernel.h>
#include <zephyr/drivers/gpio.h>
#include <zephyr/logging/log.h>

LOG_MODULE_REGISTER(main, LOG_LEVEL_INF);

#define SLEEP_TIME_MS   500

static const struct gpio_dt_spec led = GPIO_DT_SPEC_GET(DT_NODELABEL(led1_label), gpios);

int main(void) {
    int ret;

    if (!gpio_is_ready_dt(&led)) {
        LOG_ERR("LED GPIO device not ready");
        return -1;
    }
    LOG_INF("LED GPIO device is ready");

    ret = gpio_pin_configure_dt(&led, GPIO_OUTPUT_ACTIVE);
    if (ret != 0) {
        LOG_ERR("Failed to configure LED GPIO: error code %d", ret);
        return ret;
    }
    LOG_INF("LED GPIO configured successfully");

    while (1) {
        ret = gpio_pin_toggle_dt(&led);
        if (ret != 0) {
            LOG_ERR("Failed to toggle LED: error code %d", ret);
            return ret;
        }
        k_msleep(SLEEP_TIME_MS);
    }
    return 0;
}

通过串口查看日志,定位具体失败环节。

5. 确认硬件匹配性

  • 验证BL654_DVK上LED1确实连接到GPIO0_13,且硬件逻辑为高电平点亮(与dts中GPIO_ACTIVE_HIGH一致)
  • 若硬件为低电平点亮,需将dts中的GPIO_ACTIVE_HIGH改为GPIO_ACTIVE_LOW

6. 检查烧录与分区一致性

  • 确认自定义项目的分区表与BL654_DVK一致,烧录时选择正确的分区(如slot0)
  • 烧录前可执行west flash --erase擦除芯片Flash,避免旧固件干扰

内容的提问来源于stack exchange,提问作者Gambanishu Habbeba

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 04:52:52