tab5: psram mode + partition table fixes#348
Conversation
The Tab5 uses octal PSRAM (8 data lines at 200MHz). Without explicit psram_mode in the board JSON, Arduino-ESP32 defaults to quad mode, causing a crash on first PSRAM access (black screen on boot). Factory firmware works because it's configured correctly via ESP-IDF sdkconfig. Tested: builds and boots successfully on Tab5 hardware.
|
hey yo deadass I don't know what any of this means btw but it works now |
|
Partition table OTA slots are dynamically created when you install a firmware.. adding an OTA and other partition slot there will reduce the usable area, limiting the number of firmware and breaking compatibility with micropython based firmware (UIFlow2 and others) |
The biggest question is: why it works without it on my Tab5 |
I suspect 2nd rev or a/b revs on screen only edit: please take what I'm saying with a grain of salt I probably shouldn't be allowed to even have a github acc |
I was having trouble getting my Tab5 to boot Launcher and install firmware, here's what I found helpful and working for me.
Two changes:
psram_mode: oct — Without this the Tab5 black-screens on boot. The Tab5 uses octal PSRAM but the default for ESP32-P4 is quad. Factory firmware and xiaozhi have this set right but the launcher board JSON was missing it.
Partition table — The existing one only had a factory app partition. The launcher needs OTA slots to install firmware to (isOtaApp() check in partition_table_model.cpp). I added ota_0 (4MB) and an assets partition at the label xiaozhi expects, since that's what a lot of Tab5 firmware looks for.
Built and tested on my Tab5 — launcher boots, touch works, firmware installs and launches. The mac emulator runs great through it.
Happy to adjust anything that doesn't fit how you want it set up.