Ciao a tutti e Buon anno!
avevo intenzione di modificare il bootloader per adattarlo all'integrato ATmega128RFA1.
Qualcuno sa indicarmi qualche guida efficace sul bootloader? ieri mi sno messo a vedere il codice, ma non ci ho capito molto....
Premesse: so il c, ma sono un neofito degli atmel (e dei uC in generale).
Ciao a tutti.
Allora sarà dura. Il bootloader dell'Arduino è un codice molto complesso e sfrutta una peculiarità degli Atmega, ossia la programmazione write-while-read, ossia la possibilità di scrivere in Flash mentre un programma è in esecuzione dalla stessa. Riceve pacchetti di byte (1 pagina alla volta) e le riversa in memoria secondo tempi ben precisi. Non è impossibile ma neanche semplice se non hai le giuste basi.
Io per ora non mi ci sono perso più di tanto, anche se la cosa poteva essere carina a scopo didattico (per me, intendo: per imparare una cosa nuova).
Ma la domanda è poi: ma ti serve il bootloader? Un chip lo puoi programmare anche senza l'ausilio del bootloader.
più che altro era per sfruttare la sintassi più immediata con cui si programma l'arduino. il mio scopo era questo principalmente. Solo il uc di destinazione non penso sia mai stato trattato: è il ATmega128RFA1... quello agevolato per lo zigbee...
Sull'IDE di Arduino, se tieni premuto shift quando premi il tasto per compilare ti fa vedere dove crea tutti i file. Fra questi c'è anche il file .hex che puoi prendere e inserire sul chip con un programmatore. Più che altro il problema sarà far corrispondere i pin numerici utilizzati sull'Arduino con i pin fisici del uC, oltre a tutte le altre risorse hardware.
Più che altro il reale problema è creare un core specifico per l'Atmega128: senza core, non puoi pensare di programmare un micro usando l'IDE di Arduino, che è nata per gli Atmega88/168/328.
EDIT:
poco dopo aver scritto queste righe, ho trovato lo ZigDuino, un progetto basato sul tuo Atmega128rfa1 con un core specifico:
http://www.logos-electro.com/zigduino/
Grazie alle lib con cui è distribuito, è programmabile dall'IDE di Arduino.
poco dopo aver scritto queste righe, ho trovato lo ZigDuino, un progetto basato sul tuo Atmega128rfa1 con un core specifico:
http://www.logos-electro.com/zigduino/
ohhh.... grazie!!!
Più che altro il reale problema è creare un core specifico per l'Atmega128: senza core, non puoi pensare di programmare un micro usando l'IDE di Arduino, che è nata per gli Atmega88/168/328.
Eggià, il problema è proprio quello; ma quali sono (e dove sono) i file core che creano le corrispondenze?... smanetandoci su XD
Aggiunto: ok, penso che sul sito ho trovato le risposte... Grazie!!!
Appena so qualcosa di più faccio sapere