Pular para o conteúdo principal

Laboratório 02

Atividade em Construção

A documentação desta atividade de laboratório está em processo de construção e por isso pode estar incompleta.

Utilize como base a descrição apresentada no Moodle da disciplina.

TarefaTemplateInícioFimConteúdo
LAB02Template 0201-Sep-202508-Sep-2025Processo de compilação, gravação e commit de código;

Conteúdo

Processo de compilação, gravação e commit de código;

Verifique o seu ambiente de desenvolvimento

Git is the most widely used source-code management tool among professional developers.

  • Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
winget install --id Git.Git -e --source winget

Configurações do git:

git config --list --show-origin
Configure a ferramenta git

Configure o nome de usuário para todos os repositórios locais ligados às suas transações de commit:

git config --global user.name "Your Name"

Configure o email de usuário para todos os repositórios locais ligados às suas transações de commit:

git config --global user.email "you@example.com"

É recomendado verificar se a instalação do seu Git não está realizando nenhuma transformação entre LFs e CRLFs.

git config --global core.autocrlf false

Configure o git para usar o Visual Studio Code como editor padrão para tarefas como escrever mensagens de commit ou rebases interativos

git config --global core.editor "code --wait"

Liste as configurações aplicadas:

git config --list --show-origin

STM32CubeMX is an initialization code generator.

  • STM32CubeMX is a graphical tool that allows a very easy configuration of STM32 microcontrollers and microprocessors, as well as the generation of the corresponding initialization C code for the Arm® Cortex®-M core or a partial Linux® Device Tree for Arm® Cortex®-A core, through a step-by-step process.

Crie um novo repositório com base no template do LAB02

Escolha o Grupo e entre com o comando abaixo para criar o repositório no GitHub:

Cole o comando abaixo no prompt aberto na pasta de trabalho!

Use o comando abaixo para criar o repositório no GitHub com base no template do laboratório LAB02:

gh repo create ELT73A-S22-2025-2-A/LAB02 --private -p ELT73A-LAB-TPL/LAB02 -c

Acesse o diretório do repositório clonado:

cd LAB02

Abra o repositório clonado no VS Code:

code . --profile "STM32"

Instalação do VScode e extensão para o STM32

code --list-extensions --profile "STM32"
Recomendações de extensões e configurações para o VS Code.
.vscode/extensions.json
{
"recommendations": [
"dan-c-underwood.arm",
"jeff-hykin.better-cpp-syntax",
"marus25.cortex-debug",
"mcu-debug.debug-tracker-vscode",
"mcu-debug.memory-view",
"mcu-debug.peripheral-viewer",
"mcu-debug.rtos-views",
"ms-vscode.cmake-tools",
"ms-vscode.cpptools",
"ms-vscode.cpptools-extension-pack",
"ms-vscode.cpptools-themes",
"ms-vscode.hexeditor",
"pkief.material-icon-theme",
"stmicroelectronics.stm32-vscode-extension",
"trond-snekvik.gnu-mapfiles",
"twxs.cmake",
"yzhang.markdown-all-in-one",
"zixuanwang.linkerscript"
]
}
.vscode/settings.json
{
"editor.formatOnSave": true,
"editor.defaultFormatter": "ms-vscode.cpptools",
"editor.formatOnPaste": true,
"terminal.integrated.defaultProfile.windows": "Command Prompt",
"workbench.iconTheme": "material-icon-theme",
"[markdown]": {
"editor.defaultFormatter": "yzhang.markdown-all-in-one"
},
"[jsonc]": {
"editor.defaultFormatter": "vscode.json-language-features"
},
"cmake.options.statusBarVisibility": "visible"
}

Como carregar um script do STM32CubeMX

To run STM32CubeMX in interactive command-line mode, use the following command line:

"%STM32CubeMX_PATH%\jre\bin\java" -jar "%STM32CubeMX_PATH%\STM32CubeMX.exe" -i

To generate a script

export script ScriptToLoad.txt

To run STM32CubeMX in command-line mode, getting commands from a script, use the following command line:

"%STM32CubeMX_PATH%\jre\bin\java" -jar "%STM32CubeMX_PATH%\STM32CubeMX.exe" -s ScriptToLoad.txt

Exemplo de arquivo txt de configuração:

ScriptToLoad.txt
load STM32F411CEUx
set pin "PC14-OSC32_IN" RCC_OSC32_IN
lock pin "PC14-OSC32_IN" false
set pin "PC15-OSC32_OUT" RCC_OSC32_OUT
lock pin "PC15-OSC32_OUT" false
set pin "PH0 - OSC_IN" RCC_OSC_IN
lock pin "PH0 - OSC_IN" false
set pin "PH1 - OSC_OUT" RCC_OSC_OUT
lock pin "PH1 - OSC_OUT" false
set mode RCC "HSE-External-Oscillator"
set mode RCC "LSE-External-Oscillator"
set mode SYS "SysTick"

LoadMX

Call for Help (--help, -h, /?)

LoadMX --help

Run STM32CubeMX interactively

LoadMX -i

Opens STM32CubeMX with provided Project Name and Script Name and loads default value for Code Generation (N)

LoadMX ProjectName ScriptToLoad.txt

Opens STM32CubeMX with provided Project Name, Script Name and generate code

LoadMX ProjectName ScriptToLoad.txt Y

Instruções

Esta atividade de laboratório tem como objetivo verificar a configuração adequada do ambiente de desenvolvimento para o STM32.

  • Crie uma organização baseada no nome do grupo;
  • Adicione os membros do seu grupo a organização;
  • Adicione o professor como membro da organização;
  • Crie um projeto em branco na pasta EmptyTest;
  • Importe um projeto em branco na pasta CubeMxTest;
  • Commit e push dos arquivos gerados;
  • Envie o link da organização (hyperlink);
  • Envie o link do repositório no GitHub (hyperlink);

Avaliação

  • Crie uma organização baseada no nome do grupo - 10%
  • Adicione os membros do seu grupo a organização - 10%
  • Adicione o professor como membro da organização - 10%
  • Crie um projeto em branco na pasta EmptyTest - 25%
  • Importe um projeto em branco na pasta CubeMxTest - 25%
  • Envie o link da organização e do repositório no GitHub (hyperlink) - 20%