玩ARM7板,开发U盘
需积分: 0 138 浏览量
更新于2008-06-10
收藏 35KB DOC 举报
在本文中,我们将探讨如何利用一块ARM7开发板来开发U盘。ARM7是一种广泛应用的微处理器架构,常用于嵌入式系统,如移动设备、工业控制和消费电子产品。在这个项目中,开发者使用了一块来自深圳得技通电子的基于S3C44B0X的ARM7开发板,该板载有一个PDIUSBD12接口芯片,用于实现USB通信。
开发者将ZLG提供的D12源代码DEMO的底层函数移植到ADS1.2环境下,这是一个常用的ARM开发工具链。移植过程主要是调整和适配代码,确保在新的开发环境中能够正常编译和运行。
接下来,关键步骤是配置设备的描述符,这些描述符向主机提供了设备的能力和特性信息。在USB设备中,接口描述符定义了设备的接口数、类、子类和协议。对于U盘,接口描述符的类设置为0x08(大容量存储类),子类设置为0x06(UFI或SCSI-2协议),协议代码设置为0x50(单批量传输协议)。此外,端点描述符定义了数据传输的端点,这里除了端点0外,还有3个端点,但开发者并未使用端点1。
在设备枚举完成后,主机将发送一个类特定请求,以获取设备的最大逻辑单元号(LUN)。这个请求在控制处理函数`control_handler(void)`中被处理,根据请求类型,调用对应的处理函数。
整个U盘开发过程中,开发者选择使用查询方式而不是中断,这意味着程序会不断地检查是否有新的USB事件,而非等待中断事件发生。这种方法虽然可能增加CPU负荷,但在某些简单应用中是足够的。
这个项目的难点在于理解和配置USB协议,尤其是USB类请求和设备描述符的设置。开发者提到,尽管他个人对ARM并不熟悉,但通过参考现有的DEMO和文档,他成功地实现了U盘功能。这表明,只要有实践和学习的决心,即使非计算机专业背景的人也可以完成类似项目。
开发者鼓励读者动手实践,认为这是提升技能的关键。他分享了自己从新手到熟练的过程,并提供了一个可以参考的起点,希望对那些对USB通信感兴趣的初学者有所帮助。无论你的背景如何,只要你愿意动手尝试,都有可能做出属于自己的U盘项目。
orcd
- 粉丝: 85
- 资源: 194
最新资源
- (174927846)图书管理系统课设.doc
- 基于PLC音乐喷泉控制系统设计音乐喷泉组态设计音乐喷泉
- (143928440)SQL-数据库图书管理系统.docx
- TensorFlow 实战案例:利用 LSTM 进行电量预测(包含代码和数据)
- (176289228)H60-html手机网站-网页源码移动端前端-H5模板-自适应响应式源码.zip
- (176301404)响应式-HTML手机电脑网站-网页源码移动端前端-H5模板-自适应响应式源码.zip
- 基于MATLAB人体异常姿态行为检测识别源码+GUI界面(高分项目)
- 扫地机器人路径规划问题,算法是全覆盖内螺旋算法,使用MATLAB实现,下列为运行图过程截图 这段代码是一个扫地机器人的仿真程序 程序的主要功能是模拟机器人在一个房间内清扫的过程 下面我将对程序进行详细
- 数据分析-01-ZFB交易行为数据分析(包含代码和数据)
- matlab的人体异常行为检测识别系统(源码,文档,GUI).zip
- (175586048)数据可视化大屏通用模板
- unityppt插件打开PPT
- (17209246)迷宫 课程设计
- (8788644)迷宫问题课程设计
- S7-200 PLC和组态王组态温度PID控制加热炉电阻炉 组态王动画仿真,带PLC源代码,plc程序每一条都带着解释,组态王源代码,图纸,IO地址分配
- python圣诞树生成-python