Skip to content

Improve the porting guide page #85

@arnopo

Description

@arnopo

Improve the page: https://openamp.readthedocs.io/en/latest/docs/porting_guide.html

  1. List the hardware needed (shared memory, mailbox)

Clearly enumerate the essential hardware components:

  • Shared Memory:

    • Explain its role or reference page that explans it (used for inter-processor communication).
    • Specify typical requirements (address range, size, access permissions).
    • Provide code examples based on baremetal interface (e.g., SRAM, DDR, or dedicated memory region).
  • Mailbox/Interrupt Mechanism:

    • Describe its role (used for signaling between processors).
    • List common implementations (hardware mailbox, software interrupt, etc.).
  1. List the porting options:
  • For each porting option, provide:

    • Description
    • Typical use case
    • Pros/cons
    • cmake configuration
    • link to code example when possible
  • Driver with remoteproc device loading

    • Description: Uses remoteproc framework to load and manage remote processor firmware.
    • Use case: Custom or bare-metal environments, when the firmware needs to supports remoteproc.
    • Pros: remote firmware management.
    • Cons: increase footprint.
  • Drivers role with RPMsg only

    • Description: Implements only RPMsg communication, without remoteproc.
    • Use case: When remote firmware loading is handled externally.
    • Pros: Lightweight.
    • Cons: no remote firmware management.
  • Device role with RPMsg Device

    • Description: Minimal port, only device-level integration.
    • Use case: Custom or bare-metal environments.
    • list associated cmake configuration
  • Resource table usage

    • Description:
      Explains how to use and format resource tables for device and driver role.
      Explain need for Linux compatibility.
      Explain how to implement RPMSg without it (see Zephyr example)
    • Use case: Required for remoteproc and RPMsg integration with Linux, else optional
  1. provide more information on the metal initialization part

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions