Show Posts
Pages: 1 ... 43 44 [45] 46 47 ... 62
661  International / Software / Re: bootloader x caricare sketch da SD? on: August 24, 2012, 07:03:49 am
Ah, ora è chiaro....

Per un attimo avevo pensato di cambiare strategia, rimettere l'optiboot originale e implementare il flash del nuovo codice da programma principale , ma penso che sia molto più laborioso...
662  International / Software / Re: bootloader x caricare sketch da SD? on: August 24, 2012, 04:30:01 am

Basta guardare il codce dell'Optiboot. Siccome a priori non sai se c'è lo spazio riservato per il bootloader ed a quanto ammonta, l'Optiboot esegue un'operazione di "fino": carica nel vettore del watchdog i vettori di start del codice che vengono memorizzati in base alla presenza o meno dell'area riservata al bootloader e poi fa eseguire il reset al watchdog:


???

Non capisco in che contesto applicare quello che hai scritto leo...

Di sicuro sò che c'è il bootloader caricato, sò dove stà (sta a 0x7000) e sò che non è optiboot (ma è un bootloader per caricare da sd).
Come ho già scritto alcuni post prima, utilizzando la JMP 0x7000 il codice riparte (ho una pagina web che mi mostra il valore di millis()) ma non sò per quale motivo non esegue l'upload del codice caricato nella sd.


663  International / Software / Re: bootloader x caricare sketch da SD? on: August 24, 2012, 03:34:41 am
giusto per ridurre l'entropia
io farei una function softreset con dentro la prepare_for_softreset
dove ti crei il contesto sotto controllo

magari il codice prima ha fatto porcate varie e farcite, e valle a trovare
col rischio che aggiustandole propaghi problemi altrove =P

Code:
void softreset(uint32_t time)
{
    prepare_for_softreset();
    wdt_enable(time)
        {
        /* waiting for wdt event  */;
        }
}


