pub struct ProcessAddresses {
    pub flash_start: usize,
    pub flash_non_protected_start: usize,
    pub flash_end: usize,
    pub sram_start: usize,
    pub sram_app_brk: usize,
    pub sram_grant_start: usize,
    pub sram_end: usize,
    pub sram_heap_start: Option<usize>,
    pub sram_stack_top: Option<usize>,
    pub sram_stack_bottom: Option<usize>,
}
Expand description

Collection of process state information related to the memory addresses of different elements of the process.

Fields

flash_start: usize

The address of the beginning of the process’s region in nonvolatile memory.

flash_non_protected_start: usize

The address of the beginning of the region the process has access to in nonvolatile memory. This is after the TBF header and any other memory the kernel has reserved for its own use.

flash_end: usize

The address immediately after the end of the region allocated for this process in nonvolatile memory.

sram_start: usize

The address of the beginning of the process’s allocated region in memory.

sram_app_brk: usize

The address of the application break. This is the address immediately after the end of the memory the process has access to.

sram_grant_start: usize

The lowest address of any allocated grant. This is the start of the region the kernel is using for its own internal state on behalf of this process.

sram_end: usize

The address immediately after the end of the region allocated for this process in memory.

sram_heap_start: Option<usize>

The address of the start of the process’s heap, if known. Note, managing this is completely up to the process, and the kernel relies on the process explicitly notifying it of this address. Therefore, its possible the kernel does not know the start address, or its start address could be incorrect.

sram_stack_top: Option<usize>

The address of the top (or start) of the process’s stack, if known. Note, managing the stack is completely up to the process, and the kernel relies on the process explicitly notifying it of where it started its stack. Therefore, its possible the kernel does not know the start address, or its start address could be incorrect.

sram_stack_bottom: Option<usize>

The lowest address the kernel has seen the stack pointer. Note, the stack is entirely managed by the process, and the process could intentionally obscure this address from the kernel. Also, the stack may have reached a lower address, this is only the lowest address seen when the process calls a syscall.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.