Eclipse para microcontroladores (STM32) + Depurador com reconhecimento de tarefas FreeRTOS

imagem


Este artigo descreve como instalar o eclipse para microcontroladores + depurador com reconhecimento de tarefas do FreeRTOS.

Por exemplo, sistema operacional Windows, CubeMX e a placa STM32L4Discovery.

Instalação


Instalar:

IDE do Eclipse para desenvolvedores de C / C ++
Faça o download do eclipse , descompacte, copie para C: / eclipse
chocolatey
Chocolatey - um gerenciador de pacotes para Windows, um análogo do apt-get, permite instalar programas através do console.
Abra o PowerShell.exe como administrador e execute:
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')) 
Jdk
Sem o JDK, o eclipse e o CubeMX não serão iniciados.
Abra o PowerShell.exe como administrador e execute:

 cinst -y jdk8 
Node.js
O Node.js contém o gerenciador de pacotes npm necessário para instalar o xpm.
Abra o PowerShell.exe como administrador e execute:

 cinst -y nodejs 
xpm
O Xpm - gerenciador de pacotes do xPack, permite instalar rapidamente os utilitários necessários para o eclipse, com três linhas na linha de comando.
Reinicie o PowerShell.exe como administrador e execute:

 npm install --global xpm 
Compilador de braço, sistema de compilação e depurador
Reinicie o PowerShell.exe como administrador e execute:

 xpm install --global @gnu-mcu-eclipse/arm-none-eabi-gcc 
 xpm install --global @gnu-mcu-eclipse/windows-build-tools 
 xpm install --global @gnu-mcu-eclipse/openocd 
Plugin GNU MCU:
Inicie o eclipse, Ajuda -> Mercado do Eclipse ...

Digite "GNU MCU" na caixa de pesquisa.

Clique em instalar.

Deixamos tudo como está, clique mais, mais, mais. O Eclipse será reiniciado. imagem
Pacote Mcu
Vá para Pacotes, clique em Atualizar. imagem
Escolhemos a instalação do Pack, dependendo do seu microcontrolador: imagem
Depois disso, vamos à cozinha para colocar uma chaleira, o processo de atualização não é rápido.
imagem
Quando o erro aparecer, clique em Ignorar tudo: imagem
Cubemx
Siga o link , faça o download e instale
ST-Link
Siga o link , faça o download e instale
J link software
Siga o link , faça o download e instale


ST-Link intermitente para J-Link
Siga o link , faça o download e instale.
Execute STLinkReflash.exe, aceite o contrato, selecione [1] - Atualizar para o J-Link.
A qualquer momento, você pode retornar o ST-Link de volta selecionando [3] - Restaurar ST-Link. imagem
Apagamos a memória no microcontrolador
Abra o J-flash lite no lançamento, clique em OK imagem
Selecione seu microcontrolador e pressione Apagar. imagem

Criação de projeto


Na pasta do projeto, crie 2 projetos:
 C:\projects\armtest_cube C:\projects\armtest 

Crie um projeto no CubeMX
Entramos no CubeMX, criamos um novo projeto.
Incluímos o FreeRTOS no projeto, alterne USE_TRACE_FACILITY -> ENABLED
imagem
RECORD_STACK_HIGH_ADDRESS -> Ativar
imagem
SYS -> Timebase Source, selecione qualquer timer desnecessário, por exemplo, TIM7
imagem
Incluímos funções adicionais conforme necessário.
Clique em Gerar código.
imagem
Crie um projeto no Eclipse
Vá para Eclipse -> Novo -> Projeto ...
Escolha o projeto C
imagem
Definimos o nome do projeto e sua localização, selecione o tipo de projeto.
imagem
O mais importante é indicar o kernel correto, dependendo do seu tipo de microcontrolador (consulte a folha de dados). O restante das configurações não é importante.
imagem
Clique em Avançar, Avançar.
Se a cadeia de ferramentas não for detectada automaticamente, indique sua localização.
Clique em Finish.
imagem
Exclua tudo da árvore do projeto:
imagem
Entramos na pasta do projeto armtest_cube e copiamos tudo, exceto .project e .cproject na pasta do projeto armtest.
imagem
Atualizando a árvore do projeto:
imagem
Vá para as configurações do projeto Projeto -> Propriedades, selecione o microcontrolador necessário. imagem
Entramos nas configurações do vinculador, excluímos todos os arquivos de script disponíveis e adicionamos o arquivo ld da árvore do projeto.
imagem
Conectamos a biblioteca ao suporte ao ponto flutuante:
imagem
Selecione o formato de arquivo de saída Motorola S-record
imagem
Adicionar includy:
imagem
Inclua defin para pré-processador:
imagem
Renomeie o arquivo de inicialização "startup_stm32l476xx.s" para "startup_stm32l476xx.S". Caso contrário, os erros aparecerão na depuração. imagem
Executar -> Configurações de Depuração imagem
Instale o plug-in do depurador FreeRTOS
Ajuda -> Instalar novo software ...
 http://freescale.com/lgfiles/updates/Eclipse/KDS 
imagem

Sumário


Ative a Depuração, no novo menu do FreeRTOS, selecione Lista de Tarefas + Uso de Heap.

imagem

Temos uma exibição visual da carga de Heap & Stack e outros pães:

imagem

Source: https://habr.com/ru/post/pt441810/


All Articles