Tất cả tags
#

Tag

#USB

Có 36 nội dung trong tag này.

Nội dung liên quan

#USB

Ngôn ngữ
Blog STM32 / Firmware

Finishing a Real HID Keyboard, from Keypress to Release

Turning key press and release events into HID reports and sending them to the host, plus what to watch out for with Boot Protocol and tap-style null reports.

#USB #STM32 #HID +4
Blog STM32 / Firmware

Firmware Log với USB CDC Debug Channel

Triển khai CDC debug channel trên STM32G0: descriptor CDC, ring buffer, ISR-safe logging và tránh xung đột DTR khi host mở COM port.

#USB #STM32 #CDC +4
Blog STM32 / Firmware

Composite Debug Tool: GUI test tổng hợp cho STM32 USB

GUI Python gộp CDC log, vendor command và RAM dump vào một màn hình: pattern queue-poll thống nhất trong tkinter, và vì sao viết GUI mới không đụng vào phần USB đã có.

#USB #STM32 #Python +4
Blog STM32 / Firmware

Hoàn thành HID keyboard thật từ sự kiện nhấn thả phím

Chuyển sự kiện nhấn thả phím thành HID report rồi gửi đến host kèm theo các lưu ý về Boot Protocol hay tap-style null report.

#USB #STM32 #HID +4
Blog STM32 / Firmware

Vendor Request và Bulk IN trên STM32G0

EP0 vendor command và Bulk IN RAM dump trên STM32G0: pending log flag, tại sao không dùng ZLP, Zadig cho Windows, và output thật từ vendor_test.py.

#USB #STM32 #Vendor +4
Ghi chú USB

CubeMX USB pitfalls thường gặp

Những điểm CubeMX không làm đúng khi generate USB code: HID mouse descriptor thay vì keyboard, NVIC không bật, Sof_enable DISABLE, USBD_static_malloc sai kích thước.

#STM32 #CubeMX #USB +3
Ghi chú USB

USB Bulk Transfer cho debug dump là gì?

Bulk IN cho RAM dump trên STM32G0: state machine chunk 64 byte, DataIn callback pipeline, tại sao không dùng ZLP, Zadig cho Windows và throughput thực đo.

#USB #Bulk #STM32 +3
Ghi chú USB

USB CDC ACM là gì?

CDC ACM trên STM32: tại sao giống UART về trải nghiệm nhưng khác về implementation, SET_CONTROL_LINE_STATE, DTR và điểm dễ nhầm khi dùng với terminal.

#USB #CDC #STM32 +2
Ghi chú USB

USB Vendor Request qua EP0 là gì?

EP0 Vendor Request trên STM32: bmRequestType 0xC0, dispatch trong Composite_Setup, tại sao không được gọi CdcLog_Printf trong handler và pattern pending log flag.

#USB #Vendor #EP0 +2
Blog STM32 / Firmware

What Is a USB Descriptor?

The concept and structure of USB descriptors, explained with real examples. Includes a look at how Boot Protocol fits into the Configuration Descriptor.

#USB #STM32 #Descriptor +4
Blog STM32 / Firmware

USB Descriptor là gì?

Giải thích khái niệm và cấu trúc của USB Descriptor kèm ví dụ. Lưu ý về Boot Protocol trong Configuration Descriptor

#USB #STM32 #Descriptor +4
Coming soon
Note STM32

What Is a USB Device Class and a Composite Device?

Common USB classes (HID, CDC, MSC, Vendor Specific), and how a composite device combines several classes on a single physical device.

#usb #device-class #hid +5
Ghi chú STM32

USB Device Class và Composite Device là gì?

Các USB class thông dụng (HID, CDC, MSC, Vendor Specific) và composite device kết hợp nhiều class trên một thiết bị như thế nào.

#usb #device-class #hid +5
Dự án STM32

STM32G0 USB Lab: Composite Device

USB composite device trên STM32G0B1RE: HID Keyboard + CDC log + EP0 Vendor Request + Vendor Bulk IN. Một codebase phát triển từ HID đơn đến debug tool hoàn chỉnh qua commit/tag.

#STM32 #USB #HID +5
Dự án STM32

STM32G0 USB Lab: Host Debug Tool

Python tool giao tiếp với USB composite device STM32G0: CLI smoke test 4 vendor commands qua EP0 và GUI test tổng hợp HID, CDC log, vendor bulk dump trên một màn hình.

#STM32 #USB #Python +5
Sắp ra mắt
Ghi chú STM32

Clock Configuration for USB FS là gì?

USB Full-speed cần clock 48 MHz chính xác. Các nguồn clock khả dụng trên STM32, trade-off giữa HSI48+CRS và HSE+PLL, và checklist kiểm tra trước khi debug enumeration.

#stm32 #usb #clock +5
Sắp ra mắt
Ghi chú Keyboard

Event-driven Keyboard Firmware là gì?

Pattern tách scan/debounce khỏi USB send bằng event queue: key event producer, consumer và cách giữ firmware responsive khi USB busy hoặc host không poll kịp.

#keyboard #firmware #event-driven +5
Sắp ra mắt
Ghi chú USB

USB Enumeration Debugging là gì?

Cách debug USB enumeration fail từ tool đến log: USBView trên Windows, Wireshark USB capture, sysfs trên Linux và cách đọc lỗi enumeration theo từng bước.

