For the mini-Cortex I have the IDE emulation working - it can now load the 2nd stage boot loader from disk and that stage can load the kernel from disk. Haven't done the MMU yet, so there is where it currently stops. @emard In your OSD code you have this:
self.irq_handler(0) self.irq_handler_ref = self.irq_handler # allocation happens here self.spi_request = Pin(0, Pin.IN, Pin.PULL_UP) self.spi_request.irq(trigger=Pin.IRQ_FALLING, handler=self.irq_handler_ref)
Why is that necessary? It (Pin.irq) seems to work for me with just giving the function name as handler.
@pnru_gitlab SD card 4-bit additional: one card didnt wanted to work, I have explicitely set ESP32 CPU to run at 240MHz instead 160MHz default and now this SD card mounts well also in 4-bit mode
Is there any downside to running at 240MHz (other than power)? Do some things break at that speed? If not, would it not make sense to always run at 240MHz??
I've now cleaned up the source and posted the repo for the Mini Cortex project. It is located here: https://gitlab.com/pnru/cortex
Let me know if it works on other boards too.
If there is an emerging standard for how to organize projects on the SD card let me know, and I'll try to conform.
datecommand for current time).
@emard Unix reads the the disk timestamp on startup. Whenever the disk is synced the disk timestamp is updated with the current system time. This way, time will not normally go backwards for file time stamps. In the late 70's your PDP-11 might crash once a day due to some hardware glitch - doing time this way was a useful feature to have. It also reminds me that I need to configure a daemon to sync the disk every 5 seconds; on my research setup I don't have that.
If the ESP32 is the time reference, why bother with the RTC chip (other than technical challenge)? The ESP32 might as well drive the emulated 99xx RTC chip directly.