STM32F103中BTABLE=0x0000时PMA布局与BTABLE大小的问询
STM32F103 USB BTABLE与PMA布局解析
场景:BTABLE = 0x0000
Figure A(固定8×8字节BTABLE)理解验证
- 该理解正确。STM32F103的USB描述符表(BTABLE)大小固定为8×8字节=64字节,对应PMA地址范围
0x0000–0x003F - 无论实际启用多少个端点(哪怕仅3个),可用PMA缓冲区区域始终从
0x0040开始 - 可用PMA区域固定为
0x0040–0x0200
Figure B(描述符表大小取决于端点数量)理解验证
- 该理解错误。BTABLE的大小不会随固件中启用的端点数量变化,始终占用固定的64字节空间。即使只使用4个端点,BTABLE依然占据
0x0000–0x003F,可用PMA缓冲区还是从0x0040开始,而非0x0020
核心问题结论
当BTABLE = 0x0000时,可用PMA缓冲区区域始终从0x0040开始,不会根据配置的端点数量偏移。
内容的提问来源于stack exchange,提问作者rd-dev
相关产品推荐
相关产品推荐

