Expand description
Synth Backend - Code generation and binary emission
Generic scaffolding (ELF builder, linker scripts, memory layout) is always
available. ARM-specific modules are behind the arm-cortex-m feature.
Re-exports§
pub use elf_builder::ArmRelocationType;pub use elf_builder::EF_ARM_ABI_FLOAT_HARD;pub use elf_builder::EF_ARM_ABI_FLOAT_SOFT;pub use elf_builder::EF_ARM_EABI_VER5;pub use elf_builder::ElfBuilder;pub use elf_builder::ElfClass;pub use elf_builder::ElfData;pub use elf_builder::ElfMachine;pub use elf_builder::ElfType;pub use elf_builder::ProgramFlags;pub use elf_builder::ProgramHeader;pub use elf_builder::ProgramType;pub use elf_builder::Relocation;pub use elf_builder::Section;pub use elf_builder::SectionFlags;pub use elf_builder::SectionType as ElfSectionType;pub use elf_builder::Symbol;pub use elf_builder::SymbolType;pub use elf_builder::aeabi;pub use elf_builder::arm_attributes_section;pub use linker_script::LinkerScriptGenerator;pub use linker_script::MemoryRegion;pub use memory_layout::MemoryLayout;pub use memory_layout::MemoryLayoutAnalyzer;pub use memory_layout::MemorySection;pub use memory_layout::SectionType;pub use mpu::MPUAttributes;pub use mpu::MPUPermissions;pub use mpu::MPURegion;pub use mpu::MPUSize;pub use mpu_allocator::MPUAllocationRequest;pub use mpu_allocator::MPUAllocator;pub use w2c2_wrapper::TranspileOptions;pub use w2c2_wrapper::TranspileResult;pub use w2c2_wrapper::W2C2Backend;pub use w2c2_wrapper::W2C2Transpiler;pub use arm_backend::ArmBackend;pub use arm_encoder::ArmEncoder;pub use arm_startup::ARMStartupGenerator;pub use reset_handler::ResetHandlerGenerator;pub use vector_table::VectorEntry;pub use vector_table::VectorTable;
Modules§
- arm_
backend - ARM Backend — wraps the instruction selector + optimizer + encoder as a Backend
- arm_
encoder - ARM Code Encoder - Converts ARM instructions to binary machine code
- arm_
startup - ARM Cortex-M Startup Code Generation
- cortex_
m - Cortex-M specific code generation
- elf_
builder - ELF (Executable and Linkable Format) Builder for ARM
- linker_
script - Linker Script Generator for ARM Cortex-M
- memory_
layout - Memory Layout Analyzer
- mpu
- ARM Cortex-M Memory Protection Unit (MPU) Support
- mpu_
allocator - MPU Region Allocator
- reset_
handler - Reset Handler Code Generation
- vector_
table - ARM Cortex-M Vector Table Generation
- w2c2_
wrapper - w2c2 WebAssembly-to-C Transpiler Wrapper
- wcet
- #778 (v0.46 Wave-1 Lane 2) — sound static WCET-bound computation over the final Thumb-2 instruction stream.
- wcet_
compose - #778 phase 3 — inter-procedural WCET composition over the DIRECT call graph.
Enums§
- Symbol
Binding - Symbol binding — the container-independent enum from
synth_core, shared with the aarch64 object plan since #1180 (one definition of LOCAL/GLOBAL, onelocals_firstrule). Re-exported so everysynth_backend::elf_builder::SymbolBindingpath keeps working unchanged. Symbol BINDING — whether a symbol takes part in cross-object resolution (#656 ARM, #1180 / RQ-65-FUNCN aarch64).