-
-
Notifications
You must be signed in to change notification settings - Fork 104
Toolchain Setup
To ensure that every student has the chance to participate at the lab multiple ways are provided to setup a toolchain for the lab experiments on you personal computer. Please be aware of the fact that not every toolchain can receive all of our attention as we have to focus on the most important ones.
⚠️ Warning: This Wiki pages contains some References to outdated toolchains (remote
/docker
). Please ignore them!
As they are very different to each other in terms of requirements and setup simplicity, the following section should give some sort of a comparison. This should help you deciding for the toolchain which fits the best for you.
-
Physical Computer with native Ubuntu installation (Dual-Boot also possible)
- Initial required steps are quite time consuming (Recommended if you already have such system installed)
- Best choice if you want ideal rendering performance.
-
Virtual Machine running Ubuntu
- Can either be installed manually or imported by using a prepared Disk Image (Recommended for inexperienced students)
- Overheads exists due to virtualization (Especially on older computers with very little RAM.)
-
Container-based SetupProvided Docker imageInitial setup may be tricky (Only for experienced users)Much more lightweight than using Virtualbox.
After you have selected the way you want to setup your toolchain, you may choose an environment to develop in during the lab (Code/Compile/Debug/VersionControl). Not every way is feasible depending on your prior choice but do not feel compelled to stick with a single development style.
-
Command line only (locally)
- 100% CMake/Makefile based
- Run
cmake ..
inbuild
directory, compile viamake
, run by executing../bin/FreeRTOS_Emulator
- Using simple Text Editor like VIM, gEdit,...
- Feasible for: Toolchain 1 & 2
-
IDE based option (locally)
- VSCode recommended (Eclipse supported yet)
- Development/Compile/Run... on by using VSCode tasks in Linux distribution (native or inside VirtualBox)
- Feasible for: Toolchain 1 & 2
-
VM based Option (remote, with/without IDE)Development/Compile on Host, Run/Debug on VirtualBox GuestVirtualbox only used for display, thus less slowdowns while writing codeRelies on SSH and SMB Mountpoints (Additional Software required!)Only with restrictions (Not recommended at this point!)with IDE: Runcmake -DTOOLCHAIN=vm -DUSE_IDE=vscode
, use tasks in VSCode for Compile, Run,...without IDE: Runcmake -DTOOLCHAIN=vm
, use Makefile inremote
directory for Compile, Run,...Feasible for: Toolchain 2
-
Docker based Development (remote, with/without IDE)~
Relies on X11 Forwarding anddocker-compose
(Additional Software required!)Only with restrictions (Not recommended at this point!)with IDE: Runcmake -DTOOLCHAIN=docker -DUSE_IDE=vscode
, use tasks in VSCode for Compile, Run,...without IDE: Runcmake -DTOOLCHAIN=docker
, use Makefile indocker
directory for Compile, Run,...Feasible for: Toolchain 3
Authors: Philipp van Kempen, Alex Hoffman