Welcome to ATOMIC! This guide will assist you in setting up and using the FreeRTOS environment for your development needs.
General technical overview of local development setup.
- Linux (or any system that supports Docker and TUN/TAP)
- Docker (or Docker desktop)
- Recommended: Visual Studio Code with the Remote Explorer extension.
Docker is required for containerization. Follow the installation guide available here to set it up on your system.
Get all submodules.
git submodule update --init --recursive
Easiest way to get started is to use docker compose
. Clone the project to your local machine and run:
docker compose up -d --build
This will build and run the Docker container. The docker-compose.yml
file ensures that the container is built and running as well as mounting the current work directory inside the container (at /FreeRTOS
). Meaning you can access the source code within the container at this path.
You can now proceed from the Developing with Docker section.
There are three ways to acces the Docker container, the second one is preferred for development:
-
Accessing the Docker container via SSH: Connect to the Docker container with SSH using:
ssh username@localhost -p 2222
Default password is
password
. -
Using VSCode for Development: Enhance your development experience with the
Remote Explorer
extension in VS Code. This will allow you to open Visual Studio Code as if you were running it inside the container. This makes it a lot easier to work with locally, since you can have a terminal inside the container and use the same tools as if you were running it locally. -
Accessing the Docker container via terminal: You can also access the container via the terminal by running:
docker compose exec -it freertos /bin/ash
This will open a ash shell inside the container.
The container includes a file named run.sh
. Running this ash script automatically runs the project in its standard configuration.
Setup networking by running setup script, once.
cd /FreeRTOS
./setup_network.sh
Then, to run the project:
cd /FreeRTOS
./run.sh