USB设备内部都有USB的芯片和MCU(Micro CPU Unit)。 USB设备上电后,首先初始化(设备自身逻辑和USB芯片的初始化) 。连接PC后即可开始USB设备与主机的交互进程。
1,Firmware程序的基本框架
设备Firmware的工作往往采用前、后台的方,前后台通过中断标志位进行通信,中断标志位可设置成全局变量以简化设计。
前台程序:死循环。不断的检测标志位,判断是否有中断,有则进入到相应的时间处理函数中。如果有操作系统则会不止这么简单 。
后台程序:中断处理程序。读取中断标记,判断并处理中断事务(如传输错误、收到Setup包、收到令牌包、传输完成等),设置相应的标志位。
下面是一个基本的USB firmware的基本交互框架。
========后台============ ============前台===