Replies: 1 comment
-
Take a look at this related work for 8266, possibly have some good learning #12429 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
I want to halt all threads on all cores, suspend all interrupts, and shuffle memory in and out of flash directly using hardware SPI, in machine language (not C), without using any ESP-IDF function calls. (long story: new kind of firmware update feature, with source file location in littlefs or fat32 files on spiram or microsd.)
The flash routines in ESP-IDF are supplied via "library.a" binary pre-compiled images (no source code, grrr) and I'm waiting on debug hardware in the (possibly vain?) hope that I can "Step through" the debugger to reveal the way this is normally done... but in the meantime:
Has anyone here experimented with low-level programming on ESP32? Are there critical things that are going to lock up the MCU when all interrupts are blocked? or ideally - does anyone have any Xtensa example code showing:
I already know how to use SD cards in hardware, so I only need help to write flash from ram for those sources.
Context...
I'm working on a new kind of firmware flash utility which does away with the need for an OTA partition (runs from the filesystem - it's complicated code because in the pre-flash prep section, it works out how to reconstruct the firmware file for flashing later, without later using any python or IDF functions [properly handling noncontiguous sectors and littlefs metadata skipping]. This too has a 2 small downsides (a failed flash may not be able to auto-revert back to the working one, and you need to clear enough space off the littlefs or fat32sd filesystem to store (probably gzipped) the new firmware binary...)... but for most projects - temporarily removing "big files" before flashing, then restoring them from the internet afterwards is pretty simple.
I'm pretty sure most would agree that being able to OTA re-flash any ESP32 in future would be a nice-to-have feature available, even if you did have to make the space available on the FS or SD card to do it.
Beta Was this translation helpful? Give feedback.
All reactions