Adding bootloader and update program #163
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: X16 SMC firmware build | |
on: [push, pull_request] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.9' | |
- name: Install build enviroment | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y make build-essential | |
git clone https://github.com/Ro5bert/avra.git | |
cd avra | |
make | |
sudo make install | |
cd .. | |
git clone https://github.com/cc65/cc65.git | |
cd cc65 | |
make -j4 | |
sudo make install | |
cd .. | |
mkdir -p build | |
- name: Install IntelHex library | |
run: pip install intelhex | |
- name: Setup Arduino CLI | |
uses: arduino/setup-arduino-cli@v2 | |
- name: Install ATTinyCore platform | |
run: | | |
arduino-cli core update-index --additional-urls file://$PWD/package_drazzy.com_index.json | |
arduino-cli core install ATTinyCore:avr --additional-urls file://$PWD/package_drazzy.com_index.json | |
- name: Compile Arduino default sketch | |
run: arduino-cli compile -b ATTinyCore:avr:attinyx61 --board-options "chip=861,clock=16pll,pinmapping=new,TimerClockSource=default,LTO=enable,millis=enabled,eesave=aenable,bod=4v3" --build-path build | |
- name: Make SMC.BIN file | |
run: python make_bin.py build/x16-smc.ino.hex build | |
- name: Move readme files to build folders | |
run: | | |
mv doc/readme_artifacts.txt build/README | |
- name: Compile bootloader | |
run: | | |
cd bootloader | |
mkdir -p build | |
make | |
cd .. | |
cp bootloader/build/firmware_with_bootloader.hex build/ | |
cp bootloader/build/bootloader.hex build/ | |
cp bootloader/build/bootloader.bin build/ | |
- name: Compile SMCUPDATE program | |
run: | | |
cd update | |
mkdir -p resources | |
mkdir -p build | |
make | |
cd .. | |
cp update/build/SMCUPDATE*.PRG build/ | |
- name: Archive default firmware | |
uses: actions/upload-artifact@v4 | |
with: | |
name: SMC firmware | |
path: | | |
build/firmware_with_bootloader.hex | |
build/SMCUPDATE*.PRG | |
build/x16-smc.ino.elf | |
build/x16-smc.ino.hex | |
build/SMC*.BIN | |
build/bootloader.hex | |
build/bootloader.bin | |
build/README |