Projeto com a FRDM-K64F e KDS – Suporte ao KSDK e Processor Expert

FRDM-K64F e KDS Suporte ao KSDK e Processor Expert
Este post faz parte da série Projeto com a FRDM-K64F e KDS. Leia também os outros posts da série:

Dando continuidade à série Projeto com a FRDM-K64F e KDS, neste artigo explicarei como gerar código com suporte ao KSDK e com suporte ao Processor Expert.

Apenas para informação, esta é a sequência de post proposta na primeira parte:

  • Projeto com a FRDM-K64F e KDS: Codificação sem suporte ao KSDK e ao Processor Expert;

  • Projeto com a FRDM-K64F e KDS – Suporte ao KSDK: Codificação com suporte ao KSDK e sem suporte ao Processor Expert;

  • Projeto com a FRDM-K64F e KDS – Suporte ao KSDK e Processor Expert: Codificação com suporte ao KSDK e ao Processor Expert.

O que é o Processor Expert?

É uma ferramenta da NXP (antiga Freescale) que permite facilitar a inicialização dos periféricos. Com isso o tempo para iniciar o projeto fica bem reduzido.

Criando o projeto com suporte ao KSDK e ao Processor Expert

Com o KDS aberto, siga o seguinte caminho para criar o novo projeto: “File -> New -> Kinetis Project”. No campo “Project Name”, digite o seguinte nome de projeto: “PiscaLedComSuporteKSDKePE”. Clicar em “Next”. Selecione “Processors -> Kinetis K -> MK60 -> MK64F(120MHz) -> MK64FN1M0xxx12”. Clicar em “Next”.

KSDK e Processor Expert: Seleção do KSDK e Processor Expert
Figura 1: Seleção do KSDK e Processor Expert

No campo “Kinetis SDK” selecione “KSDK_1.2.0”. Marque o checkbox “Processor Expert”. Verifique se em “Project Mode” está selecionada a opção “Standalone”. Clicar em “Next”. Selecionar a opção “GNU…”, para gerar código para o KDS. Clicar em “Finish”.

Abrir o “Processor Expert” clicando no botão mostrado abaixo.

KSDK e Processor Expert: abrindo processor expert
Figura 2: Abrindo o Processor Expert

Para facilitar a configuração dos periféricos, altere o modo de visualização de “Basic” para “Advanced” e desmarcar a opção “Tabs View”.

KSDK e Processor Expert: Alterando o visual do Processor Expert
Figura 3: Alterando o visual do Processor Expert

Clicar na aba “Components Library”.

KSDK e Processor Expert: Components Library
Figura 4: Components Library

Selecionar a pasta de componentes “KSDK 1.2.0”. Neste momento, é necessário adicionar um componente de GPIO. Para isso, siga o caminho de pastas: “KSDK 1.2.0 -> Peripheral Drivers/HAL -> Inputs/Outputs -> fsl_gpio”. Clique duas vezes em “fsl_gpio”, assim será adicionado ao projeto.

KSDK e Processor Expert: Selecionando o componente GPIO
Figura 5: Selecionando o componente GPIO

Componentes do projeto, e o gpio adicionado.

KSDK e Processor Expert: Selecionando o componente para iniciar a configuração
Figura 6: Selecionando o componente para iniciar a configuração

Agora, é necessário editar este componente:

  • Adicionar os três pinos que controntram o LED RGB;
  • Configurá-los como saída;
  • Configurar o estado inicial como nível lógico 1, para manter os leds apagados.

Para isso, clicar na aba “Component Inspector”.

KSDK e Processor Expert: Component Inspector para um GPIO
Figura 7: Component Inspector para um GPIO

Para saber quais os pinos devem ser configurados, esta é uma parte do esquema com a ligação do LED RGB, na Figura 8:

KSDK e Processor Expert: Trecho do esquemático com detalhe dos pinos de acionamento
Figura 8: Trecho do esquemático com detalhe dos pinos de acionamento

