Module config

Source
Expand description

Target specific configuration

For debugging and flashing different chips, called target in probe-rs, some target specific configuration is required. This includes the architecture of the chip, e.g. RISC-V or ARM, and information about the memory map of the target, which can be used together with a flash algorithm to program the flash memory of a target.

§Built-in targets

The built-in targets are added at build-time, from the build.rs script. They are generated from the target files in the targets/ subfolder of this crate.

The built-in targets can be disabled by not including the builtin-targets feature.

§Adding targets at runtime

Targets are collected in a Registry in families. A registry with the built-in targets can be created via the Registry::from_builtin_families function. To add a target at runtime, use Registry::add_target_family. The target family is a ChipFamily struct, usually read from a target description YAML file.

Structs§

Chip
A single chip variant.
ChipFamily
This describes a chip family with all its variants.
Core
An individual core inside a chip
FlashProperties
Properties of flash memory, which are used when programming Flash memory.
GenericRegion
Represents a generic region.
MemoryAccess
Represents access permissions of a region in RAM.
NvmRegion
Represents a region in non-volatile memory (e.g. flash or EEPROM).
PageInfo
Holds information about a page in flash.
RamRegion
Represents a region in RAM.
RawFlashAlgorithm
The raw flash algorithm is the description of a flash algorithm, and is usually read from a target description file.
Registry
Registry of all available targets.
ScanChainElement
Represents a DAP scan chain element.
SectorDescription
Information about a group of flash sectors, which is used as part of the FlashProperties struct.
SectorInfo
Holds information about a specific, individual flash sector.
Target
This describes a complete target with a fixed chip model and variant.

Enums§

CoreType
Type of a supported core.
DebugSequence
This is the type to denote a general debug sequence. It can differentiate between ARM and RISC-V for now.
Endian
The current endianness of a core
InstructionSet
Instruction set used by a core
MemoryRegion
Declares the type of a memory region.
RegistryError
Error type for all errors which occur when working with the internal registry of targets.
TargetDescriptionSource
Source of a target description.
TargetSelector
Selector for the debug target.

Traits§

MemoryRange
Enables the user to do range intersection testing.