-
Notifications
You must be signed in to change notification settings - Fork 0
License
rwardd/zip
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
zip rtos === Assumes `qemu-system-riscv32` is installed on the host machine To start: `$ zig build run` To start qemu in debug mode (will spawn gdb server and wait for remote connection): `$ zig build run -Ddebug` No dependencies, not even the zig std library (apart from the build process of course). Basic scheduler working: - Pathetic RR scheduling - Tasks have to yield themselves (coop multitasking) - Functions on risc-v 32 virt qemu, arm cortex m0 in progress: - Getting to boot on RP2040 (RPI Pico) - Once running on RPI hardware, will implement proper scheduling, IPC, maybe some basic TLS. - Want to get some basic protocol drivers up and running for displays/sensors etc. Next up: - start writing some tests (urgent) - Put thread stacks in own linker section Notes: Start with microkernel. Implement barebones for basic scheduling and i/o. Get it running on softcore rv32. Maybe will move to monolithic design. Statically allocate tasks for now todo: - Create basic kernel memory allocator - just use static pool for now - allocate tcb in pool upon task creation - store sp/pc todo: everything - thread creation - just do compile time for now - thread memory - tls - thread memory arenas? - thread scheduler - most threads should run in ring 0? No syscalls? instead implement a check before calling syscall fns - timers - hardware - softare - atomics - serial logger - mempool/arena/slab? - ipc - message queue - semaphore - mutex - queue
About
No description, website, or topics provided.
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published