Nimbin[12]?Embedded / snake_compiler

snake_compiler git · main

Snake compiled to a bare-metal RISC-V microcontroller

riscv embedded bare-metal c snake · first commit 2026-01-18 · last commit 2026-01-18 (8 months ago) · synced 3 days ago · upstream: git.ide3.de/hsnr/compilerbau/snake_compiler

C 95.2% Markdown 3.3%
git clone https://git.christianimmanuel.de/embedded/snake_compiler.gitwget https://git.christianimmanuel.de/embedded/snake_compiler/archive/snake_compiler.tar.gz
0f82526initChristian Immanuel · 8 months ago
dsnake_ascii_editor/
dsnake_SDL/
-process.png40.8 KB
-README.md2 KB

README.md

Guteseele Anhang

In diesem Repo stehen zwei Projekte zu Verfügung:

  • snake\_SDL
  • snake\_ascii\_editor

snake\_SDL

process.png Process

Spiele Snake auf deinem X86 System um ein anderes Snake für RISK5 zu konfigurieren und dieses direkt zu flashen.

Ordner

editor

Dies stellt den SDL Snake-Editor bereit welcher nach beenden des Spileles das folgende ausführt um Snake für den ESP zu kompilieren und flashen (siehe main.c)

make -C ../src/ clean &&
make -C ../src/ build
EXTRA_CFLAGS='-DWALL_COLLISION=%d -DSNAKE_START_LENGTH=%d -DMAX_BRIGHTNESS=%d -DSNAKE_COLOR_R=%d -DSNAKE_COLOR_G=%d -DSNAKE_COLOR_B=%d' &&
make -C ../src/ flash

src

Dies stellt ein funktionsfähiges Snake für den ESP32 und die "mdk-Baremetal" Variante dar. Dieses wird vom Editor genutzt um es zu konfigurieren. Es kann allerdings auch ohne diesen genutzt werden indem (nach bereitstellen der mdk variablen) das folgende ausgeführt wird:

make clean &&
make build &&
make flash

Funktionalität

Der Ordner editor stellt den Quellcode für das Programm bereit. Dieses Programm erstell eine Abwandlung des Snake Spiels dar welches das endgültigen Snake spiel für den ESP konfiguriert. Sollte die Snake im Editor in eine wand oder in sich selbts laufen beendet das Programm und startet den RISK-compile und ESP-Flash-Vorgang um das zuvor konfigurierte Snake auf den ESP zu flashen.

Abhängigkeiten

  • SDL3 muss installiert sein sodass die LDFLAG --libs sdl3 funktionabel ist
  • mdk Umgebungsvariablen

Benutzung

  1. Verbinde den ESP mit deinem Rechner
  2. erstelle die MDK Umgebungsvariablen (siehe mdk)
  3. cd editor
  4. make
  5. ./sdl3_move

snake\_ascii\_editor

Hier kann über den Terminal eine Abwandlung von Snake gespielt werden, welche zum schreiben von c-Code genutzt werden kann. Die Idee war dieses Programm so zu scripten dass es Snake für den ESP programmiert.