XIAO RP2040

XIAO RP 2040 IN RUST

    1. INSTALL RUST

`Last login: Tue Feb 7 22:45:36 on ttys000 (base) romaindivozzo@RDVs-iMac ~ % curl –proto ‘=https’ –tlsv1.2 -sSf https://sh.rustup.rs | sh info: downloading installer

Welcome to Rust!

This will download and install the official compiler for the Rust programming language, and its package manager, Cargo.

Rustup metadata and toolchains will be installed into the Rustup home directory, located at:

/Users/romaindivozzo/.rustup

This can be modified with the RUSTUP_HOME environment variable.

The Cargo home directory is located at:

/Users/romaindivozzo/.cargo

This can be modified with the CARGO_HOME environment variable.

The cargo, rustc, rustup and other commands will be added to Cargo’s bin directory, located at:

/Users/romaindivozzo/.cargo/bin

This path will then be added to your PATH environment variable by modifying the profile files located at:

/Users/romaindivozzo/.profile /Users/romaindivozzo/.bash_profile /Users/romaindivozzo/.bashrc /Users/romaindivozzo/.zshenv

You can uninstall at any time with rustup self uninstall and these changes will be reverted.

Current installation options:

default host triple: x86_64-apple-darwin default toolchain: stable (default) profile: default modify PATH variable: yes

  1. Proceed with installation (default)
  2. Customize installation
  3. Cancel installation

1

info: profile set to ‘default’ info: default host triple is x86_64-apple-darwin warning: Updating existing toolchain, profile choice will be ignored info: syncing channel updates for ‘stable-x86_64-apple-darwin’ info: latest update on 2023-02-09, rust version 1.67.1 (d5a82bbd2 2023-02-07) info: downloading component ‘cargo’ info: downloading component ‘clippy’ info: downloading component ‘rust-docs’ 19.4 MiB / 19.4 MiB (100 %) 6.6 MiB/s in 3s ETA: 0s info: downloading component ‘rust-std’ 27.9 MiB / 27.9 MiB (100 %) 6.4 MiB/s in 4s ETA: 0s info: downloading component ‘rustc’ 56.6 MiB / 56.6 MiB (100 %) 7.1 MiB/s in 8s ETA: 0s info: downloading component ‘rustfmt’ info: removing previous version of component ‘cargo’ info: removing previous version of component ‘clippy’ info: removing previous version of component ‘rust-docs’ info: removing previous version of component ‘rust-std’ info: removing previous version of component ‘rustc’ info: removing previous version of component ‘rustfmt’ info: installing component ‘cargo’ info: installing component ‘clippy’ info: installing component ‘rust-docs’ 19.4 MiB / 19.4 MiB (100 %) 3.7 MiB/s in 3s ETA: 0s info: installing component ‘rust-std’ 27.9 MiB / 27.9 MiB (100 %) 12.7 MiB/s in 2s ETA: 0s info: installing component ‘rustc’ 56.6 MiB / 56.6 MiB (100 %) 13.9 MiB/s in 4s ETA: 0s info: installing component ‘rustfmt’ info: default toolchain set to ‘stable-x86_64-apple-darwin’

stable-x86_64-apple-darwin updated - rustc 1.67.1 (d5a82bbd2 2023-02-07) (from rustc 1.61.0 (fe5b13d68 2022-05-18))

Rust is installed now. Great!

To get started you may need to restart your current shell. This would reload your PATH environment variable to include Cargo’s bin directory ($HOME/.cargo/bin).

To configure your current shell, run: source “$HOME/.cargo/env” (base) romaindivozzo@RDVs-iMac ~ % source “$HOME/ .cargo/env” source: no such file or directory: /Users/romaindivozzo/ .cargo/env (base) romaindivozzo@RDVs-iMac ~ % $HOME/ .cargo/env
zsh: permission denied: /Users/romaindivozzo/ (base) romaindivozzo@RDVs-iMac ~ % sudo $HOME/ .cargo/env Password: sudo: /Users/romaindivozzo/: command not found (base) romaindivozzo@RDVs-iMac ~ %`

