hrasityilmaz/TamgaOs: Experimental BareMetal RTOS written in Zig and C and Arm Assembly - hrasityilmaz/TamgaOs

github.com · 2026-06-29 · by Long Nguyen ·github
Experimental BareMetal RTOS written in Zig and C and Arm Assembly - hrasityilmaz/TamgaOs

hrasityilmaz/TamgaOs

Experimental BareMetal RTOS written in Zig and C and Arm Assembly - hrasityilmaz/TamgaOs

2 stars · 0 forks · 0 watchers · C Topics: c, arm, kernel, zig, osdev, cortex-m4, cortex-m7, devlog, devlogs, osdevel

README

TamgaOS Bare-metal RTOS written in C and ARM assembly for the NXP K64F (Cortex-M4). Started as a learning project — bootloaders, memory layouts, context switching, executable formats. Later will add zig port

ARM port — K64F (Cortex-M4) Currently active. All kernel work targets the NXP K64F board. Zig port planned for later. Boot

Startup file Linker script (linker.ld) MCG clock init

Kernel

Preemptive scheduler PendSV context switch PSP per-task isolation

Sync

Mutex (LDREX/STREX) Semaphore Critical section (cpsid/cpsie)

Drivers

SysTick UART PIT timer

Still improving — development notes at https://auctra.app x86 port — Zig & C kernel Experimental dual implementation for comparing low-level Zig vs C. Boots via Limine with a Multiboot2 header. Implemented

GDT setup Serial monitor ISO via xorriso Zig + C comparison

Boot output Zig -> TamgaOS KERNEL OK C -> TamgaOS _C_ GDT OK _C_ Kernel OK _C_

Build ARM — K64F make clean make make flash x86 — Zig zig build -Doptimize=ReleaseFast .\mkiso.ps1 qemu-system-i386 -cdrom .\TamgaOS.iso -boot d -serial stdio x86 — C .\mkiso_c.ps1 qemu-system-i386 -cdrom .\TamgaOS_C.iso -boot d -serial stdio Allredy x86 part will not continue active development will be on ARM part !

Not a production OS. Development log: https://auctra.app

source

github.com · 2 images · 113 links

Comments (0)

No comments yet