微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > STM32 USB固件库结构

STM32 USB固件库结构

时间:11-24 来源:互联网 点击:
STM32 USB固件库结构如下图所示:



可见,STM32 USB固件库分为3层:Low Layer、Medium Layer和High Layer,下面分析下这三层分别的角色:

(1)Low Layer

usb_regs(.h,.c):实现了硬件抽象层,提供了一个函数集合来操作USB外设寄存器,这个集合包括Commmom resister functions、Endpoint register functions、Buffer description table functions和Double-buffered endpoints functions四个函数集;

usb_int(.h,.c):模块处理正确中断服务程序;它提供了USB协议事件与这个库的连接,低优先级中断被CTR_LP()函数管理,用于控制模式、中断模式和批量模式(单缓冲区);高优先级中断被CTR_HP()函数管理,用于快速传输模式,像同步传输模式和批量模式(双缓冲区);

usb_mem.c(.h,.c):负责拷贝数据,从用户内存区到USB模块内存区(PMA)或者从USB模块内存区(PMA)到用户内存区;

(2)Medium Layer

usb_init(.h,.c):设置在整个库中用的到的USB初始化函数和全局变量

usb_core(.h,.c):整个库的核,它实现了USB2.0规范;

usb_sil(.h,.c):实现外围接口的抽象层,它提供的过程实现端点的读写;

(3)High Layer:提供给开发人员应用接口

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top