Criando uma nova aplicação com o KSDK e o Processor Expert

Processor Expert
Este post faz parte da série KSDK. Leia também os outros posts da série:

O Processor Expert é uma grande ferramenta da Freescale há muitos anos. Ele é um gerador de funções e de arquivos .c e .h que servem de base para um projeto para os microcontroladores da Freescale. Assim como o KSDK, o Processor Expert também pode gerar código para várias IDEs, como o KDS, Keil e IAR. E a grande novidade é que o Processor Expert agora usa os drivers do KSDK como base em sua geração de código, o que cria uma ligação lógica e muito funcional entre as duas ferramentas, da facilidade de uso do Processor Expert com a modularização e ótima documentação do KSDK.

 

É importante ressaltar que nem todo projeto com o KSDK precisa utilizar o Processor Expert. Na verdade, em alguns exemplos mais adiante, em tutoriais futuros, não utilizaremos o Processor Expert, apenas o KSDK, mas veremos que todo o código que foi criado nestes primeiros tutoriais com o Processor Expert poderão ser aproveitados em projetos sem ele, desde que estes projetos tenham como base o KSDK. E é aí que o Processor Expert mostra todo seu valor. É uma excelente ferramenta para estruturar as chamadas de código do KSDK, aprender a usar periféricos, e pode ser totalmente reaproveitado em outros projetos que não o utilizem depois.

 

* Usuários que quiserem utilizar o IAR como IDE podem utilizar o KDS para fazer as configurações inicias com o Processor Expert e depois migrarem o seu código para o IAR. Mostraremos em um tutorial futuro como fazer isso.

 

 

Começando o nosso projeto com o KSDK e Processor Expert

 

Este tutorial leva em consideração que você já seguiu os passos do  artigo Kinetis SDK (KSDK) - Introdução - Preparando o ambiente.

 

Passo 1: Abra o Kinetis Design Studio 3.0.0. Use o diretório que você criou para o Workspace.

 

Processor Expert - Iniciando o KDS
Figura 1 - Kinetis Design Studio

 

Passo 2: Clique em File -> New -> Kinetis Project.

 

Passo 3: Digite um nome para o projeto e clique em Next.

 

Passo 4: Selecione o processador Processors -> Kinetis K -> MK60 -> MK64 (120 MHz) -> MK64FN1M0xx12, ou digite mk64FN na caixa de filtro de texto e selecione o processador.

 

Passo 5: Selecione o KSDK e o Processor Expert para serem utilizados no projeto e clique em Next:

 

Configurando o projeto com o KSDK e o Processor Expert
Figura 2 - Configurando o projeto com o KSDK e o Processor Expert

 

Passo 6: Selecione GNU C Compiler. Caso o seu programa vá utilizar IAR, este seria o momento de selecionar esta ferramenta. Mas cobriremos isso em um tutorial futuro.

 

Selecionando o compilador para o projeto com Processor Expert
Figura 3 - Selecionando o compilador para o projeto

 

Passo 7: Clique em Finish e aguarde o programa ser criado.

 

Passo 8: Após o projeto ser criado, clique na pasta referente ao nome dele, que está na coluna da esquerda do KDS.

 

Há três views importantes para o Processor Expert, localize elas em sua tela:

 

  •     View Components - Mostra quais componentes estão presentes no projeto.

 

Processor Expert - componentes
Figura 4 - View Components

 

  • View Component Inspector - Mostra as propriedades de cada componente selecionado na View Components.

 

Processor Expert - View Component Inspector
Figura 5 - View Component Inspector

 

  • View Components Library - Adiciona novos componentes ao projeto.

 

View Components Library
Figura 6 - View Components Library

 

Passo 9: Na view Component Inspector, há um botão chamado view Menu. Clique nele, e selecione as propriedades Advanced, e também deselecione a opção Tabs View.

 

Configurando o component inspector
Figura 7 - Configurando o component inspector

 