(base) romaindivozzo@RDVs-iMac ~ % cargo install elf2uf2-rs Updating crates.io index Downloaded elf2uf2-rs v1.3.7 Downloaded 1 crate (51.1 KB) in 0.61s Installing elf2uf2-rs v1.3.7 Downloaded core-foundation-sys v0.8.3 Downloaded crossbeam-deque v0.8.2 Downloaded either v1.8.1 Downloaded crossbeam-channel v0.5.6 Downloaded hashbrown v0.12.3 Downloaded textwrap v0.16.0 Downloaded proc-macro-error-attr v1.0.4 Downloaded num_cpus v1.15.0 Downloaded memoffset v0.7.1 Downloaded clap_lex v0.2.4 Downloaded heck v0.4.1 Downloaded syn v1.0.107 Downloaded unicode-ident v1.0.6 Downloaded indexmap v1.9.2 Downloaded libc v0.2.139 Downloaded zerocopy v0.6.1 Downloaded proc-macro2 v1.0.51 Downloaded crossbeam-epoch v0.9.13 Downloaded os_str_bytes v6.4.1 Downloaded serialport v4.2.0 Downloaded rayon-core v1.10.2 Downloaded quote v1.0.23 Downloaded proc-macro-error v1.0.4 Downloaded mach v0.3.2 Downloaded crossbeam-utils v0.8.14 Downloaded clap v3.2.23 Downloaded clap_derive v3.2.18 Downloaded termcolor v1.2.0 Downloaded nix v0.24.3 Downloaded sysinfo v0.20.5 Downloaded mach v0.1.2 Downloaded static_assertions v1.1.0 Downloaded rayon v1.6.1 Downloaded zerocopy-derive v0.3.2 Downloaded assert_into v1.1.0 Downloaded CoreFoundation-sys v0.1.4 Downloaded IOKit-sys v0.1.5 Downloaded pbr v1.1.1 Downloaded once_cell v1.17.0 Downloaded 39 crates (3.1 MB) in 1.10s Compiling libc v0.2.139 Compiling autocfg v1.1.0 Compiling cfg-if v1.0.0 Compiling proc-macro2 v1.0.51 Compiling unicode-ident v1.0.6 Compiling crossbeam-utils v0.8.14 Compiling quote v1.0.23 Compiling version_check v0.9.4 Compiling syn v1.0.107 Compiling CoreFoundation-sys v0.1.4 Compiling proc-macro-error-attr v1.0.4 Compiling memoffset v0.7.1 Compiling crossbeam-epoch v0.9.13 Compiling scopeguard v1.1.0 Compiling proc-macro-error v1.0.4 Compiling crossbeam-channel v0.5.6 Compiling rayon-core v1.10.2 Compiling indexmap v1.9.2 Compiling bitflags v1.3.2 Compiling core-foundation-sys v0.8.3 Compiling mach v0.1.2 Compiling num_cpus v1.15.0 Compiling crossbeam-deque v0.8.2 Compiling IOKit-sys v0.1.5 Compiling once_cell v1.17.0 Compiling either v1.8.1 Compiling heck v0.4.1 Compiling sysinfo v0.20.5 Compiling hashbrown v0.12.3 Compiling os_str_bytes v6.4.1 Compiling clap_lex v0.2.4 Compiling nix v0.24.3 Compiling mach v0.3.2 Compiling atty v0.2.14 Compiling rayon v1.6.1 Compiling termcolor v1.2.0 Compiling byteorder v1.4.3 Compiling strsim v0.10.0 Compiling textwrap v0.16.0 Compiling pbr v1.1.1 Compiling static_assertions v1.1.0 Compiling serialport v4.2.0 Compiling assert_into v1.1.0 Compiling clap_derive v3.2.18 Compiling zerocopy-derive v0.3.2 Compiling zerocopy v0.6.1 Compiling clap v3.2.23 Compiling elf2uf2-rs v1.3.7 Finished release [optimized] target(s) in 1m 38s Installing /Users/romaindivozzo/.cargo/bin/elf2uf2-rs Installed package elf2uf2-rs v1.3.7 (executable elf2uf2-rs) (base) romaindivozzo@RDVs-iMac ~ % cd web (base) romaindivozzo@RDVs-iMac web % cd .. (base) romaindivozzo@RDVs-iMac ~ % ls Applications Movies ros-install-osx Autodesk Music sensors Desktop Pictures socnetv-data Documents Public streamlit-apps Downloads digifab-eit2023-name web Library get-pip.py (base) romaindivozzo@RDVs-iMac ~ % cd Applications (base) romaindivozzo@RDVs-iMac Applications % ls Autodesk Fusion 360 Service Utility.app Autodesk Fusion 360.app Remove Autodesk Fusion 360.app (base) romaindivozzo@RDVs-iMac Applications % ls Autodesk Fusion 360 Service Utility.app Autodesk Fusion 360.app Remove Autodesk Fusion 360.app (base) romaindivozzo@RDVs-iMac Applications % cd .. (base) romaindivozzo@RDVs-iMac ~ % mkdir electronics (base) romaindivozzo@RDVs-iMac ~ % cd electronics (base) romaindivozzo@RDVs-iMac electronics % git clon https://github.com/rp-rs/rp-hal git: ‘clon’ is not a git command. See ‘git –help’.

