Liên hệ với chúng tôi

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

Khởi động với Rust cho Hệ thống Nhúng

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

Quy trình Công cụ, Biên dịch & Gỡ lỗi

  • Sử dụng các quy trình làm việc với cargo, cargo-embed, probe-run và 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) cho việc xây dựng firmware Rust nhúng.

Lớp trừu tượng phần cứng và Truy cập thiết bị ngoại vi

  • Hiểu về các đặc tả (traits) và mô hình driver của embedded-hal.
  • Các crate truy cập thiết bị ngoại vi (PACs) và thiết bị (svd2rust).
  • Viết và sử dụng các driver HAL và các crate hỗ trợ bo mạch (BSCs).

An toàn bộ nhớ, Đồng thời & 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 luồng ngắt.
  • RTIC và các mô hình đồng thời khác cho hệ thống thời gian thực.
  • Sử dụng ngăn xếp (stack) và vùng nhớ Heap, các trình phân bổ (allocators) và tránh phân bổ bộ nhớ độ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 tài nguyên hạn chế.
  • Unit testing trên host so với integration testing trên phần cứng.
  • Phân tích lỗi, ghi nhật ký (logging) và các chiến lược sau khi xảy ra sự cố (post-mortem).

Hiệu năng, Năng lượng & Tối ưu hóa Tài nguyên

  • Đánh giá hiệu năng, đo lường và tối ưu hóa các đường đi nóng (hot paths).
  • Kỹ thuật giảm kích thước mã và các tập lệnh liên kết (linker scripts).
  • Các chiến lược quản lý năng lượng và các mô hình thiết kế tiêu thụ điện năng thấp.

Triển khai, Bảo mật & Thực tiễn Tốt nhất của Hệ sinh thái

  • Khởi động bảo mật, ký firmware và các chiến lược cập nhật.
  • Các cân nhắc về chuỗi cung ứng và quản lý phụ thuộc.
  • Lộ trình chuyển đổi firmware C sang Rust và các tài nguyên cộng đồng.

Tóm tắt và Các 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: sở hữu (ownership), mượn (borrowing), và vòng đời (lifetimes).
  • Kinh nghiệm viết các chương trình Rust phi tầm thường (Rust ở mức trung cấp).
  • Thông thạo về các khái niệm hệ thống nhúng: I/O ánh xạ bộ nhớ, ngắt, và các thiết bị ngoại vi.

Đố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ới Rust đang chuyển hướng sang các hệ thống cấp thấp.
  • Trưởng nhóm kỹ thuật đang đánh giá việc áp dụng Rust cho quá trình phát triển sản phẩm nhúng.
 14 Giờ

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