| mcugotchi@50dd2b3ed3 | ||
| tamatool@78deba2052 | ||
| readme.md | ||
1. Setting Up the Project Directory
mkdir gothci
cd gotchi/
2. Installing Basic Development Tools
sudo apt update && sudo apt upgrade -y
sudo apt install build-essential git make gcc-mingw-w64 g++-mingw-w64 zip -y
Note: gcc-mingw-w64 and g++-mingw-w64 may not be necessary if you're only targeting Linux builds.
3. Cloning and setting up the tamatool Repository
git clone --recursive https://github.com/jcrona/tamatool.git
4. Installing SDL2 Dependencies
sudo apt install libsdl2-dev libsdl2-image-dev libpng-dev -y
5. Building tamatool for Windows/Linux (I used Linux)
make linux or make windows
I used make linux because I am using WSL. WSL2 should work since it's using openocd.
7. Updating System and Installing Cross-Compilation Tools
sudo apt install build-essential git cmake gcc-arm-none-eabi openocd dfu-util
8. Cloning the mcugotchi Repository
cd ..
git clone --recursive https://github.com/jcrona/mcugotchi.git
Note: If you don't use recursive you won't get the necessary includes.
9. Generating rom.h from a ROM File
Note: These steps are already done in the provided folder
Place the tama.b file from the zip file into mcugotchi/src/ and rename it to tama.bin
nano mcugotchi/src/rom.c
Remove '//' from //#define ROM_BUILT_IN at line 30.
cd tamatool/linux/dist ./tamatool -r ../mcugotchi/src/tama.bin -H > ../mcugotchi/src/rom_data.h Note: The command in the GitHub repo for Tamatool is wrong, the output file is "rom.h" in the provided command, which literally overrides the header file used for loading the ROM.
10. Compiling mcugotchi
cd ../../../mcugotchi
nano Makefile
Edit the makefile, remove the text after TOOLCHAIN = and OPENOCD_BIN =.
# GNU ARM Embedded Toolchain location
TOOLCHAIN =
# OpenOCD location
OPENOCD_BIN =
Then remove $(TOOLCHAIN)/bin/ from all other lines.
CC = arm-none-eabi-gcc
AS = arm-none-eabi-as
LN = arm-none-eabi-gcc
STRIP = arm-none-eabi-strip
HEX = arm-none-eabi-objcopy -O ihex
BIN = arm-none-eabi-objcopy -O binary
Now we should be able to compile mcugotchi.
make
11. Flashing mcugotchi
Inside of mcugotchi folder:
make flash