Device MC9S12C32 has 2 pages of paged memory at 8000.
Hardware breakpoints.
D-Bug12
1. When I enter br 00:8000, I get "Bad extended address".
2. When I enter br 8000 and run my program at 8000, it never breaks.
3. If I set 002A to 00 before running, it breaks ok. However it reports "Target stopped for unknown reason".
4. I can only enter br 3e:8000 and br 3f:8000 without the error message however neither breaks.
Questions:
1. Am I missing something?
2. What is the procedure for setting a breakpoint in paged memory?
3. What is the range of ppage to be entered with a breakpoint?
4. Is there a bug in v4.0.0b32? Will it be fixed?
Added p/n to subject
1. Valid PPAGE values for 9S12C32 are 3e and 3f
2. 8000 is the paged memory window, so you need to set a valid PPAGE value (the default is 0):
here's an example D-Bug12 pod session:
S>rd
PP PC SP X Y D = A:B CCR = SXHI NZVC
00 C042 3F80 C094 0000 00:00 1100 0100
xx:C042 B63806 LDAA $3806
S>md 8000
8000 FF FF FF FF - FF FF FF FF - FF FF FF FF - FF FF FF FF ................
S>pp 3f
PP PC SP X Y D = A:B CCR = SXHI NZVC
3F C059 3F80 C135 0000 00:00 1100 0000
xx:C059 20E4 BRA $C03F
S>md 8000
8000 14 10 18 0B - 00 00 11 18 - 0B 39 00 10 - CF 3F 80 4D .........9...?.M
S>asm 3f:8000
3F:8000 1410 SEI >
3F:8002 180B000011 MOVB #$00,$0011 >.
S>br 3f:8000
Breakpoints: 8000
S>g 3f:8000
User Bkpt Encountered
PP PC SP X Y D = A:B CCR = SXHI NZVC
3F 8000 3F80 C094 0000 00:00 1100 0100
3F:8000 1410 SEI
S>
Note that you could instead do everything without pages at all, by recognizing that page 3f appears at c000 and page 3e appears at 4000, and avoid the paged memory window at 8000 altogether.
then you would use something like this:
S>nobr
All Breakpoints Removed
S>br c000
Breakpoints: C000
S>g c000
User Bkpt Encountered
PP PC SP X Y D = A:B CCR = SXHI NZVC
00 C000 3F80 C094 0000 00:00 1100 1000
xx:C000 1410 SEI
S>
Best regarrds,
Carl Barnes
Evaluate * Educate * Embed