Skip to content

Adding bootloader and update program #163

Adding bootloader and update program

Adding bootloader and update program #163

Workflow file for this run

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