Skip to content

Split backend crate into logical components #11

@avrabe

Description

@avrabe

Goal

Split synth-backend (3,800 lines) into focused crates.

Proposed Structure

  1. synth-codegen: ARM instruction encoding

    • arm_encoder.rs
    • Instruction-level operations
  2. synth-binary: Binary emission

    • elf_builder.rs
    • linker_script.rs
    • Binary file generation
  3. synth-target: Target-specific features

    • vector_table.rs
    • reset_handler.rs
    • mpu.rs, arm_startup.rs
    • Memory Protection Unit

Tasks

  • Create three new crates
  • Split backend code appropriately
  • Update inter-crate dependencies
  • Migrate tests
  • Update documentation

Acceptance Criteria

  • ✅ Three separate crates with clear boundaries
  • ✅ All tests pass
  • ✅ Cleaner compilation pipeline

Dependencies

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions