Exemplo de utilização do uVision4-Keil para criar um projeto ARM

Keil uVision4 destaque
Este post faz parte da série Projeto ARM com Keil uVision4. Leia também os outros posts da série:

Olá pessoal! Este é meu primeiro artigo que estou publicando aqui no embarcados. Pretendo iniciar com uma série de 3 artigos que descrevem o procedimento para criar um projeto usando linguagem C para a arquitetura ARM. A IDE utilizada para isso é o uVision da Keil. 

Hoje existem diversas plataformas que abordam esta arquitetura, mas a forma de configuração é sempre bem similar e dentre as várias IDE’s para desenvolvimento, sem dúvida a uVision da Keil é um destaque. 

O uVision possui seu próprio editor de texto incorporado à IDE o que facilita o processo de criação do projeto.  Neste início, vou me atentar somente à criação do projeto que deve seguir alguns passos importantes antes de iniciar a programação propriamente dita. Conforme a evolução dos artigos e do conhecimento de vocês vamos evoluindo. A uVision disponibiliza uma versão demo limitada ao tamanho de código compilado de 32KB. Ou seja, ideal para iniciar seus estudos com a disponibilidade de todos os recursos da versão Full.

Você pode fazer o download do uVision direto do site da Keil após um breve cadastro. O programa possui aproximadamente 580MB.  

https://www.keil.com/demo/eval/arm.htm

Um novo projeto no Keil

Abrindo o programa Keil uVision4, temos sua IDE básica conforme mostrado na figura abaixo : 

IDE Keil
Figura 1 – IDE Keil.

Vamos agora iniciar as configurações da IDE do Keil. Clique em Project→ New uVsion Project:

Criando projeto no Keil uVision4
Figura 2 – Criando projeto.

Em seguida, escolha o diretório onde será salvo seu projeto e o nome dele:

Salvar o projeto no Keil uVision4
Figura 3 – Salvar o projeto.

 

Após esta etapa, devemos agora selecionar o Microcontrolador ARM no qual nosso projeto será baseado. Para o meu caso, estarei sempre trabalhando com a plataforma LPC2129/01. Nesta etapa são disponibilizadas todas as arquiteturas que possuem licenciamento junto à ARM.  

Escolha do Microcontrolador.
Figura 4 – Escolha do Microcontrolador.
Escolha do Microcontrolador.
Figura 5 – Escolha do Microcontrolador.

Neste momento será oferecido um arquivo de startup de configuração do microcontrolador escolhido. Clique em OK. 

NOTA: Depois de escolher o Microcontrolador para o projeto, nesta etapa, programa vai esperar para que o usuário confirme a aceitação de uma cópia do arquivo de inicialização do Keil. O arquivo startup.s. Este arquivo de inicialização vem com a configuração default de operação para o Microcontrolador escolhido. O código de inicialização tem que corresponder à configuração do design de hardware do microcontrolador que você estiver utilizando. O arquivo de startup.s carrega informações importantes da arquitetura do microcontrolador utilizado como por exemplo: tabela e endereço de vetores, configuração do tamanho da stack e heap, etc.  

Caso este arquivo não seja aceito neste momento, todas as diretivas contidas nele devem passar a fazer parte do programa desenvolvido pelo próprio usuário. 

Logo, é altamente recomendável a aceitação deste arquivo para inclusão do mesmo ao projeto! 

Arquivo startup.s.
Figura 6 – Arquivo startup.s.

Neste momento, nossa IDE já começa a tomar “corpo”. Já podemos notar no canto esquerdo superior os componentes atuais de nosso projeto bem como sua hierarquia e extensões de cada arquivo. 

IDE Keil.
Figura 7 – IDE Keil.

Devemos agora selecionar Project → Components, Enviroment, Books … e, em seguida, clique em Folders/Extensions, para realizarmos configurações adicionais ao projeto. A figura abaixo mostra esta etapa. 

Configurações Adicionais.
Figura 8 – Configurações Adicionais.
Configurações Adicionais.
Figura 9 – Configurações Adicionais.

Como nossa proposta neste primeiro artigo é uma configuração básica de um projeto, podemos manter as caixas de seleção na configuração default. Conforme as seleções das caixas de configuração como na imagem abaixo: 

Configurações Adicionais.
Figura 10 – Configurações Adicionais.

Existem algumas opções de configuração a serem efetuadas na IDE do Keil. Elas são importantes para o caso de você utilizar o Debug do simulador do Keil. Um recurso bastante interessante que será citado em particular nos próximos artigos. 

Agora que configuramos a IDE, precisamos executar algumas configurações específicas do microcontrolador. Clique em Project → Options for Target … 

Configurar o X-TAL. No meu caso específico estarei colocando 12 MHz e verifique se a configuração da memória está de acordo com o Mapa de memória do seu Microcontrolador. Você pode obter esta informação através do Datasheet do seu microcontrolador escolhido. 

Opções do microcontroladores.
Figura 11 – Opções do microcontroladores.
Configuração do Cristal.
Figura 12 – Configuração do Cristal.

Output: Seleciona o check box para criação do arquivo .Hex. Finalizar em OK como na imagem abaixo. 

Gerando o arquivo .hex.
Figura 13 – Gerando o arquivo .hex.

O procedimento acima é importante ser realizado independente da utilização do simulador ou PCI Didática. Pois só a partir deste momento o Keil passará a gerar o arquivo .hex que será descarregado no Microcontrolador.

Programando

Agora iremos começar a escrever nosso arquivo de projeto em C. Clique em File→ New … ou podemos utilizar o atalho colocado no menu principal: 

Início da programação.
Figura 14 – Início da programação.

Após finalizarmos nosso programa, devemos salva-lo colocando como extensão .c. File→Save as.. 

 Salvando o programa.
Figura 15 – Salvando o programa.
Primeiro programa.
Figura 16 – Primeiro programa.

Notem que, após nomear o arquivo como “main.c”, podemos ver que as cores de alguns caracteres no programa são alteradas pelas funções que a mesma representa no programa como comentário, variável e de comando, diretivas, etc. Isso faz com que o utilizador (Programador) tenha uma compreensão melhor e mais intuitiva do programa. 

Para adicionar arquivos em um de projeto, clique em Project → Components, Enviroment, Books … selecione a aba Components, e clique em Add Files.. Esta é uma grande flexibilidade de se trabalhar com ARM. Já existem muitas bibliotecas prontas de módulos, IOs, ADs, CAN, que podemos facilmente integrar ao nosso projeto a partir desse conceito. 

Adicionando libraries.
Figura 17 – Adicionando libraries.

Neste primeiro momento, devemos selecionar arquivos do tipo “Arquivos fonte (*. C)”. 

Adicionando libraries.
Figura 18 – Adicionando libraries.
Adicionando libraries.
Figura 19 – Adicionando libraries.

E a partir do quadro a esquerda, podemos observar toda a hierarquia criada para nosso projeto. 

Hierarquia
Figura 20 – Hierarquia.

Agora com o projeto organizado, podemos compilar o mesmo e criar os links entre as funções caso existam. 

Podemos executar a compilação clicando no botão abaixo: 

Figura 21 – Compilando o projeto
Figura 21 – Compilando o projeto.

Agora é compilar e compilar até não haver mais erros….  

No próximo artigo desta série vamos criar nosso primeiro programa. Abraço e até lá.

Outros artigos da série

<< Configuração e Acionamento de IO na Família LPC21XX
Website | Veja + conteúdo

Sou formado em técnico em eletrônica pela E.T.E Júlio de Mesquita. Fiz graduação no Centro Universitário da FEI em engenharia elétrica com ênfase eletrônica. Posteriormente, fiz uma Pós graduação no Instituto Mauá de tecnologia na área de eletrônica embarcada e sistemas Mobile. Atualmente atuo na indústria automobilística buscando implementação de sistemas de controle e otimização de processos e sua rastreabilidade. Busco levar características enxutas e eficazes dos sistemas embarcados para automação industrial.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Comentários:
Notificações
Notificar
guest
1 Comentário
recentes
antigos mais votados
Inline Feedbacks
View all comments
Antonio Cesario
Antonio Cesario
11/07/2018 01:08

Muito bom artigo. Leandro comecei a uma semana usar o Keil uVision5 devido a um projeto de um cliente que ele quer que eu modifique. O programador anterior que fez o projeto sumiu. Minha duvida : O cliente mandou todos os arquivos do firmware, mas esta dando erro que esta faltando alguns arquivos .h. Ele me mandou uma lib também, eu editei e vi um monte de caracteres estranhos e nessa mistura vi as definições desses arquivos. Estão definidos dentro da lib. Como eu acrescento essa lib no projeto para resolver essas pendencia ? Obs: O arquivo com extenção uvprojx… Leia mais »

Talvez você goste:

Séries



Outros da Série

Menu