diff options
| author | Dario Nieuwenhuis <[email protected]> | 2025-09-11 13:52:14 +0000 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-09-11 13:52:14 +0000 |
| commit | 42c68622eeba3be05e8f8ccdc4072b7aa57f78d1 (patch) | |
| tree | 431aa79f8343a7ed8eb948ad52dec5ef13f5869a /embassy-executor/Cargo.toml | |
| parent | d860530009c1bf96a20edeff22f10f738bab1503 (diff) | |
| parent | e1209c5563576d18c4d033b015c9a5dd6145d581 (diff) | |
Merge pull request #4608 from diondokter/upstream-drs-2
[embassy-executor]: Upstream "Earliest Deadline First" Scheduler (version 2)
Diffstat (limited to 'embassy-executor/Cargo.toml')
| -rw-r--r-- | embassy-executor/Cargo.toml | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/embassy-executor/Cargo.toml b/embassy-executor/Cargo.toml index 41636a26f..0ac666f80 100644 --- a/embassy-executor/Cargo.toml +++ b/embassy-executor/Cargo.toml | |||
| @@ -24,6 +24,7 @@ build = [ | |||
| 24 | {target = "thumbv7em-none-eabi", features = ["arch-cortex-m", "executor-thread"]}, | 24 | {target = "thumbv7em-none-eabi", features = ["arch-cortex-m", "executor-thread"]}, |
| 25 | {target = "thumbv7em-none-eabi", features = ["arch-cortex-m", "executor-interrupt"]}, | 25 | {target = "thumbv7em-none-eabi", features = ["arch-cortex-m", "executor-interrupt"]}, |
| 26 | {target = "thumbv7em-none-eabi", features = ["arch-cortex-m", "executor-interrupt", "executor-thread"]}, | 26 | {target = "thumbv7em-none-eabi", features = ["arch-cortex-m", "executor-interrupt", "executor-thread"]}, |
| 27 | {target = "thumbv7em-none-eabi", features = ["arch-cortex-m", "executor-interrupt", "executor-thread", "scheduler-deadline", "embassy-time-driver"]}, | ||
| 27 | {target = "armv7a-none-eabi", features = ["arch-cortex-ar", "executor-thread"]}, | 28 | {target = "armv7a-none-eabi", features = ["arch-cortex-ar", "executor-thread"]}, |
| 28 | {target = "armv7r-none-eabi", features = ["arch-cortex-ar", "executor-thread"]}, | 29 | {target = "armv7r-none-eabi", features = ["arch-cortex-ar", "executor-thread"]}, |
| 29 | {target = "armv7r-none-eabihf", features = ["arch-cortex-ar", "executor-thread"]}, | 30 | {target = "armv7r-none-eabihf", features = ["arch-cortex-ar", "executor-thread"]}, |
| @@ -35,7 +36,7 @@ build = [ | |||
| 35 | [package.metadata.embassy_docs] | 36 | [package.metadata.embassy_docs] |
| 36 | src_base = "https://github.com/embassy-rs/embassy/blob/embassy-executor-v$VERSION/embassy-executor/src/" | 37 | src_base = "https://github.com/embassy-rs/embassy/blob/embassy-executor-v$VERSION/embassy-executor/src/" |
| 37 | src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/embassy-executor/src/" | 38 | src_base_git = "https://github.com/embassy-rs/embassy/blob/$COMMIT/embassy-executor/src/" |
| 38 | features = ["defmt"] | 39 | features = ["defmt", "scheduler-deadline"] |
| 39 | flavors = [ | 40 | flavors = [ |
| 40 | { name = "std", target = "x86_64-unknown-linux-gnu", features = ["arch-std", "executor-thread"] }, | 41 | { name = "std", target = "x86_64-unknown-linux-gnu", features = ["arch-std", "executor-thread"] }, |
| 41 | { name = "wasm", target = "wasm32-unknown-unknown", features = ["arch-wasm", "executor-thread"] }, | 42 | { name = "wasm", target = "wasm32-unknown-unknown", features = ["arch-wasm", "executor-thread"] }, |
| @@ -46,7 +47,7 @@ flavors = [ | |||
| 46 | [package.metadata.docs.rs] | 47 | [package.metadata.docs.rs] |
| 47 | default-target = "thumbv7em-none-eabi" | 48 | default-target = "thumbv7em-none-eabi" |
| 48 | targets = ["thumbv7em-none-eabi"] | 49 | targets = ["thumbv7em-none-eabi"] |
| 49 | features = ["defmt", "arch-cortex-m", "executor-thread", "executor-interrupt"] | 50 | features = ["defmt", "arch-cortex-m", "executor-thread", "executor-interrupt", "scheduler-deadline", "embassy-time-driver"] |
| 50 | 51 | ||
| 51 | [dependencies] | 52 | [dependencies] |
| 52 | defmt = { version = "1.0.1", optional = true } | 53 | defmt = { version = "1.0.1", optional = true } |
| @@ -76,6 +77,11 @@ js-sys = { version = "0.3", optional = true } | |||
| 76 | # arch-avr dependencies | 77 | # arch-avr dependencies |
| 77 | avr-device = { version = "0.7.0", optional = true } | 78 | avr-device = { version = "0.7.0", optional = true } |
| 78 | 79 | ||
| 80 | |||
| 81 | [dependencies.cordyceps] | ||
| 82 | version = "0.3.4" | ||
| 83 | features = ["no-cache-pad"] | ||
| 84 | |||
| 79 | [dev-dependencies] | 85 | [dev-dependencies] |
| 80 | critical-section = { version = "1.1", features = ["std"] } | 86 | critical-section = { version = "1.1", features = ["std"] } |
| 81 | trybuild = "1.0" | 87 | trybuild = "1.0" |
| @@ -123,5 +129,13 @@ executor-interrupt = [] | |||
| 123 | ## Enable tracing hooks | 129 | ## Enable tracing hooks |
| 124 | trace = ["_any_trace"] | 130 | trace = ["_any_trace"] |
| 125 | ## Enable support for rtos-trace framework | 131 | ## Enable support for rtos-trace framework |
| 126 | rtos-trace = ["_any_trace", "metadata-name", "dep:rtos-trace", "dep:embassy-time-driver"] | 132 | rtos-trace = ["_any_trace", "metadata-name", "dep:rtos-trace", "embassy-time-driver"] |
| 127 | _any_trace = [] | 133 | _any_trace = [] |
| 134 | |||
| 135 | ## Enable "Earliest Deadline First" Scheduler, using soft-realtime "deadlines" to prioritize | ||
| 136 | ## tasks based on the remaining time before their deadline. Adds some overhead. | ||
| 137 | scheduler-deadline = [] | ||
| 138 | |||
| 139 | ## Enable the embassy_time_driver dependency. | ||
| 140 | ## This can unlock extra APIs, for example for the `sheduler-deadline` | ||
| 141 | embassy-time-driver = ["dep:embassy-time-driver"] | ||
