Zephyr MAX32680 EVKIT 开发板支持详解:硬件资源、跳线配置与烧录调试实战
2026/9/14 14:13:53 网站建设 项目流程

Zephyr MAX32680 EVKIT 开发板支持详解:硬件资源、跳线配置与烧录调试实战

【免费下载链接】zephyrPrimary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.项目地址: https://gitcode.com/GitHub_Trending/ze/zephyr

本篇技术指南基于 Zephyr 仓库中 MAX32680 EVKIT 官方板级文档 及其配套的设备树、默认配置与烧录脚本,系统讲解max32680evkit这块 ADI 超低功耗无线 SoC 评估板在 Zephyr 中的硬件能力、25 组板载跳线(JP1–JP25)的电气含义、设备树中预置的 UART/显示/按键/Flash 分区资源,以及通过 OpenOCD 完成west flash/west debug的完整流程。读完本文,读者可以直接在该板上编译并运行 Zephyr 固件,理解其调试接口的 1.8V 电平约束与全片擦除的实现机制。

1. 板级概览

MAX32680 评估套件(EV kit)是一个用于评估 MAX32680 微控制器能力的硬件平台。MAX32680 是一款面向工业与医疗传感器场景的先进 SoC,板载单电感多输出(SIMO)降压调节器系统负责供电管理,并集成了新一代Bluetooth 5.2 LE无线电。Zephyr 的移植即运行在该 MAX32680 MCU 之上。

在 Zephyr 中,该板对应的构建标识符(board qualifier)为max32680evkit/max32680/m4,其声明位于 boards/adi/max32680evkit/max32680evkit_max32680_m4.yaml:

  • vendor: aditype: mcuarch: arm
  • 支持工具链:zephyrgnuarmemb
  • 存储容量声明:ram: 48flash: 512(单位 KB)。

2. 硬件规格

2.1 MAX32680 MCU

  • 超低功耗无线微控制器
    • 片内 100MHz 振荡器
    • 512KB Flash 与 128KB SRAM,其中一个 32KB SRAM 组可选 ECC
  • Bluetooth 5.2 LE 无线电
    • 专用超低功耗 32 位 RISC-V 协处理器,卸载时序敏感的蓝牙处理
    • 支持 AoA、AoD、LE Audio 与 Mesh
    • 高吞吐模式(2Mbps)、长距离模式(125kbps 与 500kbps)
    • 接收灵敏度 -97.5dBm,发射功率 +4.5dBm
    • 单端天线接口(50Ω)
  • 智能集成,降低 BOM、成本与 PCB 面积
    • 两个 16 位至 24 位 Sigma-Delta ADC,12 个通道可分配给任意 ADC,分辨率与采样率灵活(24 位 @ 0.4ksps,16 位 @ 4ksps)
    • 4 路外部输入、10 位 Sigma-Delta ADC @ 7.8ksps
    • 12 位 DAC
    • 片上温度传感器
    • 数字外设:2 路 SPI、2 路 I2C、最多 4 路 UART、最多 36 个 GPIO
    • 定时器:6 个 32 位定时器、2 个看门狗定时器、2 路脉冲串输出、1-Wire 主机
  • 电源管理,最大化电池寿命
    • 2.0V 至 3.6V 供电电压范围
    • 集成 SIMO 电源调节器
    • 动态电压调节(DVS)
    • 3.0V 下 ACTIVE 模式电流 23.8μA/MHz(Coremark)
    • 3.0V 下 32KB SRAM 保持电流 4.4μA
    • 低功耗模式下 SRAM 保持可配置
  • 健壮的安全性与可靠性
    • TRNG
    • 安全非易失密钥存储与 AES-128/192/256
    • 安全启动以保护 IP/固件
    • 工作温度 -40 °C 至 +85 °C

2.2 EVKIT 板载外部器件

  • SMA 连接器,用于外接蓝牙天线
  • 128 x 128(1.45 英寸)彩色 TFT 显示屏,SPI 接口
  • 两颗可选的高精度板载电压基准
  • USB 2.0 Micro B 转串口 UART
  • 通过板载跳线在 UART1 与 LPUART0 之间选择
  • 所有 GPIO 信号通过 0.1 英寸排针引出
  • 4 路模拟输入经 SMA 连接器接入(配置为差分)
  • 8 路模拟输入经 0.1 英寸排针接入(配置为单端)
  • 12 路模拟输入可选外挂离散滤波网络
  • DAC 经 SMA 连接器或测试点引出
  • 10 针 SWD 连接器(JH10)
  • 10 针 RV JTAG 连接器
  • 板电源由 USB 口提供
  • 板载 3.3V LDO 为 MAX32680 内部 SIMO 供电
  • 提供测试环路,可外接可选的 VCORE 电源
  • 通过跳线可对全部 IC 电源轨进行独立电流测量
  • 2 个通用 LED 与 2 个通用按键

