1、如何动态地修改设备描述符或字符串描述符?
在文件usbd_desc.c里,与设备和字符串相关的描述符可以通过getdescriptor的回调函数进行动态调整。
2、如何让大容量存储类驱动支持多个逻辑盘【lun】?
在文件usbd_msc_storage_xxx.c中修改storage_lun_nbr。【xxx代表使用的存储介质】
storage_inquirydata数组里包含了每个lun的标准查询数据【inquiry data】。
比如用到2个lun。
constint8_t storage_inquirydata[] = {
/*lun 0 */
0x00,
0x80,
0x02,
0x02,
(usbd_std_inquiry_length- 5),
0x00,
0x00,
0x00,
's','t', 'm', ' ', ' ', ' ', ' ', ' ', /* manufacturer:
8bytes */
'm','i', 'c', 'r', 'o', 's', 'd', ' ', /* product:
16bytes */
'f','l', 'a', 's', 'h', ' ', ' ', ' ',
'1','.', '0' ,'0', /* version: 4 bytes */
/*lun 1 */
0x00,
0x80,
0x02,
0x02,
(usbd_std_inquiry_length- 5),
0x00,
0x00,
0x00,
's','t', 'm', ' ', ' ', ' ', ' ', ' ', /* manufacturer:8 bytes */
'n','a', 'n', 'd', ' ', ' ', ' ', ' ', /* product:16 bytes */
'f','l', 'a', 's', 'h', ' ', ' ', ' ',
'1','.', '0' ,'0', /* version: 4 bytes */
};
3、端点的地址在哪里定义?
端点地址一般在各个类驱动的头文件里定义。
比如msc类的端点定义就在usbd_msc.h定义如下:
#define msc_epin_addr 0x81 //for endpoint 1 in
#definemsc_epout_addr 0x01 //for endpoint 1 out
4、usb设备库是否可以任意运行在full speed或high speed模式?
是的,该库支持usb otg fs和usbotg hs模式。其中,usb otg fs内核仅支持fs模式,usb otg hs内核既支持fs模式也支持hs模式。
用户通过如下宏选择合适的usb核:
use_usb_hs// usb high speed (hs) core
use_usb_fs// usb full speed (fs) core
use_usb_hsanduse_usb_hs_in_fs // usbhigh speed (hs) core in fs mode
5、如何在usb设备类驱动里面修改或增加端点?
a.使用usbd_ll_openep()进行端点的初始化。
b.在usb_conf.c里为新定义的端点配置发送或接收fifo。
以stm32f2、stm32f4等支持otg功能的mcu为例。
用到hal_pcd_setrxfifo()和hal_pcd_settxfifo()配置tx/rx的fifo。
注意配置tx和rx fifo的大小时不得超过对应的usb核所拥有的全部fifo.
usbotg fs core的fifo 为320 x 32 bits(1.25 kbytes)
usbotg hs core的fifo 为1024 x 32bits (4 kbytes)
对于仅支持fs核的stm32f0,stm32l0, stm32f1 and stm32f3系列,
使用hal_pcd_pma_config() 进行pma的配置。
6. usb设备库与实时操作系统兼容吗?
是的,该usb 设备库可以配合rtos使用。其中cmsis rtos的封装器实现对os内核的抽象。
全球芯片短缺的原因
艾法斯成为TD产业联盟首批海外测试测量仪器厂商会员
阿里巴巴张勇:通过数字化的方式寻找新的发展机遇
比特币和平宪法将终结暴政时代
燃油库气象站的功能特点及技术参数
有关于STM32Cube的几个常见问题(USB设备库)
详解变频空调器的主要器件
智能医疗逆流而上布局医疗健康服务
世界芯片制造三巨头
折叠屏手机的性价比首选,FlexPai折叠手机新体验
40G光模块是什么?
基于FPGA 以及数字电路设计相关高级技巧介绍
轴承为什么会产生电腐蚀,电腐蚀的现象有哪些
松下专业视音频解决方案助力英国爱丁堡国际艺术节的举办
英伟达与信实、塔塔达成协议,深化对印度人工智能的押注
并行处理器概念与基本结构介绍
大电流弹片微针模组可大大提高FPC软板的测试效率
山东省宣布2019年确定120个省重点项目 总投资达3360亿元
CKS32F4xx系列ADC单通道电压采集
2019年国内手机市场总体情况分析