mirror of
https://github.com/saymrwulf/xous-core.git
synced 2026-11-04 04:27:34 +00:00
24 lines
1.2 KiB
Markdown
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
|
|
```
|