littlebot
Published on 2025-03-29 / 4 Visits
0

【源码】基于C语言的EZ PD PMG1 MCU USB MSC文件系统项目

项目简介

本项目是一个代码示例,主要展示如何把EZ - PD™ PMG1 MCU的USB模块配置成大容量存储类(MSC)设备,同时在SRAM内存中模拟文件系统。固件借助内部内存模拟文件系统,存在一个对USB主机可见的文件,用户按下开发套件按钮时,文件内容会改变。

项目的主要特性和功能

  1. USB MSC设备模拟:成功将EZ - PD™ PMG1 MCU配置为USB MSC设备,能被PC等主机识别。
  2. SRAM文件系统模拟:在MCU的SRAM中模拟文件系统,提供可访问的文件。
  3. 交互性内容更新:用户按开发套件按钮,文件内容会相应改变,增强设备交互性。
  4. 多工具链支持:支持GNU Arm® Embedded Compiler、Arm® Compiler、IAR C/C++ Compiler等多种工具链。
  5. 多开发套件适配:适用于EZ - PD™ PMG1 - S2和EZ - PD™ PMG1 - S3等多种开发套件。

安装使用步骤

环境要求

  1. 安装ModusToolbox™软件 v3.0或更高版本(已在v3.0上测试)。
  2. 板级支持包(BSP)最低要求版本为3.0.0。
  3. 编程环境需支持C语言。
  4. 需使用EZ - PD™ PMG1 - S2 MCUEZ - PD™ PMG1 - S3 MCU相关部件。

硬件设置

  1. 用提供的USB电缆,通过KitProg3 USB连接器将开发板连到PC,用于对PMG1 MCU设备编程。
  2. 用USB Type - C电缆,通过J10连接器将USB Type - C端口连到PC。参考EZ - PD™ PMG1 MCU原型开发套件指南确保开发板配置正确。
  3. 若启用UART调试打印消息,需进行UART连接,不同版本的PMG1原型开发套件UART引脚连接方式不同,查看套件用户指南确保开发板配置正确。

软件设置

若没有终端模拟器,需安装一个,本文档示例使用Tera Term。当DEBUG_PRINT启用时,用终端模拟器查看UART调试打印消息。

项目创建与使用

在Eclipse IDE for ModusToolbox™软件中

  1. 点击“Quick Panel”中的“New Application”链接(或用“File” > “New” > “ModusToolbox™ Application”),启动Project Creator工具。
  2. 在“Project Creator - Choose Board Support Package (BSP)”对话框列表中,选代码示例支持的开发套件,选后示例自动重新配置适配该套件。若后续用不同支持套件,用Library Manager选相应的BSP。
  3. 在“Project Creator - Select Application”对话框中,勾选选择示例。
  4. (可选)更改建议的“New Application Name”。
  5. “Application(s) Root Path”默认是Eclipse工作区,若要把应用程序存其他位置,可更改该值。共享库的应用程序应在同一根路径下。
  6. 点击“Create”完成应用程序创建过程。更多详细信息,参考Eclipse IDE for ModusToolbox™软件用户指南

在命令行界面(CLI)中

ModusToolbox™软件提供图形界面工具和命令行工具“project - creator - cli”,位于“{ModusToolbox™软件安装目录}/tools_{版本}/project - creator/”目录下。 在CLI终端或批处理文件、shell脚本中使用该工具,Windows系统用ModusToolbox™软件安装提供的“modus - shell”程序,Linux和macOS系统用任何终端应用程序。 “project - creator - cli”工具参数及说明: | 参数 | 描述 | 必需/可选 | | ---- | ---- | ---- | | --target-dir | 若不想用默认当前工作目录,可指定应用程序创建目录 | 可选 | | --user-app-name | 若想用不同于示例默认名称的应用程序名称,可指定 | 可选 |

示例命令: project - creator - cli --board - id PMG1 - CY7112 --app - id mtb - example - pmg1 - usbfs - msc - fs - sram --user - app - name MyUsbfsMscFsSram --target - dir "C:/mtb_projects" 若后续用不同支持套件,用Library Manager选相应的BSP。可在终端用make library - manager命令调用Library Manager图形界面工具,或用Library Manager命令行工具“library - manager - cli”更改BSP。 “library - manager - cli”工具参数及说明: | 参数 | 描述 | 必需/可选 | | ---- | ---- | ---- | | --add-bsp-name | 应添加到应用程序的BSP名称 | 必需 | | --set-active-bsp | 应作为应用程序活动BSP的BSP名称 | 必需 | | --add-bsp-version | 若不想用清单中最新版本,可指定要添加到应用程序的BSP版本 | 可选 | | --add-bsp-location | 若想把BSP添加到共享路径,可指定BSP的位置(本地/共享) | 可选 |

