add binary info
This commit is contained in:
parent
51300ffea4
commit
3e30545a55
8 changed files with 753 additions and 360 deletions
35
Cargo.lock
generated
35
Cargo.lock
generated
|
@ -197,6 +197,28 @@ version = "0.3.6"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
|
||||
|
||||
[[package]]
|
||||
name = "git-version"
|
||||
version = "0.3.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f6b0decc02f4636b9ccad390dcbe77b722a77efedfa393caf8379a51d5c61899"
|
||||
dependencies = [
|
||||
"git-version-macro",
|
||||
"proc-macro-hack",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "git-version-macro"
|
||||
version = "0.3.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fe69f1cbdb6e28af2bac214e943b99ce8a0a06b447d15d3e61161b0423139f3f"
|
||||
dependencies = [
|
||||
"proc-macro-hack",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "itertools"
|
||||
version = "0.10.3"
|
||||
|
@ -367,6 +389,12 @@ dependencies = [
|
|||
"version_check",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro-hack"
|
||||
version = "0.5.19"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5"
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.40"
|
||||
|
@ -439,10 +467,17 @@ dependencies = [
|
|||
"defmt-rtt",
|
||||
"embedded-hal",
|
||||
"embedded-time",
|
||||
"git-version",
|
||||
"panic-probe",
|
||||
"rp-binary-info",
|
||||
"rp-pico",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rp-binary-info"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/rp-rs/rp-binary-info#a9397d433b1bea5cedd17192db10c40e5008ab88"
|
||||
|
||||
[[package]]
|
||||
name = "rp-pico"
|
||||
version = "0.4.1"
|
||||
|
|
450
Cargo.nix
450
Cargo.nix
|
@ -1,6 +1,5 @@
|
|||
# This file was @generated by cargo2nix 0.11.0.
|
||||
# It is not intended to be manually edited.
|
||||
|
||||
args @ {
|
||||
release ? true,
|
||||
rootFeatures ? [
|
||||
|
@ -22,9 +21,11 @@ args@{
|
|||
rustLib,
|
||||
lib,
|
||||
workspaceSrc,
|
||||
}:
|
||||
let
|
||||
workspaceSrc = if args.workspaceSrc == null then ./. else args.workspaceSrc;
|
||||
}: let
|
||||
workspaceSrc =
|
||||
if args.workspaceSrc == null
|
||||
then ./.
|
||||
else args.workspaceSrc;
|
||||
in let
|
||||
inherit (rustLib) fetchCratesIo fetchCrateLocal fetchCrateGit fetchCrateAlternativeRegistry expandFeatures decideProfile genDrvsByProfile;
|
||||
profilesByName = {
|
||||
|
@ -34,13 +35,23 @@ in let
|
|||
test = builtins.fromTOML "codegen-units = 1\ndebug = 2\ndebug-assertions = true\nincremental = false\nopt-level = 3\noverflow-checks = true\n";
|
||||
};
|
||||
rootFeatures' = expandFeatures rootFeatures;
|
||||
overridableMkRustCrate = f:
|
||||
let
|
||||
drvs = genDrvsByProfile profilesByName ({ profile, profileName }: mkRustCrate ({ inherit release profile hostPlatformCpu hostPlatformFeatures target profileOpts codegenOpts rustcLinkFlags rustcBuildFlags; } // (f profileName)));
|
||||
in { compileMode ? null, profileName ? decideProfile compileMode release }:
|
||||
let drv = drvs.${profileName}; in if compileMode == null then drv else drv.override { inherit compileMode; };
|
||||
overridableMkRustCrate = f: let
|
||||
drvs = genDrvsByProfile profilesByName ({
|
||||
profile,
|
||||
profileName,
|
||||
}:
|
||||
mkRustCrate ({inherit release profile hostPlatformCpu hostPlatformFeatures target profileOpts codegenOpts rustcLinkFlags rustcBuildFlags;} // (f profileName)));
|
||||
in
|
||||
{
|
||||
compileMode ? null,
|
||||
profileName ? decideProfile compileMode release,
|
||||
}: let
|
||||
drv = drvs.${profileName};
|
||||
in
|
||||
if compileMode == null
|
||||
then drv
|
||||
else drv.override {inherit compileMode;};
|
||||
in {
|
||||
cargo2nixVersion = "0.11.0";
|
||||
workspace = {
|
||||
tinyptr = rustPackages.unknown.tinyptr."0.1.0";
|
||||
|
@ -51,7 +62,10 @@ in
|
|||
name = "aho-corasick";
|
||||
version = "0.7.18";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f";
|
||||
};
|
||||
features = builtins.concatLists [
|
||||
["default"]
|
||||
["std"]
|
||||
|
@ -65,21 +79,30 @@ in
|
|||
name = "arrayvec";
|
||||
version = "0.7.2";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6";
|
||||
};
|
||||
});
|
||||
|
||||
"registry+https://github.com/rust-lang/crates.io-index".autocfg."1.1.0" = overridableMkRustCrate (profileName: rec {
|
||||
name = "autocfg";
|
||||
version = "1.1.0";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa";
|
||||
};
|
||||
});
|
||||
|
||||
"registry+https://github.com/rust-lang/crates.io-index".bare-metal."0.2.5" = overridableMkRustCrate (profileName: rec {
|
||||
name = "bare-metal";
|
||||
version = "0.2.5";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "5deb64efa5bd81e31fcd1938615a6d98c82eafcbcd787162b6f63b91d6bac5b3"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "5deb64efa5bd81e31fcd1938615a6d98c82eafcbcd787162b6f63b91d6bac5b3";
|
||||
};
|
||||
features = builtins.concatLists [
|
||||
["const-fn"]
|
||||
];
|
||||
|
@ -92,28 +115,40 @@ in
|
|||
name = "bare-metal";
|
||||
version = "1.0.0";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "f8fe8f5a8a398345e52358e18ff07cc17a568fbca5c6f73873d3a62056309603"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "f8fe8f5a8a398345e52358e18ff07cc17a568fbca5c6f73873d3a62056309603";
|
||||
};
|
||||
});
|
||||
|
||||
"registry+https://github.com/rust-lang/crates.io-index".bit_field."0.10.1" = overridableMkRustCrate (profileName: rec {
|
||||
name = "bit_field";
|
||||
version = "0.10.1";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "dcb6dd1c2376d2e096796e234a70e17e94cc2d5d54ff8ce42b28cef1d0d359a4"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "dcb6dd1c2376d2e096796e234a70e17e94cc2d5d54ff8ce42b28cef1d0d359a4";
|
||||
};
|
||||
});
|
||||
|
||||
"registry+https://github.com/rust-lang/crates.io-index".bitfield."0.13.2" = overridableMkRustCrate (profileName: rec {
|
||||
name = "bitfield";
|
||||
version = "0.13.2";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "46afbd2983a5d5a7bd740ccb198caf5b82f45c40c09c0eed36052d91cb92e719"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "46afbd2983a5d5a7bd740ccb198caf5b82f45c40c09c0eed36052d91cb92e719";
|
||||
};
|
||||
});
|
||||
|
||||
"registry+https://github.com/rust-lang/crates.io-index".bitflags."1.3.2" = overridableMkRustCrate (profileName: rec {
|
||||
name = "bitflags";
|
||||
version = "1.3.2";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a";
|
||||
};
|
||||
features = builtins.concatLists [
|
||||
["default"]
|
||||
];
|
||||
|
@ -123,21 +158,30 @@ in
|
|||
name = "byteorder";
|
||||
version = "1.3.4";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de";
|
||||
};
|
||||
});
|
||||
|
||||
"registry+https://github.com/rust-lang/crates.io-index".cfg-if."1.0.0" = overridableMkRustCrate (profileName: rec {
|
||||
name = "cfg-if";
|
||||
version = "1.0.0";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd";
|
||||
};
|
||||
});
|
||||
|
||||
"registry+https://github.com/rust-lang/crates.io-index".cortex-m."0.7.5" = overridableMkRustCrate (profileName: rec {
|
||||
name = "cortex-m";
|
||||
version = "0.7.5";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "cd20d4ac4aa86f4f75f239d59e542ef67de87cce2c282818dc6e84155d3ea126"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "cd20d4ac4aa86f4f75f239d59e542ef67de87cce2c282818dc6e84155d3ea126";
|
||||
};
|
||||
dependencies = {
|
||||
bare_metal = rustPackages."registry+https://github.com/rust-lang/crates.io-index".bare-metal."0.2.5" {inherit profileName;};
|
||||
bitfield = rustPackages."registry+https://github.com/rust-lang/crates.io-index".bitfield."0.13.2" {inherit profileName;};
|
||||
|
@ -150,7 +194,10 @@ in
|
|||
name = "cortex-m-rt";
|
||||
version = "0.7.1";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "3c433da385b720d5bb9f52362fa2782420798e68d40d67bfe4b0d992aba5dfe7"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "3c433da385b720d5bb9f52362fa2782420798e68d40d67bfe4b0d992aba5dfe7";
|
||||
};
|
||||
features = builtins.concatLists [
|
||||
["device"]
|
||||
];
|
||||
|
@ -163,7 +210,10 @@ in
|
|||
name = "cortex-m-rt-macros";
|
||||
version = "0.7.0";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "f0f6f3e36f203cfedbc78b357fb28730aa2c6dc1ab060ee5c2405e843988d3c7"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "f0f6f3e36f203cfedbc78b357fb28730aa2c6dc1ab060ee5c2405e843988d3c7";
|
||||
};
|
||||
dependencies = {
|
||||
proc_macro2 = rustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.40" {inherit profileName;};
|
||||
quote = rustPackages."registry+https://github.com/rust-lang/crates.io-index".quote."1.0.20" {inherit profileName;};
|
||||
|
@ -175,7 +225,10 @@ in
|
|||
name = "crc-any";
|
||||
version = "2.4.3";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "774646b687f63643eb0f4bf13dc263cb581c8c9e57973b6ddf78bda3994d88df"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "774646b687f63643eb0f4bf13dc263cb581c8c9e57973b6ddf78bda3994d88df";
|
||||
};
|
||||
features = builtins.concatLists [
|
||||
["alloc"]
|
||||
["debug-helper"]
|
||||
|
@ -190,15 +243,28 @@ in
|
|||
name = "critical-section";
|
||||
version = "0.2.7";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "95da181745b56d4bd339530ec393508910c909c784e8962d15d722bacf0bcbcd"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "95da181745b56d4bd339530ec393508910c909c784e8962d15d722bacf0bcbcd";
|
||||
};
|
||||
features = builtins.concatLists [
|
||||
["custom-impl"]
|
||||
];
|
||||
dependencies = {
|
||||
bare_metal = rustPackages."registry+https://github.com/rust-lang/crates.io-index".bare-metal."1.0.0" {inherit profileName;};
|
||||
cfg_if = rustPackages."registry+https://github.com/rust-lang/crates.io-index".cfg-if."1.0.0" {inherit profileName;};
|
||||
${ if hostPlatform.config == "thumbv6m-none-eabi" || hostPlatform.config == "thumbv7em-none-eabi" || hostPlatform.config == "thumbv7em-none-eabihf" || hostPlatform.config == "thumbv7m-none-eabi" || hostPlatform.config == "thumbv8m.base-none-eabi" || hostPlatform.config == "thumbv8m.main-none-eabi" || hostPlatform.config == "thumbv8m.main-none-eabihf" then "cortex_m" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".cortex-m."0.7.5" { inherit profileName; };
|
||||
${ if hostPlatform.parsed.cpu.name == "riscv32" then "riscv" else null } = rustPackages."registry+https://github.com/rust-lang/crates.io-index".riscv."0.7.0" { inherit profileName; };
|
||||
${
|
||||
if hostPlatform.config == "thumbv6m-none-eabi" || hostPlatform.config == "thumbv7em-none-eabi" || hostPlatform.config == "thumbv7em-none-eabihf" || hostPlatform.config == "thumbv7m-none-eabi" || hostPlatform.config == "thumbv8m.base-none-eabi" || hostPlatform.config == "thumbv8m.main-none-eabi" || hostPlatform.config == "thumbv8m.main-none-eabihf"
|
||||
then "cortex_m"
|
||||
else null
|
||||
} =
|
||||
rustPackages."registry+https://github.com/rust-lang/crates.io-index".cortex-m."0.7.5" {inherit profileName;};
|
||||
${
|
||||
if hostPlatform.parsed.cpu.name == "riscv32"
|
||||
then "riscv"
|
||||
else null
|
||||
} =
|
||||
rustPackages."registry+https://github.com/rust-lang/crates.io-index".riscv."0.7.0" {inherit profileName;};
|
||||
};
|
||||
});
|
||||
|
||||
|
@ -206,14 +272,20 @@ in
|
|||
name = "debug-helper";
|
||||
version = "0.3.13";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "f578e8e2c440e7297e008bb5486a3a8a194775224bbc23729b0dbdfaeebf162e"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "f578e8e2c440e7297e008bb5486a3a8a194775224bbc23729b0dbdfaeebf162e";
|
||||
};
|
||||
});
|
||||
|
||||
"registry+https://github.com/rust-lang/crates.io-index".defmt."0.3.2" = overridableMkRustCrate (profileName: rec {
|
||||
name = "defmt";
|
||||
version = "0.3.2";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "d3a0ae7494d9bff013d7b89471f4c424356a71e9752e0c78abe7e6c608a16bb3"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "d3a0ae7494d9bff013d7b89471f4c424356a71e9752e0c78abe7e6c608a16bb3";
|
||||
};
|
||||
dependencies = {
|
||||
bitflags = rustPackages."registry+https://github.com/rust-lang/crates.io-index".bitflags."1.3.2" {inherit profileName;};
|
||||
defmt_macros = buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".defmt-macros."0.3.2" {profileName = "__noProfile";};
|
||||
|
@ -224,7 +296,10 @@ in
|
|||
name = "defmt-macros";
|
||||
version = "0.3.2";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "6d944432e281084511691b36e5e9c794c19c33675822c9019e3b64f5b89e10da"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "6d944432e281084511691b36e5e9c794c19c33675822c9019e3b64f5b89e10da";
|
||||
};
|
||||
dependencies = {
|
||||
defmt_parser = rustPackages."registry+https://github.com/rust-lang/crates.io-index".defmt-parser."0.3.1" {inherit profileName;};
|
||||
proc_macro_error = rustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro-error."1.0.4" {inherit profileName;};
|
||||
|
@ -238,7 +313,10 @@ in
|
|||
name = "defmt-parser";
|
||||
version = "0.3.1";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "0db23d29972d99baa3de2ee2ae3f104c10564a6d05a346eb3f4c4f2c0525a06e"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "0db23d29972d99baa3de2ee2ae3f104c10564a6d05a346eb3f4c4f2c0525a06e";
|
||||
};
|
||||
features = builtins.concatLists [
|
||||
["unstable"]
|
||||
];
|
||||
|
@ -248,7 +326,10 @@ in
|
|||
name = "defmt-rtt";
|
||||
version = "0.3.2";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "1d2cbbbd58847d508d97629b32cd9730a2d28532f71e219714614406029f18b1"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "1d2cbbbd58847d508d97629b32cd9730a2d28532f71e219714614406029f18b1";
|
||||
};
|
||||
dependencies = {
|
||||
critical_section = rustPackages."registry+https://github.com/rust-lang/crates.io-index".critical-section."0.2.7" {inherit profileName;};
|
||||
defmt = rustPackages."registry+https://github.com/rust-lang/crates.io-index".defmt."0.3.2" {inherit profileName;};
|
||||
|
@ -259,14 +340,20 @@ in
|
|||
name = "either";
|
||||
version = "1.7.0";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "3f107b87b6afc2a64fd13cac55fe06d6c8859f12d4b14cbcdd2c67d0976781be"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "3f107b87b6afc2a64fd13cac55fe06d6c8859f12d4b14cbcdd2c67d0976781be";
|
||||
};
|
||||
});
|
||||
|
||||
"registry+https://github.com/rust-lang/crates.io-index".embedded-hal."0.2.7" = overridableMkRustCrate (profileName: rec {
|
||||
name = "embedded-hal";
|
||||
version = "0.2.7";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "35949884794ad573cf46071e41c9b60efb0cb311e3ca01f7af807af1debc66ff"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "35949884794ad573cf46071e41c9b60efb0cb311e3ca01f7af807af1debc66ff";
|
||||
};
|
||||
features = builtins.concatLists [
|
||||
["unproven"]
|
||||
];
|
||||
|
@ -280,7 +367,10 @@ in
|
|||
name = "embedded-time";
|
||||
version = "0.12.1";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "d7a4b4d10ac48d08bfe3db7688c402baadb244721f30a77ce360bd24c3dffe58"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "d7a4b4d10ac48d08bfe3db7688c402baadb244721f30a77ce360bd24c3dffe58";
|
||||
};
|
||||
dependencies = {
|
||||
num = rustPackages."registry+https://github.com/rust-lang/crates.io-index".num."0.3.1" {inherit profileName;};
|
||||
};
|
||||
|
@ -290,14 +380,50 @@ in
|
|||
name = "encode_unicode";
|
||||
version = "0.3.6";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f";
|
||||
};
|
||||
});
|
||||
|
||||
"registry+https://github.com/rust-lang/crates.io-index".git-version."0.3.5" = overridableMkRustCrate (profileName: rec {
|
||||
name = "git-version";
|
||||
version = "0.3.5";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "f6b0decc02f4636b9ccad390dcbe77b722a77efedfa393caf8379a51d5c61899";
|
||||
};
|
||||
dependencies = {
|
||||
git_version_macro = buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".git-version-macro."0.3.5" {profileName = "__noProfile";};
|
||||
proc_macro_hack = buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro-hack."0.5.19" {profileName = "__noProfile";};
|
||||
};
|
||||
});
|
||||
|
||||
"registry+https://github.com/rust-lang/crates.io-index".git-version-macro."0.3.5" = overridableMkRustCrate (profileName: rec {
|
||||
name = "git-version-macro";
|
||||
version = "0.3.5";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "fe69f1cbdb6e28af2bac214e943b99ce8a0a06b447d15d3e61161b0423139f3f";
|
||||
};
|
||||
dependencies = {
|
||||
proc_macro_hack = buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro-hack."0.5.19" {profileName = "__noProfile";};
|
||||
proc_macro2 = rustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.40" {inherit profileName;};
|
||||
quote = rustPackages."registry+https://github.com/rust-lang/crates.io-index".quote."1.0.20" {inherit profileName;};
|
||||
syn = rustPackages."registry+https://github.com/rust-lang/crates.io-index".syn."1.0.98" {inherit profileName;};
|
||||
};
|
||||
});
|
||||
|
||||
"registry+https://github.com/rust-lang/crates.io-index".itertools."0.10.3" = overridableMkRustCrate (profileName: rec {
|
||||
name = "itertools";
|
||||
version = "0.10.3";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3";
|
||||
};
|
||||
dependencies = {
|
||||
either = rustPackages."registry+https://github.com/rust-lang/crates.io-index".either."1.7.0" {inherit profileName;};
|
||||
};
|
||||
|
@ -307,14 +433,20 @@ in
|
|||
name = "lazy_static";
|
||||
version = "1.4.0";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646";
|
||||
};
|
||||
});
|
||||
|
||||
"registry+https://github.com/rust-lang/crates.io-index".memchr."2.5.0" = overridableMkRustCrate (profileName: rec {
|
||||
name = "memchr";
|
||||
version = "2.5.0";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d";
|
||||
};
|
||||
features = builtins.concatLists [
|
||||
["default"]
|
||||
["std"]
|
||||
|
@ -325,7 +457,10 @@ in
|
|||
name = "nb";
|
||||
version = "0.1.3";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "801d31da0513b6ec5214e9bf433a77966320625a37860f910be265be6e18d06f"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "801d31da0513b6ec5214e9bf433a77966320625a37860f910be265be6e18d06f";
|
||||
};
|
||||
features = builtins.concatLists [
|
||||
["unstable"]
|
||||
];
|
||||
|
@ -338,14 +473,20 @@ in
|
|||
name = "nb";
|
||||
version = "1.0.0";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "546c37ac5d9e56f55e73b677106873d9d9f5190605e41a856503623648488cae"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "546c37ac5d9e56f55e73b677106873d9d9f5190605e41a856503623648488cae";
|
||||
};
|
||||
});
|
||||
|
||||
"registry+https://github.com/rust-lang/crates.io-index".num."0.3.1" = overridableMkRustCrate (profileName: rec {
|
||||
name = "num";
|
||||
version = "0.3.1";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "8b7a8e9be5e039e2ff869df49155f1c06bd01ade2117ec783e56ab0932b67a8f"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "8b7a8e9be5e039e2ff869df49155f1c06bd01ade2117ec783e56ab0932b67a8f";
|
||||
};
|
||||
dependencies = {
|
||||
num_complex = rustPackages."registry+https://github.com/rust-lang/crates.io-index".num-complex."0.3.1" {inherit profileName;};
|
||||
num_integer = rustPackages."registry+https://github.com/rust-lang/crates.io-index".num-integer."0.1.45" {inherit profileName;};
|
||||
|
@ -359,7 +500,10 @@ in
|
|||
name = "num-complex";
|
||||
version = "0.3.1";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "747d632c0c558b87dbabbe6a82f3b4ae03720d0646ac5b7b4dae89394be5f2c5"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "747d632c0c558b87dbabbe6a82f3b4ae03720d0646ac5b7b4dae89394be5f2c5";
|
||||
};
|
||||
dependencies = {
|
||||
num_traits = rustPackages."registry+https://github.com/rust-lang/crates.io-index".num-traits."0.2.15" {inherit profileName;};
|
||||
};
|
||||
|
@ -369,7 +513,10 @@ in
|
|||
name = "num-integer";
|
||||
version = "0.1.45";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9";
|
||||
};
|
||||
features = builtins.concatLists [
|
||||
["i128"]
|
||||
];
|
||||
|
@ -385,7 +532,10 @@ in
|
|||
name = "num-iter";
|
||||
version = "0.1.43";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252";
|
||||
};
|
||||
features = builtins.concatLists [
|
||||
["i128"]
|
||||
];
|
||||
|
@ -402,7 +552,10 @@ in
|
|||
name = "num-rational";
|
||||
version = "0.3.2";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07";
|
||||
};
|
||||
dependencies = {
|
||||
num_integer = rustPackages."registry+https://github.com/rust-lang/crates.io-index".num-integer."0.1.45" {inherit profileName;};
|
||||
num_traits = rustPackages."registry+https://github.com/rust-lang/crates.io-index".num-traits."0.2.15" {inherit profileName;};
|
||||
|
@ -416,7 +569,10 @@ in
|
|||
name = "num-traits";
|
||||
version = "0.2.15";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd";
|
||||
};
|
||||
features = builtins.concatLists [
|
||||
["i128"]
|
||||
];
|
||||
|
@ -429,7 +585,10 @@ in
|
|||
name = "num_enum";
|
||||
version = "0.5.7";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "cf5395665662ef45796a4ff5486c5d41d29e0c09640af4c5f17fd94ee2c119c9"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "cf5395665662ef45796a4ff5486c5d41d29e0c09640af4c5f17fd94ee2c119c9";
|
||||
};
|
||||
dependencies = {
|
||||
num_enum_derive = buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".num_enum_derive."0.5.7" {profileName = "__noProfile";};
|
||||
};
|
||||
|
@ -439,7 +598,10 @@ in
|
|||
name = "num_enum_derive";
|
||||
version = "0.5.7";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "3b0498641e53dd6ac1a4f22547548caa6864cc4933784319cd1775271c5a46ce"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "3b0498641e53dd6ac1a4f22547548caa6864cc4933784319cd1775271c5a46ce";
|
||||
};
|
||||
dependencies = {
|
||||
proc_macro2 = rustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.40" {inherit profileName;};
|
||||
quote = rustPackages."registry+https://github.com/rust-lang/crates.io-index".quote."1.0.20" {inherit profileName;};
|
||||
|
@ -451,7 +613,10 @@ in
|
|||
name = "panic-probe";
|
||||
version = "0.3.0";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "3ab1f00eac22bd18f8e5cae9555f2820b3a0c166b5b556ee3e203746ea6dcf3a"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "3ab1f00eac22bd18f8e5cae9555f2820b3a0c166b5b556ee3e203746ea6dcf3a";
|
||||
};
|
||||
features = builtins.concatLists [
|
||||
["defmt"]
|
||||
["defmt-error"]
|
||||
|
@ -467,14 +632,20 @@ in
|
|||
name = "paste";
|
||||
version = "1.0.7";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "0c520e05135d6e763148b6426a837e239041653ba7becd2e538c076c738025fc"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "0c520e05135d6e763148b6426a837e239041653ba7becd2e538c076c738025fc";
|
||||
};
|
||||
});
|
||||
|
||||
"registry+https://github.com/rust-lang/crates.io-index".pio."0.2.0" = overridableMkRustCrate (profileName: rec {
|
||||
name = "pio";
|
||||
version = "0.2.0";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "0fd642eada42517e6589cd7f5e830630324aec628fb4aa719000f8801e40c0a2"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "0fd642eada42517e6589cd7f5e830630324aec628fb4aa719000f8801e40c0a2";
|
||||
};
|
||||
dependencies = {
|
||||
arrayvec = rustPackages."registry+https://github.com/rust-lang/crates.io-index".arrayvec."0.7.2" {inherit profileName;};
|
||||
num_enum = rustPackages."registry+https://github.com/rust-lang/crates.io-index".num_enum."0.5.7" {inherit profileName;};
|
||||
|
@ -486,7 +657,10 @@ in
|
|||
name = "proc-macro-error";
|
||||
version = "1.0.4";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c";
|
||||
};
|
||||
features = builtins.concatLists [
|
||||
["default"]
|
||||
["syn"]
|
||||
|
@ -507,7 +681,10 @@ in
|
|||
name = "proc-macro-error-attr";
|
||||
version = "1.0.4";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869";
|
||||
};
|
||||
dependencies = {
|
||||
proc_macro2 = rustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.40" {inherit profileName;};
|
||||
quote = rustPackages."registry+https://github.com/rust-lang/crates.io-index".quote."1.0.20" {inherit profileName;};
|
||||
|
@ -517,11 +694,24 @@ in
|
|||
};
|
||||
});
|
||||
|
||||
"registry+https://github.com/rust-lang/crates.io-index".proc-macro-hack."0.5.19" = overridableMkRustCrate (profileName: rec {
|
||||
name = "proc-macro-hack";
|
||||
version = "0.5.19";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5";
|
||||
};
|
||||
});
|
||||
|
||||
"registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.40" = overridableMkRustCrate (profileName: rec {
|
||||
name = "proc-macro2";
|
||||
version = "1.0.40";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7";
|
||||
};
|
||||
features = builtins.concatLists [
|
||||
["default"]
|
||||
["proc-macro"]
|
||||
|
@ -535,7 +725,10 @@ in
|
|||
name = "quote";
|
||||
version = "1.0.20";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804";
|
||||
};
|
||||
features = builtins.concatLists [
|
||||
["default"]
|
||||
["proc-macro"]
|
||||
|
@ -549,14 +742,20 @@ in
|
|||
name = "rand_core";
|
||||
version = "0.6.3";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7";
|
||||
};
|
||||
});
|
||||
|
||||
"registry+https://github.com/rust-lang/crates.io-index".regex."1.6.0" = overridableMkRustCrate (profileName: rec {
|
||||
name = "regex";
|
||||
version = "1.6.0";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b";
|
||||
};
|
||||
features = builtins.concatLists [
|
||||
["aho-corasick"]
|
||||
["default"]
|
||||
|
@ -587,7 +786,10 @@ in
|
|||
name = "regex-syntax";
|
||||
version = "0.6.27";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244";
|
||||
};
|
||||
features = builtins.concatLists [
|
||||
["default"]
|
||||
["unicode"]
|
||||
|
@ -605,7 +807,10 @@ in
|
|||
name = "riscv";
|
||||
version = "0.7.0";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "6907ccdd7a31012b70faf2af85cd9e5ba97657cc3987c4f13f8e4d2c2a088aba"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "6907ccdd7a31012b70faf2af85cd9e5ba97657cc3987c4f13f8e4d2c2a088aba";
|
||||
};
|
||||
dependencies = {
|
||||
bare_metal = rustPackages."registry+https://github.com/rust-lang/crates.io-index".bare-metal."1.0.0" {inherit profileName;};
|
||||
bit_field = rustPackages."registry+https://github.com/rust-lang/crates.io-index".bit_field."0.10.1" {inherit profileName;};
|
||||
|
@ -619,7 +824,10 @@ in
|
|||
name = "riscv-target";
|
||||
version = "0.1.2";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "88aa938cda42a0cf62a20cfe8d139ff1af20c2e681212b5b34adb5a58333f222"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "88aa938cda42a0cf62a20cfe8d139ff1af20c2e681212b5b34adb5a58333f222";
|
||||
};
|
||||
dependencies = {
|
||||
lazy_static = rustPackages."registry+https://github.com/rust-lang/crates.io-index".lazy_static."1.4.0" {inherit profileName;};
|
||||
regex = rustPackages."registry+https://github.com/rust-lang/crates.io-index".regex."1.6.0" {inherit profileName;};
|
||||
|
@ -639,15 +847,34 @@ in
|
|||
embedded_hal = rustPackages."registry+https://github.com/rust-lang/crates.io-index".embedded-hal."0.2.7" {inherit profileName;};
|
||||
embedded_time = rustPackages."registry+https://github.com/rust-lang/crates.io-index".embedded-time."0.12.1" {inherit profileName;};
|
||||
panic_probe = rustPackages."registry+https://github.com/rust-lang/crates.io-index".panic-probe."0.3.0" {inherit profileName;};
|
||||
rp_binary_info = rustPackages."git+https://github.com/rp-rs/rp-binary-info".rp-binary-info."0.1.0" {inherit profileName;};
|
||||
rp_pico = rustPackages."registry+https://github.com/rust-lang/crates.io-index".rp-pico."0.4.1" {inherit profileName;};
|
||||
};
|
||||
buildDependencies = {
|
||||
git_version = buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".git-version."0.3.5" {profileName = "__noProfile";};
|
||||
};
|
||||
});
|
||||
|
||||
"git+https://github.com/rp-rs/rp-binary-info".rp-binary-info."0.1.0" = overridableMkRustCrate (profileName: rec {
|
||||
name = "rp-binary-info";
|
||||
version = "0.1.0";
|
||||
registry = "git+https://github.com/rp-rs/rp-binary-info";
|
||||
src = fetchCrateGit {
|
||||
url = https://github.com/rp-rs/rp-binary-info;
|
||||
name = "rp-binary-info";
|
||||
version = "0.1.0";
|
||||
rev = "a9397d433b1bea5cedd17192db10c40e5008ab88";
|
||||
};
|
||||
});
|
||||
|
||||
"registry+https://github.com/rust-lang/crates.io-index".rp-pico."0.4.1" = overridableMkRustCrate (profileName: rec {
|
||||
name = "rp-pico";
|
||||
version = "0.4.1";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "6b83448890aab5f6e35aa64d6a2441d69b768e7a22aaf943a84b7459340028ec"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "6b83448890aab5f6e35aa64d6a2441d69b768e7a22aaf943a84b7459340028ec";
|
||||
};
|
||||
features = builtins.concatLists [
|
||||
["boot2"]
|
||||
["cortex-m-rt"]
|
||||
|
@ -671,7 +898,10 @@ in
|
|||
name = "rp2040-boot2";
|
||||
version = "0.2.0";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "8b480fe63133f0d639f82ce5a027fee7cac7ac92f67ef1896ee036a6f9737128"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "8b480fe63133f0d639f82ce5a027fee7cac7ac92f67ef1896ee036a6f9737128";
|
||||
};
|
||||
buildDependencies = {
|
||||
crc_any = buildRustPackages."registry+https://github.com/rust-lang/crates.io-index".crc-any."2.4.3" {profileName = "__noProfile";};
|
||||
};
|
||||
|
@ -681,7 +911,10 @@ in
|
|||
name = "rp2040-hal";
|
||||
version = "0.5.0";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "0de1bc8bf092f5da649a417ad9f18c9705b6226afe3521a469f15d1d2bcb7f66"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "0de1bc8bf092f5da649a417ad9f18c9705b6226afe3521a469f15d1d2bcb7f66";
|
||||
};
|
||||
features = builtins.concatLists [
|
||||
["rt"]
|
||||
];
|
||||
|
@ -708,7 +941,10 @@ in
|
|||
name = "rp2040-hal-macros";
|
||||
version = "0.1.0";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "86479063e497efe1ae81995ef9071f54fd1c7427e04d6c5b84cde545ff672a5e"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "86479063e497efe1ae81995ef9071f54fd1c7427e04d6c5b84cde545ff672a5e";
|
||||
};
|
||||
dependencies = {
|
||||
cortex_m_rt = rustPackages."registry+https://github.com/rust-lang/crates.io-index".cortex-m-rt."0.7.1" {inherit profileName;};
|
||||
proc_macro2 = rustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.40" {inherit profileName;};
|
||||
|
@ -721,7 +957,10 @@ in
|
|||
name = "rp2040-pac";
|
||||
version = "0.3.0";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "13a6106d5db01c7171a39c1f7696780912db9b42fe7ac722db60069c8904ea7c"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "13a6106d5db01c7171a39c1f7696780912db9b42fe7ac722db60069c8904ea7c";
|
||||
};
|
||||
features = builtins.concatLists [
|
||||
["cortex-m-rt"]
|
||||
["rt"]
|
||||
|
@ -737,7 +976,10 @@ in
|
|||
name = "rustc_version";
|
||||
version = "0.2.3";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a";
|
||||
};
|
||||
dependencies = {
|
||||
semver = rustPackages."registry+https://github.com/rust-lang/crates.io-index".semver."0.9.0" {inherit profileName;};
|
||||
};
|
||||
|
@ -747,7 +989,10 @@ in
|
|||
name = "semver";
|
||||
version = "0.9.0";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403";
|
||||
};
|
||||
features = builtins.concatLists [
|
||||
["default"]
|
||||
];
|
||||
|
@ -760,21 +1005,30 @@ in
|
|||
name = "semver-parser";
|
||||
version = "0.7.0";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3";
|
||||
};
|
||||
});
|
||||
|
||||
"registry+https://github.com/rust-lang/crates.io-index".serde."1.0.138" = overridableMkRustCrate (profileName: rec {
|
||||
name = "serde";
|
||||
version = "1.0.138";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "1578c6245786b9d168c5447eeacfb96856573ca56c9d68fdcf394be134882a47"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "1578c6245786b9d168c5447eeacfb96856573ca56c9d68fdcf394be134882a47";
|
||||
};
|
||||
});
|
||||
|
||||
"registry+https://github.com/rust-lang/crates.io-index".ssmarshal."1.0.0" = overridableMkRustCrate (profileName: rec {
|
||||
name = "ssmarshal";
|
||||
version = "1.0.0";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "f3e6ad23b128192ed337dfa4f1b8099ced0c2bf30d61e551b65fda5916dbb850"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "f3e6ad23b128192ed337dfa4f1b8099ced0c2bf30d61e551b65fda5916dbb850";
|
||||
};
|
||||
dependencies = {
|
||||
encode_unicode = rustPackages."registry+https://github.com/rust-lang/crates.io-index".encode_unicode."0.3.6" {inherit profileName;};
|
||||
serde = rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde."1.0.138" {inherit profileName;};
|
||||
|
@ -785,7 +1039,10 @@ in
|
|||
name = "syn";
|
||||
version = "1.0.98";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd";
|
||||
};
|
||||
features = builtins.concatLists [
|
||||
["clone-impls"]
|
||||
["default"]
|
||||
|
@ -826,21 +1083,30 @@ in
|
|||
name = "unicode-ident";
|
||||
version = "1.0.1";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "5bd2fe26506023ed7b5e1e315add59d6f584c621d037f9368fea9cfb988f368c"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "5bd2fe26506023ed7b5e1e315add59d6f584c621d037f9368fea9cfb988f368c";
|
||||
};
|
||||
});
|
||||
|
||||
"registry+https://github.com/rust-lang/crates.io-index".usb-device."0.2.8" = overridableMkRustCrate (profileName: rec {
|
||||
name = "usb-device";
|
||||
version = "0.2.8";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "6be90410d4772074ea49525e2e753b65920b94b57eee21a6ef7b6a6fe6296245"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "6be90410d4772074ea49525e2e753b65920b94b57eee21a6ef7b6a6fe6296245";
|
||||
};
|
||||
});
|
||||
|
||||
"registry+https://github.com/rust-lang/crates.io-index".usbd-hid."0.5.2" = overridableMkRustCrate (profileName: rec {
|
||||
name = "usbd-hid";
|
||||
version = "0.5.2";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "183b7e65bbd75512aedf250deda89394c74ae3118b79fe41f159e8503e1d5d7f"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "183b7e65bbd75512aedf250deda89394c74ae3118b79fe41f159e8503e1d5d7f";
|
||||
};
|
||||
dependencies = {
|
||||
serde = rustPackages."registry+https://github.com/rust-lang/crates.io-index".serde."1.0.138" {inherit profileName;};
|
||||
ssmarshal = rustPackages."registry+https://github.com/rust-lang/crates.io-index".ssmarshal."1.0.0" {inherit profileName;};
|
||||
|
@ -853,7 +1119,10 @@ in
|
|||
name = "usbd-hid-descriptors";
|
||||
version = "0.1.1";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "9e00430c0b39caf3957aba6c2b2824f8e70e1ac0278941418bf1fe35f9566d64"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "9e00430c0b39caf3957aba6c2b2824f8e70e1ac0278941418bf1fe35f9566d64";
|
||||
};
|
||||
dependencies = {
|
||||
bitfield = rustPackages."registry+https://github.com/rust-lang/crates.io-index".bitfield."0.13.2" {inherit profileName;};
|
||||
};
|
||||
|
@ -863,7 +1132,10 @@ in
|
|||
name = "usbd-hid-macros";
|
||||
version = "0.5.2";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "78bd005b3aa54e62905d99df49a75d11888bb958eb780adb5e8f2029733077df"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "78bd005b3aa54e62905d99df49a75d11888bb958eb780adb5e8f2029733077df";
|
||||
};
|
||||
dependencies = {
|
||||
byteorder = rustPackages."registry+https://github.com/rust-lang/crates.io-index".byteorder."1.3.4" {inherit profileName;};
|
||||
proc_macro2 = rustPackages."registry+https://github.com/rust-lang/crates.io-index".proc-macro2."1.0.40" {inherit profileName;};
|
||||
|
@ -878,7 +1150,10 @@ in
|
|||
name = "usbd-serial";
|
||||
version = "0.1.1";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "db75519b86287f12dcf0d171c7cf4ecc839149fe9f3b720ac4cfce52959e1dfe"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "db75519b86287f12dcf0d171c7cf4ecc839149fe9f3b720ac4cfce52959e1dfe";
|
||||
};
|
||||
dependencies = {
|
||||
embedded_hal = rustPackages."registry+https://github.com/rust-lang/crates.io-index".embedded-hal."0.2.7" {inherit profileName;};
|
||||
nb = rustPackages."registry+https://github.com/rust-lang/crates.io-index".nb."0.1.3" {inherit profileName;};
|
||||
|
@ -890,31 +1165,42 @@ in
|
|||
name = "vcell";
|
||||
version = "0.1.3";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "77439c1b53d2303b20d9459b1ade71a83c716e3f9c34f3228c00e6f185d6c002"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "77439c1b53d2303b20d9459b1ade71a83c716e3f9c34f3228c00e6f185d6c002";
|
||||
};
|
||||
});
|
||||
|
||||
"registry+https://github.com/rust-lang/crates.io-index".version_check."0.9.4" = overridableMkRustCrate (profileName: rec {
|
||||
name = "version_check";
|
||||
version = "0.9.4";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f";
|
||||
};
|
||||
});
|
||||
|
||||
"registry+https://github.com/rust-lang/crates.io-index".void."1.0.2" = overridableMkRustCrate (profileName: rec {
|
||||
name = "void";
|
||||
version = "1.0.2";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d";
|
||||
};
|
||||
});
|
||||
|
||||
"registry+https://github.com/rust-lang/crates.io-index".volatile-register."0.2.1" = overridableMkRustCrate (profileName: rec {
|
||||
name = "volatile-register";
|
||||
version = "0.2.1";
|
||||
registry = "registry+https://github.com/rust-lang/crates.io-index";
|
||||
src = fetchCratesIo { inherit name version; sha256 = "9ee8f19f9d74293faf70901bc20ad067dc1ad390d2cbf1e3f75f721ffee908b6"; };
|
||||
src = fetchCratesIo {
|
||||
inherit name version;
|
||||
sha256 = "9ee8f19f9d74293faf70901bc20ad067dc1ad390d2cbf1e3f75f721ffee908b6";
|
||||
};
|
||||
dependencies = {
|
||||
vcell = rustPackages."registry+https://github.com/rust-lang/crates.io-index".vcell."0.1.3" {inherit profileName;};
|
||||
};
|
||||
});
|
||||
|
||||
}
|
||||
|
|
|
@ -21,6 +21,12 @@ defmt-rtt = "0.3"
|
|||
panic-probe = { version = "0.3", features = ["print-defmt"] }
|
||||
rp-pico = "0.4"
|
||||
|
||||
[dependencies.rp-binary-info]
|
||||
git = "https://github.com/rp-rs/rp-binary-info"
|
||||
|
||||
[build-dependencies]
|
||||
git-version = "0.3.5"
|
||||
|
||||
# cargo build/run
|
||||
[profile.dev]
|
||||
codegen-units = 1
|
||||
|
|
1
build.rs
1
build.rs
|
@ -28,4 +28,5 @@ fn main() {
|
|||
// here, we ensure the build script is only re-run when
|
||||
// `memory.x` is changed.
|
||||
println!("cargo:rerun-if-changed=memory.x");
|
||||
println!("cargo:rustc-env=GIT_VERSION={}", git_version::git_version!());
|
||||
}
|
||||
|
|
|
@ -54,6 +54,7 @@
|
|||
elf2uf2-rs
|
||||
cargo-embed
|
||||
llvmPackages_latest.bintools
|
||||
picotool
|
||||
];
|
||||
};
|
||||
packages = rec {
|
||||
|
@ -73,6 +74,9 @@
|
|||
};
|
||||
rkbfirm-crate = (rustPkgs.workspace.rkbfirm {}).overrideAttrs (old: {
|
||||
configureCargo = "true";
|
||||
postPatch = ''
|
||||
sed -i 's/git_version::git_version!()/"${self.lastModifiedDate}"/' build.rs
|
||||
'';
|
||||
});
|
||||
tinyptr-crate = rustPkgs.workspace.tinyptr {};
|
||||
tinyptr-alloc-crate = rustPkgs.workspace.tinyptr-alloc {};
|
||||
|
|
18
memory.x
18
memory.x
|
@ -13,3 +13,21 @@ SECTIONS {
|
|||
KEEP(*(.boot2));
|
||||
} > BOOT2
|
||||
} INSERT BEFORE .text;
|
||||
|
||||
SECTIONS {
|
||||
/* ### Picotool 'Binary Info' Entries
|
||||
*
|
||||
* Picotool looks through this block (as we have pointers to it in our header) to find interesting information.
|
||||
*/
|
||||
.bi_entries : ALIGN(4)
|
||||
{
|
||||
/* We put this in the header */
|
||||
__bi_entries_start = .;
|
||||
/* Here are the entries */
|
||||
KEEP(*(.bi_entries));
|
||||
/* Keep this block a nice round size */
|
||||
. = ALIGN(4);
|
||||
/* We put this in the header */
|
||||
__bi_entries_end = .;
|
||||
} > FLASH
|
||||
} INSERT AFTER .text;
|
||||
|
|
42
src/binary_info.rs
Normal file
42
src/binary_info.rs
Normal file
|
@ -0,0 +1,42 @@
|
|||
extern "C" {
|
||||
static __bi_entries_start: rp_binary_info::entry::Addr;
|
||||
static __bi_entries_end: rp_binary_info::entry::Addr;
|
||||
static __sdata: u32;
|
||||
static __edata: u32;
|
||||
static __sidata: u32;
|
||||
}
|
||||
|
||||
/// Picotool can find this block in our ELF file and report interesting metadata.
|
||||
#[link_section = ".bi_header"]
|
||||
#[used]
|
||||
pub static PICOTOOL_META: rp_binary_info::Header =
|
||||
unsafe { rp_binary_info::Header::new(&__bi_entries_start, &__bi_entries_end, &MAPPING_TABLE) };
|
||||
|
||||
/// This tells picotool how to convert RAM addresses back into Flash addresses
|
||||
static MAPPING_TABLE: [rp_binary_info::MappingTableEntry; 2] = [
|
||||
// This is the entry for .data
|
||||
rp_binary_info::MappingTableEntry {
|
||||
source_addr_start: unsafe { &__sidata },
|
||||
dest_addr_start: unsafe { &__sdata },
|
||||
dest_addr_end: unsafe { &__edata },
|
||||
},
|
||||
// This is the terminating marker
|
||||
rp_binary_info::MappingTableEntry {
|
||||
source_addr_start: core::ptr::null(),
|
||||
dest_addr_start: core::ptr::null(),
|
||||
dest_addr_end: core::ptr::null(),
|
||||
},
|
||||
];
|
||||
|
||||
/// This is a list of references to our table entries
|
||||
#[link_section = ".bi_entries"]
|
||||
#[used]
|
||||
pub static PICOTOOL_ENTRIES: [rp_binary_info::entry::Addr; 2] = [
|
||||
PROGRAM_NAME.addr(),
|
||||
PROGRAM_VERSION.addr(),
|
||||
];
|
||||
|
||||
static PROGRAM_NAME: rp_binary_info::entry::IdAndString =
|
||||
rp_binary_info::program_name(concat!("RKB1 firmware", "\0"));
|
||||
static PROGRAM_VERSION: rp_binary_info::entry::IdAndString =
|
||||
rp_binary_info::version(concat!(env!("GIT_VERSION"), "\0"));
|
|
@ -10,6 +10,7 @@ use defmt_rtt as _;
|
|||
use embedded_hal::digital::v2::OutputPin;
|
||||
use embedded_time::fixed_point::FixedPoint;
|
||||
use panic_probe as _;
|
||||
mod binary_info;
|
||||
|
||||
// Provide an alias for our BSP so we can switch targets quickly.
|
||||
// Uncomment the BSP you included in Cargo.toml, the rest of the code does not need to change.
|
||||
|
|
Loading…
Reference in a new issue