Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Book update #37

Merged
merged 35 commits into from
Oct 31, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
56c20de
docs: 📝 Update installation section
SergioGasquez Oct 27, 2022
06ef602
chore: 🎨 Add link to RA vscode extension
SergioGasquez Oct 27, 2022
6018029
docs: 📝 Add useful vscode extensions
SergioGasquez Oct 27, 2022
33c85e8
docs: 📝 Add vim section
SergioGasquez Oct 27, 2022
0d12320
docs: 📝 Add wokwi section
SergioGasquez Oct 27, 2022
32ecdd3
docs: 📝 Add wokwi-server section
SergioGasquez Oct 27, 2022
0614381
docs: 🐛 Update index
SergioGasquez Oct 27, 2022
d2f3401
docs: ♻️ Start refactoring the installation chapter
SergioGasquez Oct 27, 2022
a543a4b
docs: 📝 Update RISC-V install section
SergioGasquez Oct 28, 2022
8ceec20
docs: 📝 Remove `$` from snipets
SergioGasquez Oct 28, 2022
67bdd6b
docs: 📝 Update riscv install section
SergioGasquez Oct 28, 2022
7a3afb5
docs: 🎨 Update Xtensa insatllation section
SergioGasquez Oct 28, 2022
3ef069a
docs: 🎨 Add ldproxy section
SergioGasquez Oct 28, 2022
07c1e51
docs: ⚡️ Add llvm note
SergioGasquez Oct 28, 2022
ceaf196
docs: 🔥 Remove build tools chapter
SergioGasquez Oct 28, 2022
6c62b14
docs: ⚡️ Gramarly improvements for the first 4 chapters
SergioGasquez Oct 28, 2022
b404282
docs: ✨ Add simulating section
SergioGasquez Oct 28, 2022
c51df11
docs: 📝 Add resources chapter
SergioGasquez Oct 28, 2022
9e15453
docs: 📝 Update templates chapter
SergioGasquez Oct 28, 2022
76346b2
docs: 📝 Improve wokwi-server instructions
SergioGasquez Oct 28, 2022
2475a3f
docs: ✨ Add QEMU chapter
SergioGasquez Oct 28, 2022
a4ebde4
docs: ✨ Add simulating index
SergioGasquez Oct 28, 2022
fdf779c
Merge remote-tracking branch 'upstream/main'
SergioGasquez Oct 28, 2022
a1f4546
docs: 🐛 Update chapter name and fix link
SergioGasquez Oct 28, 2022
0c8693e
docs: 🐛 Fix links format
SergioGasquez Oct 28, 2022
e9d8b91
refactor: ♻️ Refactor install chapter
SergioGasquez Oct 31, 2022
be198cf
docs: 🎨 Refactor dependencies paragraph
SergioGasquez Oct 31, 2022
3000700
style: 🎨 Add details
SergioGasquez Oct 31, 2022
db77aa9
style: 🎨 Minor changes and move links to sections
SergioGasquez Oct 31, 2022
98797ca
docs: 📝 Add tooling and debugging index
SergioGasquez Oct 31, 2022
cab9ec3
chore: 🎨 Gramarly suggestions
SergioGasquez Oct 31, 2022
f32dd60
docs: 📝 Update resources
SergioGasquez Oct 31, 2022
b777a8f
fix: 🐛 Fix link to Containers section
SergioGasquez Oct 31, 2022
c1bf07a
docs: 📝 Change GCC description
SergioGasquez Oct 31, 2022
e90c7bb
Clarify dependencies for the two approaches
SergioGasquez Oct 31, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@ This book is a work in progress.
This book is generated using [mdbook], and additionally uses the [mdbook-mermaid] preprocessor to add support for diagrams. To install these tools:

```shell
$ cargo install mdbook mdbook-mermaid
cargo install mdbook mdbook-mermaid
```

With `mdbook` and `mdbook-mermaid` installed you can clone the respository and start a development server by running:

