From dc702e1ff2ff4a12de2c9996adddf31cfd14cdcd Mon Sep 17 00:00:00 2001 From: SupImDos Date: Thu, 22 Sep 2022 16:15:33 +0800 Subject: [PATCH] Sort reference links --- README.md | 120 +++++++++++++++++++++++++++--------------------------- 1 file changed, 60 insertions(+), 60 deletions(-) diff --git a/README.md b/README.md index 8bad9c8..7bfb130 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,20 @@ # Embassy RP Skeleton The **Embassy RP Skeleton** repository is a project template intended as a starting point for developing your own -firmware for the [`rp2040`][1] based on the [`embassy`][2] asynchronous embedded development framework for [Rust][12]. +firmware for the [`rp2040`][1] based on the [`embassy`][2] asynchronous embedded development framework for [Rust][3]. -It includes all of the [`knurling-rs`][3] tooling ([`defmt`][4], [`defmt-rtt`][4], [`panic-probe`][4], [`flip-link`][5], -[`probe-run`][6]) to enhance the embedded development process. +It includes all of the [`knurling-rs`][4] tooling ([`defmt`][5], [`defmt-rtt`][5], [`panic-probe`][5], [`flip-link`][6], +[`probe-run`][7]) to enhance the embedded development process. -The default [`cargo`][7] runner is configured as [`probe-run`][6], so you can build, flash and run your firmware _with_ +The default [`cargo`][8] runner is configured as [`probe-run`][7], so you can build, flash and run your firmware _with_ output from the device via a CMSIS-DAP compatible debug probe with the command: ```shell $ cargo run ``` -If you want to use a different runner with your debugger (e.g., [`cargo-embed`][8], [`probe-rs-debugger`][9], etc.) or -if you _aren't_ using a debugger and want the runner to flash the firmware via USB (e.g., [`elf2uf2-rs`][10], -[`picotool`][11], etc.) then see: [Alternative Runners][17] +If you want to use a different runner with your debugger (e.g., [`cargo-embed`][9], [`probe-rs-debugger`][10], etc.) or +if you _aren't_ using a debugger and want the runner to flash the firmware via USB (e.g., [`elf2uf2-rs`][11], +[`picotool`][12], etc.) then see: [Alternative Runners][13] ## Table of Contents 1. [Requirements](#requirements) @@ -29,23 +29,23 @@ if you _aren't_ using a debugger and want the runner to flash the firmware via U * Ubuntu * Raspberry Pi Pico * CMSIS-DAP Debug Probe (*or* another Raspberry Pi Pico) -* Rust Toolchain ([`cargo`][7], [`rustup`][13]) +* Rust Toolchain ([`cargo`][8], [`rustup`][14]) ## Setup ### System Setup -1. Install [Rust][12] and [`cargo`][7] using [`rustup`][13] +1. Install [Rust][3] and [`cargo`][8] using [`rustup`][14] ```shell # Install `rustup` for Rust Toolchain $ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh ``` -2. Install Cortex-M Target Toolchain Support for [`Rust`][12] +2. Install Cortex-M Target Toolchain Support for [`Rust`][3] ```shell # Install `thumbv6m-none-eabi` Target for `rp2040` $ rustup target add thumbv6m-none-eabi ``` -3. Install [`probe-run`][6] +3. Install [`probe-run`][7] ```shell # Install Linux Dependencies $ sudo apt install -y libusb-1.0-0-dev libudev-dev @@ -62,7 +62,7 @@ $ sudo udevadm trigger $ sudo usermod -aG plugdev $USER ``` -4. Install [`flip-link`][5] +4. Install [`flip-link`][6] ```shell # Install `flip-link` $ $ cargo install flip-link @@ -71,21 +71,21 @@ $ $ cargo install flip-link ### Probe Setup You can use a Raspberry Pi Pico as a CMSIS-DAP compatible debug probe. -1. Download CMSIS-DAP debugger firmware [`DapperMime`][14] for the Raspberry Pi Pico +1. Download CMSIS-DAP debugger firmware [`DapperMime`][15] for the Raspberry Pi Pico 2. Boot the Raspberry Pi Pico in "Bootloader Mode" by holding the _BOOTSEL_ button while plugging it in 3. Open the mounted Raspberry Pi Pico storage device 4. Copy the `raspberry_pi_pico-DapperMime.uf2` onto the Raspberry Pi Pico 5. Firmware will be flashed to the Raspberry Pi Pico and it will disconnect -Any CMSIS-DAP compatible debug probe can be used with [`probe-run`][6]. For a short list of alternative compatible debug -probes see: [Alternative Debug Probes][15]. +Any CMSIS-DAP compatible debug probe can be used with [`probe-run`][7]. For a short list of alternative compatible debug +probes see: [Alternative Debug Probes][16]. ### Hardware Setup #### Connecting the Raspberry Pi Pico Debug Probe The diagram below shows the wiring loom between Raspberry Pi Pico A (left) and Raspberry Pi Pico B (right), configuring Raspberry Pi Pico A as a debug probe. -![Raspberry Pi Pico Debug Probe Wiring][18] +![Raspberry Pi Pico Debug Probe Wiring][17] The connections shown in the diagram above are listed below. @@ -99,7 +99,7 @@ Pico A VSYS -> Pico B VSYS ``` For more information on the wiring loom and its connections, see: -[Getting Started with Raspberry Pi Pico > Appendix A > Picoprobe Wiring][16] +[Getting Started with Raspberry Pi Pico > Appendix A > Picoprobe Wiring][18] #### Raspberry Pi Pico Dev Board Alternatively, a custom printed Raspberry Pi Pico Dev Board can be used to enhance development, which includes: @@ -127,7 +127,7 @@ To run the firmware in release mode: $ cargo run --release ``` -To change the default [`defmt`][4] log level, see `.cargo/config.toml`: +To change the default [`defmt`][5] log level, see `.cargo/config.toml`: ```toml [env] DEFMT_LOG = "trace" @@ -142,58 +142,58 @@ $ DEFMT_LOG=error cargo run --release ## Appendix #### Documentation * [Raspberry Pi Pico][1] -* [Rust][12] -* [Cargo][7] -* [Rustup][13] +* [Rust][3] +* [Cargo][8] +* [Rustup][14] * [Embassy][2] -* [Knurling-RS `defmt`][4] -* [Knurling-RS `flip-link`][5] -* [Knurling-RS `probe-run`][6] -* [Probe-RS `cargo-embed`][8] -* [Probe-RS `probe-rs-debugger`][9] -* [Raspberry Pi Pico `elf2uf2`][10] -* [Raspberry Pi Pico `picotool`][11] -* [CMSIS-DAP Firmware `DapperMime`][14] +* [Knurling-RS `defmt`][5] +* [Knurling-RS `flip-link`][6] +* [Knurling-RS `probe-run`][7] +* [Probe-RS `cargo-embed`][9] +* [Probe-RS `probe-rs-debugger`][10] +* [Raspberry Pi Pico `elf2uf2`][11] +* [Raspberry Pi Pico `picotool`][12] +* [CMSIS-DAP Firmware `DapperMime`][15] #### Resources -* [Rust Embedded Book][25] -* [Awesome Embedded Rust][21] -* [Getting Started with Raspberry Pi Pico][27] +* [Rust Embedded Book][21] +* [Awesome Embedded Rust][22] +* [Getting Started with Raspberry Pi Pico][23] * [Ferrous Systems Embedded Training][24] -* [Ferrous Systems Embedded Teaching Material][26] -* [RP-RS App Template][22] -* [RP-RS Alternative Debug Probes][15] -* [RP-RS Alternative Runners][17] -* [Knurling-RS App Template][3] +* [Ferrous Systems Embedded Teaching Material][25] +* [RP-RS App Template][26] +* [RP-RS Alternative Debug Probes][16] +* [RP-RS Alternative Runners][13] +* [Knurling-RS App Template][4] * [Raspberry Pi Pico Dev Board][20] -* [Probe-RS Probe Setup][23] +* [Probe-RS Probe Setup][27] [1]: https://www.raspberrypi.com/documentation/microcontrollers/rp2040.html [2]: https://embassy.dev/dev/index.html -[3]: https://github.com/knurling-rs/app-template -[4]: https://github.com/knurling-rs/defmt -[5]: https://github.com/knurling-rs/flip-link -[6]: https://github.com/knurling-rs/probe-run -[7]: https://doc.rust-lang.org/cargo/ -[8]: https://github.com/probe-rs/cargo-embed -[9]: https://github.com/probe-rs/vscode -[10]: https://github.com/JoNil/elf2uf2-rs -[11]: https://github.com/raspberrypi/picotool -[12]: https://www.rust-lang.org/ -[13]: https://rustup.rs/ -[14]: https://github.com/majbthrd/DapperMime -[15]: https://github.com/rp-rs/rp2040-project-template/blob/main/debug_probes.md -[16]: https://datasheets.raspberrypi.com/pico/getting-started-with-pico.pdf#%5B%7B%22num%22%3A64%2C%22gen%22%3A0%7D%2C%7B%22name%22%3A%22XYZ%22%7D%2C115%2C696.992%2Cnull%5D -[17]: https://github.com/rp-rs/rp2040-project-template#alternative-runners -[18]: https://user-images.githubusercontent.com/12226419/134785445-5f651d5a-eda9-4e94-8860-d2ef619dc27a.png +[3]: https://www.rust-lang.org/ +[4]: https://github.com/knurling-rs/app-template +[5]: https://github.com/knurling-rs/defmt +[6]: https://github.com/knurling-rs/flip-link +[7]: https://github.com/knurling-rs/probe-run +[8]: https://doc.rust-lang.org/cargo/ +[9]: https://github.com/probe-rs/cargo-embed +[10]: https://github.com/probe-rs/vscode +[11]: https://github.com/JoNil/elf2uf2-rs +[12]: https://github.com/raspberrypi/picotool +[13]: https://github.com/rp-rs/rp2040-project-template#alternative-runners +[14]: https://rustup.rs/ +[15]: https://github.com/majbthrd/DapperMime +[16]: https://github.com/rp-rs/rp2040-project-template/blob/main/debug_probes.md +[17]: https://user-images.githubusercontent.com/12226419/134785445-5f651d5a-eda9-4e94-8860-d2ef619dc27a.png +[18]: https://datasheets.raspberrypi.com/pico/getting-started-with-pico.pdf#%5B%7B%22num%22%3A64%2C%22gen%22%3A0%7D%2C%7B%22name%22%3A%22XYZ%22%7D%2C115%2C696.992%2Cnull%5D [19]: https://timsavage.github.io/rpi-pico-devboard/assets/images/devboard-debugging.jpg [20]: https://timsavage.github.io/rpi-pico-devboard/ -[21]: https://github.com/rust-embedded/awesome-embedded-rust -[22]: https://github.com/rp-rs/rp2040-project-template -[23]: https://probe.rs/docs/getting-started/probe-setup/ +[21]: https://docs.rust-embedded.org/book/ +[22]: https://github.com/rust-embedded/awesome-embedded-rust +[23]: https://datasheets.raspberrypi.com/pico/getting-started-with-pico.pdf [24]: https://embedded-trainings.ferrous-systems.com/ -[25]: https://docs.rust-embedded.org/book/ -[26]: https://github.com/ferrous-systems/teaching-material -[27]: https://datasheets.raspberrypi.com/pico/getting-started-with-pico.pdf +[25]: https://github.com/ferrous-systems/teaching-material +[26]: https://github.com/rp-rs/rp2040-project-template +[27]: https://probe.rs/docs/getting-started/probe-setup/