Show Posts
Pages: 1 ... 387 388 [389] 390 391 ... 637
5821  International / Generale / Re: Esiste un comando: che micro sto usando? on: March 03, 2012, 12:58:02 am
sembra  "....also when the device is locked" se per bloccato intendono anche quando i fuse sono sballati sarebbe una cosa ottima,

E' riferito ai lock bits, cioè quelli per proteggere la flash contro le copie abusive.
Se il micro è bloccato perché hai disabilitato il reset, o le modalità di programmazione, dai fuse non puoi leggere la signature, puoi solo reimpostarli a dei valori di tua scelta (default) tramite la modalità HV, solo dopo aver ripristinato la corretta condizione dei fuse puoi leggere la signature, questo è un limite degli AVR e non c'è nessuna soluzione.
La lettura della signature è sempre possibile indipendentemente da come setti il clock da fuse, però a seconda di quello che hai fatto può essere necessario fornirlo esternamente, questo è uno dei casi più frequenti di brick quando si usa il micro tramite oscillatore rc interno e si setta per sbaglio l'oscillatore esterno, se non si dispone di un programmatore in grado di fornire il clock, o si collega un generatore di clock esterno, diventa impossibile leggere la signature e/o programmare il micro.
5822  International / Generale / Re: Esiste un comando: che micro sto usando? on: March 02, 2012, 01:53:44 pm
In realtà devo fare un prodotto hobbystico non professionale, quindi, ma non è lo stesso uno scherzo, potrei tentare la lettura, se va a buon fine mostro i fuse e chiedo se si vogliono cambiare, se non va a buon fine mi basta chiedere in quale zoccolo è messo il micro.

Fai il tentativo di lettura della signature, se va a buon fine mostri i valori dei fuse e il modello del micro, chiedi se vogliono cambiarli e procedi di conseguenza, se non va a buon fine ti limiti a visualizzare un messaggio d'errore e chiedi di introdurre i valori dei fuse per il ripristino che si vanno a cercare su una tabella in pdf, basta che metti quelli per modelli più utilizzati, altrimenti usano fusecalc.

5823  International / Generale / Re: Esiste un comando: che micro sto usando? on: March 02, 2012, 12:09:05 pm
Ora vedrò di approfondire questa cosa della lettura della signature, se ci riesco è una figata
grazie  smiley

Ti rispondo io, se il micro è "mattonato" devi specificare quali valori inserire nei fuse tramite HV, non importa se PP o SP, in modo da ripristinarli allo stato di default, o quello desiderato, il micro non sa quali sono i valori di default.
Se il micro non è bloccato è allora basta che come prima cosa leggi la signature per riconoscere il micro in automatico.
Per farla breve, sei obbligato a fare il menù per la scelta del micro, tutti i modelli supportati, se vuoi poterli sbloccare, ti serve pure una tabella con tutti i valori di default dei fuse per ogni micro, buon divertimento  smiley-grin
5824  International / Generale / Re: Macchinina radiotelecomandata on: March 02, 2012, 11:31:09 am
ottimo che ci sia già la protezione sul BL, però pessimo il fatto di dover addirittura arrivare a toccare l'HW.. rendendo "legale" il root, questo sarebbe evitabile

Il fatto di avere il root da menù o meno non c'entra nulla con il fatto di piantare il telefono se fai cavolate, tipo caricare una rom non originale che funziona male, in questo caso sei obbligato a ripristinare il telefono con un reflash che è una cosa indipendente dal root visto che il sistema operativo non viene proprio caricato durante questa fase.

5825  International / Generale / Re: Esiste un comando: che micro sto usando? on: March 02, 2012, 11:27:12 am
Mi sto rincoglionendo, prima hai postato parte del codice di ArduinoISP che mi pareva d'aver capito servisse per leggere la signature,

Quella era per rispondere a Leo che si chiedeva come si fa a leggere la signature.


Quote
ma ArduinoISP non usa l'HV. Allora è inutile che butto quelle 4 righe in uno sketch di prova.