Passo 10: Utilizando a view Components Library, na aba Categories, adicione os seguintes componentes ao seu projeto,clicando duas vezes:

  • KSDK 1.2.0 ->Peripherals Drivers / HAL -> Timers -> fsl_pit;
  • KSDK 1.2.0 ->Peripherals Drivers / HAL -> Inputs/Outputs -> fsl_gpio.

  

*Note que para cada periférico existe o driver e uma versão do driver com final _hal.

 

A versão HAL é uma versão simplificada, de mais baixo nível. Neste momento utilizaremos apenas a versão mais alta do peripheral driver. Toda a documentação destes drivers está na pasta doc do folder de instalação do KSDK.

 

Ao final deste passo sua view Components deverá estar assim:

 

Status final do view Components
Figura 8 - Status final do view Components

 

Passo 11: Usando a view Components, selecione o componente gpio1. Usando a view Component Inspector, altere as seguintes configurações deste componente:

  • Output Pins -> Output Configurations -> Output Configuration 0 -> Output Pins Numbers = 3;
  • Output Pins -> Output Configurations -> Output Configuration 0 -> Output Pins Numbers: 3 -> Pin 0 -> Pin = PTB22/SPI2_SOUT/FB_AD29/CMP2_OUT;
  • Output Pins -> Output Configurations -> Output Configuration 0 -> Output Pins Numbers: 3 -> Pin 0 -> Output Logic = 1;
  • Output Pins -> Output Configurations -> Output Configuration 0 -> Output Pins Numbers: 3 -> Pin 1 -> Pin = PTB21/SPI2_SCK/FB_AD30/CMP1_OUT;
  • Output Pins -> Output Configurations -> Output Configuration 0 -> Output Pins Numbers: 3 -> Pin 1 -> Output Logic = 1;
  • Output Pins -> Output Configurations -> Output Configuration 0 -> Output Pins Numbers: 3 -> Pin 2 -> Pin = PTE26/ENET_1588_CLKIN/UART4_CTS_b/RTC_CLKOUT/USB_CLKIN;
  • Output Pins -> Output Configurations -> Output Configuration 0 -> Output Pins Numbers: 3 -> Pin 2 -> Output Logic = 1.

 

Output Logic significa que o pino iniciará como nível lógico 1. A configuração deverá ficar assim:

 

Configuração dos pinos
Figura 9 - Configuração dos pinos

 

Passo 12: Altere as configurações do componente fsl_pit.

 

  • Settings -> Configurations -> Configurations 0 -> Period = 200 ms

 

Configuração do Timer
Figura 10 - Configuração do Timer

 

Passo 13:  Agora que você já configurou seus componentes, é hora de pedir ao Processor Expert para gerar os arquivos .c e .h que serão usados como base em seu programa. Para fazer isso clique em Project -> Generate Processor Expert Code.

 

IMPORTANTE: A cada modificação dos componentes nas views do Processor Expert é necessário repetir este passo para que os arquivos sejam atualizados.Você não precisa fazer isso se fizer apenas modificação no código fonte do seu projeto.

 

Passo 14: Usando a view Components, dentro do componente do PIT Timer, clique duas vezes na função PIT0_IRQHandler. Isso abrirá a função no arquivo Events.c de tratamento de interrupção que é chamada a cada 200 ms.

 

Parte do código com a interrupção do timer
Figura 11 - Código com a interrupção do timer

 

Passo 15: Ainda na view Components, agora no componente de gpio, encontre a rotina GPIO_DRV_TogglePinOutput. Arraste esta rotina PIT0_IRQHandler, e coloque como parâmetro a porta a ser invertida. O código deverá ficar assim:

 

 

Pronto! Agora o código de pisca-led está pronto para ser compilado e testado na placa.

 

Passo 16: Clique em Project-> Build para compilar o projeto.

 

