嵌入式Linux USB驱动添加与文件传输应用
嵌入式 Linux 的 USB 驱动添加和文件传输应用,说起来其实也没多难,关键是你得知道从哪下手。这篇文章围绕 MCF5272 芯片展开,硬件上用的是比较常见的 PDIUSBD12,符合 USB 1.1 协议,搭配 uClinux 用起来还蛮顺的。
驱动部分主要涉及几个 C 文件和头文件,像usb.c
、usb.h
这些,基本都放到字符驱动目录下。改下Makefile
和config.in
,加上配置选项就能编进内核。过程虽不算新手友好,但照着步骤来,还是挺稳的。
后面结合了一个叫 UFTP 的传输协议,实现了 USB 文件的读写操作,状态管理也清楚,比如USB_DEV_STATE_RUNNING
这类状态码就蛮实用的。协议格式也不复杂,就是命令加参数,发送文件用send_file()
,接收用receive_file()
,整体逻辑清晰。
,如果你正好在搞 MCF5272 或者类似的 ColdFire 平台,想搞个 USB 传输功能出来,这篇文章内容还蛮全的。配置细节、代码结构、文件操作流程都说得比较到位,适合参考。嗯,别忘了好错误逻辑和缓冲区,实战时候少不了。
如果你对嵌入式驱动开发有兴趣,推荐你也看看嵌入式驱动开发这篇文章,还有那个ARM 嵌入式 Linux 驱动开发全指南,思路也挺清楚的。
140.42KB
文件大小:
评论区