Alterar as seguintes configurações:

  • Input pins: Disable
  • Output pins numbers: 3
  • Pin 0:
    • Pin: PTB22
    • Pin Name: LED_VERMELHO
    • Output logic: 1
    • Open Drain: Disable
  • Pin 1:
    • Pin: PTE26
    • Pin Name:  LED_VERDE
    • Output logic: 1
    • Open Drain: Disable
  • Pin 2:
    • Pin: PTB21
    • Pin Name: LED_AZUL
    • Output logic: 1
    • Open Drain: Disable

Execute Initialization -> Input pins -> Disable.

KSDK e Processor Expert: Detalhe da configuração final do GPIO
Figura 9: Detalhe da configuração final do GPIO

Clicar no botão para salvar todos os arquivos. Clicar no botão para gerar o código automáticamente.

KSDK e Processor Expert: Detalhe de salvar todos os arquivos e Gerar o Código do Processor Expert
Figura 10: Detalhe de salvar todos os arquivos e Gerar o Código do Processor Expert

Ao finalizar o processo de geração de código, pode minimizar a janela do Processor Expert. Abrir a pasta do projeto e terá estes arquivos:

KSDK e Processor Expert: Árvore de arquivos do projeto gerado
Figura 11: Árvore de arquivos do projeto gerado

Na pasta Source, ficam os fontes para o usuário alterar.

  • main.c: tem a função int main();
  • Events.c: tratamento de interrupções, funções de callback.

Nesta pasta também podem ser inseridos os novos módulos. É necessário seguir as indicações geradas pelos Processor Expert. Caso algum código seja inserido em lugares não apropriados, serão eliminados em alguma próxima geração automática de codigo.

KSDK e Processor Expert: Detalhamento de onde o código pode ser inserido
Figura 12: Detalhamento de onde o código pode ser inserido

De acordo com os artigos anteriores, as funcionalidades que devem ser inseridas no código são:

  1. Habilitar o fornecimento de clock para os ports: Já feito pelo Processor Expert;
  2. Configurar os pinos para operar como GPIO: Já feito pelo Processor Expert;
  3. Configurar a direção dos pinos: Já feito pelo Processor Expert;
  4. Operar no acionamento dos pinos.

A única tarefa que é realmente necessária, é o objetivo do projeto, que no caso é piscar os leds de tempo em tempo.

A funcionalidade de delay será semelhante aos artigos anteriores, uma variável é iniciada com um valor bem alto e decrementado até chegar a zero.

Para acionar os leds, serão usadas as funções dos KSDK, porém não é necessário acessar a documentação, basta explorar os componentes inseridos pelo Processor Expert. A função necessária é a de toggle.

KSDK e Processor Expert: Funções disponíveis para controlar o GPIO
Figura 13: Funções disponíveis para controlar o GPIO

Para utilizar a função, basta clicar e arrastar para o local desejado no código. E na função, indicar qual o nome do pino que se deseja atuar. Veja como ficou no código.

O tamanho do binário final:

KSDK e Processor Expert: Tamano do binário final
Figura 14: Tamano do binário final

Conclusão

O tamanho do binário é o valor indicado por “text”. Sendo assim, segue a comparação dos tamanhos dos binários:

  1. Código somente com KDS = 1736;
  2. Código com KDS e KSDK = 14344;
  3. Código com KDS, KSDK e Processor Expert = 13196.

O primeiro método realmente é o que menos consome, porém tem o custo da curva de aprendizagem, consulta em documentação. O segundo método já consome bem mais código, pois para modularizar o acesso ao hardware, diversas chamadas de funções são geradas. O terceiro método é o mais amigável, e ainda consumiu um pouco menos que o segundo. A grande facilidade está em configurar os periféricos de forma visual.

O que achou dos métodos, qual sua preferência?

Outros artigos da série

<< Projeto com a FRDM-K64F e KDS – Suporte ao KSDK
Veja + conteúdo

Engenheiro de Desenvolvimento de Sistemas Embarcados formado à 10 anos. Desenvolvimento de circuitos microcontrolados de 8, 16 e 32 bits (PIC, dsPIC, Cortex M0+, Cortex M3 e Cortex M4F). Firmwares bare metal, FreeRTOS. Módulos de comunicação GSM. Interesses em conectividade, IoT, Linux Embarcado, plataformas open hardware.

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
0 Comentários
Inline Feedbacks
View all comments
Talvez você goste:

Séries



Outros da Série

Menu