Skip to content

Commit

Permalink
[SC64][DOCS] Update 06_build_guide.md (#52)
Browse files Browse the repository at this point in the history
Make it more obvious that you need the repo when programming (and some
other minor improvements).

---------

Co-authored-by: Mateusz Faderewski <sc@mateuszfaderewski.pl>
Co-authored-by: Mateusz Faderewski <polprzewodnikowy@gmail.com>
  • Loading branch information
3 people authored Dec 14, 2023
1 parent fe855c3 commit e019808
Showing 1 changed file with 39 additions and 29 deletions.
68 changes: 39 additions & 29 deletions docs/06_build_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,38 +66,48 @@ You can skip this step if PCB assembly service was used in previous steps.

**Please read the following instructions carefully before proceeding with programming.**

For initial programming you are going to need a PC and a USB to UART (serial) adapter (3.3V signaling is required, e.g. TTL-232R-3V3).
These steps assume you are using modern Windows OS (version 10 or higher).

As for software, here's list of required applications:
- [FT_PROG](https://ftdichip.com/utilities/#ft_prog) - FTDI FT232H EEPROM programming software
- [Python 3](https://www.python.org/downloads/) with `pip3` - necessary for initial programming script: `primer.py` (windows install: check option add python to PATH)

Programming must be done in specific order for `primer.py` script to work correctly.

First, program FT232H EEPROM:
1. Connect SC64 board to the PC with USB-C cable
2. Locate FT232H EEPROM template `ft232h_config.xml`
3. Launch `FT_PROG` software
4. Click on `Scan and parse` if no device has shown up
5. Right click on SC64 device and choose `Apply Template -> From File`
6. Select previously located `ft232h_config.xml`
7. Right click on SC64 device and choose `Program Device`
***Note:*** This guide assumes you are using Windows 10 or above.

You will require the following hardware:
- A PC running Windows 10 or above (any Linux distro should also work but programming FT232H EEPROM is arguably trickier without an official app).
- A USB to UART (serial) adapter (with 3.3V signaling is required, e.g. TTL-232R-3V3).

You will require the following applications and packages:
- [FT_PROG](https://ftdichip.com/utilities/#ft_prog) - FTDI FT232H EEPROM programming software.
- [Python 3](https://www.python.org/downloads/) with `pip3` - necessary for initial programming script: `primer.py` (Windows install: check option add python to PATH).
- [`sc64-extra-{version}.zip`](https://github.com/Polprzewodnikowy/SummerCart64/releases) - programming scripts and firmware files, download the latest version.

**Programming must be done in specific order for `primer.py` script to work correctly.**

Preparations:
1. Install FT_PROG.
2. Install Python 3.
3. Unpack `sc64-extra-{version}.zip` into a folder.
4. Open terminal and navigate to the folder you've unpacked SC64 files.

First, program the ***FT232H EEPROM***:
1. Connect the SC64 board to your PC with a USB-C cable.
2. Locate FT232H EEPROM template `ft232h_config.xml` from the `fw/ftdi/` directory.
3. Launch `FT_PROG` software.
4. Click on `Scan and parse` if no device has shown up.
5. Right click on SC64 device and choose `Apply Template -> From File`.
6. Select previously located `ft232h_config.xml`.
7. Right click on SC64 device and choose `Program Device`.

Your SC64 should be ready for next programming step.

Second, program FPGA, microcontroller and bootloader:
1. Disconnect SC64 board from power (unplug USB-C cable)
2. Connect serial UART/TTL adapter to `TX/RX/GND` pads marked on the PCB. Cross connection TX -> RX, RX -> TX!
3. Connect serial adapter to the PC
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-firmware-{version}.bin`
8. Run `pip3 install -r requirements.txt` to install required python packages
9. Run `python3 primer.py COMx sc64-firmware-{version}.bin` (replace `COMx` with port located in step **4**). On Windows it's python instead of python3.
10. Follow the instructions on the screen
11. Wait until programming process has finished (**DO NOT STOP PROGRAMMING PROCESS OR DISCONNECT SC64 BOARD FROM PC**, doing so might irrecoverably break programming through UART header and you would need to program FPGA and/or microcontroller with separate dedicated programming interfaces through *Tag-Connect* connector on the PCB)
Second, program ***FPGA, microcontroller and bootloader***:
1. Disconnect SC64 board from power (unplug USB-C cable).
2. Connect serial UART/TTL adapter to `TX/RX/GND` pads marked on the PCB. Cross connection `TX -> RX`, `RX -> TX`!
3. Connect serial adapter to the PC.
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 the root folder.
7. Make sure these files are located in the same folder as `primer.py` script: `requirements.txt`, `sc64-firmware-{version}.bin`.
8. Run `pip3 install -r requirements.txt` in the terminal to install required python packages.
9. Run `python3 primer.py COMx sc64-firmware-{version}.bin` (replace `COMx` with port located in step **4**). On Windows it's `python` instead of `python3`.
10. Follow the instructions on the screen.
11. Wait until programming process has finished (**DO NOT STOP PROGRAMMING PROCESS OR DISCONNECT SC64 BOARD FROM PC**, doing so might irrecoverably break programming through UART header and you would need to program FPGA and/or microcontroller with separate dedicated programming interfaces through *Tag-Connect* connector on the PCB).

Congratulations! Your SC64 flashcart should be ready for use!

Expand Down

0 comments on commit e019808

Please sign in to comment.