Go Down

Topic: Nuovi sviluppi IDE 1.8.x (Read 258139 times) previous topic - next topic

lestofante

perchè nessuno lo mantiene, evidentemente :)
Guida per principianti http://playground.arduino.cc/Italiano/newbie
Unoffical Telegram group https://t.me/genuino

lestofante



ma non credo che lì venga usata la malloc() "di arduino"


Non esiste la malloc() di Arduino, è una funzione del C ben definita e fa parte dello standard del linguaggio, poi tocca vedere come viene implementata dai vari compilatori.



quindi esiste la possibilità che quei firmware della WiFi siano compilati con una malloc() buggata?

che poi vorrei ben capire cos'è questo "bug"
Guida per principianti http://playground.arduino.cc/Italiano/newbie
Unoffical Telegram group https://t.me/genuino

skaxxo


perchè nessuno lo mantiene, evidentemente :)


bellissimo...
Arduino, MODs e DIY: blackstufflabs.com

skaxxo

#33
Mar 12, 2013, 01:26 pm Last Edit: Mar 12, 2013, 01:33 pm by AnTrea Reason: 1
comunque, giusto per la cronaca, ho aggiornato il bootloader della mia 2560, a fine processo di uploading mi da errori.

però compila e carica senza problemi sketch... boh

con usbasp:
Code: [Select]
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: verification error, first mismatch at byte 0x1e000
         0xff != 0x0d
avrdude: verification error; content mismatch
Arduino, MODs e DIY: blackstufflabs.com

leo72



perchè nessuno lo mantiene, evidentemente :)


bellissimo...

Sono pacchetti di secondaria importanza e per essi generalmente nei repo Ubuntu mettono una versione stabile e poi la lasciano lì. Scaricati l'IDE dal sito e risolvi.
Oppure compila dai sorgenti.
Oppure ancora passa ad una distro che aggiorna molto più velocemente i pacchetti (come ad esempio Arch Linux).

menniti


comunque, giusto per la cronaca, ho aggiornato il bootloader della mia 2560, a fine processo di uploading mi da errori.

però compila e carica senza problemi sketch... boh

con usbasp:
Code: [Select]
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: verification error, first mismatch at byte 0x1e000
         0xff != 0x0d
avrdude: verification error; content mismatch


Secondo me non hai aggiornato un bel nulla. apri il file boards.txt e sostituisci nella board che hai usato il valore efuse (attuale ff) con "0d", quindi riprova a fare l'upload, che ovviamente stai facendo mediante collegamento ISP, spero....
Manuale "Arduino e le tecniche di programmazione dei microcontrollori ATMEL"
http://www.michelemenniti.it/manuale_di_programmazione.html
http://www.michelemenniti.it/offerta.html
Articoli ElettronicaIN
http://www.michelemenniti.it/elettronica_in.html

Jazzo


uhmm in teoria la begin la dovresti chiamare una volta, e poi il resto sono server.available()..


In teoria si ma se si configura tramite DHCP nella pratica no.
Il primo begin all'avvio è ok, ma se poi durante l'esecuzione la rete va giù (per qualsiasi problema, anche semplicemente se riavviano il router) Arduino deve effettuare un nuovo begin per ottenere un nuovo indirizzo. Il suddetto problema (ora risolto!) a lungo andare portava Arduino ad un crash perchè saturava la RAM.

skaxxo




perchè nessuno lo mantiene, evidentemente :)


bellissimo...

Sono pacchetti di secondaria importanza e per essi generalmente nei repo Ubuntu mettono una versione stabile e poi la lasciano lì. Scaricati l'IDE dal sito e risolvi.
Oppure compila dai sorgenti.
Oppure ancora passa ad una distro che aggiorna molto più velocemente i pacchetti (come ad esempio Arch Linux).



Sto imparando (in modo serio) ad usare linux "solo" adesso...
Avrei pure scaricato la versione dal sito, però vorrei quelle cose a tipo bimbominkia: l'iconcina e la cartella di arduino nella cartella di sistema giusta (che non so dove dovrei mettere)
Se magari mi dai un suggerimento.... ;)





Secondo me non hai aggiornato un bel nulla. apri il file boards.txt e sostituisci nella board che hai usato il valore efuse (attuale ff) con "0d", quindi riprova a fare l'upload, che ovviamente stai facendo mediante collegamento ISP, spero....


Prof, ho scritto che ho usato la usbasp, quindi.... :)
Ora provo a fare l'upload modificando il fuse. Grazie
Arduino, MODs e DIY: blackstufflabs.com

PaoloP

No. Basta fare ogni tanto il maintain().  ;)
Non c'è bisogno di un nuovo begin.

Code: [Select]
int EthernetClass::maintain(){
 int rc = DHCP_CHECK_NONE;
 if(_dhcp != NULL){
   //we have a pointer to dhcp, use it
   rc = _dhcp->checkLease();
   switch ( rc ){
     case DHCP_CHECK_NONE:
       //nothing done
       break;
     case DHCP_CHECK_RENEW_OK:
     case DHCP_CHECK_REBIND_OK:
       //we might have got a new IP.
       W5100.setIPAddress(_dhcp->getLocalIp().raw_address());
       W5100.setGatewayIp(_dhcp->getGatewayIp().raw_address());
       W5100.setSubnetMask(_dhcp->getSubnetMask().raw_address());
       _dnsServerAddress = _dhcp->getDnsServerIp();
       break;
     default:
       //this is actually a error, it will retry though
       break;
   }
 }
 return rc;
}

