pub struct TierTaskMemoryRaw {
pub stack: *mut u8,
pub stack_bytes: usize,
pub tcb: *mut u8,
pub tcb_bytes: usize,
}Expand description
issue 1598 — each spawned tier’s TASK memory (stack + control block):
nros::main! emits one TierTaskMemory static per spawned tier, sized from
its stack_bytes, and hands the TierTaskMemorySet rows to a board whose
tier runner creates the task over them (FreeRTOS xTaskCreateStatic).
issue 1598 — one spawned tier’s task memory as a board receives it: raw,
Copy, no lifetime. The ENTRY owns the bytes (TierTaskMemory); the
handout is once-only (TierTaskMemorySet::take), which is what makes the
raw pointers exclusive.
Fields§
§stack: *mut u8The stack: stack_bytes bytes, 64-byte aligned.
stack_bytes: usizeThe stack’s size in bytes — the tier’s declared stack_bytes (or the
family default), rounded up to whole words.
tcb: *mut u8The control-block region: tcb_bytes bytes, 64-byte aligned.
tcb_bytes: usizeTIER_TASK_TCB_U64S words.
Implementations§
Source§impl TierTaskMemoryRaw
impl TierTaskMemoryRaw
Sourcepub const NONE: TierTaskMemoryRaw
pub const NONE: TierTaskMemoryRaw
“This tier has no task memory from the entry”: the port keeps its own
default (Zephyr’s pool slot for a tier that declared no stack_bytes).
Trait Implementations§
Source§impl Clone for TierTaskMemoryRaw
impl Clone for TierTaskMemoryRaw
Source§fn clone(&self) -> TierTaskMemoryRaw
fn clone(&self) -> TierTaskMemoryRaw
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more