Replace shell scripts with makefile
This commit is contained in:
parent
e2f9affae5
commit
fde7246ec2
10 changed files with 41 additions and 138 deletions
41
Makefile
Normal file
41
Makefile
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
PORT ?= /dev/ttyACM0
|
||||||
|
BUILDDIR ?= build
|
||||||
|
IDF_PATH ?= $(shell pwd)/esp-idf
|
||||||
|
IDF_EXPORT_QUIET ?= 0
|
||||||
|
SHELL := /usr/bin/env bash
|
||||||
|
|
||||||
|
.PHONY: prepare clean build flash erase monitor menuconfig image qemu install
|
||||||
|
|
||||||
|
prepare:
|
||||||
|
git submodule update --init --recursive
|
||||||
|
cd esp-idf; bash install.sh
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -rf $(BUILDDIR)
|
||||||
|
|
||||||
|
build:
|
||||||
|
source $(IDF_PATH)/export.sh && idf.py build
|
||||||
|
|
||||||
|
flash: build
|
||||||
|
source $(IDF_PATH)/export.sh && idf.py flash -p $(PORT)
|
||||||
|
|
||||||
|
erase:
|
||||||
|
source $(IDF_PATH)/export.sh && idf.py erase-flash -p $(PORT)
|
||||||
|
|
||||||
|
monitor:
|
||||||
|
source $(IDF_PATH)/export.sh && idf.py monitor -p $(PORT)
|
||||||
|
|
||||||
|
menuconfig:
|
||||||
|
source $(IDF_PATH)/export.sh && idf.py menuconfig
|
||||||
|
|
||||||
|
image:
|
||||||
|
cd $(BUILDDIR); dd if=/dev/zero bs=1M count=16 of=flash.bin
|
||||||
|
cd $(BUILDDIR); dd if=bootloader/bootloader.bin bs=1 seek=4096 of=flash.bin conv=notrunc
|
||||||
|
cd $(BUILDDIR); dd if=partition_table/partition-table.bin bs=1 seek=36864 of=flash.bin conv=notrunc
|
||||||
|
cd $(BUILDDIR); dd if=main.bin bs=1 seek=65536 of=flash.bin conv=notrunc
|
||||||
|
|
||||||
|
qemu: image
|
||||||
|
cd $(BUILDDIR); qemu-system-xtensa -nographic -machine esp32 -drive 'file=flash.bin,if=mtd,format=raw'
|
||||||
|
|
||||||
|
install: flash
|
||||||
|
|
10
build.sh
10
build.sh
|
@ -1,10 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -e
|
|
||||||
set -u
|
|
||||||
|
|
||||||
export IDF_PATH="$PWD/esp-idf"
|
|
||||||
export IDF_EXPORT_QUIET=0
|
|
||||||
source "$IDF_PATH"/export.sh
|
|
||||||
|
|
||||||
idf.py build
|
|
10
clean.sh
10
clean.sh
|
@ -1,10 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -e
|
|
||||||
set -u
|
|
||||||
|
|
||||||
export IDF_PATH="$PWD/esp-idf"
|
|
||||||
export IDF_EXPORT_QUIET=0
|
|
||||||
source "$IDF_PATH"/export.sh
|
|
||||||
|
|
||||||
idf.py clean
|
|
18
command.sh
18
command.sh
|
@ -1,18 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -e
|
|
||||||
set -u
|
|
||||||
|
|
||||||
export IDF_PATH="$PWD/esp-idf"
|
|
||||||
export IDF_EXPORT_QUIET=0
|
|
||||||
source "$IDF_PATH"/export.sh
|
|
||||||
|
|
||||||
if [ "$#" -eq 2 ]; then
|
|
||||||
idf.py $2 -p $1
|
|
||||||
else
|
|
||||||
if [ "$#" -ne 1 ]; then
|
|
||||||
echo "Illegal number of parameters"
|
|
||||||
else
|
|
||||||
idf.py $1
|
|
||||||
fi
|
|
||||||
fi
|
|
18
erase.sh
18
erase.sh
|
@ -1,18 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -e
|
|
||||||
set -u
|
|
||||||
|
|
||||||
export IDF_PATH="$PWD/esp-idf"
|
|
||||||
export IDF_EXPORT_QUIET=0
|
|
||||||
source "$IDF_PATH"/export.sh
|
|
||||||
|
|
||||||
if [ "$#" -eq 1 ]; then
|
|
||||||
idf.py erase-flash -p $1
|
|
||||||
else
|
|
||||||
if [ "$#" -ne 0 ]; then
|
|
||||||
echo "Illegal number of parameters"
|
|
||||||
else
|
|
||||||
idf.py erase-flash
|
|
||||||
fi
|
|
||||||
fi
|
|
18
flash.sh
18
flash.sh
|
@ -1,18 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -e
|
|
||||||
set -u
|
|
||||||
|
|
||||||
export IDF_PATH="$PWD/esp-idf"
|
|
||||||
export IDF_EXPORT_QUIET=0
|
|
||||||
source "$IDF_PATH"/export.sh
|
|
||||||
|
|
||||||
if [ "$#" -eq 1 ]; then
|
|
||||||
idf.py flash -p $1
|
|
||||||
else
|
|
||||||
if [ "$#" -ne 0 ]; then
|
|
||||||
echo "Illegal number of parameters"
|
|
||||||
else
|
|
||||||
idf.py flash
|
|
||||||
fi
|
|
||||||
fi
|
|
11
install.sh
11
install.sh
|
@ -1,11 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -e
|
|
||||||
set -u
|
|
||||||
|
|
||||||
# Fetch the SDK and all other submodules
|
|
||||||
git submodule update --init --recursive || exit 1
|
|
||||||
|
|
||||||
# Install the toolchain and other SDK tools
|
|
||||||
cd esp-idf
|
|
||||||
bash install.sh
|
|
|
@ -1,10 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -e
|
|
||||||
set -u
|
|
||||||
|
|
||||||
export IDF_PATH="$PWD/esp-idf"
|
|
||||||
export IDF_EXPORT_QUIET=0
|
|
||||||
source "$IDF_PATH"/export.sh
|
|
||||||
|
|
||||||
idf.py menuconfig
|
|
18
monitor.sh
18
monitor.sh
|
@ -1,18 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -e
|
|
||||||
set -u
|
|
||||||
|
|
||||||
export IDF_PATH="$PWD/esp-idf"
|
|
||||||
export IDF_EXPORT_QUIET=0
|
|
||||||
source "$IDF_PATH"/export.sh
|
|
||||||
|
|
||||||
if [ "$#" -eq 1 ]; then
|
|
||||||
idf.py monitor -p $1
|
|
||||||
else
|
|
||||||
if [ "$#" -ne 0 ]; then
|
|
||||||
echo "Illegal number of parameters"
|
|
||||||
else
|
|
||||||
idf.py monitor
|
|
||||||
fi
|
|
||||||
fi
|
|
25
qemu.sh
25
qemu.sh
|
@ -1,25 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -e
|
|
||||||
set -u
|
|
||||||
|
|
||||||
export IDF_PATH="$PWD/esp-idf"
|
|
||||||
export IDF_EXPORT_QUIET=0
|
|
||||||
source "$IDF_PATH"/export.sh
|
|
||||||
|
|
||||||
cd build
|
|
||||||
|
|
||||||
# Create an empty file, 16MB in size
|
|
||||||
dd if=/dev/zero bs=1M count=16 of=flash.bin
|
|
||||||
|
|
||||||
# Copy the bootloader into the file
|
|
||||||
dd if=bootloader/bootloader.bin bs=1 seek=$((0x1000)) of=flash.bin conv=notrunc
|
|
||||||
|
|
||||||
# Copy the partition table into the file
|
|
||||||
dd if=partition_table/partition-table.bin bs=1 seek=$((0x9000)) of=flash.bin conv=notrunc
|
|
||||||
|
|
||||||
# Copy the firmware into the file
|
|
||||||
dd if=main.bin bs=1 seek=$((0x10000)) of=flash.bin conv=notrunc
|
|
||||||
|
|
||||||
# Run QEMU
|
|
||||||
qemu-system-xtensa -nographic -machine esp32 -drive 'file=flash.bin,if=mtd,format=raw'
|
|
Loading…
Reference in a new issue