Cov txheej txheem:

Desenvolvendo Aplicações Remotamente Para a Dragonboard 410c Usando IDE Eclipse: 17 Kauj Ruam
Desenvolvendo Aplicações Remotamente Para a Dragonboard 410c Usando IDE Eclipse: 17 Kauj Ruam

Video: Desenvolvendo Aplicações Remotamente Para a Dragonboard 410c Usando IDE Eclipse: 17 Kauj Ruam

Video: Desenvolvendo Aplicações Remotamente Para a Dragonboard 410c Usando IDE Eclipse: 17 Kauj Ruam
Video: Espressif RainMaker - Como criar um dispositivo IoT em menos de 10 minutos! 2024, Lub Xya hli ntuj
Anonim
Desenvolvendo Aplicações Remotamente Para a Dragonboard 410c Usando IDE Eclipse
Desenvolvendo Aplicações Remotamente Para a Dragonboard 410c Usando IDE Eclipse

O objetivo deste documento é mostrar as etapas necessárias para configurar o ambiente de desenvolvimento, de modo que o HostPC (Computador / Notebook), através do IDE Eclipse compile os códigos e exporte para o Alvo (Dragonboard 410c) ntawm SSH.

Kauj Ruam 1: Cov Lus Qhia Tshwj Xeeb:

Kho vajtse

  • (1) Computador / Notebook (HostPC)
  • (1) Dragonboard 410c (Alvo)

Software

  • IDE Dab noj hnub CDT
  • Hla kev suav sau (GCC Linaro)

Infra estrutura tsib rede

  • Rede WiFi tshaj tawm
  • Daim ntawv tso cai SSH thiab rede

Kauj Ruam 2: Ambiente De Desenvolvimento:

Ambiente De Desenvolvimento
Ambiente De Desenvolvimento

Mesmo sendo possível desenvolver softwares de forma nativa, diretamente na Dragonboard 410c (Plataforma Alvo), recomenda-se us um Computador / Notebook (HostPC) para o desenvolvimento de suas aplicações.

Para esse guia estamos kwv yees li que Host está usando sistema operacional Linux. Tsis muaj qhov xav tau, esse desenvolvimento pode ser feito em Microsoft Windows thiab Apple MacOS.

Kauj ruam 3: Toolchain:

Toolchain
Toolchain

Toolchain é um conjunto de ferramentas de programação usadas rau gerar binários de softwares. Os elementos de uma Toolchain hais txog:

  • Sib dhos
  • Sau
  • Txuas
  • Debugger
  • Runtime Tsev Qiv Ntawv
  • Cov khoom siv hluav taws xob

Cov ntsiab lus ntawm Toolchain:

Nativo

Compilação para a mesma arquitetura onde está sendo gerado o binário da aplicação.

Hla Kev Sau

Hla kev suav sau é um método utilizado para gerar executáveis de software para diferentes arquiteturas de computadores. É usado quando a plataforma de desenvolvimento (Host) tem arquitetura diferente do alvo.

Kauj Ruam 4: Configurando O Cross Compile No HostPC:

Configurando O Cross Compile Tsis muaj HostPC
Configurando O Cross Compile Tsis muaj HostPC

Dragonboard 410c usa arquitetura ARM e para esse exemplo estamos considerando que o HostPC siv cov khoom siv arquitetura x86 ou x64. Como vimos na sessão anterior, Cross Compile é um método utilizado para gerar executáveis de software para diferentes arquiteturas de computadores.

Rub tawm

HostPC Linux 32 Khoom:

HostPC Linux 64 khoom:

Instalação

Após a conclusão do download do cross-compile, o próximo passo é extrair os arquivos para algum diretório do sistema operacional. Piv txwv li, estamos extraindo para o diretório " /opt":

tar xf gcc-linaro-4.9-2016.02-x86_64_aarch64-linux-gnu.tar.xz -C /opt

Feito isso, temos o cross-compile configurado no HostPC:)

Kauj ruam 5: IDE Dab noj hnub:

IDE dab noj hnub
IDE dab noj hnub

Dab noj hnub é um IDE - Ib puag ncig kev txhim kho ib puag ncig, ib puag ncig de desenvolvimento integrado, que permite o desenvolvimento de softwares usando diferentes linguagens de programação.

Download tau Instalação

Acesse https://www.eclipse.org e clique no botão Download, localizado no canto superior do site, em seguida faça download da versão compatível com seu host (computador/notebook).

Ao iniciar a instalação, uma interface GUI com diferentes projetos será iniciada. Selecione a opção: Eclipse IDE rau C/C ++ Cov Tsim Kho.

Kauj Ruam 6: Criando Uma Aplicação E Transferindo Para Dragonboard 410c Ntawm IDE Eclipse E SSH:

Criando Uma Aplicação E Transferindo Para Dragonboard 410c Ntawm IDE Eclipse E SSH
Criando Uma Aplicação E Transferindo Para Dragonboard 410c Ntawm IDE Eclipse E SSH

Os próximos passos são as etapas necessárias para criar um projeto de software usando Eclipse e portar esse código na Dragonboard 410c ntawm cov txheej txheem SSH.

Thawj qhov ntawm Eclipse:

./eclipse

Peb tab tom tham txog iremos criar um projeto ARM:

Cov Ntaub Ntawv -> Tshiab -> C -Project

