Re: Debugger Microchip MPLAB ICD 2

In particolare vorrei capire se emula la famiglia di pic 16F87x ( in

> particolare mi serve che emuli il 16F873 ) e se occorrono particolari

Lo fa`.

precauzioni nella programmazione del pic che si vuole emulare con questo > sistema.. > In particolare e' possibile emulare un programma che usa tutti gli 8

livelli

di stak del pic ?

formatting link

Utilizza un livello di stack sui 12 e 16, e due livelli sui 18. Utilizza anche due pin (nel tuo caso, come quasi in tutti, sono RB6, RB7) che quindi non possono essere usati dalla tua applicazione durante il debug. Utilizza ovviamente anche un'area di flash e una di ram.

Non'ho capito anche dove andrebbe collegato al target per funzionare.

Te lo forniscono con una uscita RJ11 a 6 contatti (come quelle telefoniche) e i pin da portare fuori sono 5:

1 = da collegare al pin MCLR/VPP del micro, che e` bene abbia anche un pullup da 10K verso i 5V 2 = Vcc della tua scheda 3 = gnd 4 = RB7 5 = RB6

Con questo collegamento ho debuggato senza problemi diversi micro, tra cui

18c452 e 16f873.

Attenzione che sul MCLR/VPP durante la programmazione vengono sparati una dozzina di V, per cui vedi di non attaccarci nient'altro che la resistenza di pullup da 10K. NIENTE CONDENSATORI. Niente pullup su RB6, RB7. (magari abilita quelli interni, appunto sono sul PORTB).

Se devi utilizzare anche RB6, RB7 nel progetto, cerca di assegnare dei compiti non fondamentali, ad esempio il pilotaggio di qualche led di segnalazione o qualcosa del genere, in modo da poterne fare a meno durante il debug senza troppi problemi. Se la tua applicazione deve per forza usarli come INPUT, allora dovrai prevedere sulla scheda un modo per isolarli dal dispositivo che li pilota, altrimenti ovviamente va in conflitto. In quel caso devi anche ricordarti di "tarpare" opportunamente la routine che legge quei pin, visto che il loro stato non sara` quello che dovrebbe essere.

Ciao!

Reply to
Proboscide99
Loading thread data ...

usarli

legge

Grazie, i tuoi soggerimenti mi sono molto utili.

Purtroppo proprio la porta B io la uso come data bus a 8 bit dove comando i latch per le uscite e per gli ingressi. Quindi rb6 e rb7 li uso in entrambi i versi.

Ad ogni modo potrei non essere interessato a 'vedere' il display ( collegato anch'esso al BUS ) e i rele' funzionare... basta che il programma giri lo stesso e mi consenta il debug.

Quello che mi preoccupa di piu' e' il livello di stak da sacrificare....

Altra cosa... la porta b6 e 7 nel programma, devono essere sempre configurate come uscite, per far funzionare il debugger ?

Ciao e grazie, F.

Reply to
Fabrizio Cattaneo

collegato

Esatto. L'unica cosa che devi fare e` modificare, se necessario, la parte di programma che gestisce eventuali dati in ingresso su RB6, RB7, visto che potrebbe prendere "decisioni anomale" e non dipendenti dal reale stato dei tuoi segnali. Miraccomando ancora una volta di isolare elettricamente qualsiasi componente che piloti quei due pin dall'esterno.

Non ne sono del tutto sicuro, ma credo che non di debba preoccupare di questo: mi sembra che la tua impostazione venga ignorata. Per stare nel sicuro, pero`, io li configurerei cone ingressi, poi ci pensa il "kernel" del debugger a renderli ingressi o uscite a seconda di quello che ci deve fare.

Ciao!

Reply to
Proboscide99

Grazie, F.

Reply to
Fabrizio Cattaneo

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.