Primeiros passos com Renesas RDK RX63N e e2studio

RX63N e e2studio

Recentemente publiquei a respeito do lançamento do e2studio 4.1 da Renesas e destaquei a sua compatibilidade com as famílias de microcontroladores RL78 e RX, dentre as outras que o mesmo suporta. Agora, chega a hora de mostrar como configurar a ferramenta para desenvolver projetos para microcontroladores RX, tendo por base a placa RDK RX63N e e2studio, ou seja, o kit de desenvolvimento e a IDE para programá-lo. Lembro que apresentei o kit no Embarcados neste artigo.

Embora seja possível desenvolver projetos para o RX63N usando outras IDEs, tais como a HEW e a IAR, a e2studio é a oficial da Renesas no presente momento. E por ser baseada no Eclipse, traz à tona uma série de facilidades em um ecossistema modularizável, compatível inclusive com o compilador oficial CCRX e o compilador opensource GNURX.

Com o e2studio devidamente instalado e configurado para família de microcontroladores RX e com os compiladores CCRX e GNURX também instalados e associados ao e2studio, vamos então começar o processo de criação do primeiro projeto. Para isso, inicie a execução da IDE e2studio. Aberto o programa, carregue-o na perspectiva de desenvolvimento C/C++, de modo a ficar tal como mostrado na Figura 1.

RDK RX63N e e2studio
Figura 1 - e2studio 4.1

Criação de um Projeto para microcontroladores RX

Com o e2studio aberto, vamos agora criar um novo projeto para microcontrolador RX com Linguagem C, acessando o Menu File, opção New e selecionamos C Project, como apresentado na Figura 2.

RDK RX63N e e2studio: CProject
Figura 2 - Menu para criar novo Projeto C.

Isso fará surgir a janela do Project Generation Wizard, que nada mais é do que um guia com janelas em sequência para orientar a criação de projetos para microcontroladores Renesas.

A primeira tela corresponde às definições do nome de projeto, definido no campo Project Name, além de também poder definir a Toolchain a ser empregada no processo de compilação do projeto. Para este exemplo, dei o nome de projeto BotaoLedRX, selecionei a Toolchain KPIT GNURX-ELF Toolchain, deixando também marcada a opção Project type como Executable -> Sample Project, conforme mostrado na Figura 3. Selecionadas as opções e preenchido o nome do projeto, clique em Next.

RDK RX63N e e2studio
Figura 3 - Project Generation Wizard do e2studio.

Na próxima tela temos configurações específicas para o microcontrolador-alvo do projeto a ser criado. Em se tratando das configurações do projeto para o microcontrolador do kit RDK RX63N, deixe selecionadas as seguintes opções, tal como mostrado na Figura 4:

  • Toolchain Version: v14.03 (ou a mais recente que você tiver instalado na máquina);
  • Debug Hardware: Segger JLink (RX);
  • Data endian: Little-endian data;
  • Select Target: RF563NBDxFP.
RDK RX63N e e2studio
Figura 4 - Configurações do Projeto para Microcontrolador.

A próxima janela, exibida na Figura 5, seria do Code Generator, um utilitário da Renesas que permite o setup rápido e ágil de componentes tais como Clock, ADC, Timers, dentre outros. Infelizmente o microcontrolador do kit RDK RX63N não é suportado pela ferramenta. Clique em Next para continuar.

RDK RX63N e e2studio
Figura 5 - Code Generator.

A próxima janela, mostrada pela Figura 6, é específica para selecionar algumas opções adicionais para CPU, tais como desabilitar a geração de instruções de ponto flutuante com FPU, verificar tamanho de pilha, etc. Deixe como está e clique em Next para continuar.

RDK RX63N e e2studio
Figura 6 - Opções adicionais de CPU.

Com relação às bibliotecas C a serem carregadas no projeto, a próxima janela do gestor de criação de projetos, exibida na Figura 7, permite então selecionar quais bibliotecas padrões serão carregadas. Deixe como está e clique em Finish.

RDK RX63N e e2studio
Figura 7 - Configurações de Bibliotecas.

Com o término da configuração do novo projeto a ser criado, será gerado um sumário, um resumo das configurações que foram estabelecidas. Dê uma breve olhada para observar como o e2studio irá estruturar o novo projeto, tal como mostrado na janela que aparece na Figura 8, e clique em OK.

RDK RX63N e e2studio
Figura 8 - Relatório final do Projeto configurado.

Caso essa seja a primeira vez que você esteja criando um novo projeto com o e2studio da Renesas, pode ser bem provável que a ferramenta irá lhe pedir para "confiar" no certificado REE-EDC, o que irá acontecer logo após você ter clicado em OK no sumário de projeto mostrado anteriormente. Deixe marcada a opção e clique em OK, como mostrado na Figura 9.