```shell
$ git clone https://github.com/esp-rs/book
$ cd book/
$ mdbook serve
git clone https://github.com/esp-rs/book
cd book/
mdbook serve
```

[mdbook]: https://github.com/rust-lang/mdBook
Expand Down
19 changes: 11 additions & 8 deletions src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,25 @@
- [Using the Standard Library (`std`)](./overview/using-the-standard-library.md)
- [Bare Metal (`no_std`)](./overview/bare-metal.md)
- [Comparing `std` and `no_std`](./overview/comparing-std-and-no_std.md)
- [Required Dependencies](./dependencies/index.md)
- [Installing Rust](./dependencies/installing-rust.md)
- [Build Tools](./dependencies/build-tools.md)
- [Tooling]()
- [Installation](./installation/index.md)
- [Rust on Espressif SoCs](installation/rust-on-esp.md)
- [Installing Rust for Espressif SoCs](./installation/installing-rust-for-esp.md)
- [Tooling](./tooling/index.md)
- [Text Editors and IDEs](./tooling/text-editors-and-ides.md)
- [espflash](./tooling/espflash.md)
- [espmonitor](./tooling/espmonitor.md)
- [Debugging]()
- [probe-rs](./tooling/debugging/probe-rs.md)
- [OpenOCD](./tooling/debugging/openocd.md)
- [Debugging in Visual Studio Code](./tooling/debugging/vscode-debugging.md)
- [Writing Your Application]()
- [Generate Project from Template](./writing-your-application/generate-project-from-template.md)
- [Writing `std` Applications](./writing-your-application/writing-std-applications.md)
- [Simulating](./tooling/simulating/index.md)
- [Wokwi](./tooling/simulating/wokwi.md)
- [QEMU](tooling/simulating/qemu.md)
- [Writing Your Own Application](./writing-your-own-application/index.md)
- [Generate Project from Template](./writing-your-own-application/generate-project-from-template.md)
- [Writing `std` Applications](./writing-your-own-application/writing-std-applications.md)
- [Writing `no_std` Applications (TODO)]()

- [Resources](./resources.md)
---

[Appendix A: Glossary](./misc/glossary.md)
15 changes: 0 additions & 15 deletions src/dependencies/build-tools.md

This file was deleted.

7 changes: 0 additions & 7 deletions src/dependencies/index.md

This file was deleted.

176 changes: 0 additions & 176 deletions src/dependencies/installing-rust.md

This file was deleted.

27 changes: 27 additions & 0 deletions src/installation/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Installation

With an understanding of the ecosystem surrounding Rust on Espressif chips, we can move on to actual development. If you are not aware of the two possible development approaches or do not understand the differences between writing `std` and `no_std` applications, please first read the [Ecosystem Overview] chapter.

The dependencies required to build Rust applications for ESP Chips depend on the approach that we take.

## `no_std` Applications

- GCC Toolchain: GCC linker is used in our Rust applications.
- Rust Toolchain: Used to compile our Rust code.
- `LLVM`: The Rust compiler uses `LLVM` as codegen backend.

## `std` Applications

- GCC Toolchain: GCC linker is used in our Rust applications.
- Rust Toolchain: Used to compile our Rust code.
- `LLVM`: The Rust compiler uses `LLVM` as codegen backend.
- [ESP-IDF]: Espressif IoT Development Framework.
- [`ldproxy`] crate: Simple tool to forward linker arguments given to [`ldproxy`] to the actual linker executable. The crate can be found in the [esp-rs/embuild] repository.

This chapter, will cover how to properly install the correct Rust compiler and toolchain for our ESP chips.

[Ecosystem Overview]: ../overview/index.md
[ESP-IDF]: https://github.com/espressif/esp-idf
[`std` overview]: src\overview\using-the-standard-library.md
[`ldproxy`]: https://github.com/esp-rs/embuild/tree/master/ldproxy
[esp-rs/embuild]: https://github.com/esp-rs/embuild
Loading