

What is Embedded System? Why RUST for Embedded ??
source link: https://blog.knoldus.com/embedded-with-rust/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

What is Embedded System? Why RUST for Embedded ??

What is an Embedded System ???
An embedded system is a microcontroller or microprocessor based computer system that used to perform certain specific operations or tasks.
It can also be call as a computer hardware system which do have software embedded in it.
The Embedded System
Hardware is known as the core of the Embedded System.
Embedded systems are managed by micro-controllers where the micro-controller is the CPU that process the whole functioning.
Bus controller is the communication device that used to make communication possible between the components inside the embedded system.
Embedded systems programming instructions are stored in read only memory or flash.
Embedded system connect with outside world through interfaces like input/output devices.
Input devices which take Analog or Digital data as input from outside world using devices like sensors, switches etc.
Output devices provide the results after process the data.Some output devices are LCD, Touch screen, LED, Motors.
Micro-controller
It is considered as a small computer or semi-computer which is used to perform some specific task of an embedded system.It is present on a single metal-oxide-semiconductor integrated circuit chip.
STM32F303VCT6 DISCOVERY Board an example of micro controller.
How an embedded system works ??
Steps shows how this system works
- The system takes the input from the outside world in analog or digital format using devices like sensor touch screens or switches.
- And then it processes the taken input by doing calculations or conversions for example converting analog data to digital data.
- The third step is to throw the output therefore after processing the input the system provides the output through output devices like LCD, motor, or touch screen.
Example of Embedded Systems from your daily life

If you look around yourself you are all around with embedded systems small or big like washing machine microwave or dishwashers.
Modern cars commonly consist of many small computers or embedded systems, designed to perform different tasks within the vehicle.
Mobile phones. These consist of many embedded systems, including GUI software and hardware, operating systems (OSes), cameras, microphones, and USB.
The system consists of three components:
- Hardware include Processor, Memory, Input devices, Output devices, and Bus controllers
- Application software
- (RTOS) Real-Time Operating System (used to supervise the application software) in simple words it monitors the working of the application
Basic Structure of Embedded System

Sensor
It is a device that measures the physical quantity and converts that into an electrical signal that can be read by an electronic instrument like an a2d convertor
A-D Converter
Here this takes an analog signal and converts them into digital. So work as analog to digital converter
D-A Converter
It basically converts the digital data taken by the processor into analog data
Processor
The processor is the heart of an embedded system that takes input and after the process, it converts it into output and then stores that into memory
Actuators
Actuators basically compare the output given by the D-A converter to the actual output stores and then stores the approved output
Why RUST For Embedded ??
What is RUST? Many of you may know but most of you still don’t !!
Rust is a programming language but not like other languages like java python etc.
The difference is rust is a system programming language, not an application whose syntax is much similar to c++ but guarantees more safety than this.
Reasons to use RUST language for Embedded System
- The most important reason is safety as it is hard to accidentally introduce memory safety bugs while writing is rust.it makes developers think before writing. Reading an uninitialized memory requires an explicit unsafe block and if you are sure and still use that by going against the compiler you need to create a wrapper around your code to make it safe.
- It provides traits as in embedded system traits can describe which CPU pins can be configured as pulse width modulation (PWM) and allow you to configure them.
- Type generic feature is another nice feature of RUST. They are a means to tell Rust that a function can take anything it likes, just as long as the type implements certain traits.
- Last but not least Rust is backed by a great community that is ready to help you anytime.
If you want to read more content like this? Subscribe to Rust Times Newsletter and receive insights and latest updates, bi-weekly, straight into your inbox. Subscribe to Rust Times Newsletter: https://bit.ly/2Vdlld7.
Recommend
-
34
This year the Embedded WG set out to build the solid foundation that the embedded Rust ecosystem requires to thrive. As we approach the date of the 2018 edition releas...
-
52
Welcome to The Embedded Rust Book: An introductory book about using the Rust Programming Language on "Bare Metal" embedded systems, such as Microcontrollers. Embedded Rust is for everyone who wants to do embedde...
-
43
Recently, I’ve been trying to learn more about electronics and embedded development. Maybe I’m just tired of operating purely in the virtual, but there’s something cool about being able to physically put together a circui...
-
19
In aprevious post we explored what needs to be done on the rustc side to bring async/await to no_std Rust. In this post we'll explore what could be done once async/await is...
-
16
How should you do concurrency in an embedded no_std application? There's no built-in support for time-sliced threads in core ; that abs...
-
10
async/await within Rust is a convenient way to gain parallelism, even on an embedded device where we ostensibly have exactly one userland thread by default. Threads and async/await
-
11
Posted 15 days ago About this job Job type:...
-
5
CBOR IoT Data Serialization for Embedded C and RustJared Wolff · 2020.11.19 · 13 Minute Read · embedded · zephyr
-
12
Why Rust for Embedded Development? Knoldus Blog Audio Reading Time: 4 minutes Rus...
-
5
Embedded software engineerIt is no secret that we at Tweede golf love Embedded Rust, you can read about it in our other b...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK