xous-core/apps/app-loader/spawn
2026-01-29 19:12:00 +08:00
..
src inconsistencies in cargo fmt 2024-01-15 00:59:23 +08:00
build.rs inconsistencies in cargo fmt 2024-01-15 00:59:23 +08:00
Cargo.toml bump utralib version for publication 2026-01-29 19:12:00 +08:00
link.x Turn app-loader into an app instead of a service 2023-08-01 22:16:40 -04:00
README.md Change `spawn' README 2023-08-26 21:58:16 -04:00

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