This commit is contained in:
Mateusz Faderewski 2023-02-18 22:43:41 +01:00
parent 95075d14ea
commit 1a21100d1a
4 changed files with 41 additions and 39 deletions

View File

@ -13,27 +13,29 @@ on:
workflow_dispatch:
jobs:
# build-fw-hw-sw:
# runs-on: ubuntu-latest
build-fw-hw-sw:
runs-on: ubuntu-latest
# steps:
# - name: Git checkout
# uses: actions/checkout@v3
steps:
- name: Git checkout
uses: actions/checkout@v3
# - name: Build script
# run: ./docker_build.sh release --force-clean
- name: Build script
run: ./docker_build.sh release --force-clean
# - name: Upload artifact
# uses: actions/upload-artifact@v3
# with:
# name: SC64
# path: SC64.zip
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: SC64
path: SC64.zip
# - name: Upload release assets
# if: github.event_name == 'release' && github.event.action == 'created'
# uses: softprops/action-gh-release@v0.1.15
# with:
# files: SC64.zip
- name: Upload release assets
if: github.event_name == 'release' && github.event.action == 'created'
uses: softprops/action-gh-release@v0.1.15
with:
files: |
SC64.zip
sc64_firmware.bin
build-apps:
strategy:
@ -41,21 +43,21 @@ jobs:
os: [windows-latest, ubuntu-latest, macos-latest]
include:
- os: windows-latest
name: sc64-windows
options: --console --icon ../../assets/sc64_logo_256_256.png
package-options: -a -c -f
package-ext: zip
pyinstaller-options: --console --icon ../../assets/sc64_logo_256_256.png
package-name: sc64-windows
package-options: -c -a -f
package-extension: zip
- os: ubuntu-latest
name: sc64-linux
package-name: sc64-linux
package-options: -czf
package-ext: tgz
package-extension: tgz
- os: macos-latest
name: sc64-macos
options: --console --icon ../../assets/sc64_logo_256_256.png
pyinstaller-options: --console --icon ../../assets/sc64_logo_256_256.png
package-name: sc64-macos
package-options: -czf
package-ext: tgz
package-extension: tgz
runs-on: ${{ matrix.os }}
@ -73,25 +75,25 @@ jobs:
working-directory: sw/pc
- name: Create sc64 executable
run: pyinstaller --clean --onefile ${{ matrix.options }} sc64.py
run: pyinstaller --clean --onefile ${{ matrix.pyinstaller-options }} sc64.py
working-directory: sw/pc
- name: Package executable
run: |
mkdir package
pushd dist
tar ${{ matrix.package-options }} ../package/${{ matrix.name }}.${{ matrix.package-ext }} *
tar ${{ matrix.package-options }} ../package/${{ matrix.package-name }}.${{ matrix.package-extension }} *
popd
working-directory: sw/pc
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: ${{ matrix.name }}
path: sw/pc/package/*
name: ${{ matrix.package-name }}
path: sw/pc/package/${{ matrix.package-name }}.${{ matrix.package-extension }}
- name: Upload release assets
if: github.event_name == 'release' && github.event.action == 'created'
uses: softprops/action-gh-release@v0.1.15
with:
files: sw/pc/package/${{ matrix.name }}.${{ matrix.package-ext }}
files: sw/pc/package/${{ matrix.package-name }}.${{ matrix.package-extension }}

View File

@ -9,7 +9,7 @@ TOP_FILES=(
"./sw/pc/primer.py"
"./sw/pc/requirements.txt"
"./sw/pc/sc64.py"
"./sw/update/sc64_update_package.bin"
"./sw/update/sc64_firmware.bin"
)
FILES=(
@ -87,7 +87,7 @@ build_update () {
pushd sw/update > /dev/null
if [ "$FORCE_CLEAN" = true ]; then
rm -f ./sc64_update_package.bin
rm -f ./sc64_firmware.bin
fi
GIT_INFO=""
if [ ! -z "${GIT_BRANCH}" ]; then GIT_INFO+="branch: [$GIT_BRANCH] "; fi
@ -101,7 +101,7 @@ build_update () {
--fpga ../../fw/project/lcmxo2/impl1/sc64_impl1.jed \
--boot ../bootloader/build/bootloader.bin \
--primer ../controller/build/primer/primer.bin \
sc64_update_package.bin
sc64_firmware.bin
popd > /dev/null
BUILT_UPDATE=true

View File

@ -66,6 +66,6 @@ Run `python3 sc64.py --boot direct --rom path_to_rom.n64` to disable bootloader
## Firmware backup/update
To download and backup current version of SC64 firmware run `python3 sc64.py --backup-firmware sc64_backup_package.bin`.
To download and backup current version of SC64 firmware run `python3 sc64.py --backup-firmware sc64_firmware_backup.bin`.
To update SC64 firmware run `python3 sc64.py --update-firmware sc64_update_package.bin`
To update SC64 firmware run `python3 sc64.py --update-firmware sc64_firmware.bin`

View File

@ -83,9 +83,9 @@ Second, program FPGA, microcontroller and Flash memory:
4. Check in device manager which port number `COMx` is assigned to serial adapter
5. Connect SC64 board to the PC with USB-C cable (***IMPORTANT:*** connect it to the same computer as serial adapter)
6. Locate `primer.py` script in root folder
7. Make sure these files are located in the same folder as `primer.py` script: `requirements.txt`, `sc64.py`, `dd64.py`, `sc64_update_package.bin`
7. Make sure these files are located in the same folder as `primer.py` script: `requirements.txt`, `sc64.py`, `dd64.py`, `sc64_firmware.bin`
8. Run `pip3 install -r requirements.txt` to install required python packages
9. Run `python3 primer.py COMx sc64_update_package.bin` (replace `COMx` with port located in step **4**)
9. Run `python3 primer.py COMx sc64_firmware.bin` (replace `COMx` with port located in step **4**)
10. Follow the instructions on the screen
11. Wait until programming process has finished
@ -97,4 +97,4 @@ Congratulations! Your SC64 flashcart should be ready for use!
*`primer.py` threw error on `Bootloader -> SC64 FLASH` step*
This issue can be attributed to incorrectly programmed FT232H EEPROM in the first programming step. Check again in `FT_PROG` program if device was configured properly. Once FPGA and microcontroller has been programmed successfully `primer.py` script needs to be run in special mode. Please use command `python3 primer.py COMx sc64_update_package.bin --only-bootloader` to try programming bootloader again.
This issue can be attributed to incorrectly programmed FT232H EEPROM in the first programming step. Check again in `FT_PROG` program if device was configured properly. Once FPGA and microcontroller has been programmed successfully `primer.py` script needs to be run in special mode. Please use command `python3 primer.py COMx sc64_firmware.bin --only-bootloader` to try programming bootloader again.