An Engine Control Unit/Module that runs on the bare-metal Raspberry Pi.
- To build from source, you will need an ARM compiler.
- If you are compiling on a Raspberry Pi, the native compiler should work.
- If you are compiling on another machine, you will need a cross compiler. You can download the latest toolchain from the GCC ARM Embedded Project. Extract the archive to a location of your choosing and add it's
bin
folder to yourPATH
.
- Fetch the latest code from GitHub.
- Make a directory to clone to, e.g.
mkdir ~/ecu && cd ~/ecu
- Then
git clone https://github.com/MichaelBuhler/ecu.git
- Make a directory to clone to, e.g.
- Compile the code:
cd ~/ecu
make
- Copy the generated
kernel.img
(orkernel7.img
) file from the/bin
folder onto the (micro)SD card.- If you have an existing RPi Linux installation you can test this out by replaceing it's
/boot/kernel.img
with your own. The/boot
path is probably it's own partition on the SD card. (If your card has NOOBS, this should the partition numbered 5.) - If you want to run the minimum bare-metal installation, reformat your SD card with one FAT32 partition and copy
kernel.img
to it. You will also need two RPi firmware binaries (bootcode.bin
andstart.elf
); you can pull the latest from GitHub. Place all files at the root of the partition.
- If you have an existing RPi Linux installation you can test this out by replaceing it's
- Plug in the SD card and boot up your Raspberry Pi.
- [Attach the Raspberry Pi to your car's engine.]
- Let me know if it works or if it blows up.