Esperienza di prima mano con Linux AVR IDE


8

Sto cercando qualche input per ottenere un buon ambiente di sviluppo integrato impostato per la programmazione AVR sotto Linux (Assembly e C).

I miei studi mi hanno dato un'esperienza pratica limitata con gli AVR ma temo di diventare un po 'arrugginito, quindi voglio impegnarmi in alcuni progetti, ma voglio anche perseverare nell'esecuzione di tutti gli sviluppi su Linux.

Uso USBtinyISP di Ladyada e sto programmando i miei chip con AVRdude ma non ho ancora trovato un IDE che funzioni come mi piace sotto Linux, quindi ho compilato e compilato tramite il mio Windows lappie e AVRstudio. (Questo è il motivo per cui adoro Arduino, buon IDE e funziona subito!)

Quindi, qualcuno ha qualche esperienza diretta con un IDE con Linux che ha sviluppato con successo i propri progetti AVR dall'inizio alla fine?

Risposte:


8

Il vantaggio degli sviluppatori basati su Linux è che di solito hanno un proprio flusso di lavoro unico (vim vs emacs, ecc.). Secondo me, Linux è un grande IDE a cui aggiungi le tue parti. Con quello in mente:

Se si utilizza una distro basata su debian, eseguirla nella riga di comando: sudo apt-get install build-essential avr-gcc avrdude

Quindi trova un editor di testo che ti piace (google è tuo amico ma eccone alcuni: vim / gvim, emacs, geany, kate, jedit) e scrivi un po 'di C. Quando sei pronto per compilare, salta su avrfreaks e dai un'occhiata makefile di altre persone . Probabilmente puoi semplicemente rubare un makefile dal progetto di qualcun altro e modificare il dispositivo di destinazione, la frequenza XTAL e i nomi dei file di origine. Dopo aver eseguito make e avere un file .hex, usa avrdude per programmare il tuo chip.

Per entrare nei dettagli ci vorrebbe molto più spazio di me, ma questo è il processo di base. Quando hai dimestichezza con il processo puoi fare cose straordinarie nel makefile come avere un singolo comando che compila e scarica il tuo codice. Alcuni editor di testo (come Geany) ti consentono di impostare comandi di personalizzazione sulle opzioni del menu della GUI in modo da poter avere un pulsante di compilazione + download come faccio io.

Inoltre, la cosa fantastica di questo processo è che è praticamente lo stesso se stai costruendo per ARM, AVR, x86, SPARC, qualunque cosa. Una volta che hai makefile e gcc down, il resto dello sviluppo di Linux è un gioco da ragazzi!


HEHE, così semplice. Sono stato inutilmente scoraggiato da questo approccio. Fino a quando non è stato spiegato così semplicemente non sapevo come fare per costruire il makefile. Grazie per la direzione :)
BrianMcK il

Questo è quello che faccio anch'io. EMACS e un Makefile. Puoi anche compilare cose di Arduino in questo modo. (* jcl *)
jluciani il

Puoi anche usare Eclipse come IDE / editor e usare il makefile per compilare e scaricare. Con OpenOCD e ARM è anche possibile eseguire il debug tramite JTAG (non so se funziona con AVR).
Starblue,

3

Esiste un modulo Eclipse per l'AVR, ma l'ho usato e sembrava essere molto più problematico di quanto valesse. (Come la maggior parte degli altri moduli Eclipse che ho usato)


Saluti per il comando, ma dato che non sembri così convinto che non mi
preoccuperò

Vorrei solo aggiungere che devo usare eclipse al lavoro (non per avrs però) e non lo consiglio. Per i microcontrollori puoi fare a meno di tutto quel gonfiore.
Jeremy, il

2

Non ho alcuna esperienza diretta con esso, ma KontrollerLab sembra interessante.


Sì, ho già provato a far funzionare KontrollerLab in precedenza, ma il mio PC recentemente si è bloccato in modo molto grave e ho appena impostato di nuovo tutto. Sembra essere dello stesso equipaggio che ha reso Ktechlab che ho trovato molto utile per la progettazione di schemi e circuiti. Grazie per l'input.
BrianMcK,

2

Dato che l'approccio makefile sembra avere a che fare con il lato C della mia domanda, ho fatto un po 'più di sperimentazione qui (come era) e ho scoperto che avevo le risorse per costruire anche il codice assembly.

Usando AVRA , un assemblatore di riga di comando, ho testato la costruzione di un mio vecchio progetto scolastico e ho prodotto un identico file * .hex confrontandolo con il mio output AVRstudio originale. Anche se in realtà non ho programmato l'AVR micro, basandomi solo sull'output sono felice di dire che ho xp di prima mano ora, anche se limitato :)


Non dimenticare che avr-gcc include anche un assemblatore perfettamente valido. Ha una sintassi leggermente diversa da quella di AVRA e dell'assemblatore di Atmel, ma funziona altrettanto bene.
Tim

0

ECLIPSE funziona perfettamente su un EeePC con la patch AVR ... Ma è un po 'lento.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.