• Benvenuti su RaspberryItaly!
Benvenuto ospite! Login Login con Facebook Registrati Login with Facebook


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Tags
rpi3 ubuntu 19 da 04 crosscompilazione amd64 per

CrossCompilazione per Rpi3 da Ubuntu 19.04 amd64
#1
Ciao a tutti,

avrei bisogno di alcune informazioni per cominciare a sviluppare applicazioni per raspberry direttamente in una macchina UBUNTU 19.04 amd 64.

Ho capito che ho bisogno di una toolchain di sviluppo e poi, una volta creata e compilata l'applicazione da ubuntu posso deployarla in raspberri usando rsync.

Per quanto riguarda la toolchain volevo capire se dovevo scaricare cose solo da ubuntu oppure devo prima aggiornare raspberry completamente, installare i pacchetti in raspberry e poi con rsync sincronizzare tutto il contenuto di raspberry nel mio pc di sviluppo.

Quando parlo del contenuto di raspberry mi riferisco alla sysroot costituita dalle cartelle /usr/lib ecc di raspberry da portare in ubuntu e utilizzare come base per lo sviluppo e la crosscompilazione.

Mi potete dare una mano a capire meglio i passi da eseguire?

Come ambiente di sviluppo vorrei usare VScode.

Ho già un server git "gogs" su raspberry su cui sto lavorando/appoggiando le mie applicazioni sviluppate in vscode per arduino. Bello vscode perchè all'apertura della cartella in cui è stato fatto il clone del progetto si accorge di lavorare in git server e permette di vedere il branch di sviluppo e altre cose fighe.

Inoltre ho anche git Kraken per tenere traccia dell'alberatura del mio branch di sviluppo nel server.

Grazie mille. Valerio.
Risposta
#2
(28/11/2019, 07:52)velvettiere Ha scritto: Ciao a tutti,

avrei bisogno di alcune informazioni per cominciare a sviluppare applicazioni per raspberry direttamente in una macchina UBUNTU 19.04 amd 64.

Ho capito che ho bisogno di una toolchain di sviluppo e poi, una volta creata e compilata l'applicazione da ubuntu posso deployarla in raspberri usando rsync.

Per quanto riguarda la toolchain volevo capire se dovevo scaricare cose solo da ubuntu oppure devo prima aggiornare raspberry completamente, installare i pacchetti in raspberry e poi con rsync sincronizzare tutto il contenuto di raspberry nel mio pc di sviluppo.

Quando parlo del contenuto di raspberry mi riferisco alla sysroot costituita dalle cartelle /usr/lib ecc di raspberry da portare in ubuntu e utilizzare come base per lo sviluppo e la crosscompilazione.

Mi potete dare una mano a capire meglio i passi da eseguire?

Come ambiente di sviluppo vorrei usare VScode.

Ho già un server git "gogs" su raspberry su cui sto lavorando/appoggiando le mie applicazioni sviluppate in vscode per arduino. Bello vscode perchè all'apertura della cartella in cui è stato fatto il clone del progetto si accorge di lavorare in git server e permette di vedere il branch di sviluppo e altre cose fighe.

Inoltre ho anche git Kraken per tenere traccia dell'alberatura del mio branch di sviluppo nel server.

Grazie mille. Valerio.
Up? Up?

Qualcuno mi può aiutare?

Grazie .
Risposta
#3
Ciao,

ho scoperto che ci sono moltissimi modi di crosscompilare e questa cosa non mi fa piacere. Sono un tipo che solitamente quando ho una cosa che funziona non la cambio perchè quadra che vince non si cambia Smile

A parte scherzi, comunque il primo metodo è crosscompilare direttamente da riga di comando. Il secondo è farlo direttamente dall'ambiente di sviluippo che seia esso visual studio code o altro. Comunque in vs code ho installato una estensione che mi permette di generare delle cartelle di lavoro cpp in cui posso gestire i linker alle librerie, compilatori, debugger della toolchain di linaro.

Quello che ho fatto quindi è stato installare la toolchain e sincronizzare le cartelle del raspi nella sysroot o rootfs della macchina host di sviluppo.


PRIMO MODO DA vscode:
In visual studio code ho installato una estensione per la gestione di progetti c/c++ e impostato tutto come

https://a-delacruz.github.io/tools/vscode+pi3.html

Tutto funziona correttamente.


SECONDO MODO DA RIGA DI COMANDO:


In questo modo poi ho creato il file Toolchain-RaspberryPi.cmake e compilato il file per richiamare i compilatori e le librerie.

Quando però da riga di comando lancio il comando cmake -D ecc... per compilare ottengo diversi errori tutti legati, almeno sembra, ai richiami alle librerie, agli headers file ecc...

Non riesco a capire questa cosa e come si procede.



PROBLEMA --> quando inserisco in main.cpp degli include a librerie mi vengono restituiti errori in fase di compilazione, come se non fossero linkate anche se però dall'IDE di sviluppo posso cliccarci sopra e andare direttamente a visualizzare il codicie di ciascuna come se invece fossero correttamente caricate.

Dove sta l'inghippo? Avete guide o esistono guide che seguono passo passo questo processo o che fanno capire bene come si lavora con cmake?

Vi sarei grato per la condivisione. Io personalmente ne sto preparando una grande per tutto il processo di crosscompilazione e mi manca solo questo passaggio con cmake.

Magari a cose fatte posso anche condividerla.

Grazie, Valeiro.
Risposta
#4
Ciao,
io ho scritto programmi in golang, il compilatore per questo linguaggio permette la crosscompilazione nativamente, non esiste qualcosa anche per c++ senza scomodare il raspberry per la compilazione?
[
Risposta
  


Vai al forum:


Navigazione: 1 Ospite(i)
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect