Tutorial: Configurando Eclipse para desenvolvimento com a BeagleBone Black

On 25 de abril de 2014 by Vicente Amorim

beaglebone-black

O tutorial a seguir os passos necessários para se configurar a IDE Eclipse para o desenvolvimento com a plataforma BeagleBone Black. Os passos aqui descritos podem ser aplicados, na grande maioria dos casos, no processo de desenvolvimento utilizando quaisquer outras plataformas.

Dessa forma, iremos descrever abaixo um processo genérico de configuração do ambiente de desenvolvimento, de forma a tornar o processo de desenvolvimento mais simples. Todo o processo é apresentado passo-a-passo:

1) Download e instalação do Eclipse:

1.1) A versão da IDE Eclipse aqui considerada pode ser baixada aqui. Escolha a opção “Eclipse IDE for C/C++ Developers” na arquitetura do seu PC.

Captura de Tela 2014-04-16 às 20.23.29

Versão do Eclipse a ser baixada

1.2) Após o download, extraia o arquivo compactado em um diretório de seu conhecimento. (Ex.: “~/Downloads” no Linux).

1.3) Após o término da extração, um diretório chamado “eclipse” será criado. Para iniciar a aplicação, entre neste diretório e dê um duplo clique no arquivo “eclipse”. A seguinte splash screen deve ser aberta.

Captura de Tela 2014-04-16 às 20.25.40

Splash screen de abertura do eclipse

Aguarde até que a janela de seleção do workspace apareça, então, selecione o local de criação do seu workspace. Ao final, seu eclipse estará pronto ao uso e você terá a seguinte visão após fechar a tela de boas-vindas.

Captura de Tela 2014-04-16 às 20.29.17

Tela inicial da IDE Eclipse.

2) Configuração interna do Eclipse para a BeagleBone Black:

Para o cenário aqui considerado, onde iremos utilizar uma compilação cruzada, será necessário acesso remoto a plataforma BeagleBone.

2.1) Para que isso seja possível, o Eclipse deve possuir instalado o pluginRemote Systems Explorer”. Para saber se o mesmo já se encontra instalado acesse o menu “Window” -> “Show View” -> “Other” e procure pela opção “Remote Systems” (como mostrado abaixo). Dê um duplo clique em nesta opção.

Captura de Tela 2014-04-16 às 20.41.32

Acesso ao plugin Remote Systems

2.2) Após o passo anterior, a aba “Remote Systems” deve ter sido disponibilizada na interface principal do Eclipse. Precisaremos agora criar e configurar uma nova conexão remota com a placa BeagleBone Black. Para isso, execute os passos abaixo:

2.2.1 – Dê um clique com botão direito sobre o item “Local“, seleciona a opção “New” -> “Connection“.

Captura de Tela 2014-04-16 às 20.49.34

Passos para criar nova conexão remota.

2.2.2) Selecione a opção “Linux” e clique em “Next >”.

2.2.3) Na caixa “Host name: ” coloque o IP associado a sua placa BeagleBone Black.

2.2.4) Na caixa “Connection name:” coloque o nome dessa nova conexão.

Captura de Tela 2014-04-16 às 20.53.27

Configurando uma nova conexão remota

2.2.5) Clique em “Finish“.

OBS.: Caso perguntado, selecione opções relativas à conexão SSH e acesso via Shell Linux.

2.2.6) Ao final, a conexão remota deve ter sido configurada com sucesso. Uma listagem das possíveis conexões remotas pode ser acessada através do menu: Window -> Show View -> Remote Systems -> Remote Systems. Uma nova aba será apresentada com a conexão configurada com a BeagleBone Black.

Captura de Tela 2014-04-18 às 11.47.05

 

A figura acima descreve como lançar uma nova sessão de acesso. Ao clicar na opção “Launch Terminal” a conexão com a placa será iniciada como na figura apresentada abaixo.

Captura de Tela 2014-04-18 às 11.47.18

 

Todas as modificações feitas no sistema de arquivos através da conexão remota, refletirão em alterações diretamente na placa.

 

3) Criação de um projeto em C/C++ para executar diretamente na BeagleBone Black:

Nesse terceiro passo iremos criar um programa em C/C++ para executar diretamente em nossa plataforma-alvo.

3.1) Para tanto, clique com o botão direito na aba “Project Explorer”, selecione “New” -> “C++ Project”.

Captura de Tela 2014-04-18 às 11.49.04

 

Preencha as informações com os dados relacionados e lembre-se que estamos utilizando uma compilação cruzada.As próximas figuras exemplificam os passos a seguir:

