1 Sep 2007 10:04
Disassembler Pic
Ciao a tutti qualcuno conosce un buon disassembler per il pic 18F452? grazie mille -- -- Ciao Alessandro Pasta pasta.a@... "Io sono Pastus e reco il bastus del sapere mio che è vastus"
Ciao a tutti qualcuno conosce un buon disassembler per il pic 18F452? grazie mille -- -- Ciao Alessandro Pasta pasta.a@... "Io sono Pastus e reco il bastus del sapere mio che è vastus"
Vuoi fare un po di reverse ..... :)) Usa icprog, c'è il tasto per convertire da hex a asm ..... Ciao Nonno --- In roboteck@..., Alessandro Pasta <pasta.a <at> ...> ha scritto: > > Ciao a tutti > > qualcuno conosce un buon disassembler per il pic 18F452? > > grazie mille > -- > Ciao > Alessandro Pasta > pasta.a <at> ... > > "Io sono Pastus e reco il bastus > del sapere mio che è vastus" >
>qualcuno conosce un buon disassembler per il pic 18F452? Meno male che l'abbiamo detto mille volte, MPLAB fa anche da disassembler, per tutti i PIC, basta importare l'HEX e aprire la finestra "wiew disassembler", ma non si limita a questo, puoi pure riportare il listato nella finestra dell'editor, compilarlo in modalità debug e farlo girare tramite simulatore. Ciao Marco d'Ambrosio
Stefano M. ha scritto: > Vuoi fare un po di reverse ..... :)) Esatto! per un progetto di ricerca universitario devo cercare di recuperare le primitive di controllo di questo elettrolizzatore http://www.amelchem.com/product/electrochem/7050/7050.html, per poi poter riscrivere il programma di controllo/acquisizione con Labview. -- -- Ciao Alessandro Pasta pasta.a@... "Io sono Pastus e reco il bastus del sapere mio che è vastus"
Marco d'Ambrosio ha scritto: > Meno male che l'abbiamo detto mille volte, MPLAB fa anche da disassembler, > per tutti i PIC, basta importare l'HEX e aprire la finestra "wiew > disassembler", ma non si limita a questo, puoi pure riportare il listato > nella finestra dell'editor, compilarlo in modalità debug e farlo girare > tramite simulatore. Ora ho capito...prima di inviare l'email avevo già provato con Mplab, ma selezionavo View/disassembly listing, anzichè view/program memory... Grazie mille! -- -- Ciao Alessandro Pasta pasta.a@... "Io sono Pastus e reco il bastus del sapere mio che è vastus"
Sob .... chiedo venia .... Nonno --- In roboteck@..., Marco d'Ambrosio <m.dambrosio <at> ...> ha scritto: > > >qualcuno conosce un buon disassembler per il pic 18F452? > > Meno male che l'abbiamo detto mille volte, MPLAB fa anche da disassembler, > per tutti i PIC, basta importare l'HEX e aprire la finestra "wiew > disassembler", ma non si limita a questo, puoi pure riportare il listato > nella finestra dell'editor, compilarlo in modalità debug e farlo girare > tramite simulatore. > > Ciao > > Marco d'Ambrosio >
L'idea è interessante, e ancora di più il concetto di gruppo di lavoro, spazzi per farlo ce ne sono a km2 basta solo decidere dove. Io sarei dell'idea di cominciare con la cosa più semplice possibile, cioè partire da un punto e arrivare in un altro con un errore massimo, chi è altre viene penalizzato, naturalmente conterà il tempo impiegato, visto che per andare da una parte all'altra sarà necessario superare ostacoli di varia natura. Poi come indicato da Marco si può complicare la cosa di anno in anno introducendo nuovi punti. Bobbo
> e ancora di più il concetto di gruppo di lavoro, spazzi per farlo ce ne > sono a km2 basta solo decidere dove. Di sicuro a Roma non ci sono certo problemi per trovare un terreno adatto sia per la gara che per i test, ci sono talmente tanti parchi che c'è solo l'imbarazzo della scelta, idem per tutte le altre città. Formare un gruppo di lavoro è quasi obbligatorio vista la complessità del robot, perlomeno se fatto idoneo per competizioni con il regolamento attuale di S.R.S. > Io sarei dell'idea di cominciare con la cosa più semplice possibile, Stavo pensando che la prima gara di questo tipo si potrebbe farla con una formula molto semplificata e indoor, per il momento chiamiamola Magellan junior, diciamo come terreno una normale palestra, obbietivo navigare tra due punti assegnati passando per tre, quattro waypoint con un percorrenza totale non superiore a 60 metri. In questo modo è possibile utlizzare un Explorer modificato o comunque realizzare un robot di dimensioni e costi contenuti, poi con calma di gara in gara si aumenta la difficoltà e di conseguenza la complessità dei robot, così c'è il tempo per fare un po di esperienza e iniziare la progettazione per i nuovi robot classe Magellan. Sarebbe un ottimo traguardo riuscire ad organizzare la prima gara per la fine primavera 2008, magari abbinate a qualche robofesta locale, in pratica per non obbligare la gente a viaggi faticosi si può pensare ad una specie di campionato con prove locali, tutte con lo stesso regolamento e percorso, che faranno tutte capo ad un unico database dal quale verrà fuori il vincitore assoluto. Ciao(Continue reading)
> >Io come indirizzo uso 0x80 sia sul MASTER, come indirizzo su cui > >scrivere, che sullo SLAVE. Mica ci sono dei sistemi automatici che > >shiftano il byte di indirzzo di 1 dopo aver caricato SSPADD? > > Mi sa tanto che stai facendo confusione tra indirizzo reale e valore > caricato su SSPADD, se metti 0x80 il valore reale dell'indirizzo è 0x40 > perchè il bit 0 non conta. Ok ma questo a livello puramente teorico, mi speigo, Se decido di dare come indirizzo alla mia periferica 0x80 il valore reale è 0x40 perchè utilizzo solo sette bit. Quindi nel registro SSPADD devo scrivere 0x80, che in realtà sarebbe il valore 0x40 shiftato di un bit, questo perchè il bit 0 viene usato per lo stato R/W. > Sul master l'indirizzo da usare è 0x40 al quale devi aggiungere un bit per > indicare il tipo di operazione pertanto i valori da caricare su SSPBUF per > la trasmissione dell'address sono 0x81 per la read operation e 0x80 per la > write operation. Ma questa che dici è un'operazione da fare da codice, non automatica? Parlo dello shift e dellcambiamento di stato del bit 0. Cioè dovrei shiftare 0x40 di un bit per avere 0x80 e poi metterlo in AND con 0b11111110 o in OR con 0b00000001 a seconda se volgio scrivere o leggere? Ma se per semplificare metto in SSPADD direttamente 0x80 sullo slave, sul master uso 0x80 per la scrittura e 0x81 per la lettura, dovrebbe funzionare lo stesso o sbaglio? In conclusione 0x40 è più corretto se si indica l'indirizzo perchè si usano solo 7 bit, ma in realtà poi si usa lo 0x80.(Continue reading)
> come indirizzo alla mia periferica 0x80 il valore reale è 0x40 perchè > utilizzo solo sette bit. Quindi nel registro SSPADD devo scrivere 0x80, > che in realtà sarebbe il valore 0x40 shiftato di un bit, questo perchè > il bit 0 viene usato per lo stato R/W. Esatto infatti se scrivi : #define I2Cadd 0b00000110 // address reale 3 ............. SSPADD = I2Cadd; // slave address In assembler viene tradotto così: MOVLW 0x6 MOVWF 0xfc8, ACCESS Ove 0x6 è il valore della define di I2Cadd. > Ma questa che dici è un'operazione da fare da codice, non automatica? > Parlo dello shift e dellcambiamento di stato del bit 0. Certo che la devi fare a mano, tu per scrivere sullo slave devi prima fare una START e il primo byte che trasmetti per lo slave è un address più il bit che identifica il tipo di operazione, quindi sei tu che devi caricare in SSPBUF il valore 0x80 o 0x81 a seconda di quello che devi fare, se ci metti 0x40 lo slave non riconosce l'indirizzo e la comunicazione non avviene. > Ma se per semplificare metto in SSPADD direttamente 0x80 sullo slave, > sul master uso 0x80 per la scrittura e 0x81 per la lettura, dovrebbe > funzionare lo stesso o sbaglio?(Continue reading)
RSS Feed174 | |
|---|---|
305 | |
392 | |
472 | |
482 | |
317 | |
336 | |
520 | |
542 | |
686 | |
509 | |
318 | |
374 | |
535 | |
709 | |
265 | |
230 | |
167 | |
181 | |
419 | |
718 | |
111 | |
276 | |
181 | |
400 | |
499 | |
599 | |
395 | |
905 | |
439 | |
240 | |
205 | |
352 | |
280 | |
466 | |
549 | |
448 | |
590 | |
1111 | |
1149 | |
1115 | |
473 | |
265 | |
251 | |
300 | |
266 | |
550 | |
651 | |
466 | |
574 | |
446 | |
413 | |
497 | |
406 | |
559 | |
707 | |
844 | |
472 | |
1240 | |
787 | |
1092 | |
710 | |
388 | |
248 | |
514 | |
276 | |
198 | |
407 | |
359 | |
355 | |
308 | |
239 | |
77 | |
212 | |
227 | |
167 | |
266 | |
110 | |
226 | |
238 | |
228 | |
1 |