diff --git a/flake.lock b/flake.lock index 8d456b0..e953745 100644 --- a/flake.lock +++ b/flake.lock @@ -10,11 +10,11 @@ ] }, "locked": { - "lastModified": 1710553836, - "narHash": "sha256-iUQ4M7Gy+/By6Z4UAqKY1GFTU4qZLEvOxiJf0IseX00=", + "lastModified": 1711148452, + "narHash": "sha256-2MUcJV0Vs0Zfw+XPH7uslAXXpiLj3Wijcizq1DsRt3A=", "ref": "refs/heads/canon", - "rev": "3d6e66d3b921ea19323517e782efd7ed8074a365", - "revCount": 42, + "rev": "37776fcf8ca8b93a1c2a46f9323be97913113fbd", + "revCount": 43, "type": "git", "url": "https://git.mildlyfunctional.gay/artemist/packages.git" }, @@ -25,11 +25,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1711106783, - "narHash": "sha256-PDwAcHahc6hEimyrgGmFdft75gmLrJOZ0txX7lFqq+I=", + "lastModified": 1711231723, + "narHash": "sha256-dARJQ8AJOv6U+sdRePkbcVyVbXJTi1tReCrkkOeusiA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a3ed7406349a9335cb4c2a71369b697cecd9d351", + "rev": "e1d501922fd7351da4200e1275dfcf5faaad1220", "type": "github" }, "original": { @@ -43,9 +43,33 @@ "inputs": { "artemist-packages": "artemist-packages", "nixpkgs": "nixpkgs", + "rust-overlay": "rust-overlay", "utils": "utils" } }, + "rust-overlay": { + "inputs": { + "flake-utils": [ + "utils" + ], + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1711246447, + "narHash": "sha256-g9TOluObcOEKewFo2fR4cn51Y/jSKhRRo4QZckHLop0=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "dcc802a6ec4e9cc6a1c8c393327f0c42666f22e4", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, "systems": { "locked": { "lastModified": 1681028828, diff --git a/flake.nix b/flake.nix index 0e5f570..dc0d5e4 100644 --- a/flake.nix +++ b/flake.nix @@ -7,25 +7,35 @@ inputs.nixpkgs.follows = "nixpkgs"; inputs.utils.follows = "utils"; }; + rust-overlay = { + url = "github:oxalica/rust-overlay"; + inputs.nixpkgs.follows = "nixpkgs"; + inputs.flake-utils.follows = "utils"; + }; }; - outputs = { self, nixpkgs, utils, artemist-packages }: + outputs = { self, nixpkgs, utils, artemist-packages, rust-overlay }: utils.lib.eachDefaultSystem (system: - let pkgs = import nixpkgs { inherit system; }; + let + pkgs = import nixpkgs { + inherit system; + overlays = [ + artemist-packages.overlays.default + rust-overlay.overlays.default + ]; + }; in rec { devShells.zephyr = artemist-packages.devShells.${system}.zephyr.override { - toolchains = - with artemist-packages.packages.${system}.zephyrPackages.toolchains; [ - arm-zephyr-eabi - riscv64-zephyr-elf - ]; - modules = - with artemist-packages.packages.${system}.zephyrPackages.modules; [ - mbedtls - hal_rpi_pico - hal_atmel - cmsis - ]; + toolchains = with pkgs.zephyrPackages.toolchains; [ + arm-zephyr-eabi + riscv64-zephyr-elf + ]; + modules = with pkgs.zephyrPackages.modules; [ + mbedtls + hal_rpi_pico + hal_atmel + cmsis + ]; extraPackages = with pkgs; [ pyocd ]; }; devShells.zephyr-west = devShells.zephyr.override { @@ -33,6 +43,24 @@ zephyrSrc = null; modules = [ ]; }; + devShells.rust-embedded = let + rust = pkgs.rust-bin.stable.latest.default.override { + extensions = [ "rust-src" "llvm-tools-preview" "clippy" ]; + # just use all of them, why not + targets = [ + "thumbv6m-none-eabi" + "thumbv7m-none-eabi" + "thumbv7em-none-eabi" + "thumbv7em-none-eabihf" + "riscv32imac-unknown-none-elf" + ]; + }; + in with pkgs; + mkShell { + packages = [ rust cargo-binutils probe-rs cargo-generate ]; + RUST_SRC_PATH = "${rust}/lib/rustlib/src/rust/library"; + }; + devShells.typst = with pkgs; mkShell { packages = [ typst ]; }; formatter = pkgs.nixfmt; }); diff --git a/rust-embedded/.envrc b/rust-embedded/.envrc new file mode 100644 index 0000000..7372345 --- /dev/null +++ b/rust-embedded/.envrc @@ -0,0 +1 @@ +use flake ..#rust-embedded diff --git a/rust-embedded/.gitignore b/rust-embedded/.gitignore new file mode 100644 index 0000000..2f7896d --- /dev/null +++ b/rust-embedded/.gitignore @@ -0,0 +1 @@ +target/ diff --git a/rust/fe310-test/.cargo/config b/rust/fe310-test/.cargo/config deleted file mode 100644 index 9a15fd0..0000000 --- a/rust/fe310-test/.cargo/config +++ /dev/null @@ -1,8 +0,0 @@ -[target.riscv32imac-unknown-none-elf] -runner = "riscv64-unknown-elf-gdb -q -x gdb_init" -rustflags = [ - "-C", "link-arg=-Thifive1-link.x", -] - -[build] -target = "riscv32imac-unknown-none-elf" diff --git a/rust/fe310-test/Cargo.lock b/rust/fe310-test/Cargo.lock deleted file mode 100644 index d3dd8f7..0000000 --- a/rust/fe310-test/Cargo.lock +++ /dev/null @@ -1,216 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -[[package]] -name = "bare-metal" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5deb64efa5bd81e31fcd1938615a6d98c82eafcbcd787162b6f63b91d6bac5b3" -dependencies = [ - "rustc_version", -] - -[[package]] -name = "bit_field" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed8765909f9009617974ab6b7d332625b320b33c326b1e9321382ef1999b5d56" - -[[package]] -name = "e310x" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "109a18d80af4c0d7c121e1c3896c9ac3cfcb1f7f334cef594fb4d5668da91a5f" -dependencies = [ - "bare-metal", - "riscv", - "riscv-rt", - "vcell", -] - -[[package]] -name = "e310x-hal" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1d6685b83d2119511e64641a9611e643dc0bcc5a0bcbed2b5a9f993d1b6a5bb" -dependencies = [ - "e310x", - "embedded-hal", - "nb 0.1.3", - "riscv", -] - -[[package]] -name = "embedded-hal" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa998ce59ec9765d15216393af37a58961ddcefb14c753b4816ba2191d865fcb" -dependencies = [ - "nb 0.1.3", - "void", -] - -[[package]] -name = "fe310-test" -version = "0.1.0" -dependencies = [ - "e310x-hal", - "embedded-hal", - "panic-halt", - "riscv", - "riscv-rt", -] - -[[package]] -name = "nb" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "801d31da0513b6ec5214e9bf433a77966320625a37860f910be265be6e18d06f" -dependencies = [ - "nb 1.0.0", -] - -[[package]] -name = "nb" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "546c37ac5d9e56f55e73b677106873d9d9f5190605e41a856503623648488cae" - -[[package]] -name = "panic-halt" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de96540e0ebde571dc55c73d60ef407c653844e6f9a1e2fdbd40c07b9252d812" - -[[package]] -name = "proc-macro2" -version = "0.4.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" -dependencies = [ - "unicode-xid", -] - -[[package]] -name = "quote" -version = "0.6.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "r0" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2a38df5b15c8d5c7e8654189744d8e396bddc18ad48041a500ce52d6948941f" - -[[package]] -name = "rand" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c618c47cd3ebd209790115ab837de41425723956ad3ce2e6a7f09890947cacb9" -dependencies = [ - "rand_core 0.3.1", -] - -[[package]] -name = "rand_core" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" -dependencies = [ - "rand_core 0.4.2", -] - -[[package]] -name = "rand_core" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc" - -[[package]] -name = "riscv" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bb785ce81e0bd87b8d1d357266eeb03f081d9d5871a31e7f95b7e6fd67002eb" -dependencies = [ - "bare-metal", - "bit_field", -] - -[[package]] -name = "riscv-rt" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5b540024086582df97c2e52b0f586977b9a14f95d7f6055438b355e9842b319" -dependencies = [ - "r0", - "riscv", - "riscv-rt-macros", -] - -[[package]] -name = "riscv-rt-macros" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3525f8341898dec060782087b7a15969e1cfe52818afacc47709265c19a23d53" -dependencies = [ - "proc-macro2", - "quote", - "rand", - "syn", -] - -[[package]] -name = "rustc_version" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" -dependencies = [ - "semver", -] - -[[package]] -name = "semver" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" -dependencies = [ - "semver-parser", -] - -[[package]] -name = "semver-parser" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" - -[[package]] -name = "syn" -version = "0.15.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5" -dependencies = [ - "proc-macro2", - "quote", - "unicode-xid", -] - -[[package]] -name = "unicode-xid" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" - -[[package]] -name = "vcell" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "876e32dcadfe563a4289e994f7cb391197f362b6315dc45e8ba4aa6f564a4b3c" - -[[package]] -name = "void" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" diff --git a/rust/fe310-test/Cargo.toml b/rust/fe310-test/Cargo.toml deleted file mode 100644 index cfa0713..0000000 --- a/rust/fe310-test/Cargo.toml +++ /dev/null @@ -1,18 +0,0 @@ -[package] -name = "fe310-test" -version = "0.1.0" -authors = ["Artemis Tosini "] -edition = "2018" - - -[dependencies] -embedded-hal = "0.2.3" -e310x-hal = { version = "0.8.3", features = ["g002"] } -panic-halt = "0.2.0" -riscv = "0.5.3" -riscv-rt = "0.6.0" - -[profile.release] -codegen-units = 1 -debug = true -lto = true diff --git a/rust/fe310-test/src/main.rs b/rust/fe310-test/src/main.rs deleted file mode 100644 index 7ba1210..0000000 --- a/rust/fe310-test/src/main.rs +++ /dev/null @@ -1,5 +0,0 @@ -#![no_std] -#![no_main] - -use panic_halt as _; -use riscv_rt::entry; diff --git a/rust/stm32f407-test/.cargo/config b/rust/stm32f407-test/.cargo/config deleted file mode 100644 index fc4e3b7..0000000 --- a/rust/stm32f407-test/.cargo/config +++ /dev/null @@ -1,9 +0,0 @@ -[target.'cfg(all(target_arch = "arm", target_os = "none"))'] -runner = "gdb -q -x openocd.gdb" - -rustflags = [ - "-C", "link-arg=-Tlink.x", -] - -[build] -target = "thumbv7em-none-eabihf" diff --git a/rust/stm32f407-test/.gitignore b/rust/stm32f407-test/.gitignore deleted file mode 100644 index 561775e..0000000 --- a/rust/stm32f407-test/.gitignore +++ /dev/null @@ -1 +0,0 @@ -itm.txt diff --git a/rust/stm32f407-test/Cargo.lock b/rust/stm32f407-test/Cargo.lock deleted file mode 100644 index d2b91bb..0000000 --- a/rust/stm32f407-test/Cargo.lock +++ /dev/null @@ -1,303 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -[[package]] -name = "aligned" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c19796bd8d477f1a9d4ac2465b464a8b1359474f06a96bb3cda650b4fca309bf" -dependencies = [ - "as-slice", -] - -[[package]] -name = "as-slice" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb4d1c23475b74e3672afa8c2be22040b8b7783ad9b461021144ed10a46bb0e6" -dependencies = [ - "generic-array 0.12.3", - "generic-array 0.13.2", - "generic-array 0.14.4", - "stable_deref_trait", -] - -[[package]] -name = "bare-metal" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5deb64efa5bd81e31fcd1938615a6d98c82eafcbcd787162b6f63b91d6bac5b3" -dependencies = [ - "rustc_version", -] - -[[package]] -name = "bitfield" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46afbd2983a5d5a7bd740ccb198caf5b82f45c40c09c0eed36052d91cb92e719" - -[[package]] -name = "cast" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b9434b9a5aa1450faa3f9cb14ea0e8c53bb5d2b3c1bfd1ab4fc03e9f33fbfb0" -dependencies = [ - "rustc_version", -] - -[[package]] -name = "cortex-m" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2be99930c99669a74d986f7fd2162085498b322e6daae8ef63a97cc9ac1dc73c" -dependencies = [ - "aligned", - "bare-metal", - "bitfield", - "volatile-register", -] - -[[package]] -name = "cortex-m-rt" -version = "0.6.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "980c9d0233a909f355ed297ef122f257942de5e0a2cb1c39f60684b65bcb90fb" -dependencies = [ - "cortex-m-rt-macros", - "r0", -] - -[[package]] -name = "cortex-m-rt-macros" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4717562afbba06e760d34451919f5c3bf3ac15c7bb897e8b04862a7428378647" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "cortex-m-semihosting" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "113ef0ecffee2b62b58f9380f4469099b30e9f9cbee2804771b4203ba1762cfa" -dependencies = [ - "cortex-m", -] - -[[package]] -name = "embedded-hal" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa998ce59ec9765d15216393af37a58961ddcefb14c753b4816ba2191d865fcb" -dependencies = [ - "nb 0.1.3", - "void", -] - -[[package]] -name = "generic-array" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c68f0274ae0e023facc3c97b2e00f076be70e254bc851d972503b328db79b2ec" -dependencies = [ - "typenum", -] - -[[package]] -name = "generic-array" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ed1e761351b56f54eb9dcd0cfaca9fd0daecf93918e1cfc01c8a3d26ee7adcd" -dependencies = [ - "typenum", -] - -[[package]] -name = "generic-array" -version = "0.14.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817" -dependencies = [ - "typenum", - "version_check", -] - -[[package]] -name = "nb" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "801d31da0513b6ec5214e9bf433a77966320625a37860f910be265be6e18d06f" -dependencies = [ - "nb 1.0.0", -] - -[[package]] -name = "nb" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "546c37ac5d9e56f55e73b677106873d9d9f5190605e41a856503623648488cae" - -[[package]] -name = "panic-semihosting" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c03864ac862876c16a308f5286f4aa217f1a69ac45df87ad3cd2847f818a642c" -dependencies = [ - "cortex-m", - "cortex-m-semihosting", -] - -[[package]] -name = "proc-macro2" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51ef7cd2518ead700af67bf9d1a658d90b6037d77110fd9c0445429d0ba1c6c9" -dependencies = [ - "unicode-xid", -] - -[[package]] -name = "quote" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "r0" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2a38df5b15c8d5c7e8654189744d8e396bddc18ad48041a500ce52d6948941f" - -[[package]] -name = "rand_core" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" - -[[package]] -name = "rustc_version" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" -dependencies = [ - "semver", -] - -[[package]] -name = "semver" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" -dependencies = [ - "semver-parser", -] - -[[package]] -name = "semver-parser" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" - -[[package]] -name = "stable_deref_trait" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" - -[[package]] -name = "stm32f4" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11460b4de3a84f072e2cf6e76306c64d27f405a0e83bace0a726f555ddf4bf33" -dependencies = [ - "bare-metal", - "cortex-m", - "cortex-m-rt", - "vcell", -] - -[[package]] -name = "stm32f407-test" -version = "0.1.0" -dependencies = [ - "cortex-m", - "cortex-m-rt", - "cortex-m-semihosting", - "embedded-hal", - "nb 0.1.3", - "panic-semihosting", - "stm32f4xx-hal", -] - -[[package]] -name = "stm32f4xx-hal" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3a2f044469d1e3aff2cd02bee8b2724f3d5d91f3175e5d1ec99770320d16192" -dependencies = [ - "bare-metal", - "cast", - "cortex-m", - "cortex-m-rt", - "embedded-hal", - "nb 0.1.3", - "rand_core", - "stm32f4", - "void", -] - -[[package]] -name = "syn" -version = "1.0.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c51d92969d209b54a98397e1b91c8ae82d8c87a7bb87df0b29aa2ad81454228" -dependencies = [ - "proc-macro2", - "quote", - "unicode-xid", -] - -[[package]] -name = "typenum" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "373c8a200f9e67a0c95e62a4f52fbf80c23b4381c05a17845531982fa99e6b33" - -[[package]] -name = "unicode-xid" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564" - -[[package]] -name = "vcell" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "876e32dcadfe563a4289e994f7cb391197f362b6315dc45e8ba4aa6f564a4b3c" - -[[package]] -name = "version_check" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed" - -[[package]] -name = "void" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" - -[[package]] -name = "volatile-register" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d67cb4616d99b940db1d6bd28844ff97108b498a6ca850e5b6191a532063286" -dependencies = [ - "vcell", -] diff --git a/rust/stm32f407-test/Cargo.toml b/rust/stm32f407-test/Cargo.toml deleted file mode 100644 index 57d2957..0000000 --- a/rust/stm32f407-test/Cargo.toml +++ /dev/null @@ -1,28 +0,0 @@ -[package] -name = "stm32f407-test" -version = "0.1.0" -authors = ["Artemis Tosini "] -edition = "2018" - - -[dependencies] -embedded-hal = "0.2" -nb = "0.1.2" -cortex-m = "0.6" -cortex-m-rt = "0.6" -cortex-m-semihosting = "0.3" -panic-semihosting = "0.5" - -[dependencies.stm32f4xx-hal] -version = "0.8" -features = ["rt", "stm32f407"] - -[[bin]] -name = "stm32f407-test" -test = false -bench = false - -[profile.release] -codegen-units = 1 -debug = true -lto = true diff --git a/rust/stm32f407-test/build.rs b/rust/stm32f407-test/build.rs deleted file mode 100644 index 555cdf6..0000000 --- a/rust/stm32f407-test/build.rs +++ /dev/null @@ -1,21 +0,0 @@ -use std::env; -use std::fs::File; -use std::io::Write; -use std::path::PathBuf; - -fn main() { - // Put `memory.x` in our output directory and ensure it's - // on the linker search path. - let out = &PathBuf::from(env::var_os("OUT_DIR").unwrap()); - File::create(out.join("memory.x")) - .unwrap() - .write_all(include_bytes!("memory.x")) - .unwrap(); - println!("cargo:rustc-link-search={}", out.display()); - - // By default, Cargo will re-run a build script whenever - // any file in the project changes. By specifying `memory.x` - // here, we ensure the build script is only re-run when - // `memory.x` is changed. - println!("cargo:rerun-if-changed=memory.x"); -} diff --git a/rust/stm32f407-test/memory.x b/rust/stm32f407-test/memory.x deleted file mode 100644 index 1cd383d..0000000 --- a/rust/stm32f407-test/memory.x +++ /dev/null @@ -1,9 +0,0 @@ -MEMORY -{ - /* NOTE K = KiBi = 1024 bytes */ - FLASH : ORIGIN = 0x08000000, LENGTH = 1M - RAM : ORIGIN = 0x20000000, LENGTH = 128K - CCRAM : ORIGIN = 0x10000000, LENGTH = 64K -} - -_stack_start = ORIGIN(RAM) + LENGTH(RAM); diff --git a/rust/stm32f407-test/openocd.cfg b/rust/stm32f407-test/openocd.cfg deleted file mode 100644 index 41359fa..0000000 --- a/rust/stm32f407-test/openocd.cfg +++ /dev/null @@ -1,9 +0,0 @@ -source [find interface/stlink-v2-1.cfg] -transport select hla_swd - -# increase working area to 64KB -set WORKAREASIZE 0x10000 - -source [find target/stm32f4x.cfg] - -reset_config srst_only diff --git a/rust/stm32f407-test/openocd.gdb b/rust/stm32f407-test/openocd.gdb deleted file mode 100644 index ea5f5aa..0000000 --- a/rust/stm32f407-test/openocd.gdb +++ /dev/null @@ -1,36 +0,0 @@ -target extended-remote :3333 - -# print demangled symbols -set print asm-demangle on - -# set backtrace limit to not have infinite backtrace loops -set backtrace limit 32 - -# detect unhandled exceptions, hard faults and panics -# break DefaultHandler -# break HardFault -# break rust_begin_unwind - -# *try* to stop at the user entry point (it might be gone due to inlining) -break main - -# send captured ITM to the file itm.txt -# (the programmer's SWO pin on the STM32F4DISCOVERY is hard-wired to PB3. Make sure not to use it for a different purpose!) -# 168000000 is the core clock frequency -monitor tpiu config internal itm.txt uart off 168000000 - - -# OR: make the microcontroller SWO (PB3) pin output compatible with UART (8N1) -# 8000000 is the frequency of the SWO pin -# monitor tpiu config external uart off 8000000 2000000 - -# # enable ITM port 1 -monitor itm port 1 on - -# Semihosting -monitor arm semihosting enable - -load - -# start the process but immediately halt the processor -stepi diff --git a/rust/stm32f407-test/src/main.rs b/rust/stm32f407-test/src/main.rs deleted file mode 100644 index b31edba..0000000 --- a/rust/stm32f407-test/src/main.rs +++ /dev/null @@ -1,13 +0,0 @@ -#![no_std] -#![no_main] - -use panic_halt as _; - - -use cortex_m_rt::entry; - -#[entry] -fn main() -> ! { - - loop { } -} diff --git a/rust/stm32f407-test/stlink.gdb b/rust/stm32f407-test/stlink.gdb deleted file mode 100644 index 4705039..0000000 --- a/rust/stm32f407-test/stlink.gdb +++ /dev/null @@ -1,36 +0,0 @@ -target extended-remote :4343 - -# print demangled symbols -set print asm-demangle on - -# set backtrace limit to not have infinite backtrace loops -set backtrace limit 32 - -# detect unhandled exceptions, hard faults and panics -# break DefaultHandler -# break HardFault -# break rust_begin_unwind - -# *try* to stop at the user entry point (it might be gone due to inlining) -break main - -# send captured ITM to the file itm.txt -# (the programmer's SWO pin on the STM32F4DISCOVERY is hard-wired to PB3. Make sure not to use it for a different purpose!) -# 168000000 is the core clock frequency -monitor tpiu config internal itm.txt uart off 168000000 - - -# OR: make the microcontroller SWO (PB3) pin output compatible with UART (8N1) -# 8000000 is the frequency of the SWO pin -# monitor tpiu config external uart off 8000000 2000000 - -# # enable ITM port 1 -monitor itm port 1 on - -# Semihosting -monitor arm semihosting enable - -load - -# start the process but immediately halt the processor -stepi