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.
Tổng hợp các ghi chú kỹ thuật phục vụ việc học embedded firmware. Từ kiến thức nền tảng đến troubleshooting, giúp bạn hiểu sâu từng bước.
Lọc theo chủ đề
Lọc theo ngôn ngữ
BIOS / UEFI
Cài WSL2 Ubuntu 26.04 trên Windows làm môi trường phát triển UEFI/EDK2: lý do chọn WSL2, toolchain, OVMF để giả lập firmware, QEMU, và cách truy cập file qua Windows Explorer.
STM32
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.
Keyboard
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
Ánh xạ vị trí vật lý (row, col) sang HID Usage ID: keymap array, lookup table, layer và cách tổ chức mapping để dễ thay đổi mà không sửa scan logic.
Keyboard
Chi tiết thuật toán quét ma trận phím: scan toàn bộ vs scan thay đổi, xử lý multi-key, rollover detection và tối ưu timing giữa các lần quét.
USB
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.
Chưa có nội dung cho ngôn ngữ này.