1. 环境准备搭建PHY6222开发基础第一次拿到PHY6222开发板时我盯着那个指甲盖大小的芯片看了半天——这么小的东西真的能跑蓝牙协议栈后来实测发现它不仅支持BLE 5.0还能跑32位ARM Cortex-M0内核。先说说我的环境配置踩坑史硬件三件套你得备齐官方开发板带PHY6222芯片的底板J-Link调试器建议用V9以上版本V8有时候会抽风三色杜邦线红黑黄各5条实测杂牌线容易接触不良软件环境更讲究去官网下PHY62XX_SDK_3.0.9这个版本注意要选带bbb后缀的烧录工具用PhyPlusKit_V2.5.1d新版可能有兼容问题编译器推荐Keil MDK 5.30记得装ARMCC 6.16组件有次我偷懒直接装了最新版SDK结果GPIO例程死活编译不过。后来发现3.1.0版本改了寄存器定义新手建议先用稳定版。装完软件后记得配置系统环境变量把工具链路径加进去否则命令行操作会报找不到phy62xx_tool这种错误。2. 硬件接线那些容易接错的引脚开发板上有两个烧录接口USB直连和串口烧录。新手建议先用USB模式等熟悉了再玩飞线。我画个最简接线图VCC → 3.3V千万不能接5V GND → GND共地是常识但总有人忘 P10 → TX接调试器的RX P09 → RX接调试器的TX TM → 3.3V模式切换关键脚 RST → GND复位时拉低TM引脚最容易被忽视——它必须在烧录前保持高电平运行时又要拉低。有次我烧录成功但程序不跑折腾半天发现TM脚悬空了。建议用万用表量下电压确认是稳定的3.3V再操作。3. 烧录实战从擦除到验证打开PhyPlusKit后别急着点烧录先完成这些前置操作导入hex文件SDK里GPIO例程的路径是/examples/peripheral/gpio/Output/gpio.hex填写MAC地址随便写个格式正确的比如A0B1C2D3E4F5全F或留空会报错串口设置选对COM口设备管理器里看波特率固定115200点Connect后立刻观察串口输出——如果看到cmd提示符说明进入烧录模式成功。这时候先点Erase擦除整片约3秒再点Program烧录进度条走完约8秒。最后关键一步先拉低TM脚再给RST脚一个上升沿复位这时开发板的LED就该闪了。4. J-Link调试技巧虽然不能直接下载固件但在线调试超级有用。接线时注意P2接SWDIO不是标准JTAG接口P3接SWCLK电源一定要共地在Keil里要改两个地方工程选项的Debug选项卡选J-Link在Utilities里勾选Update Target before Debugging调试前记得生成.hexf文件在PhyPlusKit里点HexF按钮然后把生成的路径复制到debug.ini里。有次我调试时变量值不更新发现是.ini文件里路径用了中文目录改成全英文就正常了。5. 常见问题排查手册症状1根本不出cmd提示检查接线顺序TX/RX最容易接反换条USB线试试劣质线只能充电不能传数据测量晶振两端电压正常约0.7-1.2V症状2能烧录但程序不运行TM脚电压是否已拉低电源纹波是否过大示波器看3.3V要平稳检查.vector_table是否在0x00000000用Keil的Memory窗口看最玄学的一次我换了三块板子都烧录失败最后发现是办公室空调导致环境温度太低18℃以下芯片内部LDO不稳定。用热风枪吹到25℃以上立马正常——这种奇葩问题官方文档可不会写。6. 进阶技巧自定义MAC与低功耗调试量产时需要批量烧录不同MAC地址可以用脚本自动化import serial ser serial.Serial(COM4, 115200) ser.write(bset_mac A0B1C2D3E4F5\r\n) print(ser.read_all())低功耗调试时注意在ble_cfg.h里修改CFG_LP_CLK为外部32.768kHz晶振用电流探头抓波形正常待机电流应5μA唤醒源配置检查GPIO唤醒要开启上下拉有次做门磁报警器项目电池三天就没电。后来发现是调试时开了TRACE功能休眠电流从3μA暴涨到800μA。所以量产前记得关所有调试接口。
从零上手PHY6222:BLE芯片烧录与调试实战指南
1. 环境准备搭建PHY6222开发基础第一次拿到PHY6222开发板时我盯着那个指甲盖大小的芯片看了半天——这么小的东西真的能跑蓝牙协议栈后来实测发现它不仅支持BLE 5.0还能跑32位ARM Cortex-M0内核。先说说我的环境配置踩坑史硬件三件套你得备齐官方开发板带PHY6222芯片的底板J-Link调试器建议用V9以上版本V8有时候会抽风三色杜邦线红黑黄各5条实测杂牌线容易接触不良软件环境更讲究去官网下PHY62XX_SDK_3.0.9这个版本注意要选带bbb后缀的烧录工具用PhyPlusKit_V2.5.1d新版可能有兼容问题编译器推荐Keil MDK 5.30记得装ARMCC 6.16组件有次我偷懒直接装了最新版SDK结果GPIO例程死活编译不过。后来发现3.1.0版本改了寄存器定义新手建议先用稳定版。装完软件后记得配置系统环境变量把工具链路径加进去否则命令行操作会报找不到phy62xx_tool这种错误。2. 硬件接线那些容易接错的引脚开发板上有两个烧录接口USB直连和串口烧录。新手建议先用USB模式等熟悉了再玩飞线。我画个最简接线图VCC → 3.3V千万不能接5V GND → GND共地是常识但总有人忘 P10 → TX接调试器的RX P09 → RX接调试器的TX TM → 3.3V模式切换关键脚 RST → GND复位时拉低TM引脚最容易被忽视——它必须在烧录前保持高电平运行时又要拉低。有次我烧录成功但程序不跑折腾半天发现TM脚悬空了。建议用万用表量下电压确认是稳定的3.3V再操作。3. 烧录实战从擦除到验证打开PhyPlusKit后别急着点烧录先完成这些前置操作导入hex文件SDK里GPIO例程的路径是/examples/peripheral/gpio/Output/gpio.hex填写MAC地址随便写个格式正确的比如A0B1C2D3E4F5全F或留空会报错串口设置选对COM口设备管理器里看波特率固定115200点Connect后立刻观察串口输出——如果看到cmd提示符说明进入烧录模式成功。这时候先点Erase擦除整片约3秒再点Program烧录进度条走完约8秒。最后关键一步先拉低TM脚再给RST脚一个上升沿复位这时开发板的LED就该闪了。4. J-Link调试技巧虽然不能直接下载固件但在线调试超级有用。接线时注意P2接SWDIO不是标准JTAG接口P3接SWCLK电源一定要共地在Keil里要改两个地方工程选项的Debug选项卡选J-Link在Utilities里勾选Update Target before Debugging调试前记得生成.hexf文件在PhyPlusKit里点HexF按钮然后把生成的路径复制到debug.ini里。有次我调试时变量值不更新发现是.ini文件里路径用了中文目录改成全英文就正常了。5. 常见问题排查手册症状1根本不出cmd提示检查接线顺序TX/RX最容易接反换条USB线试试劣质线只能充电不能传数据测量晶振两端电压正常约0.7-1.2V症状2能烧录但程序不运行TM脚电压是否已拉低电源纹波是否过大示波器看3.3V要平稳检查.vector_table是否在0x00000000用Keil的Memory窗口看最玄学的一次我换了三块板子都烧录失败最后发现是办公室空调导致环境温度太低18℃以下芯片内部LDO不稳定。用热风枪吹到25℃以上立马正常——这种奇葩问题官方文档可不会写。6. 进阶技巧自定义MAC与低功耗调试量产时需要批量烧录不同MAC地址可以用脚本自动化import serial ser serial.Serial(COM4, 115200) ser.write(bset_mac A0B1C2D3E4F5\r\n) print(ser.read_all())低功耗调试时注意在ble_cfg.h里修改CFG_LP_CLK为外部32.768kHz晶振用电流探头抓波形正常待机电流应5μA唤醒源配置检查GPIO唤醒要开启上下拉有次做门磁报警器项目电池三天就没电。后来发现是调试时开了TRACE功能休眠电流从3μA暴涨到800μA。所以量产前记得关所有调试接口。