cherry-embedded/CherryUSB

Public

CherryUSB is a tiny and beautiful, high performance and portable USB host and device stack for embedded system with USB IP

Beeknoee

Bee AI phân tích repositoryBETA

AI đọc README và cây file để tóm tắt, gợi ý cách dùng và đánh giá repository. Mọi con số lấy từ kho Bee, không do AI ước lượng.

Cập nhật lần cuối: 12/10/2026

Đăng nhập để hỏi Bee AI

Tóm tắt bởi Bee AI

CherryUSB là thư viện USB host và device stack nhỏ gọn, hiệu năng cao và có tính di động cao, được thiết kế cho các hệ thống nhúng có phần cứng USB IP.

  • Hỗ trợ đầy đủ cả USB Device và USB Host stack với cấu trúc phân tầng rõ ràng và API dễ sử dụng.
  • Tối ưu hiệu năng truyền dữ liệu với kỹ thuật zero-copy và tận dụng DMA không giới hạn chiều dài gói.
  • Hỗ trợ nhiều USB IP phổ biến như OHCI, EHCI, XHCI, DWC2, MUSB, FOTG210, CHIPIDEA và CDNS2.
  • Bộ nhớ tiêu thụ cực nhỏ, hầu hết driver class cho device không cần cấp phát heap.

Lưu ý

  • Chế độ USB 3.0 super speed cho Device Stack vẫn chưa hoàn thiện (đang trong trạng thái TODO).
  • Các bộ điều khiển USB IP UHCI, CDNS3 và DWC3 hiện chưa được hỗ trợ.

Điểm BeeTính thuần từ số liệu trong kho Bee, không phải AI chấm: bách phân vị sao 30% · độ tươi lần push 25% · fork và watcher 15% · README, giấy phép, mô tả 20% · có bản phát hành 10%.

  • Độ phổ biến40
  • Độ tươi100
  • Cộng đồng79
  • Tài liệu100
  • Phát hành100
  • Mức độ khóTrung bình
  • Phù hợp vớiLập trình viên
  • Loại dự ánThư viện
  • Giấy phépApache-2.0

Kiến trúc & Công nghệ

Công nghệ AI nhận ra từ README và cây file — chỉ những mục nằm trong danh sách Bee kiểm.

Tech stack

  • C
  • CMake

Kiến trúc tổng quan

Repository → công nghệ chính → các thư mục cấp 1 có thật trong repo; vai trò do AI mô tả.

  • class/Mã nguồn triển khai các USB class driver (CDC, HID, MSC, UVC, UAC,...)
  • common/Các định nghĩa macro và hàm tiện ích theo đặc tả USB
  • core/Triển khai lõi cho USB device stack và host stack
  • demo/Các chương trình mẫu cho USB device và host
  • docs/Tài liệu hướng dẫn sử dụng và cấu hình
  • osal/Lớp bọc trừu tượng hóa hệ điều hành (OS abstraction layer)
  • platform/Hỗ trợ class cho các hệ điều hành khác
  • port/Mã chuyển đổi (porting) cho driver DCD và HCD trên các phần cứng USB IP

Hướng dẫn nhanh

Các bước để bắt đầu với repository này.

bash
git clone https://github.com/cherry-embedded/CherryUSB.git
cd CherryUSB

Các use case chính

Những ứng dụng có thể xây dựng từ repository này.

  • Tạo các thiết bị USB composite (ví dụ: kết hợp CDC ACM, MSC hoặc HID) trên vi điều khiển.
  • Xây dựng ứng dụng USB host để đọc dữ liệu từ USB flash drive hoặc điều khiển chuột, bàn phím.
  • Truyền phát âm thanh và hình ảnh qua các lớp chuẩn USB Audio (UAC) và USB Video (UVC).
  • Kết nối mạng qua giao thức RNDIS hoặc CDC-ECM/NCM trên các hệ điều hành nhúng.

Repository tương tự

Cùng chủ đề trong kho Bee.

  1. 1ventoy/VentoyA new bootable USB solution.80k+267
  2. 2pbatard/rufusThe Reliable USB Formatting Utility38k+77
  3. 3AprilNEA/OpenLogi⚡️A native, local-first alternative to Logitech Options+, written in Rust 🦀 — remap buttons, DPI, and SmartShift over HID++. No account, no telemetry.23.6k+496
  4. 4bettercap/bettercapThe Swiss Army knife for 802.11, BLE, HID, CAN-bus, IPv4 and IPv6 networks reconnaissance and MITM attacks.20.1k+34
  5. 5debezium/debeziumChange data capture for a variety of databases. Please log issues at https://github.com/debezium/dbz/issues.13.2k+20

Nội dung do AI sinh, có thể sai hoặc thiếu — số liệu lấy từ kho Bee, không do AI ước lượng. Cập nhật lần cuối: 12/10/2026.