Primeiros passos com a FRDM-KL05Z usando mBed 2

A FRDM-KL05Z é uma formidável placa. Sua simplicidade esconde à primeira vista a ampla gama de possíveis aplicações que podem ser feitas com ela. Dotada de um acelerômetro, LED RGB, Touch slider capacitivo, pinagem compatível com Arduino UNO R3 e um ARM Cortex-M0 para baixo consumo, é um ótimo elemento para projetos embarcados. Fazendo uso dos recursos do ecossistema de desenvolvimento mBed para ARM, então, as possibilidades são mais facilmente exploradas. Vamos ver como configurar essa bela placa com mBed?

FRDM-KL05Z Frente

Atualizando o Bootloader do Debugger OpenSDA

Antes de começar as graças com mbed, é preciso atualizar o Bootloader do Debugger OpenSDA integrado. Normalmente, as placas vêm de fábrica com a versão de OpenSDA 1.05, e precisa estar na versão mais recente para ter o devido suporte ao mbed.

FRDM-KL05Z Pinagem

A boa notícia é que esse processo pode ser facilmente realizado pela interface USB do Bootloader, não sendo necessário nenhum equipamento ou acessório à parte, além de um computador e cabo USB, é claro.

Para isso, acesse o link Firmware Apps do OpenSDA para baixar o arquivo compactado contendo as imagens (firmwares) para gravação do Bootloader. Eu recomendo você usar a opção de baixo nessa página, que irá pedir que você forneça seu e-mail para envio do link de Download. O Firmware atualizado do bootloader é disponibilizado gratuitamente, esse formulário de download é apenas um controle para estatísticas de uso do OpenSDA.

Caso tenha optado pela opção do e-mail (mais prática), será enviado um e-mail para sua conta, lembrando que pode demorar um pouco para o e-mail chegar.. Basta acessar esse e-mail, clicar no link informado para ir à página de Download. Nessa página (finalmente), você poderá clicar no link para download do arquivo. Como cada link é específico para sessão de acesso, não disponibilizamos o link aqui.

No momento da escrita desse artigo, o arquivo em questão é Pemicro_OpenSDA_Debug_MSD_Update_Apps_2016_08_26.zip. Descompacte esse arquivo em um diretório de sua preferência, e observe que dentre os elementos compactados estará um outro arquivo compactado, chamado OpenSDA_Bootloader_Update_App_v111_2013_12_11.zip. Descompacte esse arquivo para ter acesso ao firmware BOOTUPDATEAPP_Pemicro_v111.SDA, que, finalmente, é o arquivo que devemos gravar na FRDM-KL05Z.

Para gravar o arquivo na placa, com a placa desligada pressione o botão de Reset e plugue a placa via USB no computador. Irá aparecer um “disco removível”, tal como um Pendrive, chamado BOOTLOADER, que nada mais é que o modo de gravação do próprio bootloader da placa via USB.

Copie e cole o arquivo BOOTUPDATEAPP_Pemicro_v111.SDA para o disco removível BOOTLOADER. Espere a cópia finalizar.

Copiando_OpenSDA_Bootloader

Retire a placa da USB e, mantendo o botão reset pressionado, novamente plugue a placa via USB no computador para termos acesso ao BOOTLOADER. Vamos confirmar se a gravação ocorreu com sucesso, e logo em seguida gravar o firmware para modo mbed. Se ocorreu tudo certo, a unidade de disco removível BOOTLOADER apareceu.

SDA Info

Nessa unidade de disco, há alguns arquivos com detalhes a respeito do Bootloader em questão. O principal arquivo é o SDA_INFO.HTM. Abra esse arquivo, e observe na página que será aberta a parte “OpenSDA Support”. Nessa parte, se o campo Bootloader Version indicar 1.11, tal como mostrado abaixo, quer dizer que deu tudo certo! Então agora vamos ao próximo passo.

Bootloader OpenSDA

Instalando o Bootloader mbed

A parte para o bootloader mbed é bem mais tranquila que a parte do OpenSDA. Como os arquivos são publicamente disponíveis, não há problemas legais em publicar e/ou encaminhar. Dessa forma, para a FRDM-KL05Z basta baixar o arquivo 20140530_k20dx128_kl05z_if_openSDA.s19, que corresponde à versão mais recente do bootloader mbed para essa placa.

