Primeiros passos com Kinetis Design Studio e FRDM-KL05Z Deixe um comentário

Olá caro leitor, tudo bem? Aqui no blog do MakerHero existem vários artigos sobre as placas Freedom Board da empresa NXP Semiconductors. O objetivo desse artigo é apresentar a ferramenta Kinetis Design Studio (KDS) para auxiliar no desenvolvimento de projetos com essas placas.

Kinetis Design Studio (KDS)

O Kinetis Design Studio é uma IDE (Integrated Development Environment) um ambiente de desenvolvimento integrado gratuito para a família de microcontroladores Kinetis ARM Cortex-M, que permite a edição robusta, compilação e depuração de seus projetos. Essa IDE é baseada em software gratuito e de código aberto, incluindo Eclipse, GNU Compiler Collection (GCC), GNU Debugger (GDB) e outros.

Características:

  • Eclipse Luna 4.4
  • Sistemas Operacionais Host:
  • Windows® 7/8/10 (32 e 64 bits)
  • Linux® 64-bit Ubuntu (deb), RedHat / Centos 7 (rpm))
  • Mac OS X (10.10 e 10.11) com suporte SEGGER J-Link
  • Depurador do GDB com suporte para o seguinte hardware de interface de depuração:
  • SEGGER J-Link (w/SEGGER GDB Server, Windows, Linux, Mac)
  • Multilink da P&E (w/P&E GDB Server, Windows, Linux)
  • CMSIS-DAP (w/OpenOCD GDB and OpenSDA embedded circuit,Windows, Linux)
  • Depuração de Linha de Comando (CL) com GDB e OpenOCD TCL
  • Suporte para plug-ins adicionais do Eclipse para download, incluindo reconhecimento de RTOS (incluindo MQX ™ RTOS e FreeRTOS)
  • Assistente de criação de projetos; “bare metal”, Kinetis® v1.x SDK e v2 and Processor Expert® software projects
  • Software Processor Expert com suporte para o Kinetis SDK v1.x
  • Linguagens suportados: Assembly, C e C ++ (todos sem restrições de tamanho de código)
  • Drivers de periféricos SDK do Kinetis e código de inicialização compatível com CMSIS
  • Plugins do GNU Arm® Eclipse para projetos gerenciados do make
  • Ferramentas GNU para toolchain e bibliotecas do Arm® Embedded Processors (launchpad)
  • Registrador Integrado Eclipse CMSIS-SVD e Visualizador Periférico
  • Aberta para qualquer plugins do Eclipse a partir do ecossistema Eclipse ou NXP® parceiros comunitários de apoio
  • Suporte de dispositivo adicional é adicionado através das atualizações do Eclipse entregues com o Kinetis SDK

Criando um novo projeto no Kinetis Design Studio

Para quem ainda não tem muita familiaridade com a placa Freedom Board KL05Z, pode começar conferindo aqui um post onde o professor André Curvello explica muito bem suas características, funcionalidade e possíveis aplicações.  Entendendo um pouco melhor sobre a placa, podemos então criar um projeto para ela!

O algoritmo para esse projeto será o clássico “Olá Mundo” para sistemas embarcado, que é o famoso “Pisca LED”. A FRDM-KL05Z possui um LED RGB, os pinos dos LEDs estão conectado nos seguintes pinos

  • LED1 Vermelho – PTB8
  • LED2 Verde – PTB9
  • LED3 Azul – PTB10

Freedom Board KL05Z

Chega de “bla bla”, vamos por a mão na massa. Para iniciar um novo, clique em File -> New -> Kinetis SDK 1.x Project. Em seguida deve abrir a janela New Kinetis Project, no item Project name:, deve-se dar o nome ao projeto e seguida clique em Next.

Kinetis Design Studio novo projeto

O próximo item a ser configurado é o selecionar o microcontrolador. O KDS oferece opção de selecionar por placa ou por microcontrolador. No caso, a placa FRDM-KL05Z infelizmente não está presente. Por conta disso, devemos selecionar pelo microcontrolador. Como foi demonstrado no artigo de apresentação da FRDM-KL05Z, o microcontrolador alvo da placa é o MKL05Z32VFM4. Então clique em Processors -> Kinetis L -> MKL0x -> MKL05Z32xxx4. Em seguida clique em Next.

Kinetis Design Studio dispositivo

O próximo item da janela New Kinetis Project é para configurar as ferramenta de desenvolvimento. Nesta janela é possível se a biblioteca Kinetis SDK e Processor Expert. Para o nosso projeto de demonstração do Kinetis Designer Studio não vamos utilizar nenhum desses recursos. Para os próximos artigos pretendo explicar um pouco mais a respeito dessa ferramenta.
Portanto, no item Kinetis SDK selecione a opção None. E em seguida clique em Finish.
Ao final de todo esse processo temos um projeto básico, com as mínimas configurações para ter um projeto funcional: o algoritmo de startup (inicialização do microcontrolador) e a configuração do Clock.

