的构建、烧录与调试)
Zephyr 开发指南Infineon CY8CPROTO-062-4343WPSOC 6 Wi-Fi BT 原型开发套件的构建、烧录与调试【免费下载链接】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 仓库中 CY8CPROTO-062-4343W 板卡文档 为主体系统讲解 Infineon PSOC™ 6 Wi-Fi BT 原型开发套件在 Zephyr RTOS 下的硬件资源、引脚映射、时钟树与串口配置并完整演示从获取二进制 blob、west build构建到 OpenOCD 烧录、GDB 调试的端到端流程。读完本文你将掌握如何在 Zephyr 中为这块双核 MCU 板卡搭建开发环境、运行 hello_world 并基于源码级证据理解其底层配置原理。CY8CPROTO-062-4343W 板卡实物图板卡概览面向 IoT 的低成本原型平台CY8CPROTO-062-4343W是 Infineon 推出的 PSOC™ 6 Wi-Fi BT 原型开发套件Prototyping Kit其核心是CY8C624ABZI-S2D44 双核微控制器主核Arm® Cortex®-M4最高 150 MHz负责运行应用逻辑从核Arm® Cortex®-M0最高 100 MHz通常运行安全/低功耗相关任务存储最高 2 MB Flash、1 MB SRAM。板卡的关键亮点集中在无线与感知能力上Murata LBEE5KL1DX 模块CYW4343W提供 Wi-Fi 与蓝牙连接通过 SDIO 与 HCI-UART 分别与 SoC 通信CAPSENSE™ 触摸按键与滑条无需外部电容即可实现人机交互512-Mb QSPI NOR Flash可用于存放固件、文件系统或日志PDM-PCM 麦克风与热敏电阻面向语音采集和环境温度监测场景Snap-away 可拆分结构允许用户将各功能模块掰开独立使用Digilent Pmod 兼容接口可扩展第三方外设模块板载 KitProg3 编程器/调试器通过 USB Micro-B 提供 SWD 调试与 UART 桥接无需额外调试硬件。套件开箱内容包括PSOC™ 6 Wi-Fi BT 原型开发套件板、USB Type-A 转 Micro-B 线缆和快速入门指南。在 Zephyr 中该板卡的标识符为cy8cproto_062_4343w厂商为 infineon对应 SoC 为cy8c624abzi_s2d44这些元数据定义在 board.yml 中。支持的 Zephyr 特性板卡元数据文件 cy8cproto_062_4343w.yaml 声明了该板卡在 Zephyr 中正式支持的硬件特性集合特性说明adc模拟数字转换热敏电阻采样等bluetooth/wifi由 CYW4343W 提供airoc/cyw4343wInfineon AIROC 无线驱动及芯片型号counter计数器gpio通用输入输出uart串口控制台 BT HCIi2cI2C 总线thermistor热敏电阻dma/timerDMA 与定时器watchdog看门狗支持 Zephyr 与 GNU Arm Embedded 两套工具链zephyr、gnuarmemb板载 RAM 1024 KB、Flash 2048 KB。与此同时Kconfig.defconfig 中还针对无线功能做了板级默认配置当启用WIFI或BT时自动选择CYW4343W芯片与CYW4343W_MURATA_1DX模块型号启用WIFI时默认开启NET_L2_ETHERNET并额外为堆预留内存启用 Wi-Fi 时为 15000 字节否则为 4096 字节。板级 defconfig 则启用了基础运行所需的内核与驱动选项CONFIG_CORTEX_M_SYSTICKSysTick 系统时钟、CONFIG_ARM_MPUMPU 保护、CONFIG_HW_STACK_PROTECTION硬件栈保护、CONFIG_CONSOLE/CONFIG_UART_CONSOLE控制台、CONFIG_SERIALUART 驱动、CONFIG_GPIO与CONFIG_CLOCK_CONTROL。连接与 IOLED、按键与默认外设映射LED名称GPIO 引脚说明LED0P13.7低电平有效active low对应设备树定义位于 cy8cproto_062_4343w-common.dtsiuser_led节点声明gpios gpio_prt13 7 GPIO_ACTIVE_LOW并设置了别名led0 user_led。按键名称GPIO 引脚说明SW0P0.4低电平有效设备树中user_bt节点为gpios gpio_prt0 4 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)即内部上拉 低电平触发并映射为输入事件码INPUT_KEY_0方便直接接入 Zephyr input 子系统。⚠️注意P0[4] 被用户按键与 CYW4343W 的主机唤醒引脚host wake共享。在 cy8cproto_062_4343w.dts 中可以看到AIROC 无线节点的wifi-host-wake-gpios同样指向gpio_prt0 4。设计应用时需留意这一共享引脚带来的信号交互。默认 Zephyr 外设映射引脚功能用途P5.1SCB5 UART TX控制台 TXP5.0SCB5 UART RX控制台 RXP3.1SCB2 UART TXBT HCI UART TXP3.0SCB2 UART RXBT HCI UART RXP3.2SCB2 UART RTSBT HCI UART RTSP3.3SCB2 UART CTSBT HCI UART CTSP13.7GPIOLED0P0.4GPIO按键 SW0设备树 cy8cproto_062_4343w.dts 中通过chosen节点将这些映射固定下来zephyr,console uart5与zephyr,shell-uart uart5控制台与 Shell 都绑定到 SCB5zephyr,bt-hci bt_hci_uart蓝牙 HCI 绑定到 SCB2 上的 HCI-UART 子节点。其中 BT HCI UARTuart2/scb2配置了hw-flow-controlH4 协议要求硬件流控波特率 115200 与 CYW43xx 固件默认波特率保持一致其子节点murata-1dx声明兼容infineon,bt-hci-uart通过bt-reg-on-gpios gpio_prt3 4 GPIO_ACTIVE_HIGH控制模块复位/使能并配置固件下载波特率fw-download-speed 3000000HCI 运行波特率未显式指定时由驱动回退到总线波特率 115200。Wi-Fi 侧sdhc0SDIO 控制器以 4 位总线模式bus-width 4最高 50 MHz、最低 400 kHz挂载airoc-wifi子节点wifi-reg-on-gpios位于 P2.6wifi-host-wake-gpios位于 P0.4。SDIO 与 UART 各引脚的 push-pull / input-enable 等偏置配置见 cy8cproto_062_4343w-pinctrl.dtsi。系统时钟从 IMO 到 HF 时钟树PSOC™ 62 默认以内部主振荡器IMO作为系统时钟源时钟链路如下IMO内部主振荡器8 MHzFLLIMO → 100 MHzPLLIMO → 48 MHzCLK_HF0100 MHz系统时钟。设备树中对应的时钟配置同样位于 cy8cproto_062_4343w.dtsfll0的clock-frequency 100000000clk_hf0、clk_fastCM4 内核时钟与clk_peri外设时钟的分频系数均为 1因此CM4 以 100 MHz 运行clk_slow分频为 2CM0 以 50 MHz 运行。Wi-Fi 模块所需的clk_hf4同样由 FLL 驱动。若应用需要其他频率可调整对应节点的clock-div与clock-frequency注意保持分频计算与注释中给出的公式一致。串口与控制台SCB5 与 KitProg3 桥接PSOC™ 62 提供多个 SCBSerial Communication Block接口可分别配置为 UART、SPI 或 I2C。本板卡中控制台固定使用SCB5设备树标签uart5经板载 KitProg3 的 USB-UART 桥接路由到 USB Micro-B 接口默认串口参数为115200 8N1设备树中current-speed 1152008 数据位、无校验、1 停止位BT HCI 使用 SCB2uart2带硬件流控。前置条件获取二进制 Blobcy8cproto_062_4343w板卡依赖二进制 blob 才能正常启用无线功能包括 Wi-Fi/蓝牙芯片固件以及 CM0 预编译镜像。构建前必须执行west blobs fetch hal_infineon该命令会从 hal_infineon 模块中拉取运行所需闭源固件缺少这些文件时 Wi-Fi/蓝牙相关构建或运行将无法完成。构建 hello_world以 Zephyr 自带的 hello_world 示例为例标准构建命令为west build -b cy8cproto_062_4343w -p always samples/hello_world其中-b指定板卡标识符cy8cproto_062_4343w-p always表示每次构建前先做 pristine 清理确保构建环境干净可复现。编程与调试板载 KitProg3 集成了编程器与调试器SWD UART 桥可直接对 PSOC™ 62 的 Cortex-M4 内核进行编程和调试。从 board.cmake 可以看到该板卡支持OpenOCD、J-Link与pyocd三类 runner并默认通过 OpenOCD 连接 CM4 内核GDB 会话使用disconnect初始化并连接:3334远程端口。配套的 openocd.cfg 显示其调试链路为默认 CMSIS-DAP 接口KitProg3 的调试 USB 端口→ SWD 传输 →psoc6_2m目标。安装 Infineon OpenOCDZephyr 官方推荐的 OpenOCD 来自 Infineon 定制版本ModusToolbox™ Programming Tools软件包内自带 Infineon OpenOCD安装后即可使用也可独立安装下载 Infineon OpenOCD 对应平台的发行版解压到任意目录后使用。Linux 设备权限Linux 下使用 KitProg3 需要配置设备访问权限。ModusToolbox™ Programming Tools 安装时会自动处理若为独立安装 OpenOCD需手动执行脚本openocd/udev_rules/install_rules.sh来安装 udev 规则。配置串口控制台将 USB 线从 PC 连接到板卡上的 KitProg3 USB Micro-B 接口J8然后用任意串口终端minicom、PuTTY 等连接参数为速率Speed115200数据位Data8 bits校验ParityNone停止位Stop bits1烧录固件Flashing首次使用需先设置 Infineon OpenOCD 路径之后即可构建并烧录。Windows 环境一次性配置 OpenOCD 路径west config build.cmake-args -- -DOPENOCDpath/to/infineon/openocd/bin/openocd.exeLinux 环境一次性配置 OpenOCD 路径west config build.cmake-args -- -DOPENOCDpath/to/infineon/openocd/bin/openocd两种平台下构建与烧录命令完全一致west build -b cy8cproto_062_4343w -p always samples/hello_world west flash烧录成功后控制台应输出*** Booting Zephyr OS build vX.Y.Z *** Hello World! cy8cproto_062_4343wwest flash实际调用的是 board.cmake 中注册的 openocd runner若-DOPENOCD未设置runner 会在 PATH 中查找 openocd因此在独立安装时务必保证路径配置正确。GDB 调试Debugging使用 Zephyr 的 debug 目标启动调试会话west build -b cy8cproto_062_4343w -p always samples/hello_world west debugGDB 控制台启动后即可在 PSOC™ 62 的 Cortex-M4 内核上设置断点并执行标准 GDB 调试操作如break、continue、next、print等。如需使用 J-Link 或 pyocd可通过west flash --runner runner或west debug --runner runner切换 runner其中 pyocd 使用目标cy8c6xxa。小结CY8CPROTO-062-4343W 是一块资源丰富、面向 IoT 原型验证的 PSOC™ 6 双核开发板。在 Zephyr 中其硬件能力通过 设备树 完整暴露SCB5 承担控制台、SCB2 承担蓝牙 HCI、SDIO 挂载 Wi-Fi 模块时钟树由 FLL/分频器精确配比出 100 MHz CM4 与 50 MHz CM0。开发时只需按上文顺序完成 blob 获取、OpenOCD 路径配置与west build/west flash即可快速进入应用开发与调试阶段。【免费下载链接】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),仅供参考