RDK RX63N e e2studio
Figura 9 - Certificado REE-EDC.

Após isso, o e2studio irá carregar o projeto criado na tela.

Escrevendo um código exemplo para RX63N

Beleza! Acabamos de criar nosso primeiro projeto para RDK RX63N! Seria algo como um "esquenta" RX63N, não? Pois bem, agora é a hora de colocar as mãos em código! Vamos escrever um pouco de Código C e observar resumidamente como é a estrutura para lidar com I/Os da RX63N.

No projeto gerado, o código principal assume o nome do projeto que você configurou, lá naquela primeira tela do "Project Wizard" (Figura 3 deste artigo). Ou seja, se o nosso projeto se chama BotaoLedRX, o código principal será BotaoLedRX.c, que é exibido no diretório src (fontes) do projeto criado. Observe na Figura 10.

RDK RX63N e e2studio
Figura 10 - Código "main" do projeto gerado.

Temos um trecho de código criado automaticamente pela ferramenta, que aparece em um trecho com fundo acinzentado, como pode ser percebido na Figura 10. Não é preciso alterar esse trecho de código.

Vamos agora usar por base uma seguinte aplicação: Enquanto manter pressionado um dos botões da placa, será acendido um LED. O botão escolhido para exemplo foi o Switch 1 (SW1), e o LED a ser controlado, o LED14.

Com base na estrutura de funcionamento das I/Os do RX63N, observe o código abaixo para ver como configurar o botão Switch1 como entrada de sinal, e o LED14 como saída de sinal. Copie o código no seu e2studio, de modo a corresponder à rotina principal main().

Ficou um código bem simples, não? Vamos agora carregá-lo na placa, e ver sua execução!

Build e Debug do Projeto para Execução

Antes de carregar o código na placa, é preciso fazer o seu Build, processo que irá compilar os códigos organizados no projeto em um binário, que é o programa que pode ser carregado na placa para execução.

Para fazer o Build do projeto, clique com o botão direito do mouse no diretório do projeto na aba Project Explorer, à direita, e na janela que irá aparecer, vá na opção Build Project. Veja como é na Figura 11.

RDK RX63N e e2studio: BuildProject
Figura 11 - Comando de Build do Projeto.

Ao cliar na opção Build Project, será iniciado o processo de compilação. Uma nova janela irá aparecer para mostrar o andamento do processo, como pode ser visto na Figura 12.

RDK RX63N e e2studio: BuildingProject
Figura 12 - Janela indicativa de Processo.

Observe que na parte inferior do e2studio há uma série de outras "abas", contendo opções tais como TasksConsoleProperties, dentre outras. Na aba Console é possível acompanhar com detalhes o andamento do processo de compilação. Quando tudo ocorre sem problemas, irá aparecer uma mensagem informando Build Complete (Construção Completa), assim como mostrado na Figura 13, ou seja, o binário foi gerado e o projeto compilado com sucesso. É nessa mesma aba que será informado também a ocorrência de erros, ou seja, se você esquecer algum ";", usar algum código sem biblioteca, etc.

RDK RX63N e e2studio: BuildFinished
Figura 13 - Resultado do Processo de Build.

Projeto compilado! Agora é hora de... carregar na placa! Para isso, vamos novamente clicar com o botão direito do mouse no diretório do projeto criado, na aba Project Explorer. Agora, na janela que irá abrir, iremos na opção Debug As -> 2 Renesas GDB Hardware Debugging. Veja como é na Figura 14 adiante. Após clicar nessa opção, o e2studio irá preparar as ferramentas de depuração e carregar o código na placa.

RDK RX63N e e2studio: Debug
Figura 14 - Comando de Hardware Debug do Projeto.

Assim como ocorre no processo de compilação, também é mostrada uma janela para apresentar o andamento do processo de configuração do ambiente de depuração, como mostrado na Figura 15.

RDK RX63N e e2studio: DebugStatus
Figura 15 - Janela indicativa do processo de Setup para Debug.

Caso essa seja a 1a vez que você esteja rodando o e2studio, irá aparecer uma janela lhe informando que há uma atualização do firmware do emulador J-Link utilizado no processo de depuração, assim como mostrado na Figura 16. Clique em OK para proceder com a atualização e continuar com o processo.

RDK RX63N e e2studio: FirmwareDebug
Figura 16 - Janela notificando atualização do firmware de emulador de Debug.

Como a ferramenta GDB, utilizada no processo de depuração, faz conexão com elementos de rede, bem provavelmente irá aparecer uma janela do Windows Firewall lhe pedindo para autorizar o acesso da ferramenta à rede, como mostrado na Figura 17. Clique em Allow access para o Windows liberar o acesso.

