diff --git a/.gitmodules b/.gitmodules index 45d0761cbcfd95d13a5b38eff55b1d98c0343c5b..addcfba79bf1dd0b44426a7b7055df5b2a60513d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,4 @@ [submodule "mdk"] path = mdk - url = https://github.com/cpq/mdk + url = https://git.imp.fu-berlin.de/projekt-telematik-ss23-qemu/mdk + branch = emulator-hack diff --git a/Makefile b/Makefile index 9ca0abde62d6170d147ac9689f2fbb4c09e06c24..b4c75015a18dbcb941fc3767f1214fd156c5aa72 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,7 @@ SOURCES = src/nothing.c # Comment this line out if you prefer building in docker TOOLCHAIN = riscv32-unknown-elf -EXTRA_CFLAGS ?= +EXTRA_CFLAGS ?= -Og -g EXTRA_LINKFLAGS ?= include mdk/esp32c3/build.mk diff --git a/README.md b/README.md index ba6e9b40ef9f4cf40d56c3c7bdc67e5fc1aab2eb..279a55e8c52918c15848d3e101bf8b0645196816 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,7 @@ This repository contains small demo programs for the ESP32-C3, used to validate They're built against [mdk](https://github.com/cpq/mdk), as this allows finer control over what hardware features exactly are required, enabling gradual emulator development. +We have patched the SDK slightly. Our fork is [here](https://git.imp.fu-berlin.de/projekt-telematik-ss23-qemu/mdk). ## Getting started diff --git a/mdk b/mdk index e2c1d4e4bd9b152dfa32b48a7c0ae5f5a8b8276d..f197453a15a3130ca62b8ccbb6af65a78942d9e5 160000 --- a/mdk +++ b/mdk @@ -1 +1 @@ -Subproject commit e2c1d4e4bd9b152dfa32b48a7c0ae5f5a8b8276d +Subproject commit f197453a15a3130ca62b8ccbb6af65a78942d9e5 diff --git a/src/nothing.c b/src/nothing.c index 55e0a40e6bece95ba897801b475d87868d2a7982..226a2a3d4acb141ddbbed4a88051dc47b23dca33 100644 --- a/src/nothing.c +++ b/src/nothing.c @@ -1,13 +1,10 @@ -/* -This sample program is simply meant to prove that code is executed. -Asides from MDK's init functions, nothing is done. -*/ - #include <mdk.h> int main(void) { - for (;;) { - } + for (;;) { + // So compiler doesn't optimize out the loop + __asm__ volatile("nop"); + } - return 0; -} \ No newline at end of file + return 0; +}