Infra Linux Docker

Indicamos o desenvolvimento usando uma vm Ubuntu. Para máquinas virtuais, é recomendado o uso do Oracle VM Virtual Box.

Antes de iniciar a máquina virtual é necessário fazer a seguinte configuração para garantir que a Raspberry Pico seja indentificada dentro da VM:

Instale o Ubuntu 22.04 na VM!

Ubuntu 22.04? Só seguir a instalação.

Algum outro Linux? Deve funcionar, só o passo de instalação do docker que deve ser diferente.

Ubuntu 22.04

Tutorial para Ubuntu 22.04, da para facilmente adaptar para outro linux (por conta do aluno)

docker

Executar no terminal (uma linha por vez!):

sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

Agora:

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Teste com:

sudo docker run hello-world

Este comando baixa uma imagem de teste e a executa em um contêiner. Quando o contêiner é executado, ele imprime uma mensagem de confirmação e encerra.

ref: https://docs.docker.com/engine/install/ubuntu/#installation-methods

Configurando permissão

Siga os passos no site a seguir, para podermos executar o docker sem permissão de super usuário:

sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker

Teste com:

docker run hello-world
  • Se não funcionar, reinicie o computador e teste com o comando anterior.

ref: https://docs.docker.com/engine/install/linux-postinstall/

vscode

Instale o vscode:

Teste com:

$ code 

Exercise

Conecte o debug-probe e a rasp. Para isso você vai precisar de:

  • Dois cabos USB
  • Debug-Probe
  • Raspberry pi pico
  • Protoboard

Executando na vm?

Se estiver usando uma VM, execute os passos adicionais:

  1. Abra as Configurações -> USB
  2. Verifique se o controlador USB está habilitado.
  3. Clique no símbolo do "USB +" para adicionar a Raspberry Pi Pico. -embarcadosvirtualbox

Exercise

Configurando permissão do USB:

sudo usermod -a -G "$(stat -c "%G" /dev/ttyUSB0)" $USER
sudo usermod -a -G "$(stat -c "%G" /dev/ttyACM0)" $USER
sudo reboot

Testando tudo - vscode

Agora que já temos toda a infra instalada, vamos testar!

Exercise

Clone o repositório com códigos de teste

git clone https://github.com/insper-embarcados/infra-test.git

Exercise

Abra o respositório no vscode

code infra-test/

Instale todas as extensões sugeridas!

Exercise

Abrir no dev-container

Após tudo instalado, vamos abrir a pasta no docker criado para a disciplina!

  • ctrl + shift+ p
  • Dev. Containers: Open Folder in Container..

isso deve demorar um pouco!

Exercise

Vamos compilar o projeto!

Clique em build na barra inferior:

Escolha o compilador arm-none-eabi

Você deve obter:

Programando e depurando

Agora vamos programar a placa!

Exercise

Selecione o programa que iremos depurar

Exercise

Inicialize o software

Você deve obter o Hello world no serial

Exercise

Abra o serial monitor (terminal)