Premesso che non ho mai approfondito come funziona esattamente l'HV sugli ATmega, quindi potrei dire delle cavolate, però dovrebbe esserci un comando diretto, indipendente dal tipo di micro, che ti permette di resettare i fuse al loro valore di default, in questo modo "smattoni" il micro se necessario, dopo di che leggi la signature in modo da riconoscere il modello e comportarti di conseguenza.
Potrebbe esserci il problema che forse il comando per leggere la signature degli AVR in modalità programmazione non è uguale per tutte le famiglie, non mi sono mai posto questo problema e non ho mai verificato questa cosa, quindi potresti essere costretto a dover indicare almeno la famiglia, p.e. MEGA32, per poter leggere la signature in automatico su tutti i modelli di AVR.

5826  International / Software / Re: DCF77 - RTC DS1307 on: March 02, 2012, 11:16:50 am
è a volte l'elevata quantità di disturbi che arrivano... visto che il segnale DCF si basa sostanzialmente sulla durata degli impulsi high, basta un disturbo che faccia oscillare questo segnale per far leggere erroneamente i dati ad Arduino.

Da notare il fatto che per via della bassa frequenza, solo 77.5 kHz, servirebbe una antenna di grandi dimensioni per ottenere una ricezione ottimale del segnale, cosa impossibile da implementare in piccoli dispositivi quali sveglie ed orologi con tutte le conseguenze negative del caso sul segnale.
Non ultima anche la questione che il segnale viene ricevuto per riflessione sulla ionosfera e non direttamente dalla stazione trasmittente.
5827  International / Generale / Re: Macchinina radiotelecomandata on: March 02, 2012, 11:07:53 am
se devi rottare (e quindi rifleshare) a mano, non c'è il rischio di mandare all'aria anche l'eventuale boot-loader o incasinare anche per un eventuale riparazione, no?

Il bootloader del micro non puoi cancellarlo, si trova in una zona protetta della memoria, esattamente come sugli ATmega, però non è detto che riesci sempre ad attivarlo dalla tastiera/display dello smartphone.
In alcuni casi è indispensabile agire su alcuni contatti posti sul pcb dello smartphone per forzarne l'avvio, se non sai quali sono sei obbligato a portarlo in assistenza.
Per esempio sul mio smartphone c'è una sequenza di tasti da tenere premuti, e rilasciare, all'accensione partendo dalla condizione di batteria rimossa per avviare forzatamente il bootloader che si va a caricare un file posto sulla SD, ovviamente serve l'immagine originale della rom, però ogni telefono/tablet è un caso a parte con procedure diverse.

5828  International / Generale / Re: Esiste un comando: che micro sto usando? on: March 02, 2012, 11:01:38 am
Forse potrei mettere tutta la routine di lettura PRIMA di impostare i vari pin per l'HV, ora la provo da sola  smiley-grin

Non capisco quale sia il tuo problema, in tutti i casi hai sempre dei comandi specifici per leggere la signature con tutti i modi di programmazione previsti dal micro.
Va da se che se il micro è "mattonato" non puoi leggere la signature tramite ISP, devi per forza farlo in modo HV, come farlo lo devi leggere sulla documentazione Atmel relativa a questa modalità di programmazione.
5829  International / Generale / Re: Macchinina radiotelecomandata on: March 02, 2012, 10:43:16 am
non conosco android e sono molto dispiaciuto che le compagnie la pensino così, anzi anche del fatto che ci sia bisogno di rottare IL PROPRIO cellulare.

Il fatto che il telefono/tablet non concede i diritti di root è una cosa abbastanza ovvia vista la destinazione d'uso e a chi va in mano, è un modo per evitare che l'utente finale faccia danni.
Certo sarebbe stata molto gradita una opzione a menù per ottenere il root dell'apparato, magari previo inserimento di una password, come si fa  normalmente in Linux con sudo, e un avviso che lo fai a tuo rischio e pericolo, ovvero se fai casini non puoi aspettarti una riparazione (reflash) in garanzia.
5830  International / Generale / Re: [RISOLTO] Imagazzinare colori rgb scritti in HEX on: March 02, 2012, 10:38:33 am
Tipo asciiart a mano?  smiley-grin

Più o meno si, però il risultato finale era una vera e propria immagine grafica, monocromatica, ottenuta combinando vari caratteri, in linea o in matrice, riprogrammando il loro contenuto, in pratica la stessa cosa che si fa con le matrici di led per far apparire una immagine.
5831  International / Generale / Re: Macchinina radiotelecomandata on: March 02, 2012, 10:33:48 am
ma una volta root-ato si può fare.

La fregatura è che se lo fai perdi la garanzia, solo LG ha dichiarato che è permesso farlo senza invalidarla, e che non su tutti gli smartphone è possibile farlo in modo semplice, non tutti sono capaci di usare l'ADB per fare il root.

5832  International / Generale / Re: [RISOLTO] Imagazzinare colori rgb scritti in HEX on: March 02, 2012, 10:30:31 am
Era un'informatica molto più raw, grezza, passami il termine, ma più divertente  smiley-lol

Io non ho mai combattuto con gli sprite del Commodore, in compenso, all'epoca, mi è capitato di dover inserire loghi grafici nella eeprom del generatore di caratteri delle prime schede video per poi farli apparire sul monitor sotto forma di assieme di caratteri alfabetici speciali, anche quello era un lavoro di grande pazienza da farsi pixel a pixel.
5833  International / Generale / Re: Esiste un comando: che micro sto usando? on: March 02, 2012, 10:21:52 am
@astro:
sì, in teoria ci sono però a "pratica" credo si debba agire di assembly.

Se vuoi leggere la signature da software sul micro la procedura è quella indicata sul data sheet ed in effetti tocca ricorrere all'assembler per metterla in atto.
Se vuoi leggere la signature in modalità ISP, cioè come programmatore, basta che guardi la relativa routine dello sketch ISP per vedere come si fa.

Code:
void read_signature() {
  if (CRC_EOP != getch()) {
    Serial.print((char) STK_NOSYNC);
    return;
  }
  Serial.print((char) STK_INSYNC);
  uint8_t high = spi_transaction(0x30, 0x00, 0x00, 0x00);
  Serial.print((char) high);
  uint8_t middle = spi_transaction(0x30, 0x00, 0x01, 0x00);
  Serial.print((char) middle);
  uint8_t low = spi_transaction(0x30, 0x00, 0x02, 0x00);
  Serial.print((char) low);
  Serial.print((char) STK_OK);
}
5834  International / Generale / Re: Esiste un comando: che micro sto usando? on: March 02, 2012, 09:58:24 am
@ Astrobeed: il mio programmatore ha 6 diversi zoccoli, in base alla famiglia di micro che deve ospitare; attualmente faccio partire un menu, scelgo il micro da programmare e poi lo inserisco; mi pare di capire che invece potrei evitare il menu, inserire il micro, leggerlo e poi proseguire con l'attività del software; in pratica metto il micro, ne leggo la signature, la confronto con un array (o quel che sarà) mio e in base al micro procedo con la lettura dei fuse e la loro riprogrammazione.

Infatti basta che metti il micro nel giusto socket, leggi la signature e poi in base a questa identifichi il modello esatto e il conseguente comportamento dell'apparato.
5835  International / Generale / Re: Esiste un comando: che micro sto usando? on: March 02, 2012, 09:56:02 am
Sicuramente fa così. Volevo il link per curiosare  smiley-razz

Basta leggere il data sheet  smiley

Code:
26.8.10 Reading the Signature Row from Software
To read the Signature Row from software, load the Z-pointer with the signature byte address
given in  Table 26-5 on page 286 and set the SIGRD and SPMEN bits in SPMCSR. When an
LPM instruction is executed within three CPU cycles after the SIGRD and SPMEN bits are set in
SPMCSR, the signature byte value will be loaded in the destination register. The SIGRD and
SPMEN bits will auto-clear upon completion of reading the Signature Row Lock bits or if no LPM
instruction is executed within  three CPU cycles. When SIGRD  and SPMEN are cleared, LPM will
work as described in the Instruction set Manual.
Pages: 1 ... 387 388 [389] 390 391 ... 637