Adding environment setup and instructions

This commit is contained in:
Brent Perteet
2025-07-22 14:04:27 -05:00
parent 311981ceb4
commit dc2885e02e
23 changed files with 3741 additions and 114 deletions

60
flash_tool/flash.py Normal file
View File

@@ -0,0 +1,60 @@
import json
import subprocess
import sys
from pathlib import Path
def main():
root = Path(__file__).resolve().parent.parent
config_file = root / "settings.json"
if not config_file.exists():
print(f"[ERROR] settings.json not found at {config_file}")
sys.exit(1)
with open(config_file) as f:
cfg = json.load(f)
project = cfg["project_name"]
chip = cfg.get("chip", "esp32")
port = cfg.get("port", "COM3")
baud = cfg.get("flash_baud", 460800)
flash_mode = cfg.get("flash_mode", "dio")
flash_freq = cfg.get("flash_freq", "40m")
flash_size = cfg.get("flash_size", "4MB")
before = cfg.get("before", "default_reset")
after = cfg.get("after", "hard_reset")
# Define binaries and offsets
bootloader = root / "build" / "bootloader" / "bootloader.bin"
firmware = root / "build" / f"{project}.bin"
partition = root / "build" / "partition_table" / "partition-table.bin"
# Verify binaries exist
for f in [bootloader, firmware, partition]:
if not f.exists():
print(f"[ERROR] File not found: {f}")
sys.exit(1)
# Build esptool command
cmd = [
sys.executable, "-m", "esptool",
"--chip", chip,
"--port", port,
"--baud", str(baud),
"--before", before,
"--after", after,
"write-flash", # ✅ hyphenated command
"--flash-mode", flash_mode, # ✅ hyphenated flags
"--flash-freq", flash_freq,
"--flash-size", flash_size,
"0x0", str(bootloader),
"0x10000", str(firmware),
"0x8000", str(partition)
]
print(f"[Flashing] Running: {' '.join(cmd)}")
subprocess.run(cmd, check=True)
if __name__ == "__main__":
main()