Tin mới nhất

Menu

Chia Sẻ Khóa Học Embedded Rust Development Với STM32 Cho Người Mới Bắt Đầu [Khóa 5944 A]

Làm chủ các hệ thống nhúng hiện đại, an toàn trong Rust với bare-metal, FFI, driver, crates & các project trên vi điều khiển STM32.

Những gì bạn sẽ học được:

  • ✓ Ngôn ngữ lập trình Rust từ đầu.
  • ✓ Xây dựng ứng dụng bare-metal Rust đầu tiên của bạn từ đầu.
  • ✓ Tìm hiểu cách thiết lập Rust toolchain để xây dựng firmware chạy trên vi điều khiển ARM Cortex-M.
  • ✓ Viết linker script và startup file của riêng bạn và hiểu cách memory layout và bootstrapping hoạt động trong embedded Rust.
  • ✓ Sử dụng cargo-binutils để kiểm tra và phân tích các file ELF.
  • ✓ Thiết lập một workflow hiện đại và hiệu quả bằng cách sử dụng VS Code để build, flash và debug code Rust của bạn với các embedded target.
  • ✓ Sử dụng và hiểu core embedded Rust crates.
  • ✓ Log và debug hiệu quả trong các môi trường hạn chế tài nguyên.
  • ✓ Thực hành với các thiết bị ngoại vi ARM Cortex như SysTick và ITM bằng cách sử dụng các cortex-m và cortex-m-rt crate.
  • ✓ Rust FFI: Tạo các Rust API an toàn để giao tiếp với các thư viện C hiện có, giúp tích hợp Rust vào các cơ sở mã dựa trên C hiện có dễ dàng hơn.
  • ✓ Tìm hiểu cách safely pass các structs, strings và enums giữa Rust và C trong khi vẫn duy trì tính an toàn và kiểm soát kiểu.
  • ✓ Trình bày các hàm Rust có thể gọi được từ C, sử dụng các khái niệm unsafe và FFI để quản lý khả năng tương tác giữa các ngôn ngữ một cách an toàn.
  • ✓ Từng bước xây dựng một ứng dụng game Flappy Bird thực tế bằng Rust.
  • ✓ Xây dựng các driver không phụ thuộc vào phần cứng bằng cách sử dụng embedded-hal traits, giúp code của bạn có thể di động trên nhiều nền tảng vi điều khiển.
  • ✓ Interface với các cảm biến thực (MPU6050) để điều khiển các cơ chế trò chơi.
  • ✓ Cấu trúc code của bạn thành các module sạch, dễ bảo trì.
  • ✓ Sử dụng STM32 HAL crate để dễ dàng cấu hình và điều khiển các thiết bị ngoại vi của vi điều khiển với các safe Rust abstraction.
  • ✓ Viết generic embedded code.

Bạn đang muốn thêm một ngôn ngữ lập trình nhúng khác vào kho vũ khí của mình? Hãy thử Rust - bạn sẽ không thất vọng đâu!!

Khóa học này là điểm khởi đầu cho bạn sử dụng Rust trên các vi điều khiển, ngay cả khi bạn mới làm quen với hệ thống nhúng.

Đây là khóa học thực hành hoàn toàn đưa bạn từ con số 0 vào thế giới embedded Rust development thực trên STM32. Mỗi video đều dựa trên video trước đó, giúp bạn tiến bộ từng bước, từ viết code bare metal đến các chủ đề nâng cao như FFI, crate, driver development và traits. Lý tưởng cho những người mới làm quen với Rust và hệ thống nhúng.

Tại sao lại dùng Rust cho nhúng?

Rust ngăn ngừa nhiều vấn đề phổ biến về bộ nhớ (như null pointer dereferencing, buffer overflows và use-after-free error) thông qua:

  • ✓ Ownership model: Các quy tắc nghiêm ngặt của Rust về ownership, borrowing và lifetime ngăn chặn hầu hết việc sử dụng sai bộ nhớ một cách vô tình.
  • ✓ Type safety: Type system của Rust đảm bảo bạn truy cập dữ liệu đúng cách và giúp ngăn chặn một số loại truy cập bộ nhớ không hợp lệ bằng cách áp dụng các pattern sử dụng strict variable.

Nhờ Cargo, official package manager của Rust, bạn có thể dễ dàng thêm các tính năng chỉ bằng cách bao gồm các thư viện bên ngoài hoặc "crates", giống như các plug-and-play component.

Bạn sẽ học được gì?

Sau đây là những nội dung bạn sẽ nắm vững trong khóa học này:

  • ✓ 1. Giới thiệu về Rust dành cho người mới bắt đầu, được thiết kế riêng cho các hệ thống nhúng.
  • ✓ 2. Thiết lập toolchain hoàn chỉnh cho cross-compiling, flashing và debugging.
  • ✓ 3. Debugging và logging với defmt và probe-rs cho real-time tracing.
  • ✓ 4. High-level peripheral programming với STM32 HAL.
  • ✓ 5. Từng bước xây dựng một ứng dụng game Flappy Bird thực tế bằng Rust.
  • ✓ 6. Interface với các cảm biến thực (MPU6050) để điều khiển cơ chế trò chơi.
  • ✓ 7. Thực hành viết code clean, modular và hardware abstraction.
  • ✓ 8. Xây dựng các driver không phụ thuộc vào phần cứng bằng cách sử dụng embedded-hal traits.
  • ✓ 9. Viết và hiểu các linker script và startup code của riêng bạn.
  • ✓ 10. Xây dựng generic embedded code sử dụng Rust generics & traits.
  • ✓ 11. Tích hợp Rust + C an toàn và liền mạch thông qua FFI.
  • ✓ 12. Sự tự tin để viết embedded firmware mạnh mẽ, có thể tái sử dụng và đạt chuẩn sản xuất trong Rust.

