ESP32-C6 / Rust

Lộ trình tự học · bắt đầu từ con số 0 về embedded

Viết firmware ESP32-C6 bằng Rust, không dùng thư viện chuẩn

Từ dòng log đầu tiên trên serial monitor tới một thiết bị chạy pin, cập nhật firmware qua sóng, và tự xuất hiện trong Home Assistant. Ghi lại trong lúc làm, không phải viết lại sau khi xong.

Stackno_std · esp-hal · embassy · esp-radio
Lộ trình7 giai đoạn · 17 phiên cho GĐ 0–5
Nhịp1 phiên chính mỗi tuần, mục tiêu 2h
Đang ởKhối A — chip lên tiếng

Site này là sổ tay của một người đã viết Rust nhưng chưa từng đụng vi điều khiển. Nó không dạy Rust, và cũng không phải tuyển tập ví dụ chép được. Thứ nó cố giữ lại là cơ chế bên dướinhững chỗ đã trả giá — hai thứ mà tutorial thường bỏ qua vì chúng chỉ lộ ra khi mạch nằm trên bàn.

Năm nguyên tắc chi phối toàn bộ

  1. Mua theo đợt, không mua một lần. Mỗi đợt được mở khoá bởi một milestone đã hoàn thành, không phải bởi hứng thú. Cách phổ biến nhất để dự án embedded chết là mua hết linh kiện trong tuần đầu, dùng 10%, rồi bỏ.
  2. Ưu tiên đo hơn đoán. Khi backend sai, log nói cho anh biết. Khi embedded sai, không có gì nói cả — có thể là code, dây lỏng, nguồn sụt áp, hoặc cảm biến hàng giả.
  3. Một biến số tại một thời điểm. Không đổi board, đổi cảm biến và nâng version HAL cùng lúc.
  4. Tách phần test được trên host ra khỏi firmware. Công thức bù cảm biến, serialize gói, format payload — tất cả là code thuần, chạy cargo test trên máy tính. Chỉ phần đụng peripheral mới phải nạp lên board.
  5. Không chuyển giai đoạn khi tiêu chí chưa đạt. "Về cơ bản là chạy" không tính.

Cách đọc site này

Mỗi trang mở đầu bằng cơ chế bên dưới, rồi mới tới việc cần làm. Thứ tự đó cố ý: biết vì sao một bước tồn tại thì lúc nó hỏng anh mới biết nhìn vào đâu.

Khẳng định nào có nguồn kiểm chứng được thì có một nút nhỏ ngay sau nó. Bấm vào để xem nguồn, và phần đọc thêm được tách riêng khỏi nguồn — hai thứ trả lời hai câu hỏi khác nhau.

Trang giáo trình phiên không bao giờ chứa lời giải cho phần code phải tự viết. Chuỗi lệnh vận hành thì gập trong spoiler để tự làm trước rồi mở ra đối chiếu.

Site cập nhật theo tiến độ thật. Chỗ nào là suy đoán chưa kiểm chứng thì được ghi rõ là suy đoán — kể cả khi suy đoán đó nghe hợp lý.