RDK RX63N e e2studio: e2serverGDB
Figura 17 - Janela para permissão de acesso Web do GDB

Ufa! Bom, paciência. São algumas muitas janelas, mas algumas só aparecem uma vez ou outra, tal como a janela informando atualização e a outra do Firewall. As demais fazem parte do processo!

Enfim. Terminado todo o processo de preparação de Debug (depuração), o e2studio irá mudar para a perspectiva de Debug, onde a estrutura visual da aplicação, assim como no Eclipse tradicional, é alterada com fins de exibir e apresentar todos os detalhes importantes para o desenvolvedor acompanhar a execução da aplicação, monitorar valores de variáveis, registradores, monitorar a execução de certos trechos de códigos, dentre outras coisas.

Assim que o e2studio carregou o seu projeto na perspectiva de debug, ele irá se encontrar em estado suspenso em breakpoint ("Suspended : Breakpoint" - veja em destaque na Figura 18). Para dar início à execução do código na placa, clique no botão de "play" esverdeado, assim como mostrado na Figura 18.

RDK RX63N e e2studio: DebugProjStartAgain
Figura 18 - Perspectiva de Debug e indicação do botão de execução de código.

No caso do presente projeto, ainda não irá começar a sua execução. Calma! Depois que você clicar no "Resume", aquele ícone de "play" esverdeado, o projeto irá mudar o status de suspenso em breakpoint para suspenso em sinal de interrupção. Basta clicar no mesmo botão de Resume, ou pressionar a tecla F8, para então iniciar a execução do código na placa! Veja como fica esse estado da depuração na Figura 19.

RDK RX63N e e2studio: DebugProjStart
Figura 19 - Perspectiva de Debug e destaque para modo de execução.

Com isso, finalmente seu projeto ficará em estado de execução, o que é destacado pela palavra Running na janela de depuração, como pode ser visto destacado na Figura 20.

RDK RX63N e e2studio: DebugProjRunning
Figura 20 - Perspectiva de Debug e destaque para Projeto em Execução.

Correspondente ao botão Switch1 (SW1) e ao LED14, na Figura 21 apresentada adiante aparece uma foto da minha montagem com o sistema em operação. Observem o LED aceso enquando mantenho a tecla SW1 pressionada.

RDK RX63N e e2studio
Figura 21 - Foto da operação.

Beleza. Gostaram de executar o código, né? E para encerrar a execução? Bom, basta clicar no botão de Terminate, que é um botão quadrado de cor vermelha, que aparece na perspectiva de Debug, assim como mostrado na Figura 22. Ao clicar nesse botão, o processo de depuração será encerrado. E um detalhe curioso que vale a pena informar, é que o seu código é carregado no RX63N para o processo de Debug. Ou seja, encerrado o processo, seu código estará armazenado no microcontrolador. Para o nosso caso, experimente pressionar o SW1, e verá que o LED14 irá acender mesmo assim!

RDK RX63N e e2studio: DebugProjTerminate
Figura 22 - Perspectiva de Debug e destaque para botão de Terminate para encerrar o Debug.

Gostaram? Se quiserem aprender mais sobre a arquitetura dos microcontroladores da família RX, acompanhem os cursos da plataforma de E-Learning da Renesas!

Leiam também os livros que apresentei no artigo da RDK RX63N aqui no Embarcados. São disponibilizados gratuitamente em formato *.pdf pela Renesas.

NEWSLETTER

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

André Curvello
Graduado em Engenharia de Computação com ênfase em Sistemas Embarcados pela USP, campus São Carlos, possui MBA em gestão de TI pela UNIFRAN e Mestrado em Ciências pela EESC-USP. Atua como Team Leader na PST Electronics - Pósitron, sendo também professor de pós-graduação e instrutor de cursos na área de sistemas embarcados. Como hobby, gosta de programar tudo que pode ser programado, escovando bits sempre ao lado de um bom café. Gosta de compartilhar seu conhecimento por meio de palestras, e publicando artigos como colaborador dos sites Embarcados e FilipeFlop. Em 2018 foi premiado como Microsoft Most Valuable Professional em Azure IoT pela Microsoft.

2
Deixe um comentário

avatar
 
1 Comment threads
1 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
1 Comment authors
Eder Andrade Recent comment authors
  Notificações  
recentes antigos mais votados
Notificar
Eder Andrade
Visitante
Eder

Muito bom André!

Quem quiser achar o cara para da Renesas para fornecimento, é só procurar no Linkedin por William Severino (Multi-channel Sales - Southeast & Brazil).

Eder Andrade
Visitante
Eder

Conheci pessoalmente.