Skip to content

Building From Source

Keir Fraser edited this page Dec 6, 2020 · 10 revisions

FlashFloppy can be built from source either manually in a suitable Linux environment, or using a pre-built Docker image.

Manual Method

This project is cross-compiled on an x86 Ubuntu Linux system. However other similar Linux-base systems (or a Linux virtual environment on another OS) can likely be made to work quite easily.

The following instructions apply specifically to Ubuntu 20.04. You can see them applied in practice in FlashFloppy's CI workflow file.

To install the prerequisites:

 # sudo apt -y install git gcc-arm-none-eabi python3-pip srecord stm32flash zip unzip wget
 # python3 -m pip install --user crcmod intelhex

To build the FlashFloppy firmware:

 # git clone https://github.com/keirf/FlashFloppy.git
 # cd FlashFloppy
 # make dist

Making a Debug Build

FlashFloppy can be configured to emit debug logging via the same serial interface used for serial programming. Follow the above instructions but replace the final make line as follows:

 # debug=y make dist

The default baud rate is 3Mbps. If this is too fast for your host you can reduce it (for example, to 115200) by modifying the definition of BAUD at the top of src/console.c.

Docker

Urban Jonnson has uploaded a Docker image which will create the FlashFloppy distribution zip file from the following command line:

 # docker run -v $(pwd):/output --rm -ti planeturban/docker-flashfloppy
Clone this wiki locally