Yêu cầu phần cứng:

Lưu ý: Nếu bạn đã có một microcontroller development board, chúng tôi khuyên bạn nên tiếp tục sử dụng. Khóa học này được thiết kế rất kỹ lưỡng để các khái niệm và các bước có thể áp dụng cho hầu hết các development board mặc dù có thể cần một số điều chỉnh nhỏ. Tuy nhiên, nếu bạn muốn sử dụng cùng một bo mạch như người hướng dẫn để có trải nghiệm mượt mà hơn, bạn có thể xem phần cứng được đề xuất:

1. Microcontroller development board:

  • ✓ Tùy chọn 1. Bo mạch dựa trên STM32F303: Khóa học chủ yếu sử dụng bo mạch Fastbit STM32 Nano dựa trên vi điều khiển STM32F303 và cảm biến MPU6050 onboard.
  • ✓ Tùy chọn 2. Bất kỳ bo mạch vi điều khiển STM32 nào: Bạn có thể sử dụng bất kỳ development board nào có bộ vi điều khiển STM32. Nội dung khóa học được thiết kế để có thể thích ứng, cho phép bạn theo dõi cùng với bo mạch STM32 cụ thể mà bạn có sẵn.

2. SWD-Based Debugger:

Một debugger dựa trên SWD (Serial Wire Debug) là cần thiết để lập trình và debugging vi điều khiển STM32 của bạn. Công cụ này rất cần thiết để tải chương trình của bạn vào vi điều khiển và gỡ lỗi các dự án của bạn theo thời gian thực.

3. LCD shield:

Trong một trong các dự án, bạn sẽ cần một TFT LCD module để thử nghiệm. Khóa học này sử dụng Fastbit 1.28" TFT LCD với một 8-bit parallel interface, dựa trên GC9A01 LCD driver. Tuy nhiên, bạn có thể sử dụng cùng một module tương thích hoặc tương tự.

4. Cảm biến MPU6050.

Yêu cầu phần mềm:

  • ✓ VS Code.
  • ✓ STM32CubeIDE.

Mục lục:

  • ✓ 01. Giới thiệu.
  • ✓ 02. Cài đặt Rust Toolchain.
  • ✓ 03. Rust Fundamentals: Giới thiệu nhanh về các khái niệm cốt lõi.
  • ✓ 04. Cross Compilation.
  • ✓ 05. Viết Start-up Code & Linker Script cho chương trình Rust bare metal.
  • ✓ 06. Flash & Debug.
  • ✓ 07. Bài tập 2: Viết một ứng dụng Rust bare metal để xử lý LED sử dụng Interrupts.
  • ✓ 08. Bài tập 3: Sử dụng External Crate Cortex-M-RT & Cortex-M.
  • ✓ 09. Bài tập 4: ITM Prints.
  • ✓ 10. Rust Foreign Function Interface (FFI).
  • ✓ 11. Bài tập 5: Triển khai trò Game Flappy Bird (Rust + C).
  • ✓ 12. Tạo Hardware Agnostic Device Driver sử dụng Embedded-Hal.
  • ✓ 13. Làm việc với Hal crate & PAC.
  • ✓ 14. Sử dụng Traits (Sắp tới).
  • ✓ 15. Logging (Sắp tới).

Khóa học này dành cho ai:

  • ✓ Các Embedded developer muốn khám phá Rust như một giải pháp thay thế cho C/C++ hoặc để nó cùng tồn tại với code hiện có để lập trình vi điều khiển.
  • ✓ Những người đam mê Rust muốn áp dụng các kỹ năng của mình vào các dự án low-level, tập trung vào phần cứng và học lập trình nhúng.
  • ✓ Người mới bắt đầu trong hệ thống nhúng mong muốn xây dựng các kỹ năng thực tế từ đầu.
  • ✓ Bạn đang muốn thêm một ngôn ngữ nhúng khác vào kho vũ khí của mình? Hãy thử Rust, bạn sẽ không thất vọng đâu.


NHẬN GET EBOOK TRÊN AMAZON THEO YÊU CẦU 



Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.
Tuyên bố miễn trừ bản quyền:
Trang web này không lưu trữ bất kỳ tệp nào trên máy chủ của nó. Chúng tôi chỉ lập chỉ mục và liên kết đến nội dung được cung cấp bởi các trang web khác. Vui lòng liên hệ với các nhà cung cấp nội dung để xóa nội dung bản quyền nếu có và gửi email cho chúng tôi, chúng tôi sẽ xóa các liên kết hoặc nội dung có liên quan ngay lập tức.

Chia sẽ bài viết lên:

Nhà Sách Tin Học

Chào mừng các bạn đến với Blog Nhà Sách Tin Học. Thông qua Blog này mình muốn chia sẻ đến các bạn những kiến thức về tin học, các tài liệu hay giáo trình mà mình có hoặc siêu tầm được... Mình rất mong được sự ủng hộ nhiệt tình của các bạn bằng cách comment bài viết, chia sẻ bài viết hoặc liên hệ với mình qua blog này! Mình xin cảm ơn!

No Comment to " Chia Sẻ Khóa Học Embedded Rust Development Với STM32 Cho Người Mới Bắt Đầu [Khóa 5944 A] "

  • To add an Emoticons Show Icons
  • To add code Use [pre]code here[/pre]
  • To add an Image Use [img]IMAGE-URL-HERE[/img]
  • To add Youtube video just paste a video link like http://www.youtube.com/watch?v=0x_gnfpL3RM