The most similar commands are clone column (base) romaindivozzo@RDVs-iMac electronics % git clone https://github.com/rp-rs/rp-hal Cloning into ‘rp-hal’… remote: Enumerating objects: 5928, done. remote: Counting objects: 100% (1191/1191), done. remote: Compressing objects: 100% (292/292), done. remote: Total 5928 (delta 1014), reused 985 (delta 891), pack-reused 473 Receiving objects: 100% (5928/5928), 1.30 MiB | 3.89 MiB/s, done. Resolving deltas: 100% (4100/4100), done. (base) romaindivozzo@RDVs-iMac electronics % ls rp-hal (base) romaindivozzo@RDVs-iMac electronics % cd rp-hal (base) romaindivozzo@RDVs-iMac rp-hal % ls APACHE2.0 MIT on-target-tests CODE_OF_CONDUCT.md README.md rp2040-hal Cargo.toml memory.x rp2040-hal-macros (base) romaindivozzo@RDVs-iMac rp-hal % cargo build –example seeeduino_xiao_rp2040_blinky Updating crates.io index Downloaded lock_api v0.4.9 Downloaded petgraph v0.6.3 Downloaded crc-any v2.4.3 Downloaded cortex-m-rt-macros v0.7.0 Downloaded tiny-keccak v2.0.2 Downloaded unicode-width v0.1.10 Downloaded panic-halt v0.2.0 Downloaded crunchy v0.2.2 Downloaded fixedbitset v0.4.2 Downloaded smallvec v1.10.0 Downloaded lalrpop v0.19.8 Downloaded pio v0.2.1 Downloaded pico-args v0.4.2 Downloaded unicode-xid v0.2.4 Downloaded stable_deref_trait v1.2.0 Downloaded dirs-sys-next v0.1.2 Downloaded parking_lot_core v0.9.7 Downloaded parking_lot v0.12.1 Downloaded dirs-next v2.0.0 Downloaded codespan-reporting v0.11.1 Downloaded arrayvec v0.7.2 Downloaded void v1.0.2 Downloaded volatile-register v0.2.1 Downloaded usb-device v0.2.9 Downloaded embedded-hal v0.2.7 Downloaded vcell v0.1.3 Downloaded critical-section v1.1.1 Downloaded nb v1.0.0 Downloaded bitfield v0.13.2 Downloaded cortex-m v0.7.7 Downloaded lalrpop-util v0.19.8 Downloaded semver-parser v0.7.0 Downloaded num_enum_derive v0.5.9 Downloaded rustc_version v0.2.3 Downloaded bit-vec v0.6.3 Downloaded itertools v0.10.5 Downloaded regex-syntax v0.6.28 Downloaded regex v1.7.1 Downloaded gcd v2.3.0 Downloaded debug-helper v0.3.13 Downloaded cortex-m-rt v0.7.2 Downloaded embedded-dma v0.2.0 Downloaded semver v0.9.0 Downloaded term v0.7.0 Downloaded rand_core v0.6.4 Downloaded fugit v0.3.6 Downloaded ascii-canvas v3.0.0 Downloaded ena v0.14.0 Downloaded num_enum v0.5.9 Downloaded diff v0.1.13 Downloaded pio-proc v0.2.1 Downloaded bare-metal v0.2.5 Downloaded aho-corasick v0.7.20 Downloaded paste v1.0.11 Downloaded rp2040-pac v0.4.0 Downloaded rp2040-boot2 v0.2.1 Downloaded dht-sensor v0.2.1 Downloaded pio-parser v0.2.1 Downloaded nb v0.1.3 Downloaded bit-set v0.5.3 Downloaded hd44780-driver v0.4.0 Downloaded 61 crates (4.9 MB) in 1.59s (largest was hd44780-driver at 2.1 MB) error: no example target named seeeduino_xiao_rp2040_blinky. Available example targets: gpio_irq_example vector_table multicore_fifo_blink pio_blink pio_proc_blink rom_funcs pio_synchronized i2c lcd_display watchdog spi spi_dma pio_dma dht11 pwm_blink gpio_in_out adc multicore_polyblink uart uart_dma blinky pio_side_set