Passo 17: Após ter compilado com sucesso no passo 16, clique em Run -> Debug Configurations.

 

Passo 18: Selecione GDB Segger J-Link Debugging -> Nome do seu projeto.

 

Clique na aba Startup, e desabilite o SWO. Feito isso, clique em Debug:

 

Configuração do Debug
Figura 12 - Configuração do Debug

 

Passo 19: A IDE irá mudar para a perspectiva de debug. Aperte o botão Resume para iniciar a execução do programa.

 

Passo 20: Use os botões Suspend para pausar a execução, Restart para reiniciar, e Terminate para encerrar a sessão de Debug.

 

descrição do botões
Figura 13 - Botões de debug

 

Para voltar a alterar seu projeto, volte para a perspectiva de edição de código:

 

Selecionando a perspectiva de edição de código
Figura 14 - Selecionando a perspectiva de edição de código

 

 

PARTE EXTRA: Utilizando o módulo de ADC (Conversor Analógico Digital)

 

Passo 1 extra: Na view Components Library, aba Categories, selecione o seguinte componente:

 

KSDK 1.2.0 ->Peripherals Drivers / HAL -> Analog -> fsl_adc16

 

Passo 2 extra: Mude o canal de leitura para o canal do sensor de Temperatura, como na figura abaixo:

 

PRocessor Expert - Configurando o conversor AD
Figura 15 - Configurando o conversor AD

 

Passo 3 extra: Clique em Project -> Generate Processor Expert Code.

 

Passo 4 extra: Modifique a função pitTimer1_OnTimeOut para a seguinte forma:

 

 

Passo 5 extra: Carregue sua aplicação para a placa.

 

Passo 6 extra: Na perspectiva de Debug, clique em Window -> Show View -> Expressions.

 

Passo 7 extra: Adicione a variável Resultado a view Expression.

 

Passo 8 extra: Insira um breakpoint na linha:

 

 

E verifique o valor da variável Resultado.

 

 

Conclusão

 

Neste tutorial aprendemos a inicializar periféricos usando o KSDK e Processor Expert. Nos próximos tutoriais iremos ver um exemplo utilizando conectividade TCP/IP e como podemos integrar estes devices drivers para criar uma aplicação real de IoT.

 

 

Saiba mais

 

Freescale Freedom K64F

- Kinetis SDK (KSDK) - Introdução - Preparando o ambiente.

Concurso de Projetos Casa Conectada 2015

Outros artigos da série

<< Kinetis SDK (KSDK) - Introdução: Preparando o ambiente
Este post faz da série KSDK. Leia também os outros posts da série:
NEWSLETTER

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

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

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

3
Deixe um comentário

avatar
 
3 Comment threads
0 Thread replies
1 Followers
 
Most reacted comment
Hottest comment thread
3 Comment authors
Igot zakanovEduardo ScherrerRonaldo Nunez Recent comment authors
  Notificações  
recentes antigos mais votados
Notificar
Igot zakanov
Visitante
Igot zakanov

Bom dia Denis, No aguardo do tutorial de como integrar o processor Expert ao IAR e KEIL. haja vista que kds é muito pobre no quesito emulação.

Eduardo Scherrer
Visitante
Eduardo C. Scherrer

Denis,

Excelentes posts sobre o kds+ksdk.

Só para complementar este post:

Antes de iniciar o projeto com o KDS + KSDK é necessário aplicar uma atualização do KSDK no KDS, porém esta informação não está bem explicita.

Dentro da pasta onde o KSDK foi instalado, existe uma pasta de DOC, e tem o pdf "Getting Started with Kinetis SDK (KSDK) v.1.2.pdf".

Lendo o documento, tem uma explicação sobre esta atualização.

Abraço

Eduardo Scherrer

Ronaldo Nunez
Visitante

Tenho usado o combo KDS+KSDK no trabalho, estou gostando muito. O fato de rodar no Linux é simplesmente perfeito! 🙂