Autor:in:
Dr David Cabanis | Doulos | United Kingdom
Sprache:
englisch
Zielgruppe:
Embedded Software Engineers
Voraussetzungen:
Experience with C or C++ embedded software development.
Überblick und Zusammenfassungen:
Summary: This compact seminar, is designed to introduce bare-metal Rust (without a standard library) to software engineers emphasizing how Rust offers an appealing alternative to systems languages such as C or C++ for embedded software development.
In this seminar, we will explore the power and efficiency of Rust for embedded firmware development, focusing on the unique features and advantages it offers compared to traditional languages like C and C++. This seminar is designed for embedded software developers with experience in languages such as C, C++, ADA who are eager to dive into the world of Rust in a no_std environment.
The seminar will begin with an introduction to the essential tool chains for Rust embedded development, setting up the development environment, and configuring projects for specific hardware platforms. We will explore the various tooling options available, such as cargo, rustup, and the Embedded Rust ecosystem, providing a solid foundation for participants to build upon.
Next, we will explore project configuration and hardware platforms, showing how to use toolchain knowledge for specific hardware. Participants will navigate the Rust ecosystem, exploring HALs and PACs essential for embedded applications.
In the section on embedded software development, we will focus on writing embedded software in Rust, emphasizing the language's features and attributes that are particularly beneficial for embedded systems. This includes a detailed look at memory management in a no_std environment, exploring stack and heap allocation, custom allocators, and strategies for efficient memory use.
The seminar will address Rust's interoperability with C and assembly, showing how Rust can leverage existing libraries and perform low-level tasks. This includes practical examples and live coding to illustrate seamless integration with traditional embedded languages.
We will cover debugging Rust code, introducing tools and techniques for embedded Rust applications. Participants will gain hands-on experience with Rust-specific debugging tools, essential for developing reliable systems.
Finally, we will delve into concurrency and executors, exploring how to manage concurrent tasks in Rust using the async/await paradigm through the Embassy executor.
Art der Vermittlung:
Our training method combines engaging presentations with live demonstrations, providing a comprehensive learning experience.
Nutzen:
Participants will gain a comprehensive understanding of Rust's toolchains and development environment tailored for specific hardware platforms. They will learn efficient memory management techniques in a no_std environment, explore Rust’s interoperability with C and assembly, and gain practical experience with debugging tools essential for embedded systems.
Participants will be provided with the source code used during the demonstration, allowing them to replicate those steps post presentation.