Índice:

Configurando o FreeRTOS From Scratch no STM32F407 Discovery Kit: 14 etapas
Configurando o FreeRTOS From Scratch no STM32F407 Discovery Kit: 14 etapas

Vídeo: Configurando o FreeRTOS From Scratch no STM32F407 Discovery Kit: 14 etapas

Vídeo: Configurando o FreeRTOS From Scratch no STM32F407 Discovery Kit: 14 etapas
Vídeo: LAB 5 - RTOS CMSIS CON ATOLLIC EN STM32F407 Discovery Parte 2 2024, Julho
Anonim
Configurando o FreeRTOS From Scratch no STM32F407 Discovery Kit
Configurando o FreeRTOS From Scratch no STM32F407 Discovery Kit

Escolher o FreeRTOS como um sistema operacional em tempo real para o seu projeto embarcado é uma ótima escolha. O FreeRTOS é verdadeiramente gratuito e oferece muitos recursos RTOS simples e eficazes. Mas configurar freeRTOS do zero pode ser difícil ou posso dizer um pouco confuso, pois requer alguma personalização, como adicionar arquivos específicos do microcontrolador, definir caminhos de arquivo de cabeçalho, etc. seu kit Discovery STM32F407 em detalhes usando Kiel uVision IDE.

Suprimentos

  • Você pode encontrar mais sobre o FreeRTOS em freertos.org
  • Guia de download do FreeRTOS Instruções para download do código-fonte RTOS
  • Detalhes completos sobre o Kit de descoberta STM32F407 Introdução ao KIt de descoberta STM32F407
  • Github Repository FreeRTOS no kit de descoberta STM32F407

Etapa 1: Abra Keil UVision IDE

Abra Keil UVision IDE
Abra Keil UVision IDE

Abra Keil uVision IDE. Clique em um projeto e selecione New uVision Project… Em seguida, selecione seu diretório de trabalho e forneça o nome de seu projeto preferido.

Etapa 2: Selecione o dispositivo

Selecione o dispositivo
Selecione o dispositivo

Depois de dar um nome ao projeto, na próxima etapa você precisa adicionar o dispositivo. Aqui estamos adicionando o microcontrolador STM32F407VG da STMicroelectronics. Selecione STM32F407VG e clique em OK.

Etapa 3: Gerenciar o ambiente de tempo de execução

Gerenciar ambiente de tempo de execução
Gerenciar ambiente de tempo de execução

A próxima etapa é selecionar o componente de biblioteca / driver na guia Gerenciar ambiente de tempo de execução. Selecione aqui todos os componentes como mostrado na imagem acima. Depois de marcar todos os campos apropriados, clique em Resolver e em OK.

Etapa 4: Copie FreeRTOS em sua pasta de projeto

Copie FreeRTOS em sua pasta de projeto
Copie FreeRTOS em sua pasta de projeto

Agora você precisa copiar toda a pasta FreeRTOS para a pasta do projeto.

Etapa 5: Adicionar arquivos FreeRTOS ao projeto

Adicionar arquivos FreeRTOS ao projeto
Adicionar arquivos FreeRTOS ao projeto

Depois de copiar a pasta FreeRTOS dentro da pasta do seu projeto, você deve adicionar todos os arquivos FreeRTOS necessários ao seu projeto.

  1. Em Keil, selecione Target1, clique com o botão direito e selecione Adicionar novo grupo. Renomeie este grupo como FreeRTOS.
  2. Agora clique no grupo FreeRTOS, clique com o botão direito do mouse e selecione Adicionar arquivos existentes ao grupo "FreeRTOS…"
  3. Adicione todos os arquivos FreeRTOS conforme mostrado na imagem acima.

O caminho para encontrar esses arquivos na pasta FreeRTOS é:

  • Arquivos: croutine, event_groups, list, queue, stream_buffer, tasks e timers. Caminho: (…. / FreeRTOSv10.2.1 / FreeRTOS / Source)
  • Arquivos: heap_4 (existem 4 arquivos de gerenciamento de memória para adicionar qualquer pessoa). Caminho: (…. / FreeRTOSv10.2.1 / FreeRTOS / Source / portable / MemMang)
  • Arquivos: port.c (este é um arquivo específico de MCU). Caminho: (… / FreeRTOSv10.2.1 / FreeRTOS / Source / portable / RVDS / ARM_CM4F)

Nota: a versão do FreeRTOS pode mudar. Basta usar a versão mais recente disponível.