Kinetis Design Studio codigo

Implementado o algoritmo Pisca LED:

#include "MKL05Z4.h"

#define LED1_PIN        8
#define LED2_PIN        9
#define LED3_PIN        10

void delay(uint32_t tempo);

int main(void)
{
    SIM_SCGC5 |= SIM_SCGC5_PORTB_MASK;                            // Habilita Clock para GPIOB

    /* Inicializando LED1 RED - PTB8 */
    PORT_PCR_REG(PORTB_BASE_PTR,LED1_PIN) = PORT_PCR_MUX(1);    // Configura funcionalidade do pino para GPIO
    GPIOB->PDDR |= (1 << LED1_PIN);                                // Configura como saída

    /* Inicializando LED2 GREEN - PTB9 */
    PORT_PCR_REG(PORTB_BASE_PTR,LED2_PIN) = PORT_PCR_MUX(1);    // Configura funcionalidade do pino para GPIO
    GPIOB->PDDR |= (1 << LED2_PIN);                                // Configura como saída

    /* Inicializando LED2 BLUE - PTB10 */
    PORT_PCR_REG(PORTB_BASE_PTR,LED3_PIN) = PORT_PCR_MUX(1);    // Configura funcionalidade do pino para GPIO
    GPIOB->PDDR |= (1 << LED3_PIN);                                // Configura como saída

    for (;;)
    {
        GPIOB->PTOR = (1 << LED1_PIN);                            // Inverte valor do Pino
        GPIOB->PTOR = (1 << LED2_PIN);                            // Inverte valor do Pino
        GPIOB->PTOR = (1 << LED3_PIN);                            // Inverte valor do Pino

        delay(10000);
    }
    /* Never leave main */
    return 0;
}

void delay(uint32_t tempo)
{
    uint32_t i = 0;
    for(i=0;i<tempo;i++);
}

Após implementado o algoritmo, chegou a hora de compilar o projeto e descarregar o Firmware na Freedom Board. Para compilar, clique no item Buil Project [1] destacado na figura abaixo. Após o término do processo de compilação, devemos configurar a ferramenta de Debug, para  daí então descarregar o Firmware na placa.
Nota: Como apresentado no artigo de apresentação da Freedom Board KL05Z, essa placa contém como ferramenta de debug o OpenSDA Serial and Debug Adapter. Para o OpenSDA está disponível diversas opções de Firmware. Para mais detalhes a respeito do OpenSDA consulte página do projeto.

Kinetis Design Studio build and run

  1. Build Project
  2. Debug Configurations

Clique em Debug Configurations [2]. Em seguida deve abrir a janela Debug Configurations. Como citado anteriormente, o OpenSDA possui algumas opções de Firmware, essa diferença de Firmware reflete na escolha da ferramenta de Debug. Das opções disponíveis pelo KDS temos:

A Freedom Board que estou utilizando possui o firmware disponibilizado pela empresa Segger. Portanto selecionei a opção SEGGER J-Link Debbugging.

Kinetis Design Studio debug

Após selecionar a ferramenta debug, deve clicar em Debug.
Em seguida vai dar início o processo. O KDS deve solicitar ao usuário autorização para mudar para perspectiva de Debug.
Nota: Para que essa janela não apareça mais, selecione o item destacado na figura abaixo

 

Ao fim do processo de gravação do firmware na Freedom Board. O Kinetis Design Studio fez a mudança para perspectiva de Debug. Para iniciar o processo de debugging do firmware, o KDS oferece diversos recursos, tais como os destacado na figura abaixo:

Kinetis Design Studio debugging

  1. Resume (F8)
  2. Suspend
  3. Terminate (Ctrl + F2)
  4. Step Into (F5)
  5. Step Over (F6)
  6. Step Return (F7)
  7. Restart a process or debug target

Além dos pontos destacados, outro recursdo muito útil é o Breakpoint. Ele possibilita adicionar pontos de parada no código fonte. Para mais detalhes sobre os recursos de debugging do KDS consulte o documento Kinetis Design Studio V3.0.0- User’s Guide.

Conclusão 

O Kinetis Design Studio é uma excelente ferramenta de desenvolvimento para a família de microcontroladores Kinetis ARM Cortex-M. Mesmo sabendo que a empresa NXP oferece uma nova IDE. Mas não se preocupe, em um futuro próximo prometo trazer mais informações a respeito do MCUXpresso Software and Tools.
O que você achou do Kinetis Design Studio? Já trabalha com essa ferramenta? Ajude-nos a melhorar o blog, participe com a sua sugestão, dúvida ou comentário aqui embaixo.

Faça seu comentário

Acesse sua conta e participe