Olá caro leitor, no mês de junho o Denis Shimizu publicou uma série de artigos sobre o KSDK (Kinetis Software Development Kit) e KDS (Kinetis Design Studio). Ele explicou como instalar o KDS e KSDK, demostrou também como criar um novo projeto utilizando o KSDK em conjunto com o Processor Expert.
Neste artigo demonstrarei como criar um projeto apenas com o Kinetis SDK (KSDK), além de explorar alguns de seus recursos, e para isso, estou utilizando o KDS 3.0, o KSDK 1.3.0 e o hardware que estou utilizando é FRDM-K22F.
Freedom Board K22F
A FRDM-K22F é equipada com microcontrolador Kinetis MK22FN512VLH12 com core ARM Cortex-M4 + DSP, que pode operar a até 120MHz.
Principais características do microcontrolador:
- Memória Flash 512KB;
- Memória RAM 128KB;
- Conversor Analógico Digital ADC de 16 bit;
- Conversor Digital Analógico DAC de 12 bit;
- Full-Speed USB Device/Host/On-The-Go;
- 2x SPI, 3x UART, 2x I2C e I2S;
- PWM.
A placa Freedom Board–K22F contém os seguintes periféricos:
- Micro USB;
- LED RGB;
- Acelerômetro e magnetômetro em um mesmo chip, CI FXOS8700CQ;
- OpenSDA;
- Dois botões para uso do usuário;
- Conectores com pinagem compatível com Arduíno R3.
Compilado a biblioteca KSDK
A primeira etapa para utilizar o KSDK em seu projeto é compilar a biblioteca do microcontrolador que deseja utilizar. Como já foi dito neste artigo estou utilizando a Freedom Board K22F.
Abra o KDS. Clique em File e em seguida clique em Import, assim a janela Import poderá ser vista na sequência. Abra o item General, selecione a opção Existing Projects into Workspace, e em seguida clique em Next. A janela Import apresentará outras opções, deste modo, selecione a opção Select root directory, clique em Browse, selecione o diretório do microcontrolador da Freedom Board (\Freescale\KSDK_1.3.0\lib\ksdk_platform_lib\kds\K22F51212). Em seguida, clique em Finish.
Na aba Project Explorer, aparecerá o projeto ksdk_platform_lib_K22F51212. Para compilar a biblioteca clique em Project e depois em Build All.
Criando um novo projeto com KSDK
Para criar um novo projeto, utilizarei a ferramenta KSDK Project Generator a qual facilitará este processo (é possível criar o projeto sem o auxilio dessa ferramenta, porém demanda de muito trabalho).
O KSDK Project Generator é uma ferramenta de software para geração de projetos baseados no KSDK.
Após realizar o download e instalar o KSDK Project Generator, abra o diretório referente ao seu sistema operacional (Linux, MacOSX, Windows), no meu caso estou estou utilizando o Windows, execute o arquivo KSDK_Project_Generator.exe.
Essa ferramenta possui duas janelas (Inicial e Advanced), como podemos observar na janela inicial ela possui os seguintes itens:
- KSDK Path: Onde deve conter o endereço do diretório do KSDK que deseja estar utilizando em seu projeto;
- Project Name: Item onde é declarado o nome do projeto;
- Choose board: Contém a lista de placas para criar o projeto;
- Quick Generate!: Botão para iniciar o processo de geração do projeto;
- Help: Fornece informações sobre o KSDK;
- Advanced: Essa opção permite detalhar a criação do projeto.
Na opção Advanced do KSDK Project Generator permite-se criar o projeto de maneira mais detalhada, ou seja, para um kit de desenvolvimento como a Freedom Board K22F ou para um microcontrolador específico, escolher a IDE (KDS, IAR Embedded Workbench, Keil MDK-ARM, Atollic TrueSTUDIO) com a qual deseja criar o projeto, a utilização de RTOS (MQX, FreeRTOS, uC/OS-II, uC/OS-III) em conjunto com KSDK, a inclusão de arquivos BSP, além da seleção do diretório onde será gerado o projeto.
Como neste artigo estamos trabalhando com a Freedom Board-K22F e utilizando o KDS, portanto iremos configurar o KSDK Project Generator para o mesmo. Feito todas as configurações conforme a imagem abaixo, em seguida clique em Advanced Generate!.
Na próxima etapa devemos importar o projeto no KDS. Abra o KDS, clique em File e depois em Import. Na janela import no item General selecione a opção Existing Project into Workspace e em seguida clique em Next.
Na etapa seguinte clique em Browse e selecione o diretório do projeto gerado pelo KSDK Project Generator. Em seguida clique em Finish.
Perceba que na aba Project Explorer, haverá dois novos projetos: um é o projeto que acabamos de importar e outro é o projeto com as bibliotecas do microcontrolador da FRDM-K22F (ksdk_platform_libMK22FN512VLH12). Clique com o botão da direita sobre o projeto com as bibliotecas, em seguida clique em Build Project para compilar o projeto.
Feito o processo de configuração, agora trabalharemos no nosso novo projeto. Observando o projeto, ele possui os includes para o KSDK, o diretório sources com os arquivos main.c e main.h, o diretório startup com os arquivos de inicialização do microcontrolador, diretório board com os arquivos que mapeiam os periféricos da placa e o diretório utilities com os arquivos para comunicação serial.
A próxima etapa é criar uma aplicação. Para variar um pouquinho, criarei um pisca LED. No arquivo main.c, adicionaremos o código fonte do projeto.
//----------------------------------------------------------------------
//Projeto: Pisca Led KSDK
//Autor: Evandro Teixeira
//----------------------------------------------------------------------
#include <stdio.h>
//-----------------------------------------------------------------------
// KSDK Includes
//-----------------------------------------------------------------------
#include "main.h"
//-----------------------------------------------------------------------
// Global Variables
//-----------------------------------------------------------------------
unsigned long int i = 0;
int main(void)
{
//Inicializa o clock do hardware
hardware_init();
//Inicializa serial
dbg_uart_init();
//imprime msg
PRINTF("\n\Projeto Pisca Led");
//Inicializa o pinos PTA0 como saida
GPIO_DRV_OutputPinInit(&ledPins[0]);
//Forever loop
for (;;)
{
//Inverte estado do port
GPIO_DRV_TogglePinOutput(ledPins[0].pinName);
//rotina de delay
for(i=0;i<1000000;i++)
{
__asm("NOP");
}
}
}
////////////////////////////////////////////////////////////////////////////////
// EOF
////////////////////////////////////////////////////////////////////////////////
Após elaborar o código fonte, compile o projeto, em seguida, vamos gravar o firmware na placa. Clique em Run, Debug Configurations. E em seguida abrirá a janela Debug Configurations. Nesta janela selecione a interface de Debug de acordo com o firmware do OpenSDA (PEMicro, SEGGER J-Link). Na placa FRDM-K22F estou utilizando o firmware da PEMicro. Feita a escolha, clique em Debug.
Após o término do processo de inicialização, clique no botão Resume ou pressione a tecla F8 para executar a aplicação. Para comunicação serial estou utilizando o Putty, configurado com o Baud Rate 115200.
Conclusão
O KSDK – Kinetis Software Development Kit é boa opção para agilizar o desenvolvimento do firmware, possui uma boa documentação e é de fácil integração ao projeto.
Referências





Ótimo artigo! Parabéns!
Parabéns pelo post Evandro, fico no aguardo de novos tutoriais… !
Excelente artigo jovem!!
Valeu jovem!!! Muito Obrigado