Building SCuM Firmware
Downloads
The ARM Compiler 5.06 update 6 (build 750) comes with the installation of Keil, an integrated development environment for ARM chips: MDK525.exe
Installation (Windows only)
If you have a Windows machine, congratulations! Installation is easy - just run the installer and you’re good to go.
Installation (Mac/Linux)
Keil only comes with a Windows installer, so a Windows emulator must be used to install and run Keil.
Mac
I recommend using Wineskin Winery, a wrapper around Wine, that emulates Windows. I have also tried CrossOver, but it is a paid software.
Install Wineskin Winery: GitHub - Kegworks-App/Kegworks: A user-friendly tool used to make wine wrapped ports of Windows software for macOS..
Open Wineskin Winery, and you should see the following:
Click on the
+
button to add a new Windows engine (I don’t think the actual version matters). Download and install it.Now click on
Create New Blank Wrapper
and type inKeil uVision5
as the wrapper name. Open the wrapper and you should see the following:Click on
Install Software > Choose Setup Executable
and select the Keil installer.Run the Keil installer. If the
Install Pack
window opens, feel free to close it. Also, selectC:\Keil_v5\UV4\UV4.exe
as the executable to run. Now you’re done!
Linux
Wineskin is unfortunately not available for Linux, but CrossOver, a paid software, is. The following instructions are preliminary and have not been tried nor tested.
Install Wine: https://wiki.winehq.org/Ubuntu .
Start from Part 2 of these instructions to install Keil: How to Use Wine on Linux to Run Windows Applications .
Compilation
To compile the firmware for SCuM, follow these steps:
Clone the
scum-test-code
repository with all of SCuM’s firmware: GitHub - PisterLab/scum-test-code: Code used for testing the single chip micro-mote (SCuM).. All projects for SCuM-3C are underscm_v3c/applications/<project>
.Open Keil and open a project by clicking on
Project > Open Project...
and selecting the project’s.uvprojx
file.Click on
Project > Build Target
to build the project. The output binary is now underObjects/<project>.bin
.