2.3 Zephyr 声明支持的功能

根据 board.yml 中supported列表,该板在 Zephyr 中声明支持:gpioserialtrngi2cdmawatchdogspiadccounterw1flashrtc_counter

3. 连接与跳线配置(JP1–JP25)

该 EVKIT 上有 25 组跳线,分别控制电源、基准、I2C 上拉电平、LED 连接、HART/FSK 模拟电路以及 USB 串口桥接的目标 UART。以下为文档中完整定义的跳线行为表:

跳线信号设置说明
JP1VREGIOpen断开 MAX32680 SIMO 的 3.3V 供电
JP1VREGIClosed将 3.3V 连接到 MAX32680 SIMO
JP2REF0P2-1将外部高精度电压基准连接到 REF0P
JP2REF0P2-3将内部电压基准连接到 REF0P
JP3REF0NOpen将 REF0N 与地断开
JP3REF0NClosed将 REF0N 连接到地
JP4VDDIO_AUXOpen将 VDDIO_AUX 与上拉及基准电压断开
JP4VDDIO_AUXClosed将 VDDIO_AUX 连接到上拉及基准电压
JP5VDDIOHOpen将 VREGO_A 连接到 VDDIOH
JP5VDDIOHClosed将外部 LDO 的 3.3V 连接到 VDDIOH
JP6REF1P2-1将外部高精度电压基准连接到 REF1P
JP6REF1P2-3将内部电压基准连接到 REF1P
JP7REF1NOpen将 REF1N 与地断开
JP7REF1NClosed将 REF1N 连接到地
JP8I2C0_SDA / I2C0_SCL2-1I2C0 上拉连接到 VDDIO_AUX(1.8V)
JP8I2C0_SDA / I2C0_SCL2-3I2C0 上拉连接到 3.3V
JP9I2C1_SDA / I2C1_SCL2-1I2C1 上拉连接到 VDDIO_AUX(1.8V)
JP9I2C1_SDA / I2C1_SCL2-3I2C1 上拉连接到 3.3V
JP10P0_24Open断开红色 LED D1 与 P0_24 的连接
JP10P0_24Closed将红色 LED D1 连接到 P0_24
JP11P0_25Open断开绿色 LED D2 与 P0_25 的连接
JP11P0_25Closed将绿色 LED D2 连接到 P0_25
JP12FSK_INOpen将 FSK_IN 与 HART 模拟电路断开
JP12FSK_INClosed将 FSK_IN 连接到 HART 模拟电路
JP13RCV_FSKOpen将 RCV_FSK 与 CC LOOP 断开
JP13RCV_FSKClosed将 RCV_FSK 连接到 CC LOOP
JP14FSK_OUTOpen将 FSK_OUT 与 HART 模拟电路断开
JP14FSK_OUTClosed将 FSK_OUT 连接到 HART 模拟电路
JP15RCV_FSKOpen将 RCV_FSK 与 XFMR LOOP 断开
JP15RCV_FSKClosed将 RCV_FSK 连接到 XFMR LOOP
JP16RLOADOpen将 249Ω 电阻分流器从 CC LOOP 断开
JP16RLOADClosed将 249Ω 电阻分流器连接到 CC LOOP
JP17FSK AMP GAINOpen启用 FSK 可变放大增益
JP17FSK AMP GAINClosed禁用 FSK 可变放大增益
JP18AMP BYPASS2-1启用 FSK 放大器
JP18AMP BYPASS2-3旁路 FSK 放大器
JP19FSK AMP GAINOpen启用 FSK 固定放大增益
JP19FSK AMP GAINClosed禁用 FSK 固定放大增益
JP20HART_RTSOpen启用 HART_RTS 光耦收发器
JP20HART_RTSClosed旁路 HART_RTS 光耦收发器
JP21RLOADOpen将 249Ω 电阻分流器从 XFMR LOOP 断开
JP21RLOADClosed将 249Ω 电阻分流器连接到 XFMR LOOP
JP22UART0_RX2-1断开 USB 桥接器与 UART1_RX(P0.12)
JP22UART0_RX2-3将 USB 桥接器连接到 LPUART_RX(P2.6)
JP23UART0_TX2-1断开 USB 桥接器与 UART1_TX(P0.13)
JP23UART0_TX2-3将 USB 桥接器连接到 LPUART_TX(P2.7)
JP24HART_INOpen / 1-2断开 / 连接 USB 桥接器 TX 与 HART_IN(P0.1)
JP24HART_OUTOpen / 2-3断开 / 连接 USB 桥接器 RX 与 HART_OUT(P0.0)
JP24HART_RTSOpen / 3-4断开 / 连接 USB 桥接器 TX 与 HART_RTS(P0.3)
JP24HART_OCDOpen / 4-5断开 / 连接 USB 桥接器 TX 与 HART_OCD(P0.2)
JP25RSTNOpen将 DUT_3V3_RSTN 与 RSTN 断开
JP25RSTNClosed将 DUT_3V3_RSTN 连接到 RSTN

