Torna indietro   BaroneRosso.it - Forum Modellismo > Elettronica > Circuiti Elettronici


Rispondi
 
Strumenti discussione Visualizzazione
Vecchio 27 giugno 12, 12:43   #1 (permalink)  Top
User
 
Data registr.: 28-05-2005
Residenza: Roma
Messaggi: 660
esiste un debugger per la data ram in mplab?

Ciao a tutti, stò cercando di fare il debug ad un mio codice in un dispositivo PIC18F2455, e vorrei vedere, usando il simulatore di mplab in che maniera evolve lo stato di una particolare variabile che ho messo all'interno della data RAM, ma non riesco a trovarne alcuno.

In definitiva la mia domanda si riduce a: esiste qualche strumento nell'mplab che permette di vedere come evolve la data ram, in uno specifico indirizzo, allo stesso modo di come esistono strumenti per vedere in che maniera evolvono i registri speciali (sfr) ?

Grazie
SoldatoSemplice non è collegato   Rispondi citando
Vecchio 27 giugno 12, 13:40   #2 (permalink)  Top
User
 
L'avatar di MSchiepp
 
Data registr.: 21-01-2004
Residenza: Milano
Messaggi: 989
Certo! E' sufficiente attivare la finestra di Watch dal menu View e specificare il nome della variabile che vuoi monitorare; se invece vuoi vedere delle locazioni specifiche di ram devi attivare la finestra File Registers, sempre dal menu View.

Michele
__________________
__________________________________________________
The worst day flying is better than the best day working.
MSchiepp non è collegato   Rispondi citando
Vecchio 27 giugno 12, 13:48   #3 (permalink)  Top
Adv Moderator
 
L'avatar di romoloman
 
Data registr.: 15-08-2007
Residenza: sto a Massa ma sono molto Positivo
Messaggi: 12.069
Quoto in pieno Michele.
Inoltre se non lo hai mai provato questo tool è stupendo:

PIC18 Simulator IDE with Basic Compiler, Assembler, Disassembler and Debugger

Almeno per me, nelle varie versioni, è una manna dal cielo.
__________________
Vivere in qeusto mondo e molto belo belo e vale la pena starci ma a volte in questa UNICA vita che ci apartiene posono succedere cose brute brute alora mi chiedo perche siete incazziati domani pole esere anche lultimo
Grazie "TRANQUILLO"
FAI 15766
romoloman non è collegato   Rispondi citando
Vecchio 27 giugno 12, 15:57   #4 (permalink)  Top
User
 
Data registr.: 28-05-2005
Residenza: Roma
Messaggi: 660
Allora, prima di tutto vi ringrazio entrambi comunque ho risolto con una specie di scappatoia, ma non era quello che cercavo.

In realtà il watch è selettivo di una parte molto ridotta della data RAM: la SFR data ram appunto, mentre a me interessava vedere una variabile posta, sempre nella data ram, ma posta all'indirizzo 0x0404, quindi ben lontano dalla SFR.

Ho risolto con una specie di sotterfugio nel senso che: dichiaro una variabile dal nome qualunque, e tramite la direttiva UDATA la posiziono nella data ram proprio all'indirizzo 0x0404, poi con le consuete istruzioni LFSR, FSR0L, INDF0, la manipolo come voglio, e poi con il watch posso accedere alla variabile a cui ho dato il nome qualunque.

Questo però mi risolve il problema solo in parte, perchè io volevo, qualora possibile, vedere magari interi banchi di data ram, un pò come sipuò fare con la program memory nello stesso debugger, mentre in questo modo sembra che io sia costretto a dare un nome univoco ad ogni singolo byte di data ram per poterlo debuggare con il watch.

Lo scopo ultimo per cui mi serve tutto questo è: stò cercando di utilizzare l'USB di questo microcontrollore, e quando l'host invia un dato al mio PIC, questo dato viene memorizzato dal PIC in una regione della sua data RAM che è ben lontana dagli SFR, quindi io volevo accedere con il debugger a questa regione e leggere ciò che ricevo, se le letture sono quelle attese, allora sò che il mio codice funziona, e viceversa.

Per farlo però avrei bisogno di accedere alle letture di ampie parti di data RAM, e speravo ci fosse un qualche sistema di debug apposito, non posso creare pletore di nomi di variabili da associare ad interi banchi di RAM, per doverle poi leggere separatamente con il watch, che funziona fino a quando le variabili sono poche, non sò se mi sono spiegato, comunque grazie per l'aiuto.

@romoloman
Ora gli dò un'occhiata non lo conoscevo, ma grazie anche a te.
SoldatoSemplice non è collegato   Rispondi citando
Vecchio 27 giugno 12, 17:16   #5 (permalink)  Top
User
 
L'avatar di MSchiepp
 
Data registr.: 21-01-2004
Residenza: Milano
Messaggi: 989
E' tanto che non uso piu' MPLAB, ma mi sembra di ricordare che SFR sono gli Special File Register, mentre dal menu view puoi abilitare la visualizzazione di File Register che è la memoria ram a disposizione dell'utente.

Michele
__________________
__________________________________________________
The worst day flying is better than the best day working.
MSchiepp non è collegato   Rispondi citando
Rispondi

Bookmarks




Regole di scrittura
Non puoi creare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi

BB code è Attivato
Le faccine sono Attivato
Il codice [IMG] è Attivato
Il codice HTML è Disattivato
Trackbacks è Disattivato
Pingbacks è Disattivato
Refbacks è Disattivato


Discussioni simili
Discussione Autore discussione Forum Commenti Ultimo Commento
Ram AlecsNova Automodellismo Mot. Scoppio Off-Road 24 25 giugno 10 14:23
PIC - compilatore MPLAB Naraj Circuiti Elettronici 3 24 gennaio 07 20:00
mplab davidea Circuiti Elettronici 1 23 novembre 04 23:46



Tutti gli orari sono GMT +2. Adesso sono le 15:25.


Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2019 - K-Bits P.I. 09395831002