Skip to content

Building from source

Chris edited this page Aug 31, 2022 · 2 revisions

DISCLAIMER - ABANDONED REPO

This page has moved to the new repository. Please add information to the new repository since this one is abandoned.


The Bluejay source code is turned into a firmware binary using the Keil A51 assembler.

Obtaining the toolchain

To obtain the toolchain, download the C51 package from Keil. Run it with wine:

wine c51v960a.exe

This will install the toolchain and uVision. To obtain a license key (which you will need in order to link files above a certain size) you will have to run uVision in order to get your Computer ID.

wine ~/.wine/drive_c/Keil_v5/UV4/UV4.exe

Go to File -> License Management note your Computer ID.

With this information, you can request a license key on the Keil license installation page. In the CID field, you need to enter the Computer ID which uVision showed you in the previous step.

The license ID will be sent to you via E-Mail, once received you paste it into the LIC field, press "Add LIC" and you are done.

Building

For your convenience, a Docker Image is provided that will set up the toolchain. For this to work you need to have completed the step Registering via Wine and your .wine directory has to be copied to the tools directory.

The .wine directory can be deleted from the tools directory after the docker image has been created.

To build the docker image install docker and from the tools directory run:

docker build -t bluejay-build .

A build script is provided, it will build all targets if no further parameters are provided:

./build.sh

or a specific target if you chose to:

./build.sh -l A -m H -d 0 -p 96

If a specific target is chosen, all parameters need to be provided: layout, MCU, deadtime, and PWM.

Clone this wiki locally