mirror of
https://github.com/AmbiML/sparrow-kata-full.git
synced 2025-07-15 06:51:49 +00:00
This change adds an "rz" command to the shell that calls a function rz(). It switches the IO from the shell to a ZMODEM receiver that produces a Rust upload object that collects the uploaded bytes and computes a CRC32 checksum on the fly. In a later change, we will retain the most recent payload in a shell-owned object until it is consumed by an "install" command. Limitations: * Sender hangup will cause the receiver to block forever and the prompt not to come back, since kata-uart-client does reads that block forever. * Logging must be set to a level higher than debug or messages from the zmodem crate itself corrupt the transfer. * The sender must rate limit to ~150 bytes/sec to avoid running too far ahead of the Renode UART, which drops bytes when the RX FIFO is full. * Uploading too big a payload will cause a kata_panic! unless the heap size is increased in kata-debug-console/src/run.rs Demo: KATA> loglevel error ERROR KATA> rz **B0100000023be50 [Ctrl-C] $ sz -O ~/random < /tmp/term | pv -L 150 > /tmp/term Sending: random Bytes Sent: 15360/ 16384 BPS:26805 ETA 00:00 150 B 0:00:01 [ 146 B/s] [ <=> Bytes Sent: 16384 BPS:144 ] Transfer complete 16.6KiB 0:01:53 [ 149 B/s] [ <=> ] $ stty sane -echo -icanon; socat - /tmp/term 2> /dev/null; stty sane; size: 16384, crc32: 991b1d60 KATA> [Ctrl-C] $ crc32 ~/random 991b1d60 Change-Id: I53252b821a829a667a23a9fd072f71c6955fdc1a GitOrigin-RevId: c818a35f186dcd8c083891bfaa84ad0a9f9fef7d |
||
---|---|---|
apps/system | ||
src | ||
.gitignore | ||
CMakeLists.txt | ||
easy-settings.cmake | ||
README.md | ||
settings.cmake |
Kata OS
This is a CAmkES project that assembles the entire Kata OS. It exists outside the seL4 source trees, since it contains code not intended to go to upstream seL4.
This uses the standard CAmkES build system by symlinking CMakeLists.txt. It also symlinks settings.cmake, and so retains the notion of "apps," which enables the build system to switch which assembly it builds using the CAMKES_APP CMake cache value. Kata OS just has one app, system.