Zephyr 上的 PIC32CX SG61 Curiosity Ultra 评估板:硬件特性、设备树配置与 J-Link / MPLAB IPE 烧录指南
2026/9/18 13:13:34 网站建设 项目流程

Zephyr 上的 PIC32CX SG61 Curiosity Ultra 评估板:硬件特性、设备树配置与 J-Link / MPLAB IPE 烧录指南

【免费下载链接】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

PIC32CX SG61 Curiosity Ultra(部件号 EV09H35A)是 Microchip 官方推出的评估套件,用于评估 PIC32CX SG60/SG61 微控制器,并帮助开发者理解如何在自有设计中集成该器件。本文以 Zephyr 仓库中该板的官方文档为主体,结合 板级设备树、板级 YAML 定义 与 board.cmake 等源码,系统讲解该评估板的硬件资源、Zephyr 中的使能情况、外设连接细节,以及使用 J-Link 与 MPLAB IPE 两种方式完成编译与烧录的完整流程。读完后你将能够在 Zephyr 工作区中一键构建并烧录该板的示例应用(如 Blinky),并掌握其时钟、分区与关键外设的底层配置。

一、开发板概览

PIC32CX SG61 Curiosity Ultra 是 Zephyr 官方支持的 Microchip 评估平台,板载 128 引脚 TQFP 封装的PIC32CX SG61 微控制器。在 Zephyr 中,该板的标识符(identifier)为pic32cx_sg61_cult,对应 SoC 为pic32cx1025sg61128,架构为 ARM,Flash 为 1024 KiB、RAM 为 256 KiB——这些信息可在板级 YAML 中直接确认(见 pic32cx_sg61_cult.yaml 的flash: 1024/ram: 256字段)。

该评估套件提供了一组丰富的外设与接口,方便用户快速上手 PIC32CX SG60/SG61 的各种外设:

  • 128 引脚 TQFP PIC32CX SG61 微控制器
  • 32.768 kHz 晶体振荡器(低功耗 RTC 时基)
  • 12 MHz 晶体振荡器(主时钟基准)
  • 1024 KiB Flash 与 256 KiB RAM
  • 两颗黄色用户 LED
  • 一颗绿色板载电源 LED
  • 一颗机械用户按键
  • 一颗复位按键
  • USB 接口(可作为 Host 或 Device)
  • 一颗触摸按键(shield 驱动)
  • 虚拟串口(Virtual COM port,CDC)
  • 通过 Serial Wire Debug (SWD) 对板载 PIC32CX SG60/SG61 进行编程与调试
  • Arduino UNO 兼容连接器

板级完整名称与厂商信息定义在 board.yml 中,而 Kconfig.pic32cx_sg61_cult 中通过select SOC_PIC32CX1025SG61128将板与 SoC 绑定。

二、Zephyr 中已支持的特性

Zephyr 会通过板级 YAML 的supported列表对外声明该板支持的外设子系统。查看 pic32cx_sg61_cult.yaml 可知,本板支持以下特性:

类别支持情况
模拟外设adcdaccomparator
时钟与电源clock_controlreset
定时/计数counterpwmrtcwatchdog
数据传输dmaspii2cuartnetif:eth
基础系统gpioentropyflashhwinfopinctrlinterrupt_controller

这些能力均有对应的设备树节点支撑。例如 pic32cx_sg61_cult.dts 中显式启用了sercom4(UART 控制台)、sercom6(I2C)、sercom0(SPI)、tcc0/tcc1/tc0/tc5(PWM 与计数器)、adc0/adc1dacgmac(以太网)、trng(熵源)等节点。

此外,板级默认配置 pic32cx_sg61_cult_defconfig 中开启了CONFIG_ARM_MPU=y(ARM 内存保护单元)、CONFIG_BUILD_OUTPUT_HEX=y(生成 HEX 烧录镜像,供 MPLAB IPE 等工具使用),以及CONFIG_CONSOLE/CONFIG_SERIAL/CONFIG_UART_CONSOLE(串口控制台)。而 Kconfig.defconfig 则在启用 NVMEM 时默认使能EEPROM,并默认启用以太网驱动ETH_DRIVER

三、连接与 IO

关于板级连接的详细信息,原文档指向 PIC32CX SG61 Curiosity Ultra 官方用户指南。从仓库内的设备树 pic32cx_sg61_cult.dts 中可以确认板载资源与引脚的对应关系,这对编写自己的 overlay 或驱动调试非常关键:

LED 与按键(gpio-leds / gpio-keys)

  • LED1:挂载在portc引脚 21,低电平有效(GPIO_ACTIVE_LOW),别名为led0
  • LED2:挂载在porta引脚 16,低电平有效;
  • SW 1(button0)portd引脚 00,GPIO_PULL_UP | GPIO_ACTIVE_LOW,对应sw0别名与输入事件码INPUT_KEY_0
  • SW 2(button1)portd引脚 01,同样上拉低有效,事件码INPUT_KEY_1
  • PWM LED(pwm_led0):由tcc0通道 5 驱动,周期 20 ms,默认使能——这是实现呼吸灯等效果的基础。

串口控制台(chosen)

