usbd_cdc_msc 使用示例
例程路径: ls_sdk/examples/peripheral/usb/usb_cdc_msc
本例程演示了如何使用usbd_cdc_msc运行usbd msc(mass storage controller)实例。
注:出于对后续更新tinyusb仓库的考虑,为尽量保证tinyusb仓库的完整性,SDK的examples路径下只有app_config.h和SConstruct,demo的源代码在tinyusb的examples下
一、初始化及board配置
board相关的初始化代码如下:
void board_init(void)
{
sys_init_none();
pinmux_usb_init();
}
pinmux_usb_init会使用默认的DP/DM作为USB通信的两根IO
除此之外,为了适配tinyusb应用需求,需要实现board_millis()函数接口:
uint32_t board_millis(void)
{
return systick_get_value();
}
二、测试准备:
2.1 硬件准备
使用Gemini demo板,确保DP(PA12)有1.5KΩ上拉电阻到VDD33
2.2 软件准备
建议安装bushound软件
三、操作步骤及结果:
编译生成usbd_cdc_msc.hex文件,下载到demo板中,运行起来之后,插入USB线到PC,能在PC端看到识别的U盘,打开之后能看到一个txt文本文件,可以修改txt文本内容。修改后保存,拔掉USB再插入(确保没有断电),再次读取该文本文件,能看到修改后的内容
操作前可以打开bushound,抓取测试流程中所有USB通信数据