Ua ntej tshaj tawm:

  • Project npe: Helloworld
  • Hom phiaj xwm: Nyob Zoo Ntiaj Teb ANSI C Project
  • Toolchains: Hla GCC

Kauj Ruam 7: Configurações Básicas Da Aplicação:

Configurações Básicas Da Aplicação
Configurações Básicas Da Aplicação

Raws li kev teeb tsa cov ntaub ntawv thiab daim ntawv thov raws li seguintes cov ntaub ntawv:

  • Tus sau
  • Tsab ntawv ceeb toom txog txoj cai
  • Nyob zoo ntiaj teb
  • Qhov chaw

Nyem rau Next.

Kauj ruam 8: Configuração De Deploy:

Kev teeb tsa Deploy
Kev teeb tsa Deploy

Para a configuração de Deploy vamos selecionar as opções Debug e Tso Tawm:

Selecione a opção Xaiv Txhua

Kuv seguida, clique em Next.

Kauj Ruam 9: Configuração Do Cross Compile:

Configuração Ua Hla Kev Sau
Configuração Ua Hla Kev Sau

Kev teeb tsa ua kab ke sib sau ua ke tsis muaj dab noj hnub suav nrog em setar raws li cov ntaub ntawv ntawm Cross compiler ua ntej e o caminho ua Toolchain.

  • Cross Compiler Prefix

    • HostPC 32 khoom: caj npab-linux-gnueabihf-
    • HostPC 64 khoom: aarch64-linux-gnu-
  • Txoj kev

    /opt/gcc-linaro-4.9-2016.02-x86_64_aarch64-linux-gnu/bin

Kuv seguida, clique em Next.

Kauj Ruam 10: Ua Kom Zoo Tshaj Plaws:

Kev Sib Raug Zoo
Kev Sib Raug Zoo

Para sib piv o projeto clique com botão direito na pasta do projeto, em seguida selecione a opção Tsim Project.

Kauj Ruam 11: Criando Conexão Com a Dragonboard (Ntu 1)

Criando Conexão Com a Dragonboard (Ntu 1)
Criando Conexão Com a Dragonboard (Ntu 1)

Clique com botão direito na pasta do projeto e selecione a opção Khiav teeb tsa.

Kauj Ruam 12: Criando Conexão Com a Dragonboard (Ntu 2)

Criando Conexão Com a Dragonboard (Ntu 2)
Criando Conexão Com a Dragonboard (Ntu 2)
Criando Conexão Com a Dragonboard (Ntu 2)
Criando Conexão Com a Dragonboard (Ntu 2)

Dê dois cliques na opção C/C ++ Remote Application, resultando na adição de uma nova configuração de projeto remoto.

Yog li ntawd, nyob rau hauv kev twb kev txuas mus rau qhov chaw nyob deb tus tswv.

Kauj Ruam 13: Criando Conexão Com a Dragonboard (Ntu 3)

Criando Conexão Com a Dragonboard (Ntu 3)
Criando Conexão Com a Dragonboard (Ntu 3)

Na sessão anterior criamos uma nova conexão, o próximo passo é configurar os parâmetros de conexão SSH:

  • Tus tswv tsev
  • Tus neeg siv
  • Lo lus zais raws autentication

Kauj Ruam 14: Criando Conexão Com a Dragonboard (Ntu 4)

Criando Conexão Com a Dragonboard (Ntu 4)
Criando Conexão Com a Dragonboard (Ntu 4)
Criando Conexão Com a Dragonboard (Ntu 4)
Criando Conexão Com a Dragonboard (Ntu 4)

Nessa sessão, vamos teeb tsa los yog hauv zos de armazenamento dos códigos compilados. Essa configuração é feita quando clicamos na botão Browser.

Após clicar botão Browser, selecione o diretório onde deseja exportar os binários gerados.

Kauj Ruam 15: Ua tiav Aplicação Na Dragonboard 410c Via Eclipse

Kev Ua Haujlwm thiab Aplicação Na Dragonboard 410c Ntawm Eclipse
Kev Ua Haujlwm thiab Aplicação Na Dragonboard 410c Ntawm Eclipse

Agora com tudo configurado, podemos executar o projeto remotamente, clicando em Khiav.

Kauj Ruam 16: Resultado Da Compilação No Eclipse

Resultado Da Compilação Tsis Muaj Dab Tsi
Resultado Da Compilação Tsis Muaj Dab Tsi

Qhov tshwm sim ntawm Eclipse yog:

Nkag mus zaum kawg: Friday Nov 25 18:24:20 2016 los ntawm 192.168.0.7

/tsev/linaro/Cov Ntaub Ntawv/helloworld; tawm linaro@linaro-alip: ~ $/tsev/linaro/Cov Ntaub Ntawv/helloworld; tawm !!! Nyob zoo ntiaj teb !!! tawm

Kauj Ruam 17: Qhov tshwm sim Da Compilação Na Dragonboard 410c

Nas configurações da conexão entre o Eclipse (HostPC) e a Dragonboard 410c foi definido um diretório para armazenar os códigos binários gerados. Acesse cov lus qhia ntxiv:

linaro@linaro-alip: ~ $ cd/home/linaro/Cov ntaub ntawv/

Nyob zoo, d permissão de execução para o binário gerado:

linaro@linaro-alip: ~ $ chmod u+x helloworld

Ua qhov kev ua si:

linaro@linaro-alip: ~ $./helloworld

!!! Nyob zoo ntiaj teb !!!

Pom zoo: