xous-core/apps/app-loader/spawn/README.md
2023-08-26 21:58:16 -04:00

24 lines
1.2 KiB
Markdown

# Spawn a process & Read an ELF File
This crate is based on the one in services/test_spawn. The main
difference is that this one has the ability to read, load, and
execute an ELF file through the opcode `LoadElf`.
## API
The following messages are supported:
| Mnemonic | Opcode | Type | Description |
|--------------|--------|------|----------------------------------------------------------------------------------------------------------|
| LoadElf | 1 | M | Reads and loads an ELF file sent as a MemoryMessage. `Offset` is used to determine where the file starts |
| PingResponse | 2 | S | Returns the scalar sent except that arg1 += 1 |
## A Note on Building
In case you need to recompile this program for use in `app-loader`,
use the following commands:
```
$ cargo build --package spawn --target riscv32imac-unknown-xous-elf --release
$ cargo run --package tools --bin copy-object target/riscv32imac-unknown-xous-elf/release/spawn
$ cp target/riscv32imac-unknown-xous-elf/release/spawn.bin apps/app-loader/src
```