@@ -11,6 +11,7 @@ mkdir -p $PACKAGE_DIR
1111cp ./bootloader-${BOARD} .bin $PACKAGE_DIR /
1212cp ./partition-table-${BOARD} .bin $PACKAGE_DIR /
1313cp ./opentyrian.bin $PACKAGE_DIR /
14+ cp ./storage.bin $PACKAGE_DIR /
1415
1516# Create flash scripts with board-specific flags
1617ESPFLASH_FLAGS=" "
2122cat << EOF > $PACKAGE_DIR /flash.sh
2223#!/bin/bash
2324echo "Flashing OpenTyrian for ${BOARD} ..."
24- espflash write-bin ${ESPFLASH_FLAGS} 0x0 bootloader-${BOARD} .bin 0x8000 partition-table-${BOARD} .bin 0x10000 opentyrian.bin
25+ echo "Flashing bootloader..."
26+ espflash write-bin ${ESPFLASH_FLAGS} 0x0 bootloader-${BOARD} .bin
27+ echo "Flashing partition table..."
28+ espflash write-bin ${ESPFLASH_FLAGS} 0x8000 partition-table-${BOARD} .bin
29+ echo "Flashing application..."
30+ espflash write-bin ${ESPFLASH_FLAGS} 0x10000 opentyrian.bin
31+ echo "Flashing storage data..."
32+ espflash write-bin ${ESPFLASH_FLAGS} 0x310000 storage.bin
33+ echo "Done!"
2534EOF
2635chmod +x $PACKAGE_DIR /flash.sh
2736
2837cat << EOF > $PACKAGE_DIR /flash.bat
2938@echo off
3039echo Flashing OpenTyrian for ${BOARD} ...
31- espflash write-bin ${ESPFLASH_FLAGS} 0x0 bootloader-${BOARD} .bin 0x8000 partition-table-${BOARD} .bin 0x10000 opentyrian.bin
40+ echo Flashing bootloader...
41+ espflash write-bin ${ESPFLASH_FLAGS} 0x0 bootloader-${BOARD} .bin
42+ echo Flashing partition table...
43+ espflash write-bin ${ESPFLASH_FLAGS} 0x8000 partition-table-${BOARD} .bin
44+ echo Flashing application...
45+ espflash write-bin ${ESPFLASH_FLAGS} 0x10000 opentyrian.bin
46+ echo Flashing storage data...
47+ espflash write-bin ${ESPFLASH_FLAGS} 0x310000 storage.bin
48+ echo Done!
3249EOF
3350
3451cat << EOF > $PACKAGE_DIR /flash.ps1
3552Write-Host "Flashing OpenTyrian for ${BOARD} ..."
36- espflash write-bin ${ESPFLASH_FLAGS} 0x0 bootloader-${BOARD} .bin 0x8000 partition-table-${BOARD} .bin 0x10000 opentyrian.bin
53+ Write-Host "Flashing bootloader..."
54+ espflash write-bin ${ESPFLASH_FLAGS} 0x0 bootloader-${BOARD} .bin
55+ Write-Host "Flashing partition table..."
56+ espflash write-bin ${ESPFLASH_FLAGS} 0x8000 partition-table-${BOARD} .bin
57+ Write-Host "Flashing application..."
58+ espflash write-bin ${ESPFLASH_FLAGS} 0x10000 opentyrian.bin
59+ Write-Host "Flashing storage data..."
60+ espflash write-bin ${ESPFLASH_FLAGS} 0x310000 storage.bin
61+ Write-Host "Done!"
3762EOF
3863
3964# Create comprehensive TOML manifest
@@ -75,6 +100,13 @@ offset = "0x10000"
75100required = true
76101description = "Main OpenTyrian application binary"
77102
103+ [[flash_components]]
104+ name = "storage"
105+ file = "storage.bin"
106+ offset = "0x310000"
107+ required = true
108+ description = "Game assets and data storage (LittleFS)"
109+
78110# Flash settings
79111[flash_settings]
80112mode = "dio" # Flash mode (dio/qio/dout/qout)
@@ -83,13 +115,19 @@ size = "detect" # Flash size (detect automatically)
83115
84116# Tool configurations
85117[tools.espflash]
86- command = "espflash write-bin ${ESPFLASH_FLAGS} 0x0 {bootloader} 0x8000 {partition_table} 0x10000 {application}"
87118flags = "${ESPFLASH_FLAGS} "
88119
120+ [tools.espflash.commands]
121+ bootloader = "espflash write-bin ${ESPFLASH_FLAGS} 0x0 bootloader-${BOARD} .bin"
122+ partition_table = "espflash write-bin ${ESPFLASH_FLAGS} 0x8000 partition-table-${BOARD} .bin"
123+ application = "espflash write-bin ${ESPFLASH_FLAGS} 0x10000 opentyrian.bin"
124+ storage = "espflash write-bin ${ESPFLASH_FLAGS} 0x310000 storage.bin"
125+
89126[tools.espflash.components]
90127bootloader = "bootloader-${BOARD} .bin"
91128partition_table = "partition-table-${BOARD} .bin"
92129application = "opentyrian.bin"
130+ storage = "storage.bin"
93131
94132[tools.esptool]
95133erase_command = "esptool.py --chip auto erase_flash"
0 commit comments