USB论坛
直播中

李杰

8年用户 1464经验值
私信 关注
[问答]

cyusb4014 是否有预装的USB引导程序?

cyusb4014 是否有预装的USB引导程序

回帖(1)

尚文清

2025-8-18 16:37:35

关于CYUSB4014 (EZ-USB™ CX3) 芯片是否有预装的USB引导程序,结论如下:


? 关键点:




  1. ? 无固化在ROM中的USB引导程序:

    CYUSB4014 没有像某些微控制器那样固化在芯片内部ROM中的USB引导程序(例如用于USB DFU固件更新的程序)。它的启动过程依赖于外部存储设备(如SPI Flash)。




  2. ? BOOT引脚决定启动来源:

    芯片的启动模式由 BOOT引脚 的配置决定:



    • BOOT = 0:从外部SPI Flash启动

      这是最常见的方式。必须在SPI Flash中预先烧录完整的固件程序(包含USB功能初始化代码),才能让芯片枚举为USB设备。

    • BOOT = 1:从I2C主设备启动

      这种模式较少见,通常用于特殊调试或生产场景。




  3. ? 需要手动烧录初始固件:  



    • 出厂空白状态: 全新芯片的SPI Flash是空白的,无法通过USB枚举。

    • 烧录方式: 首次使用需通过 JTAG接口供应商专用工具(配合开发板)将固件(程序镜像)烧录到SPI Flash中。

    • USB功能依赖固件: 只有固件本身实现了USB协议栈,芯片才能作为USB设备工作。




  4. ? 支持Bootloader(但非预装):

    Cypress提供 Bootloader示例程序(如USB HID Bootloader)。开发者需:



    • 先将此Bootloader烧录到SPI Flash(通常通过JTAG)。

    • 后续即可通过USB接口更新固件(例如使用Cypress的Control Center软件)。

    • 此Bootloader不是芯片预装的,需开发者主动烧录。




? 总结:



  • ❌ 没有预装USB引导程序(无内置ROM Bootloader)。

  • ✅ 首次启动依赖外部SPI Flash中的完整固件(需通过JTAG等方式烧录)。

  • ?️ 支持开发者实现USB Bootloader功能(需自行烧录示例程序到SPI Flash)。


⚠️ 建议操作:



  1. 准备开发环境: 安装Cypress Suite USB开发工具包。

  2. 首次烧录: 使用JTAG调试器(如J-Link)将初始固件(含USB功能或Bootloader)烧录至SPI Flash。

  3. 后续更新: 若烧录了USB Bootloader,后续可通过USB接口进行固件更新。


? 官方文档参考:



  • CX3 Technical Reference Manual (TRM):详细描述启动流程和寄存器配置。

  • AN75779 - How to Implement Bootloadable in CX3:实现Bootloader的完整指南。

  • FX3 SDK:包含USB Bootloader示例代码(位于SDK install pathfirmwarebootloader)。


如果需要通过USB更新固件,务必先通过JTAG烧录一个包含USB Bootloader的初始固件到SPI Flash中。芯片本身不会在未编程状态下响应USB连接。

举报

更多回帖

发帖
×
20
完善资料,
赚取积分