MON08 Vector Address FFFE-FFFF blank?

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

MON08 Vector Address FFFE-FFFF blank?

跳至解决方案
1,995 次查看
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.

标签 (1)
0 项奖励
1 解答
640 次查看
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 项奖励
4 回复数
641 次查看
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 项奖励
640 次查看
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 项奖励
640 次查看
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 项奖励
640 次查看
peg
Senior Contributor IV

Hi,

 

Your understanding is now correct!

 

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

 

0 项奖励