Skip to content

tab5: psram mode + partition table fixes#348

Open
DJML4C wants to merge 2 commits into
bmorcelli:mainfrom
DJML4C:tab5-fixes
Open

tab5: psram mode + partition table fixes#348
DJML4C wants to merge 2 commits into
bmorcelli:mainfrom
DJML4C:tab5-fixes

Conversation

@DJML4C

@DJML4C DJML4C commented Jun 20, 2026

Copy link
Copy Markdown

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.

DJML4C added 2 commits June 20, 2026 21:42
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.
@DJML4C

DJML4C commented Jun 20, 2026

Copy link
Copy Markdown
Author

hey yo deadass I don't know what any of this means btw but it works now

@bmorcelli

Copy link
Copy Markdown
Owner

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)

@bmorcelli

Copy link
Copy Markdown
Owner

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.

The biggest question is: why it works without it on my Tab5

@DJML4C

DJML4C commented Jun 21, 2026

Copy link
Copy Markdown
Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants