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

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.

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
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.

Software » Exemplo de utilização do uVision4-Keil para criar um projeto ARM
Comentários:
Notificações
Notificar
guest
1 Comentário
recentes
antigos mais votados
Inline Feedbacks
View all comments
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