(base) romaindivozzo@RDVs-iMac rp-hal % ls APACHE2.0 MIT rp2040-hal CODE_OF_CONDUCT.md README.md rp2040-hal-macros Cargo.lock memory.x Cargo.toml on-target-tests (base) romaindivozzo@RDVs-iMac rp-hal % cargo build –example blinky
Compiling proc-macro2 v1.0.51 Compiling quote v1.0.23 Compiling unicode-ident v1.0.6 Compiling libc v0.2.139 Compiling syn v1.0.107 Compiling autocfg v1.1.0 Compiling cfg-if v1.0.0 Compiling memchr v2.5.0 Compiling parking_lot_core v0.9.7 Compiling smallvec v1.10.0 Compiling scopeguard v1.1.0 Compiling crunchy v0.2.2 Compiling log v0.4.17 Compiling lock_api v0.4.9 Compiling indexmap v1.9.2 Compiling semver-parser v0.7.0 Compiling aho-corasick v0.7.20 Compiling semver v0.9.0 Compiling dirs-sys-next v0.1.2 Compiling tiny-keccak v2.0.2 Compiling dirs-next v2.0.0 Compiling nb v1.0.0 Compiling paste v1.0.11 Compiling hashbrown v0.12.3 Compiling siphasher v0.3.10 Compiling version_check v0.9.4 Compiling regex-syntax v0.6.28 Compiling phf_shared v0.10.0 Compiling nb v0.1.3 Compiling parking_lot v0.12.1 Compiling term v0.7.0 Compiling rustc_version v0.2.3 Compiling new_debug_unreachable v1.0.4 Compiling either v1.8.1 Compiling once_cell v1.17.0 Compiling precomputed-hash v0.1.1 Compiling bit-vec v0.6.3 Compiling fixedbitset v0.4.2 Compiling void v1.0.2 Compiling string_cache v0.8.4 Compiling itertools v0.10.5 Compiling embedded-hal v0.2.7 Compiling bit-set v0.5.3 Compiling petgraph v0.6.3 Compiling ena v0.14.0 Compiling ascii-canvas v3.0.0 Compiling bare-metal v0.2.5 Compiling atty v0.2.14 Compiling cortex-m v0.7.7 Compiling diff v0.1.13 Compiling pico-args v0.4.2 Compiling unicode-xid v0.2.4 Compiling proc-macro-error-attr v1.0.4 Compiling vcell v0.1.3 Compiling debug-helper v0.3.13 Compiling regex v1.7.1 Compiling crc-any v2.4.3 Compiling volatile-register v0.2.1 Compiling proc-macro-error v1.0.4 Compiling rp2040-pac v0.4.0 Compiling arrayvec v0.7.2 Compiling bitfield v0.13.2 Compiling rp2040-boot2 v0.2.1 Compiling termcolor v1.2.0 Compiling gcd v2.3.0 Compiling cortex-m-rt v0.7.2 Compiling unicode-width v0.1.10 Compiling stable_deref_trait v1.2.0 Compiling codespan-reporting v0.11.1 Compiling fugit v0.3.6 Compiling embedded-dma v0.2.0 Compiling lalrpop-util v0.19.8 Compiling lalrpop v0.19.8 Compiling usb-device v0.2.9 Compiling rand_core v0.6.4 Compiling critical-section v1.1.1 Compiling dht-sensor v0.2.1 Compiling hd44780-driver v0.4.0 Compiling panic-halt v0.2.0 Compiling num_enum_derive v0.5.9 Compiling cortex-m-rt-macros v0.7.0 Compiling rp2040-hal-macros v0.1.0 (/Users/romaindivozzo/electronics/rp-hal/rp2040-hal-macros) Compiling num_enum v0.5.9 Compiling pio v0.2.1 Compiling rp2040-hal v0.7.0 (/Users/romaindivozzo/electronics/rp-hal/rp2040-hal) Compiling pio-parser v0.2.1 Compiling pio-proc v0.2.1 Finished dev [unoptimized + debuginfo] target(s) in 42.78s (base) romaindivozzo@RDVs-iMac rp-hal %

(base) romaindivozzo@RDVs-iMac rp-hal % cargo run –example blinky
Finished dev [unoptimized + debuginfo] target(s) in 2.09s Running elf2uf2-rs -d target/thumbv6m-none-eabi/debug/examples/blinky Found pico uf2 disk /Volumes/RPI-RP2 Transfering program to pico 72.50 KB / 72.50 KB [==============================] 100.00 % 20.78 MB/s (base) romaindivozzo@RDVs-iMac rp-hal %