Baixado esse arquivo, o procedimento para gravação é basicamente o mesmo que fizemos para o OpenSDA. Ou seja, com a placa desplugada/desligada, pressione o botão reset e conecte a placa via USB ao seu computador. Isso ativa o modo Bootloader, fazendo aparecer a unidade de disco BOOTLOADER.

Arraste, ou copie e cole, o arquivo 20140530_k20dx128_kl05z_if_opensda.s19 para essa unidade.

mbed bootloader

Aguarde a cópia ser finalizada. Terminada a cópia, você pode retirar o cabo USB da placa, e agora, normalmente (sem pressionar o reset), pode plugar a placa novamente via USB. Observe que, após o sistema identificar o dispositivo, ele irá aparecer como uma unidade removível com nome MBED. É por meio dessa unidade removível que iremos colocar os arquivos gerados pela interface de desenvolvimento mbed Compiler, ou seja, basta copiar ou arrastar/soltar os programas para essa unidade MBED, que a placa será gravada. Veremos adiante esse processo.

mbed Windows

Acessando o mbed Compiler

O principal elemento do mbed é o mbed Compiler. É uma IDE – Ambiente Integrado de Desenvolvimento – online, onde você pode desenvolver seus projetos, compilar, compartilhar, importar projetos-modelo e bibliotecas diversas, bastando ter uma conexão com a internet. E para gravar o código gerado na placa? Bom, como dito, basta arrastar e soltar! É via USB.

Para desenvolver projetos mbed, é preciso acessar o mbed Compiler, e caso você já tenha uma conta mbed, basta colocar suas credenciais e fazer o sign in. Se você não possui um cadastro mbed, que é de graça, você deve seguir a opção da direita e fazer o sign up, preenchendo seus dados para criar a sua conta e depois acessar o mbed Compiler propriamente.

Bom, com sua conta devidamente criada, acesse o mbed Compiler. Veja abaixo o meu workspace mbed Compiler. Todos esses projetos estão disponíveis na minha conta privada, e posso acessá-los onde quer que esteja, bastando acessar minha conta online no mbed compiler.

mbed Workspace 2

Associando a FRDM-KL05Z ao mbed

Assim como no Arduino IDE e em outras ferramentas de desenvolvimento, precisamos “dizer” para a ferramenta qual é a plataforma que estamos utilizando. No caso do mbed compiler, a informação de plataforma (ou de placa utilizada) está no canto superior direito da interface. No meu exemplo estava com o nome da placa LPCXpresso4337, que estava trabalhando para o FTF Connects 2016, da NXP. Esse “item” é um botão, e basta clicar nele para abrir uma janela contendo as placas vinculadas à sua conta mbed.

mbed placa

Essa mesma janela permite não só selecionar qual a placa que será usada para o desenvolvimento mbed, como também permite adicionar novas placas para o desenvolvimento. E isso é o que iremos fazer. Clique no botão Add Platform para isso, o que irá abrir uma nova aba no navegador com a listagem de placas compatíveis com mbed para você escolher.

mbed select kl05z

Nessa listagem que irá aparecer, selecione a FRDM-KL05Z, tal como mostrado abaixo. Basta clicar na placa para ser encaminhado à página dela, que é onde iremos fazer a associação, devidamente.

select kl05z

Já na página da FRDM-KL05Z do mbed, clique no botão Add to your mbed Compiler tal como indicado abaixo. O processo deve demorar alguns segundos, e irá vincular a placa à sua conta mbed.

kl05z select

Feito o vínculo, volte à aba do mbed Compiler, e atualize a página/aba (um F5 da vida, por exemplo). Clique novamente no canto superior direito para escolha de placa/plataforma e, na janela que será aberta, já irá aparecer a opção para escolher a FRDM-KL05Z. Selecione a placa, e clique no botão Select Platform, que está no canto superior direito dessa janela de seleção. Isso irá vincular a placa ao seu ambiente de desenvolvimento, ou seja, os códigos gerados serão para essa placa.

select kl05 mbed

O primeiro pisca LED mbed