Etapa 6: configurar o caminho dos arquivos de cabeçalho FreeRTOS

Configure o caminho dos arquivos de cabeçalho FreeRTOS
Configure o caminho dos arquivos de cabeçalho FreeRTOS

Depois de adicionar os arquivos de origem do FreeRTOS, você precisa informar ao compilador onde os respectivos arquivos de cabeçalho estão localizados. Portanto, precisamos configurar a opção do compilador.

Clique com o botão direito na Opção Target1 para Target "Target1.." C / C ++ Incluir caminho. Certifique-se de incluir estes caminhos:

  1. Incluir pasta em FreeRTOS (… / FreeRTOSv10.2.1 / FreeRTOS / Source / include)
  2. Diretório RVDS (… / FreeRTOSv10.2.1 / FreeRTOS / Source / portable / RVDS / ARM_CM4F)

Nota: Se você tiver arquivos de cabeçalho, certifique-se de incluir o caminho desses arquivos de cabeçalho conforme explicado acima.

Etapa 7: Adicionar o arquivo "FreeRTOSConfig.h" ao projeto

Adicionar
Adicionar

O FreeRTOS tem um arquivo de cabeçalho importante chamado FreeRTOSConfig.h. Este arquivo contém a personalização específica do aplicativo (em nosso caso específico do Cortex M4F MCU). Para simplificar, copiei nosso arquivo FreeRTOSConfig.h específico do MCU no diretório RVDS. E também na etapa 6, já adicionamos o caminho RVDS. Se você estiver adicionando você mesmo, então você deve adicionar este arquivo em seu projeto e também certifique-se de incluir o caminho deste arquivo conforme explicado na etapa 6.

Caso você queira adicionar o arquivo FreeRTOSConfig.h sozinho no diretório de sua preferência, incluí este arquivo abaixo.

Para mais informações clique aqui FreeRTOSConfig.h

Etapa 8: adicione o arquivo "main.c" com o modelo básico

Adicione o
Adicione o
  • Agora crie um novo grupo de usuários (mudei o nome para "Aplicativo de usuário").
  • Adicione um novo arquivo C a este grupo (eu adicionei um arquivo chamado main.c).
  • Este é o arquivo onde existe a função main (). Incluí todas as funções e cabeçalhos mínimos necessários neste arquivo para que o projeto seja compilado com êxito.

Você pode encontrar o arquivo main.c com o modelo básico abaixo.

Etapa 9: Conecte seu kit de descoberta STM32F407 ao seu PC / laptop

Conecte seu kit de descoberta STM32F407 ao seu PC / laptop
Conecte seu kit de descoberta STM32F407 ao seu PC / laptop

Etapa 10: selecione o depurador ST-Link na configuração do compilador

Selecione ST-Link Debugger em Compiler Configuration
Selecione ST-Link Debugger em Compiler Configuration

Clique com o botão direito em Target1, clique em Option for Target "Target1..", navegue até a guia Debug e selecione ST-Link-Debugger como mostrado na imagem acima

Etapa 11: configurar o depurador ST-Link

Configurar o depurador ST-Link
Configurar o depurador ST-Link

Após selecionar o depurador ST-Link na etapa 10, clique em Configurações e selecione Rastrear e verifique todos os campos conforme mostrado na imagem acima.

Etapa 12: construir e fazer upload do código

Crie e carregue o código
Crie e carregue o código

Depois de concluir todas as etapas, construa o projeto e certifique-se de que não haja erros no código. Após a compilação bem-sucedida, carregue o código em seu Kit de descoberta.

Etapa 13: vá para a janela de depuração e abra o monitor serial

Vá para a janela de depuração e abra o monitor serial
Vá para a janela de depuração e abra o monitor serial

Após o upload, vá para debug windowviewSerial WindowsDebug (printf) Viewer conforme mostrado na imagem acima.

Etapa 14: execute o código para ver a janela de saída do Printf de depuração

Execute o código para ver o Ouput na janela Debug Printf
Execute o código para ver o Ouput na janela Debug Printf

A etapa final é executar o código conforme mostrado na imagem para ver a saída na janela printf. Aqui em main.c, implementei 2 tarefas simples chamadas task1 e task2. Ambas as tarefas têm a mesma prioridade e apenas imprimem o nome da tarefa. Devido às mesmas prioridades, você pode ver os dois rodando e imprimindo o nome.

Recomendado: