Recuperare byte è possibile?
> Recuperare byte è possibile?
Topic: Recuperare byte è possibile? (Read 1 time) previous topic - next topic
ho scritto da utente arduino medio ignorante un pde che è circa 31500 byte ma il mio spazio a disposizione è di soli 30720 byte.
Mi domando... ma è possibile recuperare un po di byte con il bootloader o altro?
Oppure come posso ridimensionare il pde?
Re: Recuperare byte è possibile?
- e' difficile che tu, specialmente se dici di essere alle prime armi, possa aver creato uno sketch cosi' grande, o meglio che ne abbia bisogno realmente, probabilmente le cose che fai si possono fare con meno comandi, meno librerie, ecc. Se posti lo sketch completo di certo te lo riducono della meta' gli esperti sw
- visto che parli di pde suppongo tu usi una vecchia versione, hai anche una vecchia board ? sulla 2009 e sulle uno rel1 era caricato il vecchio bootloader che occupava 2k, mettendoci il nuovo (vedi la mi guida in firma per info), recuperi 1,5k
Penso anch'io che il codice non sia ottimizzato e che riscrivendolo meglio puoi recuperare spazio.
Mar 16, 2013, 12:26 pm Last Edit: Mar 16, 2013, 12:28 pm by PaoloP Reason: 1
Forse con qualche operazione di taglia e cuci si potrebbe fare. Ma senza avere lo sketch sotto mano è impossibile dirti cosa e dove ottimizzare.
Inizia con le dichiarazioni delle variabili. Se non superano certi limiti puoi scegliere un tipo più piccolo. ad esempio passare da long a int o da int a byte.
Eliminare dove è possibile l'oggetto String e usare una array di char e altre cose simili.
Quote from: Testato on Mar 16, 2013, 10:52 am
Dici che con il boot di 1.0 occupa solo 500byte circa? appena ho un attimo di tempo ci provo ma poi posso caricare sempre con l'ide 23?
Poi devo provare anche come mi ha suggerito PaoloP cambiando ove possibile le dichiarazioni.
Nel caso non dovessi riuscirci in questi due casi vi posto un po di sketch ma non voglio che me lo modificate voi ma devo essere io a sbatterci le corna! vorrei solo dei suggerimenti come ora!!!
Si, puoi usare la 0.23 anche con il nuovo boot, anzi la 1.x non ti serve nemmeno perche è proprio nella 0.23 che è stato introdotto il nuovo bootloader
Mar 16, 2013, 10:23 pm
Quote from: FràFrà on Mar 16, 2013, 09:17 pm
Non solo un po. Prego lo sketch intero.
Non aver paura, non investiamo cosí tanto tempo da riscriverlo. Ti daremo solo suggerimenti come migliorare e poi ci siamo qua a rispondere ai Tuoi dubbi.
Mar 16, 2013, 10:28 pm Last Edit: Mar 16, 2013, 10:34 pm by FràFrà Reason: 1
Senti ma leggendo un po tra la tua guida e quella di menniti ho visto che posso caricare direttamente lo sketch senza boot recuperando tutto lo spazio.
A dir la verità e senza saperlo che lo aveva già fatto menniti una cosa del genere, avevo creato un pcb con i componenti necessari per caricare il boot su chip vergini.
Quindi se non ci dovesse entrare neanche con il boot snello provo diretto a caricarlo senza boot, l'unica pecca è che non potrò programmarlo direttamente ma lo dovrò fare con il pcb creato.
Grazie uwefed sei un amico... XD XD XD in compenso ci saranno tante domande.... XD
Sicuramente con i byte che ho usato io per fare due cagatine voi ci avreste fatto alzare uno shuttle, ma chi la dura la vince e prima o poi lo farò alzare anche io!
Si, poi anche programmare il micro con icsp. Usando la 1.x lo fai direttamente dalla IDE. Altrimenti devi mettere mano ad avrdude.
Allora, tutto perfetto ho alleggerito alcune librerie commentando delle funzioni che non mi interessavano ed ho caricato l'ultimo boot.
Devo dire che l'ultimo boot è davvero la metà della metà della metà dei precedenti!