For links go to https://github.com/RIOT-OS/Tutorials
Quick Setup using a Virtual Machine (recommended for this Tutorial)
- Install and set up git
- Install latest VirtualBox & VirtualBox Extension Pack for your system
- Install Vagrant
- Linux, OSX:
git clone --recursive https://github.com/RIOT-OS/Tutorials
- Windows:
- set
git config --global core.autocrlf input
before cloning - clone the
Tutorials
and theRIOT
submodule as follows:
git clone https://github.com/RIOT-OS/Tutorials cd Tutorials git submodule update --init --recursive
- set
- In case a virtual machine is disseminated locally, adapt the path for the vagrant box
vagrant box add RIOT/ubuntu1604 <path to box>
- Run
vagrant up
andvagrant ssh
afterwards. See the Vagrant RIOT Setup for a more general explanation.
Regular Setup without using a VM (recommended for RIOT developement)
-
Install and set up git
-
Install the build-essential packet (make, gcc etc.). This varies based on the operating system in use.
-
Install Native dependencies
-
Install OpenOCD
-
Install GCC Arm Embedded Toolchain
-
On OS X: install Tuntap for OS X
-
additional tweaks necessary to work with the targeted hardware (ATSAMR21)
-
Install
netcat
with IPv6 support (if necessary)sudo apt-get install netcat-openbsd
-
git clone --recursive https://github.com/RIOT-OS/Tutorials
-
Go to the Tutorials directory:
cd Tutorials
- Task 1: Starting the RIOT
- Task 2: Custom shell handlers
- Task 3: Multithreading
- Task 4: Timers
- Task 5: Using network devices
- Task 6: Sending and receiving UDP packets
- Task 7: The GNRC network stack
- Task 8: CCN-Lite on RIOT
- Task 9: RIOT and RPL
The guest machine entered an invalid state while waiting for it to boot. Valid states are 'starting, running'. The machine is in the 'poweroff' state.
Make sure you have the Extension Pack installed.
Make sure your user is a member of the usergroup vboxusers
. On Linux you can add the current user with
usermod -a -G vboxusers $USER
.
Note that you need to log out once to reload a Linux user's group assignments
This work and all its related code and documents are licensed under a Creative Commons Attribution-ShareAlike 4.0 International License