Cảm ơn bạn đã gửi yêu cầu! Một thành viên trong đội ngũ của chúng tôi sẽ liên hệ với bạn ngay lập tức.
Cảm ơn bạn đã gửi đặt chỗ! Một thành viên trong đội ngũ của chúng tôi sẽ liên hệ với bạn ngay lập tức.
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
Đánh giá (1)
Có khả năng yêu cầu các chủ đề nâng cao ngay cả khi chúng không được lên kế hoạch ban đầu.
Gabriel Chouinard - Spark Microsystems
Khóa học - FreeRTOS: Programming for Real Time Operating Systems
Dịch thuật bằng máy