示例命令: ~/ModusToolbox/tools_3.0/library - manager/library - manager - cli --project "C:/mtb_projects/MyUsbfsMscFsSram" --add - bsp - name PMG1 - CY7112 --add - bsp - version "latest - v3.X" --add - bsp - location "local" ~/ModusToolbox/tools_3.0/library - manager/library - manager - cli --project "C:/mtb_projects/MyUsbfsMscFsSram" --set - active - bsp APP_PMG1 - CY7112

在第三方IDE中

  • 用独立的Project Creator工具
    1. 从Windows开始菜单或“{ModusToolbox™软件安装目录}/tools_{版本}/project - creator/project - creator.exe”启动Project Creator。
    2. 在初始的“Choose Board Support Package”屏幕中,选BSP,然后点击“Next”。
    3. 在“Select Application”屏幕中,从“Target IDE”下拉菜单中选合适的IDE。
    4. 点击“Create”,按底部面板中打印的说明在相应的IDE中导入或打开导出的项目。
  • 用命令行界面(CLI)
    1. 按“在命令行界面(CLI)”部分说明创建应用程序。
    2. make <ide>命令将应用程序导出到支持的IDE。
    3. 按终端中显示的说明创建或导入应用程序作为IDE项目。更多支持的IDE列表和详细信息,参考ModusToolbox™软件用户指南中的“Exporting to IDEs”部分。

操作步骤

  1. 确保完成硬件设置部分步骤。
  2. 确保电源选择跳线(J5)上的跳线短接片置于位置2 - 3,启用编程。
  3. 用以下方法之一对开发板编程:
    • 用Eclipse IDE for ModusToolbox™软件
      1. 在Project Explorer中选应用程序项目。
      2. 在“Quick Panel”中向下滚动,点击“ Program (KitProg3_MiniProg4)”。
    • 用CLI:从终端执行make program命令,用默认工具链将应用程序构建并编程到默认目标。可在应用程序的Makefile中指定默认工具链,也可手动覆盖该值,例如: make program TOOLCHAIN = GCC_ARM
  4. 对开发套件编程后,将电源选择跳线(J5)位置改为1 - 2,通过USB PD端口为开发套件供电。
  5. 将另一根USB电缆(或重用编程用电缆)连到USB连接器(J10)。
  6. 在PC上,验证操作系统是否识别名为“PMG1 Drive”的新便携式设备。打开“PMG1 Drive”设备,确认文件“LOG.TXT”可读。
  7. 打开PC上的设备管理器,验证该设备是否被枚举为“USB Mass Storage Device”。
  8. 打开“LOG.TXT”文件读取内容,内容应为: PMG1 MSC Device Content:
  9. 关闭“LOG.TXT”文件。
  10. 按下按钮五次,模拟设备弹出并重新插入,强制操作系统重新读取大容量存储中的更改。
  11. 再次打开“LOG.TXT”文件,检查文件是否添加新内容: ``` PMG1 MSC Device Content:

    Button press 1 time(s) Button press 2 time(s) Button press 3 time(s) Button press 4 time(s) Button press 5 time(s) ```

  12. 或者,按下按钮“n”次。断开并重新连接连到USB PD端口的USB电缆,重新枚举设备。再次打开“LOG.TXT”文件,检查文件是否追加“n”行内容(不超磁盘大小)。

调试

可对示例调试以逐步执行代码。在IDE中,用“Quick Panel”中的“ Debug (KitProg3_MiniProg4)”配置。更多详细信息,参考Eclipse IDE for ModusToolbox™软件用户指南中的“Program and debug”部分。确保开发板通过KitProg3 USB连接器用USB电缆连到PC,且电源选择跳线(J5)上的跳线短接片置于位置1 - 2。有关在CY7112原型开发套件上调试应用程序的信息,参考EZ - PD™ PMG1 MCU原型开发套件指南中的“Programming and debugging the CY7112 kit”部分。

下载地址

点击下载 【提取码: 4003】