首页 > 代码库 > USB的固件和驱动的最简单用法
USB的固件和驱动的最简单用法
1、利用Cypress提供的USB通用驱动程序CyUSB.sys and CyUSB.inf,是稳妥的做法,因为驱动程序的编程比较繁琐,可尽力规避。可简单修改sys文件名、inf文件中的ID码、inf文件中出现的sys文件的文件名;
2、在一个EZUSB固件工程中,一般只需要修改两个文件:Periph.c(用户调度函数,不同工程取名不同,如官方例程中的BulkLoop.c), DSCR.A51(USB描述符列表,通常是汇编语言编写的,读起来简单直接);
3、实际固件编程中一般只需要修改fw.c中出现的两个子函数:
(1)TD_Init():可进行全局变量、FX2LP寄存器初始化;
(2)TD_Poll():在这里添加需要实现的功能,因为它会被main函数重复执行;
4、有事,用户会抛弃TD_Poll()函数,而只是利用" BOOL DR_VendorCmnd(void) "在固件中定义自己的请求,利用控制传输发送用户自定义的请求:
(1)请求响应函数是fw.c中的void SetupCommand(void),其中对用户请求交给DR_VendorCmnd(void)处理,DR_VendorCmnd(void)根据setupdata决定下一步动作;
(2)DR_VendorCmnd(void) 函数定义在Periph.c内,当设备接收到自定义控制命令时被fw.c调用;
PS:发现用Word重新发布一篇经过修改的、本地保存的博客文章,博客上会将之前的文章进行更新,而不是发布一篇新文章,即便更改的是文章标题。这很好,可以方便进行网上和本地的文章同步。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。