Conta mbed criada, placa associada à conta. Agora é hora de colocar a mão na massa! Como em quase toda IDE, temos a famosa opção New, e para o mbed não seria diferente. Na tela do mbed Compiler, o botão New está no canto superior esquerdo da tela. Clique nesse botão para aparecer a janela de opções para novo projeto mbed.

mbed new

Na janela que irá aparecer, já está selecionada como Platform a FRDM-KL05Z. Como template, selecione a opção gpio example for the Freescale freedom platform, o que irá carregar um modelo de projeto pré-configurado e já preenchido para o controle simples de GPIO/LED. Como Program Name (nome de programa), pode deixar o normal do template, que é frdm_gpio.

new program mbed

Após intuitivamente clicar no botão OK, o projeto será carregado na sua Workspace do mbed. Clique no arquivo main.cpp para abrir o arquivo para edição, e você verá a tela para edição tal como mostrado abaixo. Veja que o projeto já está com os elementos DigitalOut, que servem para controle de saída digital (0/1), e o laço while(true) aciona GPIO, aciona LED, e segura a execução por 200 ms (0.2 segundo).

mbed ide example gpio kl05z

Para compilar esse código, que irá fazer o LED vermelho da placa piscar bem rapidamente, basta clicar no botão Compile, ou até mesmo usar o atalho de teclado Ctrl+D. E com a praticidade do mbed, o projeto será compilado na nuvem, e o código binário resultante será enviado para o seu computador na forma de Download.

mbed compile download

Terminado o processo de compilação na nuvem, e dependendo do navegador que você estiver utilizado, será feito o Download do arquivo binário para gravação. O arquivo normalmente é nomeado com base no projeto e na plataforma selecionada. No nosso caso o arquivo tomou o nome frdm_gpio_KL05Z.bin. Salve o arquivo em um diretório de fácil acesso.

save bin mbed

Gravando e Executando o programa mbed

Agora está tudo pronto para a primeira execução de programa mbed! Com o arquivo binário em mãos e com a placa FRDM-KL05Z conectada via USB ao computador, basta arrastar ou copiar/colar o arquivo na unidade de disco MBED, que nada mais é do que a FRDM-KL05Z com o bootloader MBED. Veja abaixo como fiz:

copy mbed bin

Espere a cópia ser concluída. Terminada a cópia, é preciso pressionar o botão de reset, de modo que o programa será então gravado no microcontrolador KL05Z e colocado em execução.

Observe que após esse passo, o LED vermelho irá piscar a cada 200 ms.

Pinagem da KL05Z para mbed

Para servir de suporte ao desenvolvimento, veja abaixo um resumo dos pinos disponíveis para a FRDM-KL05Z, suas correspondências com os pinos Arduino R3, e como eles são tratados no ecossistema mbed.

kl05-pinagem

 

LED (RGB)
LED_RED = PTB8
LED_GREEN = PTB9
LED_BLUE = PTB10

Pinagem LED mbed (numérico)
LED1 = LED_RED
LED2 = LED_GREEN
LED3 = LED_BLUE
LED4 = LED_BLUE

Pinagem USB – Usada para comunicação Serial
USBTX = PTB1
USBRX = PTB2

Pinagem Arduino
D0 = PTB2
D1 = PTB1
D2 = PTA11
D3 = PTB5
D4 = PTA10
D5 = PTA12
D6 = PTB6
D7 = PTB7
D8 = PTB10
D9 = PTB11
D10 = PTA5
D11 = PTA7
D12 = PTA6
D13 = PTB0
D14 = PTB4
D15 = PTB3

A0 = PTB8
A1 = PTB9
A2 = PTA8
A3 = PTA0
A4 = PTA9
A5 = PTB13

Pinagem I2C
I2C_SCL = D15
I2C_SDA = D14

Pinagem TSI – Touch Capacitivo
TSI_ELEC0 = PTA13
TSI_ELEC1 = PTB12

Gostou? Deixe seu comentário logo abaixo.

Faça seu comentário

Acesse sua conta e participe

2 Comentários

  1. Muito bom!!! Gostei! Mas tecnologia para podermos brincar

  2. Bem explicadinho, sem deixar dúvidas. Adorei! 😀