|
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.
|