1pub mod elf_builder;
8pub mod linker_script;
9pub mod memory_layout;
10pub mod mpu;
11pub mod mpu_allocator;
12pub mod w2c2_wrapper;
13
14pub use elf_builder::{
15 ArmRelocationType, EF_ARM_ABI_FLOAT_HARD, EF_ARM_ABI_FLOAT_SOFT, EF_ARM_EABI_VER5, ElfBuilder,
16 ElfClass, ElfData, ElfMachine, ElfType, ProgramFlags, ProgramHeader, ProgramType, Relocation,
17 Section, SectionFlags, SectionType as ElfSectionType, Symbol, SymbolBinding, SymbolType, aeabi,
18 arm_attributes_section,
19};
20pub use linker_script::{LinkerScriptGenerator, MemoryRegion};
21pub use memory_layout::{MemoryLayout, MemoryLayoutAnalyzer, MemorySection, SectionType};
22pub use mpu::{MPUAttributes, MPUPermissions, MPURegion, MPUSize};
23pub use mpu_allocator::{MPUAllocationRequest, MPUAllocator};
24pub use w2c2_wrapper::{TranspileOptions, TranspileResult, W2C2Backend, W2C2Transpiler};
25
26#[cfg(feature = "arm-cortex-m")]
28pub mod arm_backend;
29#[cfg(feature = "arm-cortex-m")]
30pub mod arm_encoder;
31
32#[cfg(feature = "arm-cortex-m")]
33pub mod arm_startup;
34#[cfg(feature = "arm-cortex-m")]
35pub mod cortex_m;
36#[cfg(feature = "arm-cortex-m")]
37pub mod reset_handler;
38#[cfg(feature = "arm-cortex-m")]
39pub mod vector_table;
40pub mod wcet;
41pub mod wcet_compose;
42mod wcet_loops;
43mod wcet_recursion;
44
45#[cfg(feature = "arm-cortex-m")]
46pub use arm_backend::ArmBackend;
47#[cfg(feature = "arm-cortex-m")]
48pub use arm_encoder::ArmEncoder;
49#[cfg(feature = "arm-cortex-m")]
50pub use arm_startup::ARMStartupGenerator;
51#[cfg(feature = "arm-cortex-m")]
52pub use reset_handler::ResetHandlerGenerator;
53#[cfg(feature = "arm-cortex-m")]
54pub use vector_table::{VectorEntry, VectorTable};