- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
HYPERLINK /saloon_yuan/article/details/7881853 USB固件开发
分类: HYPERLINK /saloon_yuan/article/category/1216943 USB设备开发----固件设计 2012-08-19 21:54 201人阅读 HYPERLINK /saloon_yuan/article/details/7881853 \l comments#comments 评论(0) HYPERLINK javascript:void(0); \o 收藏 收藏 HYPERLINK /saloon_yuan/article/details/7881853 \l report#report \o 举报 举报
?????? 上篇介绍了基于libusb的无驱动设计,上位机没问题了,现在还留下个下位机的问题,该项目中USB下位机采用的Cypress的CY7C68013A控制芯片, 下面来仔细看如何编写下位机的固件程序(firmware)。
先看看工程的结构,如下图所示(开发工具为Keil uVision3):
其中:
(1): fw.c: 这个文件是整个USB的固件的根本,USB协议方面的通信都是在这里完成的,包括上电枚举,重枚举,唤醒以及调用用户自己的程序和控制命令等等。 一般的开发,该文件无需修改。固件的main程序就位于该文件中,概括来说,它首先进行一系列通用初始化设置,并调用void TD_Init(void)函数来实现用户的特殊初始化设置。之后,程序会一直监视是否有指令收到,并在空闲的时候反复调用TD_Poll()函数来实现我们用户的功能。代码如下:
[cpp] HYPERLINK /saloon_yuan/article/details/7881853 \l # \o view plain view plain HYPERLINK /saloon_yuan/article/details/7881853 \l # \o copy copy HYPERLINK /saloon_yuan/article/details/7881853 \l # \o print print HYPERLINK /saloon_yuan/article/details/7881853 \l # \o ? ?
????????????????//----------------------------------------------------------------------------- ??
//?File:??????fw.c ??
//?Contents:??Firmware?frameworks?task?dispatcher?and?device?request?parser ??
//????????????source. ??
// ??
//?indent?3.??NO?TABS! ??
// ??
//?$Revision:?18?$ ??
//?$Date:?12/04/01?5:33p?$ ??
// ??
//???Copyright?(c)?1997?AnchorChips,?Inc.?All?rights?reserved ??
// ??
??
//----------------------------------------------------------------------------- ??
#include?.\Inc\fx2.h ??
#include?.\Inc\fx2regs.h ??
??
//----------------------------------------------------------------------------- ??
//?Constants ??
//----------------------------------------------------------------------------- ??
#define?DELAY_COUNT???0x9248*8L??//?Delay?for?8?sec?at?24Mhz,?4?sec?at?48 ??
#define?_IFREQ??48000????????????//?IFCLK?constant?for?Synchronization?Delay ??
#define?_CFREQ??48000????????????//?CLKOUT?constant?for?Synchronization?Delay ??
??
//---------------------------------------------
您可能关注的文档
最近下载
- 水土保持监督管理培训课件.pptx VIP
- 输变电工程环境保护和水土保持全过程管控培训课件.pptx VIP
- 生产建设项目水土保持方案管理办法培训课件.pptx VIP
- 培训课件_1411dxs小天鹅纯臻2.0新品1411DXS系列.pdf VIP
- 2022年内蒙古农业大学硕士研究生入学考试公共管理专业综合基础考研真题.pdf VIP
- 郑州市第七高级中学2024-2025学年高一上学期第一次月考物理试卷.docx VIP
- 《民族音乐鉴赏方法:音乐鉴赏课教学教案》.doc VIP
- 《中国传统民族音乐赏析:音乐鉴赏课程教案》.doc VIP
- 水果店的创业计划书.docx VIP
- 一种模块式双向卡瓦锚定机构.pdf VIP
文档评论(0)