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.

  1. Install Wineskin Winery: GitHub - Kegworks-App/Kegworks: A user-friendly tool used to make wine wrapped ports of Windows software for macOS..

  2. Open Wineskin Winery, and you should see the following:

  3. Click on the + button to add a new Windows engine (I don’t think the actual version matters). Download and install it.

  4. Now click on Create New Blank Wrapper and type in Keil uVision5 as the wrapper name. Open the wrapper and you should see the following:

  5. Click on Install Software > Choose Setup Executable and select the Keil installer.

  6. Run the Keil installer. If the Install Pack window opens, feel free to close it. Also, select C:\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.

  1. Install Wine: https://wiki.winehq.org/Ubuntu .

  2. 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:

  1. 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 under scm_v3c/applications/<project>.

  2. Open Keil and open a project by clicking on Project > Open Project... and selecting the project’s .uvprojx file.

  3. Click on Project > Build Target to build the project. The output binary is now under Objects/<project>.bin.