Liên hệ với chúng tôi
 Thời gian kéo dài 14 Giờ học

Đề cương khóa học

Bắt đầu với Rust Nhúng

  • Tổng quan về no_std, core và hệ sinh thái Rust nhúng
  • Lựa chọn mục tiêu (target) và hiểu về bộ ba mục tiêu (target triples)
  • Cài đặt rustup, cargo và các toolchain cho target

Công cụ, Quy trình Xây dựng & Gỡ lỗi

  • Sử dụng cargo, cargo-embed, probe-run và các luồng công việc (workflows) với OpenOCD
  • Flash và gỡ lỗi bằng các đầu dò phần cứng (ST-Link, JLink)
  • Các cân nhắc về CI (Tích hợp liên tục) khi xây dựng firmware Rust nhúng

Trừu tượng hóa Phần cứng và Truy cập Thiết bị ngoại vi

  • Hiểu các trait embedded-hal và các mẫu trình điều khiển (driver patterns)
  • Các gói truy cập thiết bị ngoại vi (PACs) và các gói thiết bị (svd2rust)
  • Viết và sử dụng các trình điều khiển HAL và các gói hỗ trợ bảng mạch (BSCs)

An toàn Bộ nhớ, Đồng bộ hóa & Thời gian thực

  • Các mô hình an toàn cho trạng thái chia sẻ và tham chiếu có thể thay đổi trong các ngắt
  • RTIC và các mô hình đồng bộ hóa khác cho hệ thống thời gian thực
  • Sử dụng heap so với stack, các bộ cấp phát bộ nhớ (allocators) và tránh cấp phát động

Xử lý Lỗi, Kiểm thử & Độ tin cậy

  • Các mẫu xử lý lỗi trong các môi trường hạn chế
  • Kiểm thử đơn vị (unit testing) trên host so với kiểm thử tích hợp trên phần cứng
  • Phân tích lỗi (fault analysis), ghi nhật ký và các chiến lược phân tích sau sự cố (post-mortem)

Hiệu năng, Điện năng & Tối ưu hóa Nguồn lực

  • Đo lường hiệu năng (benchmarking), đo đạc và tối ưu hóa các điểm nóng (hot paths)
  • Kỹ thuật giảm kích thước mã nguồn và các script trình kết nối (linker scripts)
  • Các chiến lược quản lý điện năng và các mẫu thiết kế tiết kiệm điện

Triển khai, Bảo mật & Thực hành Tốt nhất trong Hệ sinh thái

  • Khởi động bảo mật (secure boot), ký firmware và các chiến lược cập nhật
  • Các cân nhắc về chuỗi cung ứng (supply-chain) và quản lý phụ thuộc
  • Bản đồ lộ trình (roadmap) để di chuyển firmware C sang Rust và các nguồn tài liệu từ cộng đồng

Tóm tắt và Bước tiếp theo

Yêu cầu

  • Hiểu biết về các khái niệm cốt lõi của Rust: quyền sở hữu (ownership), mượn (borrowing), thời gian sống (lifetimes)
  • Kinh nghiệm viết các chương trình Rust không đơn giản (Rust trung cấp)
  • Quen thuộc với các khái niệm hệ thống nhúng: I/O ánh xạ bộ nhớ (memory-mapped I/O), ngắt (interrupts), thiết bị ngoại vi (peripherals)

Đối tượng tham gia

  • Kỹ sư firmware nhúng muốn áp dụng Rust
  • Kỹ sư phần mềm có kinh nghiệm về Rust và đang chuyển hướng sang hệ thống cấp thấp
  • Các trưởng nhóm kỹ thuật đang đánh giá việc sử dụng Rust cho phát triển sản phẩm nhúng

Số người tham gia


Giá cho mỗi học viên

Đánh giá (1)

Các khóa học sắp tới

Các danh mục liên quan