描述
您是否曾经想开发自己的设备,可以使用USB连接到计算机?您是否熟悉使用USB <-> UART适配器,但想将您的USB知识和理解带到更高的极限?如果是,那么此课程绝对适合您!
经过大量的准备和微调,我自己制作了幻灯片和代码的全部内容,以为您提供最好的体验,您可以在网上找到今天的知识,以在理论上和实践上学习和理解USB协议和框架。
在本课程中与我的旅程应使您免于尝试从任何其他在线来源学习或了解USB时可能遇到的挫败感。USB大多是一个谜,而且是一个非常复杂的协议,大多数工程师试图避免使用USB,或者至少尝试将其转换为其他更简单的协议。但是,完成本课程后,您将可以成为一位自信的本地USB工程师,并且无需使用任何库就可以与我一起开发您的第一个裸机USB设备,这将使您完全掌控USB的功能。 USB。即使您在职业生涯中希望使用USB库,也可以通过本课程全面了解幕后情况,并使您能够开发和微调所需的USB设备,因为在本课程结束后,
在此过程中,我们将:
-从有关USB的一些理论信息开始。
-了解USB协议的基本细节。
-花些时间了解如何正确配置任何嵌入式系统的时钟。
-为基于ARM Cortex M4的微控制器(STM32F4xx系列)实现裸机USB固件。
-实施裸机USB框架。
-开发我们自己的USB HID鼠标,从零到功能全面!
当然,我们将在本课程中一起开发的项目的源代码可供您下载。您将来可以将其用作项目的模板(全部或部分)。
本课程尚处于初期阶段,如果需要,将经常添加或增强一些新的附加内容。但是,当前内容已足够,足以获得功能齐全的USB人机界面设备。
工程快乐!课程内见!
类型:在线学习| MP4 | 视频:h264,1280×720 | 音频:aac,48000 Hz
语言:英语| VTT | 大小:7.20 GB | 时长:14h 37m
您将学到的知识
在不使用任何第三方库或代码生成器的情况下,为USB 2.0人机接口设备(HID)编写裸机固件。
实现USB设备驱动程序和USB 2.0协议框架。
从零开始编写功能齐全的USB鼠标。
了解通用USB描述符和特定于人机接口设备(HID)类的描述符。
处理本机USB(无需进行任何UART转换)
使用基于ARM Cortex-M4的微控制器(STM32F4xx),这是世界上最发达和最著名的MCU之一。
使用Wireshark和Linux SysLog调试USB通信。
阅读《 ARM Cortex-M4参考手册》的不同部分,并有效地提取重要信息。
了解USB 2.0协议在全速模式下如何工作。
了解USB端点,管道,传输类型,数据包,事务,帧,电源,拓扑等。
了解USB的基本机械和电气规格(连接器,电缆,速度枚举电阻器等等)。
了解开发通用串行总线(USB)的历史和动机。
了解如何使用单线输出(SWO)将日志发送到调试主机。
通过使用ARM CMSIS,可以提高工作效率和代码可移植性。
使用Doxygen语法记录您的代码。
要求
C编程语言的基本知识(推荐)。
设计嵌入式系统的基本知识。
任何在Discovery或Nucleo板上的STM32F4单片机(基于ARM Coretx-M4)都可以应用该知识。
本课程适用于谁:
任何想了解复杂USB系统如何在后台工作的人。
想要开发USB设备的嵌入式工程师。
一般而言,想要丰富其嵌入式系统知识的工程师。
想要编写模块化且可维护的固件的工程师。