Si mi sembra la cosa giusta, ed è quello a cui avevo pensato anche io, ma cosa fare dentro prepare_for_softreset()??
Magari chiudere la connessione ethernet e seriale (ma si può???) un clear interrupt ... ma poi cos'altro?
664  International / Software / Re: bootloader x caricare sketch da SD? on: August 24, 2012, 03:30:02 am
Ok, esattamente quindi nel mio caso il bootloader è stato riservato da 2k word, quindi il suo address è $3800 che equivale esattamente a 0x7000 hex (in byte)
Ora c'è da capire se ASM VOLATILE (" JMP 0x7000") effettua effettivamente un salto alla locazione 0x7000(in byte) o se tenta di cercarla a 0x7000 word ( smiley-eek-blue) e non trovandola punta a 0x00;
665  International / Software / Re: bootloader x caricare sketch da SD? on: August 24, 2012, 03:12:34 am
I fuses sono impostati correttamente perchè se il reset lo faccio da pulsante il bootloader parte, fa il suo dovere e passa al programma principale.
Anche io ho letto questi valori $3F00, $3E00, $3C000 e $3800 ,sta scritto pure sul datasheet, ma non sono riuscito a 'spiegarmeli' , ovvero non sò a cosa facciano riferimento.
Io mi sono regolato vedendo da dove cominciava a scrivere il bootloader nel file HEX.
Comunque mi sarebbe piaciuto indagare sul perchè la tecnica wathcdog  (che mi ha già salvato le ciapp ai tempi dei pic dove in un progetto m'ero finito tuttti i pin ) mi fà impallare la scheda...
Penso che a seguito di un reset del WD sia tutto più pulito e stabile rispetto al JMP.

Il reset HW coi controcatsi è l'ultima spiaggia, tanto quello sono sicuro che funziona di certo, una circuiteria decente si riesce a farla(Qualche schema?)  o ancor meglio al limite posso recuperare un chip dedicato.


P.S

@Legacy

nella toolchain viene passato 0x7000  in –section-start

666  International / Software / Re: bootloader x caricare sketch da SD? on: August 23, 2012, 06:00:15 pm
Sto provando proprio ora il jmp fatto all'indirizzo 0x7000 .
Secondo le impostazioni dei fuses ho un bootloader da 2000 word, che dovrebbe iniziare esattamente li.
Reebotare si reeebota ma se carichi il fw nuovo o meno questo ancora lo ignoro.
Non è facile da debuggare sta cosa!

Anche a me sarebbe piaciuto di più usare il watchdog, ma purtroppo quando tento di resettare con quel metodo la scheda si impalla e non riparte più nemmeno se premo il reset.
Devo staccare l'alimentazione per farla rinsavire.
667  International / Megatopic / Re: Economica stand alone programmabile USB on: August 23, 2012, 03:55:21 pm
Ma perché hanno spostato questo topic sulla sezione software? smiley-eek-blue
668  International / Software / Re: bootloader x caricare sketch da SD? on: August 23, 2012, 11:37:46 am
Mhh , pensaci meglio !!!
 smiley-cool
669  International / Megatopic / Re: Economica stand alone programmabile USB on: August 23, 2012, 11:04:39 am
Fiuuuu...
... HO un aziende, perlomeno una e-mail aziendale (cesare@stakorr.it), sennò quei pochi ordini non gli avrei potuti fare.
Preciso che i samples gli prendo non perché non mi va di spendere soldi ma per il semplice fatto  che la spedizione è ultrarapida (da texas intruments arrivano dal minnesot in 2gg lavorativi con fedex...)
 

FAJE FAURA FRA' !!!  smiley-mr-green smiley-mr-green smiley-mr-green
Ma che vieni parente ad abbatantuono?
670  International / Software / Re: bootloader x caricare sketch da SD? on: August 23, 2012, 11:01:10 am
Si ma non penso di dover saltare a 0x00, in questo caso riavvierei il programma senza passare dal bootloader , che non è proprio quello che voglio!
671  International / Software / Re: bootloader x caricare sketch da SD? on: August 23, 2012, 09:22:09 am
Grazie superlol ma ho già provato col cane da guardia!
Purtroppo si incarta, ovvero pare che si resetti, in realtà si pianta e non riparte.

Avevo pensato di provare qualcosa tipo asm volatile(" jmp 0xbladdress") per saltare direttamente al bootloader , ma poi ieri sera era tardi e non mi andava di fare il dump per capire a che indirizzo puntare...
672  International / Megatopic / Re: Economica stand alone programmabile USB on: August 23, 2012, 07:19:11 am
Ciao Michele.

In realtà mi sembrava di averti detto che è normale quell'avvertimento e che comunque non pregiudica niente.
In realtà  quel 'errore' lò da pure a me , non sò come mai ti ho detto in precedenza che non me lo dava più, forse avevo avevo tolto un pò di verbosità ad avrdude....

Altre fonti recitano questo : 'This always happens after the bootloader has completed its task and jumps to the user application, without acknowledging the command that told it to perform the jump as it happens instantly. It is not possible to acknowledge the command before jumping because of the limited code size available for the bootloader memory section.'

Io non mi preoccuperei per quello.

Per quanto riguarda le mancanze, se così si può chiamare, manca una sezione di istruzioni per scrivere i FUSES e programmare il chip stand alone, ma c'è talmente tanta roba in giro che secondo me è inutile.
Si può tranquillamente dire che i fuses vanno settati come segue:

atmega8 =     hfuse:0xc0  lfuse:0x9f
atmega88 =   hfuse:0xd6  lfuse:0xdf efuse:0x00
atmega168 = hfuse:0xd6  lfuse:0xdf  efuse:0x00
atmega328 =  hfuse:0xda   lfuse:0xf7 efuse:0x03
673  International / Software / Re: bootloader x caricare sketch da SD? on: August 23, 2012, 05:48:07 am
Con lo sketch solo ci fai poco, è tutto l'insieme delle cose .
La cosa più complicata è stato fare l'upload del file da pagina web... sembrava banale invece è stato uno sbocco di sangue, però ora c'è e funziona bene, quindi sono soddisfatto.
Ora voglio vedere se riesco ad automatizzare anche il riavvio post upload direttamente da codice, senza utilizzare hardware aggiuntivo.
Se riesco a fare pure quello sono a cavallo.
674  International / Software / Re: mischiare due sketch on: August 23, 2012, 03:52:22 am
nel primo sketch metti il secondo sketch, ma al posto di analogRead al motore gli pasi temp.

Quote
Ho creato due sketch
permettimi di dubitare di questa affermazione

Se non modifica e/o il primo e/o il secondo non va, lo stepper ed il display utilizzano alcuni degli stessi pin
675  International / Software / Re: bootloader x caricare sketch da SD? on: August 23, 2012, 03:04:44 am
Fatti gli esperimenti in merito!!

Effettivamente 2boots è veramente poco affidabile e flessibile, penso che la causa sia che per contenere le dimensioni del codice del bootloader si sia data poca importanza alla sezione lettura da SD.

Tuttavia , ho trovato un gruppo di ragazzi (non italiani ma che ringrazio osbock,martin_bg,eudaldcp) che hanno fatto dei fork di quel bootloader creandone un altro con una gestione della lettura da SD decisamente migliore, aimè senza supporto seriale per ora , ma decisamente affidabile .
Diciamo una buona base di partenza per chi ha necessità inderogabile di caricare da sd.

Se ne parla qui : http://arduino.cc/forum/index.php/topic,99837.0.html

Il mio progetto ad ora si trova al punto che ho una arduinoethernet con a bordo caricato questo bootloader.
Come codice ho un tinywebserver che adempie correttaemente a tutte le funzionalità che mi necessitano , ovvero controllo dei dati da pagina web e modifica dei stati delle porte, e dulcis in fundo , una pagina web che mi da la possibilità di aggiornare il codice stesso facendo l'upload via web.
Carino no?  smiley-mr-green

 
Pages: 1 ... 43 44 [45] 46 47 ... 62