设备树的chosen节点将zephyr,consolezephyr,shell-uart均指向sercom4,即板载虚拟串口(CDC)对应的 UART 实例。其配置为 115200-8-N-1:

&sercom4 { compatible = "microchip,sercom-g1-uart"; current-speed = <115200>; >board_runner_args(mplab_ipe "--tool" "PKOB4" "--part" "32CX1025SG61128" "--erase" "--verify") board_runner_args(jlink "--device=PIC32CX1025SG61128" "--speed=4000") include(${ZEPHYR_BASE}/boards/common/mplab_ipe.board.cmake) include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)

其中 MPLAB IPE runner 使用板载调试器PKOB4、目标器件型号32CX1025SG61128,烧录前自动擦除并校验;J-Link runner 则指定器件PIC32CX1025SG61128与 4000 kHz 调试时钟。

使用 MPLAB IPE 烧录

MPLAB IPE 是 Microchip 提供的独立编程环境,可通过命令行工具ipecmd与 Zephyr 的west flash无缝集成,具体说明见 boards/microchip/common/microchip-mplab-ipe-flashing.rst。

安装与验证:MPLAB IPE 随 MPLAB X IDE 一起安装,Linux 下安装后可执行ipecmd.sh -?验证;Windows 下为ipecmd.exe -?。确保ipecmd所在目录(Linux 通常为/opt/microchip/mplabx/vX.XX/mplab_platform/bin/)已加入系统PATH

烧录流程

  1. 构建应用(以 Blinky 为例):

    west build -b pic32cx_sg61_cult -p -s samples/basic/blinky
  2. 用 USB 线连接板卡调试口(该连接同时为板卡供电并暴露板载调试器 PKOB4);

  3. 执行烧录:

    west flash

    如需显式指定 runner:

    west flash -r mplab_ipe

Zephyr 构建系统会调用ipecmd,使用构建产物build/zephyr/zephyr.hex(由CONFIG_BUILD_OUTPUT_HEX=y生成)对目标器件编程。

常见问题排查

  • ipecmd未找到:确认 MPLAB X IDE / MPLAB IPE 已安装且其目录在PATH中;
  • 工具未被检测到:检查 USB 连接、关闭正在占用调试工具的 MPLAB X IDE / MPLAB IPE GUI、更新探针固件、断开重连;Linux 下确认已安装 Microchip 工具对应的udev规则;
  • 器件未被识别:在 MPLAB IPE GUI 的 Pack Manager 中安装/更新对应器件包,确认目标板已上电且调试连接可靠,并核对目标器件与板级定义一致。

使用 J-Link 烧录

若使用 Segger J-Link 调试器,请按以下步骤操作:

  1. 安装 J-Link 软件:从 Segger 官网下载并安装 J-Link 软件工具包,确保JLinkJLinkGDBServer等可执行文件已加入系统PATH

  2. 连接板卡

    • J32 调试探针连接到板卡的CORTEX DEBUG排针;
    • 将 J32 调试探针另一端通过 USB 连接到主机;
    • 将板卡的DEBUG USB 端口连接到主机,为板卡上电。
  3. 构建应用:在 Zephyr 工作区中执行:

    west build -b pic32cx_sg61_cult -p -s samples/basic/blinky

    该命令为pic32cx_sg61_cult板构建 Blinky 示例。

  4. 烧录固件:构建完成后执行:

    west flash

    此时会使用默认的jlinkrunner 将应用烧录到板卡(runner 已预置器件型号与 4000 kHz 速率,无需额外参数)。

  5. 观察结果:烧录成功后,板载LED1应开始闪烁,表明应用正常运行。

五、快速上手指南

将上述流程整合为一次完整的体验路径:

# 1. 安装 J-Link 软件并将 JLink 加入 PATH(或安装 MPLAB X IDE 并将 ipecmd 加入 PATH) # 2. 连接 J32 调试探针与板卡 CORTEX DEBUG 排针,并用 DEBUG USB 给板上电 # 3. 构建 Blinky 示例 west build -b pic32cx_sg61_cult -p -s samples/basic/blinky # 4. 烧录(默认使用 jlink runner;也可用 west flash -r mplab_ipe 切换到 MPLAB IPE) west flash # 5. 观察板载 LED1 开始闪烁

若要在该板上开发自有应用,建议以 pic32cx_sg61_cult.dts 为参考编写 overlay,重点关注文中列出的 LED(led0/led1)、按键(sw0)、串口(sercom4)、I2C(sercom6 上的 EEPROM)、SPI(sercom0)、ADC/DAC、PWM(tcc0)与以太网(gmac)节点,并依据 Flash 分区表规划引导与存储方案。

参考资源

  • PIC32CX SG61 产品页(Microchip 官网)
  • PIC32CX SG61 Curiosity Ultra 评估套件页(Microchip 官网,EV09H35A)
  • PIC32CX SG41/SG61 Curiosity Ultra 用户指南(DS70005520)
  • Segger J-Link 软件下载页
  • J32 调试探针(Microchip,DV164232)

上述外部资料提供了板级原理图、引脚定义与调试器硬件说明;本文所引用的所有 Zephyr 侧配置均以当前仓库内文件为准,可直接打开 board 目录 进行核对。

【免费下载链接】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),仅供参考

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

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

立即咨询