Domanda:
Come aggiungere la scheda Wiring S all'IDE di Arduino v.1.6.2?
Germán Carrillo
2015-03-31 20:30:23 UTC
view on stackexchange narkive permalink

Il mio Arduino Uno sta esaurendo la memoria per supportare il mio script (sì, ho già provato diversi modi per ottimizzarlo: PROGMEM, EEPROM, no Strings e così via), quindi vorrei caricare il mio script su la mia scheda Wiring S.

Tuttavia, invece di "portare" tutte le librerie su Wiring, vorrei compilare il mio script nell'IDE di Arduino e caricarlo sul mio Wiring S. In Arduino v.1.0 era "facile". X. perché da qualche parte ho ottenuto una cartella Wiring (contenente, tra le altre cose, un file boards.txt) e l'ho copiata nella cartella hardware di Arduino ottenendo la scheda Wiring S elencata nell'IDE di Arduino.

A partire da Arduino 1.5 la specifica per l'aggiunta di altre schede è cambiata. Direi che ora è più complesso. Semplicemente non riesco a capire la maggior parte delle nuove specifiche (sì, sono nuovo nell'elettronica), quindi non sono stato in grado di aggiungere la mia scheda Wiring S.

L'esecuzione del mio script in Arduino 1.0.x non funziona non sembra essere un'opzione, dato che genera molti errori (sebbene lo script venga compilato in Arduino 1.6.2).

Hai qualche esperienza nell'aggiungere altre schede (come Wiring S) all'IDE di Arduino? Potresti darmi qualche suggerimento?

Quale versione? Sembra che ci siano 4 diversi chip su queste schede. Qual è il chip principale? Le nuove specifiche di PS non sono poi così diverse. Richiede che tutto sia messo in una cartella (`avr`) e richiede un file platform.txt con solo un nome e una versione (due righe). Il file boards.txt ha alcune variabili con nuovi nomi. Riceverai alcuni messaggi di errore nell'IDE se qualcosa non è corretto.
Hai ragione, ma queste modifiche sono sufficienti per noi utenti di base per non essere in grado di lavorare con la configurazione con cui lavoravamo. D'altra parte, è Wiring S v.1.0, è esattamente come questo: http://www.lextronic.fr/P22978-platine-de-developpement-wiring-s.html
Quello a cui ti colleghi è un Atmega644P, mentre la v1.0 è atmega128. Quale file boards.txt hai usato per Arduino 1.0? Quindi posso provare a portarlo per te.
Uso Wiring S, che funziona con AtMega644p. La confusione è sorta perché in cima al microcontrollore c'è un adesivo che dice "WIRING S 1.0" (come mostrato nel link che ho pubblicato). Quindi, Wiring S, AtMega644p. Il boards.txt che ho usato è https://titanpad.com/wiringsboards Grazie!
[Ecco il mio tentativo di porting] (http://algemeenbekend.nl/misc/WiringS.zip). Non ho quella tavola, quindi non posso davvero provarla. Fai solo attenzione, poiché i numeri dei pin potrebbero essere diversi sulla scheda, quindi nell'IDE. Controlla anche i pin con il numero più alto.
Una risposta:
Gil
2016-01-25 08:16:11 UTC
view on stackexchange narkive permalink

Ci sono due cose che faccio; Uso Serial.print (F ("string / n")); che stampa i dati da flash invece di copiarli su ram. Mantieni il maggior numero possibile di variabili locali, così risparmierai ram. Questo viene fatto definendo poi nella funzione, il vantaggio aggiunto che nulla al di fuori della funzione può cambiarle.

Le variabili globali e statiche sono le prime cose caricate in SRAM. Spingono l'inizio dell'heap verso l'alto verso lo stack e occuperanno questo spazio per tutta l'eternità.

Le variabili create nelle funzioni sono oggetti e dati allocati dinamicamente. A differenza delle variabili Global e Static, queste variabili possono essere de-allocate per liberare spazio all'uscita dalla funzione. Ma ogni chiamata di funzione crea uno stack frame che fa crescere lo stack verso l'heap. Questi dati sono utilizzabili all'interno della funzione, ma lo spazio viene recuperato al 100% quando la funzione esce!

Grazie per la tua risposta, anche se non sto chiedendo suggerimenti su come risparmiare spazio nel programma.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...