Skip to content

Commit

Permalink
Merge pull request #114 from ferrous-systems/clean-up-summary-page
Browse files Browse the repository at this point in the history
Use empty headings for missing slide decks.
  • Loading branch information
miguelraz committed Oct 30, 2023
2 parents bafa6aa + e1e24d5 commit b6e1d77
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 16 deletions.
8 changes: 6 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,12 @@ jobs:
- name: Install tools
uses: taiki-e/install-action@v2
with:
tool: [email protected],[email protected],[email protected]

tool: [email protected],[email protected]

- name: Add mdslides
run: |
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/ferrous-systems/mdslides/releases/download/v0.4.0/mdslides-installer.sh | sh
- name: Add Rust Targets
run: |
rustup target add thumbv7em-none-eabihf
Expand Down
3 changes: 3 additions & 0 deletions example-code/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,15 @@ set -euo pipefail
# Check the example code
pushd ./native
cargo build --all
cargo clean
popd
# And the C based example
pushd native/ffi/use-rust-in-c
make
make clean
popd
# And the nRF52 examples
pushd ./nrf52/bsp_demo
cargo build
cargo clean
popd
28 changes: 18 additions & 10 deletions training-slides/src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,36 +53,44 @@ Topics that go beyond [Applied Rust](#applied-rust).
* [Testing](./testing.md)
* [The stdlib](./std-lib-tour.md)
* [Using Cargo](./using-cargo.md)
* [Using Types to encode State (TBC)](./type-state.md)
* [Using Types to encode State](./type-state.md)
* [WASM](./wasm.md)

# No-Std Rust

Rust for the Linux Kernel and other no-std environments with an pre-existing C API. Requires [Applied Rust](#applied-rust).

* [Overview of no-std Rust (TBC)](./rust-no-std.md)
* [Unsafe Rust](./unsafe.md)
* [Foreign Function Interface](./ffi.md)
* [Working with Nightly](./working-with-nighly.md)
* [Rust in the Linux Kernel (TBC)](./rust-linux-kernel.md)
* [Rust on an RTOS (TBC)](./rust-rtos.md)
* [Writing a new target (TBC)](./custom-target.md)

## Under development

* [Overview of no-std Rust]()
* [Rust in the Linux Kernel]()
* [Rust on an RTOS]()
* [Writing a new target]()

# Bare-Metal Rust

Topics about using Rust on ARM Cortex-M Microcontrollers (and similar). Requires [Low-Level Rust](#low-level-rust).
Topics about using Rust on ARM Cortex-M Microcontrollers (and similar). Requires [Applied Rust](#applied-rust).

* [Overview of Bare-Metal Rust](./rust-bare-metal.md)
* [Booting a Cortex-M Microcontroller (TBC)](./cortex-m-booting.md)
* [Exceptions and Interrupts on a Cortex-M Microcontroller (TBC)](./cortex-m-exceptions-interrupts.md)
* [PACs and svd2rust](./pac-svd2rust.md)
* [Writing Drivers](./writing-drivers.md)
* [The Embedded HAL and its implementations](./embedded-hals.md)
* [Board Support Crates](./board-support.md)
* [Using RTIC v1 (TBC)](./rtic-v1.md)

## Under development

* [Booting a Cortex-M Microcontroller]()
* [Exceptions and Interrupts on a Cortex-M Microcontroller]()
* [Using RTIC v1]()

# Ferrocene

Topics around [Ferrocene](https://ferrous-systems.com/ferrocene/), the qualified toolchain for writing safety-critical systems in Rust.

* [Installing and Using Ferrocene (TBC)](./installing-using-ferrocene.md)
## Under development

* [Installing and Using Ferrocene]()
9 changes: 5 additions & 4 deletions training-slides/src/start_here.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,20 @@

Make sure to have `rustup`, `VSCode` and the `rust-analyzer` VSCode extension installed.

Our various Rust training courses fit together as follows:
Our various Rust training courses are planned to fit together as follows. Some of these courses are available now, and some are in development and will be available in the future.

```mermaid
graph TD;
Fundamentals(Rust Fundamentals)-->Applied(Applied Rust);
Applied-->Advanced(Advanced Rust);
Applied-->NoStd(No-Std Rust);
NoStd-->Ferrocene(Using Ferrocene);
NoStd-->BareMetal(Bare-Metal Rust);
Applied-->BareMetal(Bare-Metal Rust);
Applied-->Async(Async Rust);
BareMetal-->Embassy(Using Embassy);
Async-->Embassy;
Why(Why Rust?);
WhyRust(Why Rust?);
WhyFerrocene(Why Ferrocene?);
```

* **Rust Fundamentals**: Covers the basics - types, writing functions, using iterators.
Expand All @@ -28,4 +29,4 @@ graph TD;
* **Bare-Metal Rust**: Rust on a micro-controller.
* **Using Embassy**: Async-Rust on a micro-controller.
* **Why Rust?**: A (stand-alone) half-day tour of Rust for decision-makers, technical leads and managers.

* **Why Ferrocene?**: A (stand-alone) 90 minute tour of Ferrocene.

0 comments on commit b6e1d77

Please sign in to comment.