9S12DJ64 reset vector table programming

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

9S12DJ64 reset vector table programming

Jump to solution
1,205 Views
68HC912B32Guy
Contributor I

Hello,

 

I'm unable to program the reset vector table on my 9S12DJ64.  I'm using D-Bug12 version 4.0.0b32 and it shows my target as the following, straight out of reset:

 

Device: S12DJ64, MC9S12DJ64, MC9S12D64, MC9S12A64
EEPROM: $0000 - $03FF
Flash: $8000 - $BFFF  Pages: 4  PPAGE at: $0030
RAM: $0000 - $0FFF
I/O Regs: $0000 - $03FF
Target Speed: 16000 KHz

 

I see that the vector table area ($FF80-$FFFF) does not appear in the Flash space.  Attempts to fload my s-records into that space fail.  The manual for the 9S12DJ64 says that the reset vector table is available out of reset without setting PPAGE, yet I cannot seem to access and program the table.

 

Any ideas on what I might be doing wrong?

 

Thanks!

Labels (1)
0 Kudos
Reply
1 Solution
606 Views
kef
Specialist I

$FF80-$FFFF is indeed included. It is accessible on PPAGE=0x3F at 0xBF80-0xBFFF.

 

As far as I know for paged derivatives D-Bug12 assumes S records are only in linear/physical format. This means you should not find any S1 record in your file, only S2 records with linear/physical addresses in the range 0x0F0000 to 0x0FFFFF. Linear address is P*W+O, where P is page number, W - size of page window (0x4000) and O offset within page window.

 

You asked before about SrecCvt arguments. Depending on your S records file, Sreccvt may be unable to convert your S records. You may try using Log2Phy uility from www.pemicro.com.

 

View solution in original post

0 Kudos
Reply
2 Replies
607 Views
kef
Specialist I

$FF80-$FFFF is indeed included. It is accessible on PPAGE=0x3F at 0xBF80-0xBFFF.

 

As far as I know for paged derivatives D-Bug12 assumes S records are only in linear/physical format. This means you should not find any S1 record in your file, only S2 records with linear/physical addresses in the range 0x0F0000 to 0x0FFFFF. Linear address is P*W+O, where P is page number, W - size of page window (0x4000) and O offset within page window.

 

You asked before about SrecCvt arguments. Depending on your S records file, Sreccvt may be unable to convert your S records. You may try using Log2Phy uility from www.pemicro.com.

 

0 Kudos
Reply
606 Views
68HC912B32Guy
Contributor I
Kef, Thank you (and P&E too) very much! Log2Phy seems to be what I needed. I was able to convert my MiniIDE s19 file with that utility and program in $BF80-$BFFF at $3F. It now points to another place in FLASH that remaps the memories and registers and then points to the remapped EEPROM which will then have the "real" reset vector. Now I'm working out how to program the EEPROM. Once I get that done, I can finally use this board from a POR. So much has changed since the 912B32. Most of my code was directly portable to the 9S12DJ64 but registers moved around of course, EEPROM programming is different, a few had different functions and the memory paging has been a bear for me to learn. Thanks again.
0 Kudos
Reply