其中对 Zephyr 用户最关键的有三组:JP1(SIMO 的 3.3V 供电通断)、JP22/JP23(决定 USB 串口桥接器接的是 UART1 还是 LPUART,直接影响控制台输出在哪一路)、以及JP10/JP11(决定 P0_24/P0_25 上的 LED 是否接入)。

4. 板级设备树:控制台、显示、按键与 Flash 分区

板级设备树 max32680evkit_max32680_m4.dts 在 SoC 基座adi/max32/max32680-m4.dtsi(位于 dts/arm/adi/max32/ 目录)之上做了板级配置,核心内容如下:

4.1 chosen 节点与外设启用

chosen { zephyr,code-partition = &code_partition; zephyr,console = &uart1; zephyr,shell-uart = &uart1; zephyr,sram = &sram2; zephyr,flash = &flash0; zephyr,display = &st7735; };
  • 控制台绑定到uart1,引脚复用为uart1a_tx_p0_13/uart1a_rx_p0_12(即 P0.13/P0.12),与跳线表 JP22/JP23 中 “2-1” 位置的 USB 桥接器目标一致,参数为 115200 波特率、8 数据位、无校验:
&uart1 { pinctrl-0 = <&uart1a_tx_p0_13 &uart1a_rx_p0_12>; pinctrl-names = "default"; current-speed = <115200>; >led1: led_1 { gpios = <&gpio0 24 GPIO_ACTIVE_LOW>; label = "Red LED"; }; led2: led_2 { gpios = <&gpio0 25 GPIO_ACTIVE_LOW>; label = "Blue LED"; };

两个 LED 位于gpio0的 24、25 号引脚,低电平有效,对应跳线 JP10/JP11 控制的 D1/D2 通路。按键pb1/pb2位于 P0_26/P0_27,上拉、低电平有效,分别映射为INPUT_KEY_0INPUT_KEY_1。此外还预置了兼容样本工程的别名:led0/led1sw0/sw1watchdog0

4.3 板载 ST7735 TFT 显示屏

设备树通过 MIPI DBI(SPI 3-wire 模式)驱动板上 128x128 的 ST7735R 彩屏,SPI 时钟上限 6MHz,并给出完整的初始化序列参数(colmod = <0x05>表示 16-bit 像素格式、madctl = <0xc0>行/列交换、gamctrp1/gamctrn1为 Gamma 表等)。zephyr,display指向该节点,因此启用CONFIG_DISPLAY后 Zephyr 的 display 子系统和 LVGL 可直接使用此屏。

配套的板级 Kconfig(Kconfig.defconfig)进一步说明:当DISPLAY开启时,MIPI_DBI_SPI_3WIRE默认置y;若同时启用LVGL,则LV_COLOR_16_SWAP默认置y——因为 ST7735 的 16-bit RGB 数据需要字节序交换才能正确显示。

4.4 Flash 分区

code_partition: partition@0 { compatible = "zephyr,mapped-partition"; reg = <0x0 DT_SIZE_K(448)>; read-only; }; storage_partition: partition@70000 { compatible = "zephyr,mapped-partition"; label = "storage"; reg = <0x70000 DT_SIZE_K(64)>; };

512KB Flash 被划分为两段:0x0起的 448KB 代码分区(只读,由zephyr,code-partition选定)与0x70000起的 64KB 存储分区(可用于 Flash 存储子系统)。

5. 默认配置(defconfig)

默认配置 内容精简,只启用最基础的硬件能力:

# Enable MPU CONFIG_ARM_MPU=y # Enable GPIO CONFIG_GPIO=y # Console CONFIG_CONSOLE=y CONFIG_UART_CONSOLE=y # Enable UART CONFIG_SERIAL=y CONFIG_UART_INTERRUPT_DRIVEN=y CONFIG_USE_DT_CODE_PARTITION=y

要点解读:

  • CONFIG_ARM_MPU=y:使能 MPU,为多域/受保护访问提供基础;
  • CONFIG_CONSOLE=y+CONFIG_UART_CONSOLE=y:控制台走 UART(即第 4.1 节的 uart1);
  • CONFIG_USE_DT_CODE_PARTITION=y:使固件只链接进 448KB 的code_partition,与设备树分区一致;
  • TRNG、I2C、SPI、DMA、看门狗等硬件虽在 DTS 中status = "okay",但相应 Kconfig 按需由应用工程开启即可生效。

6. 编程与调试

6.1 烧录(west flash)

MAX32680 的烧录方式是:将外部调试探针连接到板上的SWD 端口(10 针 Cortex 连接器 JH10)。注意文档明确说明:SWD 逻辑电平为 1.8V(VDDIO_AUX),选择调试器时需确认其支持 1.8V VREF。

探针连接宿主机后,直接执行west flash即可把固件镜像写入 Flash;执行全片擦除时附加--erase选项。

从仓库的板级构建脚本 board.cmake 可以看到,烧录统一走 OpenOCD 运行器,并复用 boards/common/openocd-adi-max32.boards.cmake 中的 ADI MAX32 系列通用配置。对 ARM(Cortex-M4)目标,其关键行为是:

  • 接口默认cmsis-dap.cfg,目标默认${CONFIG_SOC}.cfg(即 max32680 对应 cfg),因此CMSIS-DAP 探针(如 DAP Link)是默认适配路径;
  • --target-handle=_CHIPNAME.cpu锁定 CPU 核;
  • 对 Cortex-M 系列下发allow_low_pwr_dbg(注释说明:部分板子在低功耗调试下复位会失败,max32660 被显式排除);
  • 全片擦除命令为max32xxx mass_erase 0——这正是west flash --erase背后的 OpenOCD 命令。

若使用 J-Link 等其它探针,可在west flash时通过-DOPENOCD_ARGS覆盖接口/目标 cfg,或按该 cmake 文件的变量约定(MAX32_INTERFACE_CFG/MAX32_TARGET_CFG)传入自定义配置。

6.2 调试(west debug)

文档指引:调试时参照烧录章节连接探针,把west flash换成west debug即可进入 GDB 会话。其运行器参数与烧录完全同源(同一组 OpenOCD 接口与目标配置),因此 1.8V SWD 电平与 JH10 接口的注意事项同样适用。板上的 10 针 RV JTAG 连接器则面向 RISC-V 协处理器核,文档未提供 Zephyr 侧的使用说明。

6.3 典型构建命令

以仓库自带的 hello_world 样本为例(适用前提:已安装 Zephyr SDK 或 zephyr 工具链、west 已初始化工作区、调试探针经 JH10 连接):

west build -b max32680evkit/max32680/m4 samples/hello_world west flash # 或带全片擦除: west flash --erase # 或进入 GDB 调试: west debug

串口终端建议使用 115200 波特率、8N1,与 DTS 中current-speed/data-bits/parity一致;若控制台无输出,首先检查 JP22/JP23 是否位于 2-1 位置(USB 桥接器接 UART1),以及 JP1 是否为 Closed(SIMO 供电接通)。

7. 小结与参考文件

主题仓库路径
板级文档(本文主体来源)boards/adi/max32680evkit/doc/index.rst
板级设备树boards/adi/max32680evkit/max32680evkit_max32680_m4.dts
默认 Kconfigboards/adi/max32680evkit/max32680evkit_max32680_m4_defconfig
板级元数据boards/adi/max32680evkit/max32680evkit_max32680_m4.yaml
板级 Kconfigboards/adi/max32680evkit/Kconfig.max32680evkit、boards/adi/max32680evkit/Kconfig.defconfig
烧录脚本boards/adi/max32680evkit/board.cmake、boards/common/openocd-adi-max32.boards.cmake
SoC 基座 DTS 目录dts/arm/adi/max32/

综合来看,max32680evkit在 Zephyr 中的定位是一块以超低功耗无线传感器评估为核心的板子:设备树默认点亮 UART1 控制台与 ST7735 彩屏,Flash 划分出 448KB 代码区与 64KB 存储区,烧录/调试链路统一收敛到 OpenOCD + CMSIS-DAP +max32xxx mass_erase这一套 ADI MAX32 通用机制。掌握 JP1/JP10/JP11/JP22/JP23 这几组跳线的含义,再配合 1.8V SWD 电平这一硬性前提,即可顺利完成该板上的固件构建、烧录与调试全流程。

【免费下载链接】zephyrPrimary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.项目地址: https://gitcode.com/GitHub_Trending/ze/zephyr

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询