#usb #debugging #enumeration +5
Note USB

What Is the HID Keyboard Report Format?

The 8-byte structure of an HID keyboard report: the modifier byte, the reserved byte, and 6 keycode slots. How to send a report from STM32 middleware.

#usb #hid #keyboard +5
Coming soon
Note USB

What Are HID Usage Tables?

Usage Page and Usage in HID, explained. A full lookup table for the Keyboard/Keypad Page 0x07: letters, digits, punctuation, numpad, lock keys, F-keys.

#usb #hid #usage-tables +4
Note USB

What Is a USB Descriptor Overview?

The hierarchical structure of USB descriptors: Device, Configuration, Interface, Endpoint - wTotalLength, bDescriptorType, and what commonly breaks enumeration.

#usb #descriptor #device-descriptor +5
Coming soon
Note USB

What Is the USB Enumeration Process?

A sequence of requests over Endpoint 0, from device plug-in to the host assigning an address and picking a configuration - 7 steps, where things fail, and how to debug bottom-up.

#usb #enumeration #stm32 +4
Ghi chú USB

HID Keyboard Report Format là gì?

Cấu trúc 8 byte của HID keyboard report: modifier byte, reserved byte, 6 keycode slot. Cách gửi report từ STM32 middleware.

#usb #hid #keyboard +5
Sắp ra mắt
Ghi chú USB

HID Report Descriptor là gì?

HID Report Descriptor mô tả cấu trúc và ý nghĩa từng byte trong HID report. Usage Page, Usage, Collection, Input/Output — ngữ pháp tối thiểu cần biết để viết HID firmware.

#usb #hid #report-descriptor +5
Ghi chú USB

HID Usage Tables là gì?

Giải thích Usage Page và Usage trong HID. Bảng tra đầy đủ Keyboard/Keypad Page 0x07 (chữ, số, dấu câu, numpad, phím khoá, F-key).

#usb #hid #usage-tables +4
Sắp ra mắt
Ghi chú STM32

STM32 HAL USB Device Architecture là gì?

Kiến trúc STM32 USB Device Library: PCD driver, USBD core, class layer và callback flow. Firmware cần implement gì, middleware xử lý gì và cách debug đúng tầng.

#stm32 #usb #hal +5
Ghi chú USB

USB Descriptor Overview là gì?

Cấu trúc phân cấp USB descriptor: Device → Configuration → Interface → Endpoint. wTotalLength, bDescriptorType, cách host đọc từng bước và điểm dễ gây enumeration fail.

#usb #descriptor #device-descriptor +5
Ghi chú USB

USB Enumeration Process là gì?

Chuỗi hỏi–đáp qua Endpoint 0 từ lúc device cắm vào đến khi host giao address và chọn configuration. 7 bước, điểm nào dễ fail và cách debug từ dưới lên.

#usb #enumeration #stm32 +4
Ghi chú USB

USB Transfer Types là gì?

So sánh Control, Interrupt, Bulk và Isochronous transfer: dùng ở đâu, đảm bảo gì, và dễ debug sai ở điểm nào — đặc biệt là cách bInterval thực sự hoạt động trên Windows.

#usb #transfer-types #interrupt-transfer +6
Blog STM32 / Firmware

The Four Transfer Types, from a Firmware Point of View

When do you use Interrupt, Bulk, Control, or Isochronous? The role of bInterval and SOF timing, and how they shape USB Device firmware design.

#USB #Transfer Type #Interrupt Transfer +6
Blog STM32 / Firmware

Bốn loại Transfer dưới góc nhìn firmware

Khi nào dùng Interrupt, Bulk, Control hay Isochronous? Vai trò và ảnh hưởng của bInterval, SOF timing đến việc thiết kế USB Device.

#USB #Transfer Type #Interrupt Transfer +6
Blog STM32 / Firmware

Starting a series on USB Device on STM32

A journey through USB knowledge, from theory to a real project on STM32G0: from protocol fundamentals to a working composite device firmware.

#USB #STM32 #Firmware +2
Blog STM32 / Firmware

Mở đầu series về USB Device trên STM32

Hành trình tổng hợp lại kiến thức USB từ lý thuyết cho đến thực hành với project thực tế trên STM32G0.

#USB #STM32 #Firmware +2
Sắp ra mắt
Ghi chú ACPI Hardware

USB Init DXE là gì?

Giải thích USB Init DXE trong BIOS/UEFI: xHCI, USB host controller, root hub, enumeration, handoff, ACPI, boot keyboard và debug USB không nhận.

#usb #dxe #bios +7
Sắp ra mắt
Ghi chú Device Path / UEFI

USB Device Path Node là gì?

Giải thích sâu USB Device Path Node trong UEFI: USB node, port/interface, USB mass storage boot, fallback path, Fast Boot, xHCI, removable media và checklist debug.

#uefi #bios #firmware +5
Sắp ra mắt
Ghi chú UEFI Shell / Debug

fs0 là gì?

Giải thích sâu fs0 trong UEFI Shell: filesystem mapping, cách vào ESP/USB, dir/cd/type, kiểm tra BOOTX64.EFI, nhiều ESP, fs0 thay đổi, bcfg boot add và checklist debug.

#uefi #bios #firmware +6