Go Down

Topic: [RISOLTO] Probabile "saturazione" di risorse ram (Read 3 times) previous topic - next topic

leo72


Esattamente, dove si trova avr-size ?
Per quanto riguarda il Macintosh, entro su Arduino.app > Contents > Resources > Java e qua ho tutto il programma (cartella librerie, example, reference, etc etc) ma non riesco a trovare ave-size !

Non conosco il Mac.
Però se attivi la compilazione "verbose" (File/Preferenze) poi nella finestra dell'IDE in basso vedi il percorso da dove vengono richiamati i vari comandi, così trovi anche avr-size.

Quote

Invece ho trovato il file .hex che vi allego !

Non l'hai allegato  :P

Quote

Invece per quanto riguarda Petit ora vedo come implementare questa libreria su arduino !  :smiley-mr-green:

Grazie

Basta copiarla in /sketchbook/libraries (o per lo meno così mi par di ricordare, è passato 1 anno da quando l'ho usata)

anerDev

Quote
Non conosco il Mac.
Però se attivi la compilazione "verbose" (File/Preferenze) poi nella finestra dell'IDE in basso vedi il percorso da dove vengono richiamati i vari comandi, così trovi anche avr-size.


/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-g++ ? può essere ?

Nella cartella hardware/tools avevo trovato una cartella ave, ma non c'era nessun accenno ad "avr-size" però nel verbose output viene molte volte ripetuto quel percorso !
Per si e per no ecco tutti i tool  che si trovano nella cartella bin (gli eseguibili) contenuti nella cartella avr:

Quote

ar   c++   g++   gccbug   ld   objcopy   ranlib
as   cpp   gcc   gcov   nm   objdump   strip


Quote
Non l'hai allegato 


Ancora devo smaltire i vari danni del capodanno ! hahua or al'ho allegato

Quote
Basta copiarla in /sketchbook/libraries (o per lo meno così mi par di ricordare, è passato 1 anno da quando l'ho usata)


importato ! Ma non trovo nessun sketch similar .ino ! :/ ora googlo un pò per vedere cosa trovo

leo72


/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-g++ ? può essere ?

Lo devi avere, fa parte della toolchain. Deve stare in quel percorso.
Se dai /Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-size cosa risponde il terminale?

Quote

importato ! Ma non trovo nessun sketch similar .ino ! :/ ora googlo un pò per vedere cosa trovo

Hai scaricato questo?
http://elm-chan.org/fsw/ff/pff2a.zip

Prova allora a fare così: crei in /sketchbook/libraries una cartella denominata pff (ho visto che il file header della lib si chiama pff.h) e poi scompattaci dentro tutti i file di quell'archivio. Poi crea uno sketch e prova a mettere #include "pff.h" e vedi se ti da errore.

tuxduino

...ricordando di chiudere tutte le finestre dell'IDE e di rilanciarlo dopo aver scompattato i file. Se "installi" una libreria mentre è avviato, non la "vede" fino al riavvio del programma.

anerDev

Quote
Lo devi avere, fa parte della toolchain. Deve stare in quel percorso.
Se dai /Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-size cosa risponde il terminale?


/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-size: 'a.out': No such file

Quote
Hai scaricato questo?
http://elm-chan.org/fsw/ff/pff2a.zip


yes ! Ho estratto la cartella "src" l'ho rinominata in pff ed esce:

Quote
/Applications/Arduino.app/Contents/Resources/Java/libraries/pff/diskio.c:48: error: conflicting types for 'disk_writep'
/Applications/Arduino.app/Contents/Resources/Java/libraries/pff/diskio.h:28: error: previous declaration of 'disk_writep' was here


La riga 48 corrisponde a questo:

Code: [Select]
DRESULT disk_writep (
BYTE* buff, /* Pointer to the data to be written, NULL:Initiate/Finalize write operation */
DWORD sc /* Sector number (LBA) or Number of bytes to send */
)


mentre la riga 28 del diskio.h:

Code: [Select]
DRESULT disk_writep (const BYTE*, DWORD);

Quote
...ricordando di chiudere tutte le finestre dell'IDE e di rilanciarlo dopo aver scompattato i file. Se "installi" una libreria mentre è avviato, non la "vede" fino al riavvio del programma.


:smiley-mr-green: :smiley-mr-green: :smiley-mr-green:

anerDev

Dal file in allegato che ho messo non riuscite ad estrapolare la dimensione ?

Io per si e per no ho provato con il file ave-g++ ecco il risultato:

Quote
iMac:tmp andrea$ /Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-g++ /tmp/sd.cpp.elf -C
/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/bin/ld: unknown architecture of input file `/tmp/sd.cpp.elf' is incompatible with avr output
/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/crts8515.o:(.init9+0x0): undefined reference to `main'

tuxduino

Il programma è avr-size, non avr-g++ (che è il compilatore). Comunque non c'è alcun allegato :P

anerDev

#22
Jan 02, 2013, 04:04 pm Last Edit: Feb 14, 2014, 12:03 am by anerDev Reason: 1
Non lo trovo avr-size ! :/
Ci sono solamente questi:

Quote
ar   c++   g++   gccbug   ld   objcopy   ranlib
as   cpp   gcc   gcov   nm   objdump   strip

anerDev

TROVATO !

Quote
iMac:~ andrea$ /Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-size  /tmp/sd.cpp.elf -C
AVR Memory Usage
----------------
Device: Unknown

Program:       0 bytes
(.text + .data + .bootloader)

Data:          0 bytes
(.data + .bss + .noinit)


iMac:~ andrea$


Cosa vuol dire ?

leo72

Che il file è vuoto. E mi suona strano il percorso perché l'IDE di Arduino crea una cartella temporanea in /tmp/build-4875634875609348569384569834
cioè con un numero creato da una sfilza di cifre che cambia di volta in volta. Lì dentro ci sono i file dopo che hai compilato lo sketch.

Per la Petit FatFs:
allora significa che non è una libreria installabile sull'IDE di Arduino.
Sinceramente non mi ricordo come la usai. Anche perché feci dei test e nulla più.
Googlando ho trovato questo:
https://github.com/mharizanov/petit_fatfs

E' un wrapper scritto per usare la Petit FatFs con Arduino

anerDev

Quote
Che il file è vuoto. E mi suona strano il percorso perché l'IDE di Arduino crea una cartella temporanea in /tmp/build-4875634875609348569384569834
cioè con un numero creato da una sfilza di cifre che cambia di volta in volta. Lì dentro ci sono i file dopo che hai compilato lo sketch.


avevo spostato il file per rendere più facile la scrittura sul terminale ! Ora ho incollato il percorso originale (dopo aver ricompilato il tutto):

Quote
iMac:~ andrea$ /Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-size  /var/folders/3f/s78gw1_94934mb_js4ljmh240000gn/T/build6753189683464400000.tmp/pre_final3_at_sd.cpp.elf -C
AVR Memory Usage
----------------
Device: Unknown

Program:   25408 bytes
(.text + .data + .bootloader)

Data:       2390 bytes
(.data + .bss + .noinit)


iMac:~ andrea$


Quote
Per la Petit FatFs:
allora significa che non è una libreria installabile sull'IDE di Arduino.
Sinceramente non mi ricordo come la usai. Anche perché feci dei test e nulla più.
Googlando ho trovato questo:
https://github.com/mharizanov/petit_fatfs

E' un wrapper scritto per usare la Petit FatFs con Arduino


Ho installato la libreria, rinominata correttamente ma quando verifico gli esempi mi dà sempre lo stesso errore (non ho modificato minimamente il codice):

Quote
'USIDR'  was not declared in this scope


:/

tuxduino

Quote
Data:       2390 bytes
(.data + .bss + .noinit)


Sbaglio o questo significa che viene allocata più ram di quanta ne sia disponibile sull'UNO (2K ?)

leo72


Quote
Data:       2390 bytes
(.data + .bss + .noinit)


Sbaglio o questo significa che viene allocata più ram di quanta ne sia disponibile sull'UNO (2K ?)

Eh già.

leo72

@anerDev:
apre che quel wrapper che ti ho passato sia per i Tiny84.
Prova questo
http://arduino.cc/forum/index.php/topic,37604.0.html

anerDev

Quote
Eh già.


Allora ho 4 soluzioni:

- provare se con petit riesco ad utilizzare meno ram;
- provare a tagliere il superfluo dalle librerie (non ho le competenze) = soluzioe da scartare;
- usare un Mega;
- usare due Uno;

e c'è ancora da aggiungere il trasmettitore ntx2: http://ukhas.org.uk/guides:linkingarduinotontx2

In definitiva, usare il Mega mi sembra la soluzione meno problematica !

o sbaglio ?

Go Up