Índice:
- Etapa 1: baixe tudo que você precisa
- Etapa 2: Instalando o software
- Etapa 3: Configurando um Projeto de Amostra
- Etapa 4: Concluído
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:35
Neste Instructable, vou mostrar como é fácil começar a desenvolver programas STM32 no Linux. Comecei a usar o Linux como minha máquina principal há 2 anos e não me decepcionei. Tudo funciona mais rápido e melhor do que o Windows. Claro que é menos conveniente de vez em quando, mas força você a aprender coisas mais profundamente para que possa usá-lo.
Enfim, neste instrutível, parte de uma série que estou começando aqui E no youtube é sobre como iniciá-la. Por favor, certifique-se de assistir meu vídeo no youtube também, onde eu explico tudo como um segmento e você pode codificar junto comigo.
Nesta série, vou mostrar como você pode desenvolver usando apenas um editor de texto como notepad, SublimeText ou Atom, para que você não precise de nenhum software proprietário ou IDE. Isso é o mais básico possível e é surpreendentemente fácil.
Etapa 1: baixe tudo que você precisa
Você precisa baixar três partes para que tudo funcione:
- Compilador GCC para ARM
- Arquivos de firmware STM32
- Utilitário St-link
- Projeto de amostra
O compilador é o principal software que compila nosso código C com todos os outros arquivos de biblioteca em linguagem de máquina que nosso controlador stm32 pode entender. Baixe a última versão pré-compilada deste compilador.
A pasta que contém o firmware STM32 é aquela que contém todos os arquivos de inicialização e de núcleo necessários para a operação do processador principal. Estaremos usando a Biblioteca Periférica Padrão que foi superada pela HAL. Eu gosto mais do StPeriphLibrary, já que as empresas que trabalham com esses processadores os usam porque é robusto, antigo e tem suporte. Também é mais robusto. Isso não elimina o trabalho que você tem que fazer para inicializar um periférico ou ligar um LED, mas força você a aprender como esses processadores funcionam. Com isso, você terá mais conhecimento do funcionamento interno e, assim, compreenderá a programação de qualquer tarefa.
O último software para download é o utilitário st-link. Ele é mantido no github e é usado para transferir arquivos binários compilados para o processador usando stlink IC na placa que serve como um programador / depurador SWD / JTAG.
Além disso, forneci uma pasta de projeto de amostra da qual falarei mais tarde e você pode baixá-la. Ele está dentro da primeira pasta VIDEO1.
Etapa 2: Instalando o software
Depois de fazer o download de todos os arquivos, sugiro que os coloque em uma pasta comum, pois todos são usados juntos para o mesmo propósito. Coloquei todas as pastas dentro de uma pasta chamada "Embedded" no meu diretório HOME.
Começaremos com a mais fácil, as bibliotecas STM32. A pasta que você baixou pode ser deixada lá. Apenas certifique-se de pesquisar para ver onde os arquivos apropriados estão armazenados. Portanto, você pode alterar e editar o MakeFile principal para que funcione com sua plataforma.
O segundo mais fácil é o compilador. Você também não precisa fazer nada para isso, mas faremos do compilador uma função acessível globalmente para que você possa chamar o compilador de qualquer pasta, independentemente do caminho. Todos os passos podem ser feitos em terminal ou em gui, mas eu gosto de usar terminal porque quando você ganha experiência fica mais rápido e fácil e encorajo você a usar mais terminal, se tiver medo. Aqui estão as etapas:
- Vá para a sua pasta pessoal "/ home / SEU NOME DE USUÁRIO /" ou "~ /" ou digite cd no terminal
- abra o arquivo ".bashrc" digitando: nano.bashrc
- role para baixo até o final do arquivo e adicione esta linha: export PATH = $ PATH: ~ / Embedded / gcc-arm-none-eabi-8-2018-q4 / bin
- saia salvando: CTRL + X, clique em Y, ENTER
- execute o comando: source.bashrc para atualizar as fontes do terminal
- verifique se tudo está funcionando digitando: arm-none-eabi-gcc --version, ele deve exibir a versão mais recente do compilador
Para instalar o st-link, extraia o arquivo que você baixou na pasta Embedded. Em seguida, siga estas etapas:
- Executar: make
- Vá para a pasta "build / Release": cd build / Release
- Digite ls e você verá dois executáveis chamados "st-flash" e "st-util"
- Mova esses dois para o diretório pai stlink: mv st-flash st-util../../
-
Você pode, se desejar usar essas duas funções, editar globalmente o arquivo ".bashrc" novamente adicionando:
exportar PATH = $ PATH: ~ / Embedded / stlink /
Isso é tudo! Você tem tudo que você precisa. Agora vá pegar seu editor de texto favorito. Use apenas um padrão, um mais inteligente como SublimeText ou Atom, é o que eu uso.
Etapa 3: Configurando um Projeto de Amostra
Agora criaremos um projeto de amostra que você pode usar para iniciar cada projeto. É como um modelo com todas as configurações principais já tratadas.
Você pode baixá-lo no meu MEGA, o link está na primeira etapa deste instrutível e abaixo de cada vídeo do youtube meu. Dentro está o arquivo main.c vazio junto com alguns arquivos de inicialização para este processador e o Makefile. Makefile é aquele que diz ao compilador C onde encontrar o compilador arm, como compilar e onde estão todas as bibliotecas. Para obter esses arquivos apropriados para o seu projeto, você pode ir para a pasta da biblioteca STM32 e verificar se há pastas de "projeto" ou "exemplos". Dentro, você verá e copiará estes arquivos: main.c, Makefile e XXX_conf.h, system_XXX.c. Além disso, você precisará do arquivo vinculador stm32_flash.ld, que pode ser encontrado na pasta:
"/ FLASH_Program / TrueSTUDIO / FLASH_Program /" que está dentro da pasta de exemplo ou apenas procure o arquivo.
O Makefile pode ser encontrado online ou copiado da minha pasta, mas você precisará alterar algumas coisas. Vamos dar uma olhada em meu arquivo de criação e o que você pode alterar.
# Caminho para a pasta stlink para enviar o código para a placa
STLINK = ~ / Embedded / stlink # Coloque seus arquivos de origem aqui (*.c) SRCS = main.c system_stm32f4xx.c # Arquivos de origem de bibliotecas #SRCS + = stm32f4xx_rcc.c #SRCS + = stm32f4xx_gpio.c # Binários serão gerados com este nome (.elf,.bin,.hex) PROJ_NAME = test # Coloque o diretório do código da biblioteca STM32F4 aqui, altere YOURUSERNAME para o seu STM_COMMON = / home / matej / Embedded / STM32F4-Discovery_FW_V1.1.0 # Configurações do compilador. Edite apenas CFLAGS para incluir outros arquivos de cabeçalho. CC = arm-none-eabi-gcc OBJCOPY = arm-none-eabi-objcopy # Sinalizadores do compilador CFLAGS = -g -O2 -Wall -Tstm32_flash.ld CFLAGS + = -DUSE_STDPERIPH_DRIVER CFLAGS + = -mlittle-endian -mthumb -mcpu = cortex-m4 -mthumb-interwork CFLAGS + = -mfloat-abi = duro -mfpu = fpv4-sp-d16 CFLAGS + = -I. # Incluir arquivos das bibliotecas STM CFLAGS + = -I $ (STM_COMMON) / Bibliotecas / CMSIS / Incluir CFLAGS + = -I $ (STM_COMMON) / Bibliotecas / CMSIS / ST / STM32F4xx / Incluir CFLAGS + = -I $ (STM_COMMON) / Bibliotecas / STM32F4xx_StdPeriph_Driver / inc CFLAGS + = -I $ (STM_COMMON) / Utilitários / STM32F4-Discovery # adicionar arquivo de inicialização para construir SRCS + = $ (STM_COMMON) / Bibliotecas / CMSIS / ST / STM32F4xx / Source / Templates / Truestm s OBJS = $ (SRCS:.c =.o) vpath%.c $ (STM_COMMON) / Libraries / STM32F4xx_StdPeriph_Driver / src \. PHONY: proj all: proj proj: $ (PROJ_NAME).elf $ (PROJ_NAME). $ (SRCS) $ (CC) $ (CFLAGS) $ ^ -o $ @ $ (OBJCOPY) -O ihex $ (PROJ_NAME).elf $ (PROJ_NAME).hex $ (OBJCOPY) -O binário $ (PROJ_NAME). $ (PROJ_NAME).bin clean: rm -f *.o $ (PROJ_NAME).elf $ (PROJ_NAME).hex $ (PROJ_NAME).bin # Flash o STM32F4 burn: proj $ (STLINK) / st-flash write $ (PROJ_NAME).bin 0x80000000
- Você pode editar a primeira linha para alterar o caminho para a pasta do utilitário stlink
-
Você pode alterar a linha para o destino de sua pasta com bibliotecas e SEU NOME DE USUÁRIO
STM_COMMON = / home / SEU NOME DE USUÁRIO / Embedded / STM32F4-Discovery_FW_V1.1.0
- Verifique também a seção onde todas as bibliotecas estão vinculadas. Isso pode mudar dependendo da plataforma que você está usando, portanto, verifique as alterações na árvore de arquivos. Tudo o mais que inclui quaisquer caminhos para certos arquivos, como a próxima linha com o arquivo de inicialização, pode ser alterado.
Depois de editar todas essas coisas dentro do Makefile, você pode verificar se ele está funcionando abrindo um terminal dentro do seu diretório e digitando: make. Se ele compilar tudo sem problemas, você está pronto. Caso contrário, verifique os erros do compilador e edite o Makefile.
Além disso, quando uso o Atom, coloco duas partes do código lado a lado. Normalmente main.c e Makefile à esquerda, pois você só precisa editar o Makefile uma vez e as bibliotecas à direita. Você pode ver na imagem que abri a pasta que contém os arquivos.c e.h para cada biblioteca. Você pode ver tudo isso nos vídeos.
Etapa 4: Concluído
Agora que você configurou o Makefile e o compilador está funcionando, pode usar esta pasta para todos os projetos como um modelo, portanto, certifique-se de salvar uma cópia desta pasta.
Além disso, você pode testar os programas st-flash e st-info conectando sua placa de desenvolvimento e digitando no terminal:
st-info --probe
Você pode ver a plataforma que o software stlink reconhece e a família IC junto com o cache e outras coisas. Você pode digitar:
st-info
para ver todos os parâmetros disponíveis.
Agora você pode começar a programar. No próximo instrutível e vídeo, vou mostrar o básico de GPIO e relógios. Esses dois são o básico para todo o resto, já que quase tudo com que a placa interage é sobre GPIO e tudo funciona no clock e você verá o padrão para programar esses processadores.
Até então, obrigado por conferir meu instrutível e meu vídeo do youtube, se você ainda não tiver feito isso.
Recomendado:
[HASS.IO] Comece a construir sua casa inteligente sem codificação, por menos de US $ 100: 6 etapas
[HASS.IO] Comece a construir sua casa inteligente sem codificação, por menos de US $ 100: Recentemente, tenho bagunçado e conseguido tornar minha casa menos "idiota". Então, vou compartilhar como fazer um sistema doméstico inteligente com um preço baixo e alta compatibilidade que funcione perfeitamente e estável
Comece a usar o NodeMCU (ESP8266) .: 3 etapas
Introdução ao NodeMCU (ESP8266) ….: Neste Instructable, estou compartilhando como você pode começar a usar o NodeMCU (ESP8266) com o Arduino IDE. Este tutorial é para iniciantes que estão apenas começando. NodeMCU é como o Arduino com Wifi integrado, então você pode levar seus projetos online. Para k
Desenvolver filme e papel fotográfico com produtos químicos domésticos: 3 etapas
Revele filme e papel fotográfico com produtos químicos domésticos: revelar filme em preto e branco é divertido e facilmente realizado em casa. Existe uma solução chamada caffenol que é feita a partir de produtos químicos domésticos facilmente encontrados. Isso daria a você negativos, como os que você obtém na foto de uma hora e
Comece seu show de luzes de Natal com um botão: 5 etapas
Comece seu show de luzes de Natal com um botão: Ao executar um show de luzes de Natal sincronizado com a música, você pode querer iniciar o show pressionando um botão. Este tutorial é aplicável apenas para um show que é controlado pelo Falcon Pi Player (FPP) rodando em um Raspberry Pi. Se você está correndo F
Comece com Kicad - atribua pegadas de PCB aos símbolos esquemáticos: 9 etapas
Comece com Kicad - Atribuir Pegadas de PCB aos Símbolos Esquemáticos: Continuando com a mini série de instruções sobre como usar o Kicad, agora temos a parte que me parece quando se começa a usar o Kicad é o mais complicado que é associar o símbolo ou símbolos do esquemático às peças reais que iremos