From 82cd68e5b23f1a7aaad0e1f7cb7348e1d3b4394b Mon Sep 17 00:00:00 2001 From: Nicola Coretti Date: Thu, 4 Oct 2018 09:18:04 +0200 Subject: [PATCH 1/5] Rework introduction * 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: * https://github.com/rust-embedded/book/issues/3 --- src/intro/introduction.md | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/src/intro/introduction.md b/src/intro/introduction.md index a223043..4c7576b 100644 --- a/src/intro/introduction.md +++ b/src/intro/introduction.md @@ -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: @@ -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 @@ -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. +### 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. -[Rust Book]: https://doc.rust-lang.org/book/second-edition +| 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 | -If you are not yet comfortable with embedded systems, we highly suggest checking -out our [other resources] before attempting to read this book. - -[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 From 36360aaa87e922d3068945be8562fb5542c07129 Mon Sep 17 00:00:00 2001 From: Nicola Coretti Date: Sun, 7 Oct 2018 16:55:24 +0200 Subject: [PATCH 2/5] Update "Other Resources" table * Fix rendering issue * Add additional links --- src/intro/introduction.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/intro/introduction.md b/src/intro/introduction.md index 4c7576b..b54a56c 100644 --- a/src/intro/introduction.md +++ b/src/intro/introduction.md @@ -58,10 +58,9 @@ If you are unfamiliar with anything mentioned above or if you want more informat | 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 | - -| Interrupts | - | - | -| Memory Mapped IO/Peripherals | - | - | +| Rust, Embedded | [Embedonomicon](https://rust-embedded.github.io/embedonomicon/) | The nitty gritty details when doing embedded programming in rust. | +| Interrupts | [Interrupt](https://en.wikipedia.org/wiki/Interrupt) | - | +| Memory Mapped IO/Peripherals | [Memor-mapped I/O](https://en.wikipedia.org/wiki/Memory-mapped_I/O) | - | | 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 From 524f523980698b7c4b734801038360870baee5a3 Mon Sep 17 00:00:00 2001 From: Nicola Coretti Date: Sun, 7 Oct 2018 17:01:45 +0200 Subject: [PATCH 3/5] Update "Who This Book is For" section Make sure reader won't be taken aback by stating a solid embedded/rust knowlege is a prerequisite. --- src/intro/introduction.md | 15 ++++++++------- src/unsorted.md | 1 + 2 files changed, 9 insertions(+), 7 deletions(-) create mode 100644 src/unsorted.md diff --git a/src/intro/introduction.md b/src/intro/introduction.md index b54a56c..3f63c2f 100644 --- a/src/intro/introduction.md +++ b/src/intro/introduction.md @@ -4,8 +4,8 @@ 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) +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 @@ -28,8 +28,8 @@ 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 +This book caters towards people with either some embedded background or some 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. @@ -58,10 +58,11 @@ If you are unfamiliar with anything mentioned above or if you want more informat | 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. | +| Rust, Embedded | [Embedonomicon](https://rust-embedded.github.io/embedonomicon/) | The nitty gritty details when doing embedded programming in Rust. | +| Rust, Embedded | [embedded FAQ](https://rust-embedded.github.io/bookshelf/faq.html) | Frequently asked questions about rust in an embedded context | | Interrupts | [Interrupt](https://en.wikipedia.org/wiki/Interrupt) | - | -| Memory Mapped IO/Peripherals | [Memor-mapped I/O](https://en.wikipedia.org/wiki/Memory-mapped_I/O) | - | -| 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) | - | +| Memory-mapped IO/Peripherals | [Memory-mapped I/O](https://en.wikipedia.org/wiki/Memory-mapped_I/O) | - | +| SPI, UART, RS232, USB, I2C, TTL | [Stack Exchange 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 diff --git a/src/unsorted.md b/src/unsorted.md new file mode 100644 index 0000000..4be6654 --- /dev/null +++ b/src/unsorted.md @@ -0,0 +1 @@ +# Unsorted topics From 36216fe50dbc0fb2e097643bd65efd8b6ef0edbf Mon Sep 17 00:00:00 2001 From: James Munns Date: Tue, 30 Oct 2018 12:43:45 +0100 Subject: [PATCH 4/5] Update src/intro/introduction.md Co-Authored-By: Nicoretti --- src/intro/introduction.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/intro/introduction.md b/src/intro/introduction.md index 3f63c2f..d410d46 100644 --- a/src/intro/introduction.md +++ b/src/intro/introduction.md @@ -62,7 +62,7 @@ If you are unfamiliar with anything mentioned above or if you want more informat | Rust, Embedded | [embedded FAQ](https://rust-embedded.github.io/bookshelf/faq.html) | Frequently asked questions about rust in an embedded context | | Interrupts | [Interrupt](https://en.wikipedia.org/wiki/Interrupt) | - | | Memory-mapped IO/Peripherals | [Memory-mapped I/O](https://en.wikipedia.org/wiki/Memory-mapped_I/O) | - | -| SPI, UART, RS232, USB, I2C, TTL | [Stack Exchange 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) | - | +| SPI, UART, RS232, USB, I2C, TTL | [Stack Exchange about SPI, UART, and other interfaces](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 From b2429ccc53a94fb61e79d9e0a27b6bad7533c4ed Mon Sep 17 00:00:00 2001 From: James Munns Date: Tue, 30 Oct 2018 12:45:46 +0100 Subject: [PATCH 5/5] Update src/intro/introduction.md Co-Authored-By: Nicoretti --- src/intro/introduction.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/intro/introduction.md b/src/intro/introduction.md index d410d46..de3852e 100644 --- a/src/intro/introduction.md +++ b/src/intro/introduction.md @@ -59,7 +59,7 @@ If you are unfamiliar with anything mentioned above or if you want more informat | 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. | -| Rust, Embedded | [embedded FAQ](https://rust-embedded.github.io/bookshelf/faq.html) | Frequently asked questions about rust in an embedded context | +| Rust, Embedded | [embedded FAQ](https://rust-embedded.github.io/bookshelf/faq.html) | Frequently asked questions about Rust in an embedded context | | Interrupts | [Interrupt](https://en.wikipedia.org/wiki/Interrupt) | - | | Memory-mapped IO/Peripherals | [Memory-mapped I/O](https://en.wikipedia.org/wiki/Memory-mapped_I/O) | - | | SPI, UART, RS232, USB, I2C, TTL | [Stack Exchange about SPI, UART, and other interfaces](https://electronics.stackexchange.com/questions/37814/usart-uart-rs232-usb-spi-i2c-ttl-etc-what-are-all-of-these-and-how-do-th) | - |