Captura de Tela 2014-04-18 às 11.50.31

 

Captura de Tela 2014-04-18 às 11.50.50

 

Captura de Tela 2014-04-18 às 11.50.57

 

No último passo será necessário configurarmos o nosso compilador cruzado. O código gerado em nossa máquina é para arquiteturas Intel x86. Instruções geradas pela compilação nessa linguagem não irão funcionar na plataforma, uma vez que ela utiliza a arquitetura ARM. Na tela exemplificada abaixo, configure o prefixo do compilador e o caminho para o mesmo em seu sistema de arquivos.

Captura de Tela 2014-04-18 às 11.55.37

 

Caso o compilador não os tenha instalado, execute os seguintes passos em sua máquina host para a instalação do mesmo:

  • sudo apt-get install gcc-4.4-arm-linux-gnueabi
  • Alterar o compilador e linkeditor padrão acessando: Project -> Properties -> C/C++ Build -> Settings.

Captura de Tela 2014-04-18 às 12.01.31

 

  • Alterar ainda o caminho para o diretório contendo os header files corretos: Project-> Properties -> C/C++ General -> Paths and Symbols -> Aba “Includes” -> Selecionar opção “GNU C” -> “Add” -> File System

Captura de Tela 2014-04-18 às 12.05.41

 

  • Selecionar o local onde se encontram os headers files C (no linux, normalmente armazenados em /usr/arm-linux-gnueabi/include).
  • Alterar ainda o caminho para o diretório contendo os header files corretos: Project-> Properties -> C/C++ General -> Paths and Symbols -> Aba “Includes” -> Selecionar opção “GNU C++” -> “Add” -> File System.

Captura de Tela 2014-04-18 às 12.17.37

 

  • Selecionar o local onde se encontram as bibliotecas acessando a aba “Library Paths” (no linux, normalmente armazenados em /usr/arm-linux-gnueabi/lib).

Captura de Tela 2014-04-18 às 12.17.55

 

3.2) Ao final, para compilar o código objeto basta acessar o menu Project -> Build All.

Captura de Tela 2014-04-18 às 12.19.35

4)  Execução do código de forma remota:

O projeto aqui exemplificado foi até agora compilado e seu binário gerado para a arquitetura-alvo (em nosso caso, ARM). Entretanto, o binário gerado pelo eclipse não é possível de ser executado na máquina host (onde o eclipse está instalado). Ao contrário, ele precisa de alguma forma ser copiado para nossa placa.

Para que isso seja possível iremos executar algumas alterações nas configurações de execução do projeto. Na janela principal do seu projeto no eclipse, abra as configurações de execução como exibido na figura abaixo (através do clique na “seta para baixo” do botão de execução):

Captura de Tela 2014-04-25 às 11.34.52

 

Uma janela (como na figura abaixo) deverá ser exibida. Nela iremos colocar as configurações relacionadas ao projeto de forma que execute remotamente e diretamente na placa BeagleBone Black. Note que uma nova configuração de execução foi criada à partir do duplo clique no item “C/C++ Remote Application” no canto esquerdo da tela.

Configure a execução do binário do seu projeto como mostrado a seguir, não esquecendo dos seguintes pontos:

  • Adicionar o caminho (path) para onde será armazenado o binário no campo “Remote Absolute File Path for C/C++ Application” – em nosso caso: /home/ubuntu/Progs/olamundo; e
  • Adicionar a permissão de execução assim que seu binário for carregado na placa através do campo “Commands to execute before application” – em nosso caso: chmod +x /home/ubuntu/Progs/olamundo.

Captura de Tela 2014-04-25 às 11.32.06

 

Pronto, ao clicar no botão executar seu projeto será compilado localmente e executado de forma remota diretamente na placa BeagleBone Black.

 

5) Referências

Os passos aqui mostrados foram baseados no tutorial apresentado em:

[1] http://www.michaelhleonard.com/cross-compile-for-beaglebone-black/

[2] https://www.youtube.com/watch?v=vFv_-ykLppo

One Response to “Tutorial: Configurando Eclipse para desenvolvimento com a BeagleBone Black”

  • Boa Tarde,

    Estou em um projeto que preve o uso da placa BeagleBone Black. estou seguindo seu tutorial para a conecção da placa através do Eclipse. Estou usando o Windows com systema operacional da máquina.
    No passo 2.2.2 clico em windows e finalizo no passo 2.2.5 sem problemas. porém no passo 2.2.6 não segue como você descreveu. Gostaria muito de um apoio para entender o que está acontecendo.

    Grato
    João Clayton

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *