Skip to content

Commit

Permalink
Rework introduction
Browse files Browse the repository at this point in the history
* Add "Who Embedded Rust is For" section
* Rework "Who This Book is for section" to be more inclusive
  but still state what knowlege is important to get more out of the book

References:
* rust-embedded#3
  • Loading branch information
Nicoretti committed Oct 4, 2018
1 parent 9e4b69f commit 915cb88
Showing 1 changed file with 21 additions and 8 deletions.
29 changes: 21 additions & 8 deletions src/intro/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
Welcome to The Embedded Rust Book: An introductory book about using the Rust
Programming Language on "Bare Metal" embedded systems, such as Microcontrollers.

## Who Embedded Rust is For
Embedded rust is for everyone who wants to do embedded programming backed by the higher-level concepts and safety guarantees the rust language provides.
(See also [Who Rust Is For](https://doc.rust-lang.org/book/2018-edition/ch00-00-introduction.html)

## Scope

The goals of this book are:
Expand All @@ -24,8 +28,13 @@ particular architecture and explains details particular to this architecture
where required.

## Who This Book is For
This book caters towards people with either a solid embedded background or a solid rust background, however we assume
everybody curious about embedded rust programming can get something out of this book. For those without any prior knowledge
we suggest you read the "Assumptions and Prerequisites" section and catch up on missing knowledge to get more out of the book
and improve your reading experience. You can check out the "Other Resources" section to find resources on topics
you want to catch up on.

This book assumes the following:
### Assumptions and Prerequisites

* You are comfortable using the Rust Programming Language, and have written,
run, and debugged Rust applications on a desktop environment. You should also
Expand All @@ -41,15 +50,19 @@ This book assumes the following:
* Interrupts
* Common interfaces such as I2C, SPI, Serial, etc.

If you are not yet comfortable with Rust, we highly suggest completing the [Rust
Book] before reading this book.

[Rust Book]: https://doc.rust-lang.org/book/second-edition
### Other Resources
If you are unfamiliar with anything mentioned above or if you want more information about a specific topic mentioned in this book you might find some of these resources helpful.

If you are not yet comfortable with embedded systems, we highly suggest checking
out our [other resources] before attempting to read this book.
| Topic | Resource | Description |
|--------------|----------|-------------|
| Rust | [Rust Book 2018 Edition](https://doc.rust-lang.org/book/2018-edition/index.html) | If you are not yet comfortable with Rust, we highly suggest reading the this book. |
| Rust | [Rust Book Second Edition](https://doc.rust-lang.org/book/second-edition) | - |
| Rust, Embedded | [Embedded Rust Bookshelf](https://rust-embedded.github.io/bookshelf/) | - |
| Rust, Embedded | [Embedonomicon](https://rust-embedded.github.io/embedonomicon/) | The nitty gritty details when doing embedded programming in rust |

[other resources]: https://rust-embedded.github.io/bookshelf/
| Interrupts | - | - |
| Memory Mapped IO/Peripherals | - | - |
| SPI, UART, RS232, USB, I2C, TTL | [Stack Excahnge about SPI, UART, ...](https://electronics.stackexchange.com/questions/37814/usart-uart-rs232-usb-spi-i2c-ttl-etc-what-are-all-of-these-and-how-do-th) | - |

## How to Use This Book

Expand Down

0 comments on commit 915cb88

Please sign in to comment.