skaxxo

#39
Mar 12, 2013, 05:48 pm Last Edit: Mar 12, 2013, 05:51 pm by AnTrea Reason: 1


Secondo me non hai aggiornato un bel nulla. apri il file boards.txt e sostituisci nella board che hai usato il valore efuse (attuale ff) con "0d", quindi riprova a fare l'upload, che ovviamente stai facendo mediante collegamento ISP, spero....


Prof, ho scritto che ho usato la usbasp, quindi.... :)
Ora provo a fare l'upload modificando il fuse. Grazie



Quant'è brutto quando non trovo le cose al posto loro:

l'estended fuse è settato a 0xFD, siamo sicuri che settandolo a 0d risolvo la questione?  XD

Code: [Select]
mega2560.name=Arduino Mega 2560 or Mega ADK

mega2560.upload.protocol=wiring
mega2560.upload.maximum_size=258048
mega2560.upload.speed=115200

mega2560.bootloader.low_fuses=0xFF
mega2560.bootloader.high_fuses=0xD8
mega2560.bootloader.extended_fuses=0xFD
mega2560.bootloader.path=stk500v2
mega2560.bootloader.file=stk500boot_v2_mega2560.hex
mega2560.bootloader.unlock_bits=0x3F
mega2560.bootloader.lock_bits=0x0F

mega2560.build.mcu=atmega2560
mega2560.build.f_cpu=16000000L
mega2560.build.core=arduino
mega2560.build.variant=mega
Arduino, MODs e DIY: blackstufflabs.com

Jazzo


No. Basta fare ogni tanto il maintain().  ;)
Non c'è bisogno di un nuovo begin.


Accidenti, mi accorgo di ciò che sistemano e non delle novità...  :smiley-sleep:
GRAZIE!

menniti

@ Antrea: di solito quel messaggio esce quando la board ha l'EFUSE a FF ed invece lo vuole a 07, cosa che non cambia la sostanza visto che sono usati solo i primi tre bit in quesl fuse. Ma nel tuo caso specifico, a ben rileggere, credo che stia lamentando il fatto che si aspettava di trovare 0d in una data locazione di memoria ed invece la trova vuota (ff), quindi tempo che non sia questo il problema. Non hai una UNO/2009 per ritentare l'operazione usandola al posto del tuo accrocchio?
Manuale "Arduino e le tecniche di programmazione dei microcontrollori ATMEL"
http://www.michelemenniti.it/manuale_di_programmazione.html
http://www.michelemenniti.it/offerta.html
Articoli ElettronicaIN
http://www.michelemenniti.it/elettronica_in.html

skaxxo

#42
Mar 12, 2013, 08:59 pm Last Edit: Mar 12, 2013, 09:04 pm by AnTrea Reason: 1
Non hai una UNO/2009 per ritentare l'operazione usandola al posto del tuo accrocchio?


com'è bello parlare tra nerd.

si prof, ho appena eseguito il flashing icsp tramite bitbang da duemilanove a 2560: stesso errore :(

così ne ho approfittato anche per aggiornare la usbasp (tramite bitbang)

ho eseguito nuovamente l'aggiornamento del bootloader della 2560 con la usbasp appena aggiornata: non mi da errore :)

NOTA: con questo bootloader, dopo il flashing, il led 13 blinka un pò strano (2 blink veloci - off lungo)... con e senza errore (di cui sopra), c'è sempre questo blinking strano; ERGO, seppur nel terminale mi compare quell'errore, il bootloader viene flashato ugualmente (credo).

C'è un modo per verificare che bootloader vi è flashato?

Sono bravo? :)
Arduino, MODs e DIY: blackstufflabs.com

menniti

sei bravo sì  :P praticamente un genio. Può essere che l'errore si riferisse all'accrocchio, in questo caso avevi comunque caricato il bl prima. Non so dirti se sono normali quei flashing, ma se gli sketch si caricano e funziona tutto, non vedo che problemi dovresti avere.
ebbbbbravo guagliò XD
Manuale "Arduino e le tecniche di programmazione dei microcontrollori ATMEL"
http://www.michelemenniti.it/manuale_di_programmazione.html
http://www.michelemenniti.it/offerta.html
Articoli ElettronicaIN
http://www.michelemenniti.it/elettronica_in.html

lestofante

in teoria puoi rileggare il contenuto della lash e controllare che sia corretto... qullo che fa il cjeck con il byte mismark.

L'errore da 3 informazioni: l'inidirizzo della cella, il valore atteso e l'errore trovato.

Potrebbe essere che una cella della flash è fritta (ma mi pare strano, se non erro si frigge una porzione più grossa alla volta)

alla prima googleata:http://arduino.cc/forum/index.php?topic=115531.0

in pratica:
1. hai disattivato l'autoreset sul'arduino ISP?
2.
Quote
0x1e000 is exactly 120KB... so, I suppose that the problem should be related to the STK500 V2 protocol and the larger memory size.
Guida per principianti http://playground.arduino.cc/Italiano/newbie
Unoffical Telegram group https://t.me/genuino

Go Up