MON08 Vector Address FFFE-FFFF blank?

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

MON08 Vector Address FFFE-FFFF blank?

Jump to solution
1,981 Views
OmarAI
Contributor I

What do the next sentences mean?

 

"Monitor mode entry can be achieved without use of the higher test voltage, VTST, as long as vector addresses $FFFE and $FFFF are blank, thus reducing the hardware requirements for in-circuit programming."

 

"Monitor mode entry without high voltage, VTST, if reset vector is blank ($FFFE and $FFFF contain

$FF)"

 

I understand that there's no need to put a high voltage VTST if those vector addresses are blank, but how do I know if they are blank? When do these addresses change? How do I check their state while my code is running?

 

The text belongs to "MC68HC908AP Family Data Sheet, Rev. 4"

 

Thanks.

Labels (1)
0 Kudos
1 Solution
626 Views
pgo
Senior Contributor V

Dear OmarAl,

 

The address $FFFE/FFFF are the reset vector for the processor.

 

In all cases for a programmed chip they would need to be programmed with the starting address of the code to run - otherwise the program would not be executed from reset.

 

They are used as a a simple check by the Monitor code to determine if there is any user code to 'jump to' when reset - If they are blank then it is assumed that there is no program in the ROM and the monitor code ROM is executed instead.  This is faster than checking the whole ROM is blank. 

 

These addresses would be  changed when the ROM is programmed with (your) code.  In the case of a C program the vector would be 'pointed at' the low-level C init code (startup or something similar - see the linker control file).

 

I hope this helps.

 

bye

Message Edited by pgo on 2009-06-27 12:48 AM

View solution in original post

0 Kudos
4 Replies
627 Views
pgo
Senior Contributor V

Dear OmarAl,

 

The address $FFFE/FFFF are the reset vector for the processor.

 

In all cases for a programmed chip they would need to be programmed with the starting address of the code to run - otherwise the program would not be executed from reset.

 

They are used as a a simple check by the Monitor code to determine if there is any user code to 'jump to' when reset - If they are blank then it is assumed that there is no program in the ROM and the monitor code ROM is executed instead.  This is faster than checking the whole ROM is blank. 

 

These addresses would be  changed when the ROM is programmed with (your) code.  In the case of a C program the vector would be 'pointed at' the low-level C init code (startup or something similar - see the linker control file).

 

I hope this helps.

 

bye

Message Edited by pgo on 2009-06-27 12:48 AM
0 Kudos
626 Views
OmarAI
Contributor I

Thanks. I've already downloaded that application note, just after writing the last message. I also found a thread about the VTST high voltage that's been very helpful. If someone reaches this first, follow the next link.

 

 http://forums.freescale.com/freescale/board/message?board.id=8BITCOMM&message.id=3801&query.id=6772#M3801

 

Thanks peg and pgo, I really appreciate your help.

0 Kudos
626 Views
OmarAI
Contributor I

Thanks pgo for answering so soon. So, based on what I understood, the only way for the reset vector to be blank would be an erased chip or a new one, isn't it? I can't enter monitor mode if the chip is already programmed unless I use the high voltage, VTST. Entering monitor mode without the VTST voltage can't be done if I'm debugging or need to change the code, or can I?.

 

Thanks a lot. 

0 Kudos
626 Views
peg
Senior Contributor IV

Hi,

 

Your understanding is now correct!

 

Refer to AN-HK-32 for a way to reprogramme without high voltage.

 

0 Kudos