Skip to content

Commit c870978

Browse files
committed
ci: add data partition
1 parent 97050e3 commit c870978

2 files changed

Lines changed: 43 additions & 4 deletions

File tree

.github/workflows/build.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ jobs:
6262
cp bootloader/bootloader.bin ../bootloader-${{ matrix.board }}.bin
6363
cp partition_table/partition-table.bin ../partition-table-${{ matrix.board }}.bin
6464
cp esp32-open-tyrian.bin ../opentyrian.bin
65+
cp storage.bin ../storage.bin
6566
cd ..
6667
6768
- name: Create package

package.sh

Lines changed: 42 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ mkdir -p $PACKAGE_DIR
1111
cp ./bootloader-${BOARD}.bin $PACKAGE_DIR/
1212
cp ./partition-table-${BOARD}.bin $PACKAGE_DIR/
1313
cp ./opentyrian.bin $PACKAGE_DIR/
14+
cp ./storage.bin $PACKAGE_DIR/
1415

1516
# Create flash scripts with board-specific flags
1617
ESPFLASH_FLAGS=""
@@ -21,19 +22,43 @@ fi
2122
cat << EOF > $PACKAGE_DIR/flash.sh
2223
#!/bin/bash
2324
echo "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!"
2534
EOF
2635
chmod +x $PACKAGE_DIR/flash.sh
2736

2837
cat << EOF > $PACKAGE_DIR/flash.bat
2938
@echo off
3039
echo 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!
3249
EOF
3350

3451
cat << EOF > $PACKAGE_DIR/flash.ps1
3552
Write-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!"
3762
EOF
3863

3964
# Create comprehensive TOML manifest
@@ -75,6 +100,13 @@ offset = "0x10000"
75100
required = true
76101
description = "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]
80112
mode = "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}"
87118
flags = "${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]
90127
bootloader = "bootloader-${BOARD}.bin"
91128
partition_table = "partition-table-${BOARD}.bin"
92129
application = "opentyrian.bin"
130+
storage = "storage.bin"
93131
94132
[tools.esptool]
95133
erase_command = "esptool.py --chip auto erase_flash"

0 commit comments

Comments
 (0)