Skip to content

Installation Guide

This guide provides detailed installation instructions for the EMBSEC Lab Development Kit.

System Requirements

Minimum Requirements

  • OS: Ubuntu 20.04+, macOS 11+, or Windows 10 with WSL2
  • RAM: 4GB (8GB recommended)
  • Disk Space: 2GB free space
  • Processor: x86_64 architecture

Software Dependencies

  • CMake 3.20+
  • Python 3.8+
  • GCC ARM Embedded Toolchain
  • QEMU 6.0+ (for emulation)
  • Git

Platform-Specific Installation

Ubuntu/Debian

# Update package lists
sudo apt update

# Install dependencies
sudo apt install -y \
    cmake \
    python3 \
    python3-pip \
    gcc-arm-none-eabi \
    gdb-multiarch \
    qemu-system-arm \
    git \
    make

# Install Python packages
pip3 install pyyaml pyserial

macOS

# Install Homebrew if not already installed
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Install dependencies
brew install \
    cmake \
    python@3 \
    arm-none-eabi-gcc \
    qemu \
    git

# Install Python packages
pip3 install pyyaml pyserial

Windows (WSL2)

  1. Install WSL2 following Microsoft's guide
  2. Install Ubuntu 20.04 or later from the Microsoft Store
  3. Follow the Ubuntu installation instructions above

Docker Installation (Alternative)

For a consistent development environment:

# Pull the development image
docker pull registry.gitlab.com/embsec/kit/dev:latest

# Run with Docker Compose
cd tools/docker
docker-compose up -d

# Enter the container
docker-compose exec embsec-dev bash

Verifying Installation

Run the setup verification:

# Clone the repository
git clone https://gitlab.com/embsec/kit.git
cd kit

# Run setup
make setup

If successful, you'll see:

✓ All dependencies found
✓ Configuration complete
✓ Setup complete!

Hardware Setup (Optional)

TM4C123G LaunchPad

  1. Install TI Code Composer Studio
  2. Install OpenOCD:

    sudo apt install openocd
    

  3. Configure udev rules for the debugger:

    sudo cp tools/udev/99-ti-launchpad.rules /etc/udev/rules.d/
    sudo udevadm control --reload-rules
    

Next Steps