O assunto do momento é o mundo do Internet-of-Things e nessa série de tutoriais vamos aprender a utilizar a placa FRDM-K64F da Freescale como um ponto de partida para sua aplicação usando o pacote de software Kinetis Software Development Kit. Esta é uma excelente placa para iniciar os primeiros projetos para IoT por possuir conectividade USB, Ethernet, núcleo ARM Cortex-M4 e um belíssimo conjunto de periféricos.
O procedimento a ser mostrado nesta série é muito parecido para outros microcontroladores suportados pelo KSDK.
Introdução ao KSDK
O Kinetis Software Development Kit (não confundir KSDK com KDS, que é a IDE de desenvolvimento da Freescale) é um pacote de softwares reunidos para facilitar o desenvolvimento com os microcontroladores ARM da Freescale. Ele é compatível com várias IDEs e compiladores do mercado como IAR, KEIL, GCC e KDS. Possui dentro dele:
- Bibliotecas de acesso a periféricos com funções chamáveis em linguagem C – I/Os, ADC, UART, Timers, DAC , etc;
- Pilhas TCP/IP (RTCS – proprietária da Freescale e LwIP), e dentro do RTCS inúmeros protocolos como HTTP, TELNET, SMTP e SNMP;
- Pilha USB – suporte a USB Host e Device nas classes Mass Storage (acesso a pen drives e SD Card), HID (Mouse, teclado) e CDC (Interface USB-Serial);
- RTOS – MQX, uC-OS e FreeRTOS – embora não seja obrigatório utilizar sistema operacional com o KSDK, é possível utilizar os softwares bareboard, ou seja, sem sistema operacional;
- Biblioteca de funções matemáticas CMSIS – instruções trigonométricas, de operações de matrizes, e outras;
- Exemplos, exemplos, exemplos;
- Documentação de tudo que foi citado acima.
Em resumo, o KSDK é um pacote para obter todo o software de apoio necessário para começar uma aplicação para o Kinetis.
* O KSDK não tem suporte à série de microcotroladores Kinetis E. Para esta família, recomendo olhar o FRDM-KEXX Driver Library Package, disponível na aba Downloads da página da Freedom do Kinetis E.
Se preparando para começar – Software
A primeira coisa a se fazer é baixar o KSDK e a IDE de sua preferência. Neste tutorial, vamos abordar tanto o KDS (Kinetis Design Studio), uma opção estável, que não possui os mesmos recursos de debug poderosos como profiling, tracing, que ferramentas pagas como a IAR Systems fornece, porém é gratuito para qualquer tamanho de código, enquanto o Embedded Workbench da IAR não.
Links para download dos programas necessários
KSDK
- KSDK versão 1.2 – www.freescale.com/ksdk ou neste link
IDEs (escolher)
- KDS versão 3.0 – gratuito em – www.freescale.com/kds ou neste link
ou
- IAR – há uma versão de avaliação por tempo limitado – www.iar.com ou neste link
Após instalar o KSDK, a pasta do KSDK 1.2 terá a seguinte estrutura:

A pasta doc é uma das pastas mais importantes. Ela possui toda documentação referente aos softwares do KSDK, exceto quanto aos sistemas operacionais. O manual das funções de acessos aos periféricos é um dos documentos mais importantes, e se localiza no caminho:
C:\Freescale\KSDK_1.2.0\doc\Kinetis_SDK_v.1.2.0_API_Reference_Manual.html
A pasta examples também é uma pasta muito importante, pois tem muitos exemplos para cada placa suportada pelo KSDK, inclusive a FRDM-K64F, para várias IDEs.
As pastas platform, lib, rtos, usb e middleware são importantes pois possuem os arquivos fonte da estrutura do KSDK necessárias para cada projeto.
*Importante: Todo projeto que utiliza o KSDK precisa ter sua plataforma KSDK compilada primeiro. O projeto dessa plataforma encontra-se na pasta lib, mas falaremos sobre isso nos próximos tutoriais.
Se preparando para começar – Hardware
Iremos utilizar neste tutorial a placa Freeescale Fredom Platform FRDM-K64F, embora o procedimento para outras placas Freedom seja bastante semelhante.
Nas placas Freedom, existe uma interface em hardware para fazer a gravação e debug do microcontrolador-alvo, no qual foi batizada de OpenSDA Interface. Este circuito se baseia em um MCU adicional, da própria Freescale, que possui um software específico para a tarefa.
E aí entra a nossa primeira tarefa. Quando a Freescale escolheu pela interface OpenSDA na primeira placa Freedom, surgiu a pergunta: Que empresa parceira da Freescale desenvolveria o software do gravador e debug que seriam inclusos nas placas Freedom? A respota foi: Qualquer uma. Assim, fabricantes como P&E Microcomputer Systems, SEGGER e também projetos abertos, como USBDM, puderam criar suas próprias versões de firmware que podem ser baixados na placa e assim podem mostrar suas vantagens particulares de cada ferramenta, dando a escolha final ao usuário. Neste tutorial utilizaremos a versão de Open SDA da Segger.
Os passos para atualizar a placa são:
Passo 1: Baixar o firmware image do Open SDA em aqui. A versão correta para o FRDM-K64F é a V2 e não a 2.1
* muitos usuários possuem a placa FRDM-KL25Z, a primeira Freedom a ser lançada. Quem quiser brincar com esta placa, a versão correta é a OpenSDA (não a 2 nem a 2.1).
Passo 2: Descompactar o conteúdo do arquivo .zip.
Passo 3: Ligue a placa através do conector identificado como SDA enquanto mantém o botão RESET pressionado.

Passo 4: Solte o botão de reset. O LED verde deverá começar a piscar (cerca de 1Hz).
Passo 5: O PC irá enumerar a placa como um disco USB:
Passo 6: Copie (arraste e solte) o arquivo JLink_OpenSDA_V2.bin para o disco Bootloader recém-criado.
Passo 7: Após a cópia o LED deverá piscar mais rápido (como 5Hz).
Passo 8: Desligue a placa da porta USB e conecte-a novamente.
Passo 9: Novos drivers serão instalados e o dispositivo será mostrado como sendo um J-Link.

Pronto! Agora você está pronto para começar sua primeira aplicação com o KSDK.





Ola Denis, ótimo artigo!
Você sabe informar se é possível montar uma placa própria com MCU Kinetis e gravá-la sem o uso de um segundo microcontrolador?
Ola! Muito obrigado.
Sim, é possível sim! Basta você disponibilizar os pinos de gravação e debug em um conector externo (JTAG ou sua versão reduzida, SWD).Para isso , é necessário um gravador externo. Pode ser um Segger J-Link ou um da P&E Micro, ou então soluções mais baixo custo, como esta nacional: https://www.usbdm.com.br/
Olá Denis! Estou tentando instalar o Kinetis SDK 1.3.0 no Linux. Eu descompactei o arquivo mas não sei qual arquivo é o executável. Será que pode me ajudar?