Sign in

username:

password:



Not a member?

Search msp430



Search tips

Subscribe to msp430



Ads

Discussion Groups

See Also

DSPFPGAElectronics

Discussion Groups | MSP430 | How to do a real reset ?

The purpose of this group is to foster exchange of information on the Texas Instruments MSP430 family of microcontrollers and related tools. Everyone welcome, all levels of familiarity/expertise.

How to do a real reset ? - crandel_z - Oct 27 5:27:53 2009

Hi, I write a program that allow to update the flash program. After that I need to do a reset.

I try to use watchdog and to call to 0x3100 to do the reset. But they not do a real reset, they do like a restart. Some registers are not initialized.

There are another way to do a reset ?

Thanks

Crandel

pd: I use MSP430F2618

------------------------------------



(You need to be a member of msp430 -- send a blank email to msp430-subscribe@yahoogroups.com )


Re: How to do a real reset ? - lslonim2 - Oct 27 7:26:32 2009

I'm familiar with the older parts in the line, but I think you are expecting too much from a reset. The registers are not supposed to be initialized by a reset. They may come up in a certain way after a powerup, but it's not guaranteed. They are random.

Lloyd

--- In m...@yahoogroups.com, "crandel_z" wrote:
>
> Hi, I write a program that allow to update the flash program. After that I need to do a reset.
>
> I try to use watchdog and to call to 0x3100 to do the reset. But they not do a real reset, they do like a restart. Some registers are not initialized.
>
> There are another way to do a reset ?
>
> Thanks
>
> Crandel
>
> pd: I use MSP430F2618
>

------------------------------------



(You need to be a member of msp430 -- send a blank email to msp430-subscribe@yahoogroups.com )

Re: Re: How to do a real reset ? - Joe Radomski - Oct 27 7:41:48 2009

not necessarily true.. a POR sets many registers to s specific value.. ther=
e are different types of restes.. You have to look at the family guides to =
see what type of reset causes what action to be taken..
=A0
--- On Tue, 10/27/09, lslonim2 wrote:
From: lslonim2
Subject: [msp430] Re: How to do a real reset ?
To: m...@yahoogroups.com
Date: Tuesday, October 27, 2009, 7:26 AM
=A0=20

I'm familiar with the older parts in the line, but I think you are expectin=
g too much from a reset. The registers are not supposed to be initialized b=
y a reset. They may come up in a certain way after a powerup, but it's not =
guaranteed. They are random.

Lloyd

--- In msp430@yahoogroups. com, "crandel_z" wrote:
>
> Hi, I write a program that allow to update the flash program. After that =
I need to do a reset.
>=20
> I try to use watchdog and to call to 0x3100 to do the reset. But they not=
do a real reset, they do like a restart. Some registers are not initialize=
d.
>=20
> There are another way to do a reset ?
>=20
> Thanks
>=20
> Crandel
>=20
> pd: I use MSP430F2618
>

[Non-text portions of this message have been removed]

------------------------------------



(You need to be a member of msp430 -- send a blank email to msp430-subscribe@yahoogroups.com )

Re: How to do a real reset ? - crandel_z - Oct 27 7:57:01 2009

My problem is that a update the firmware included the interrupt vector.
When I do reset. The interrupts keep jumping to the old values, until I unplug/plug the my card.

Crandel

--- In m...@yahoogroups.com, "lslonim2" wrote:
>
> I'm familiar with the older parts in the line, but I think you are expecting too much from a reset. The registers are not supposed to be initialized by a reset. They may come up in a certain way after a powerup, but it's not guaranteed. They are random.
>
> Lloyd
>
> --- In m...@yahoogroups.com, "crandel_z" wrote:
> >
> > Hi, I write a program that allow to update the flash program. After that I need to do a reset.
> >
> > I try to use watchdog and to call to 0x3100 to do the reset. But they not do a real reset, they do like a restart. Some registers are not initialized.
> >
> > There are another way to do a reset ?
> >
> > Thanks
> >
> > Crandel
> >
> > pd: I use MSP430F2618
>

------------------------------------



(You need to be a member of msp430 -- send a blank email to msp430-subscribe@yahoogroups.com )

Re: Re: How to do a real reset ? - Joe Radomski - Oct 27 9:14:15 2009

That should not be.. the vectors are fetched from flash memory... I have do=
ne this myself on several projects and have never had an issue with the vec=
tors.. if you are vectoring the flash vectors to RAM through a routine that=
checks the validity, then thats anotehr issue
=A0
--- On Tue, 10/27/09, crandel_z wrote:
From: crandel_z
Subject: [msp430] Re: How to do a real reset ?
To: m...@yahoogroups.com
Date: Tuesday, October 27, 2009, 7:56 AM
=A0=20

My problem is that a update the firmware included the interrupt vector.
When I do reset. The interrupts keep jumping to the old values, until I unp=
lug/plug the my card.

Crandel

--- In msp430@yahoogroups. com, "lslonim2" wrote:
>
> I'm familiar with the older parts in the line, but I think you are expect=
ing too much from a reset. The registers are not supposed to be initialized=
by a reset. They may come up in a certain way after a powerup, but it's no=
t guaranteed. They are random.
>=20
> Lloyd
>=20
> --- In msp430@yahoogroups. com, "crandel_z" wrote:
> >
> > Hi, I write a program that allow to update the flash program. After tha=
t I need to do a reset.
> >=20
> > I try to use watchdog and to call to 0x3100 to do the reset. But they n=
ot do a real reset, they do like a restart. Some registers are not initiali=
zed.
> >=20
> > There are another way to do a reset ?
> >=20
> > Thanks
> >=20
> > Crandel
> >=20
> > pd: I use MSP430F2618
>

[Non-text portions of this message have been removed]

------------------------------------



(You need to be a member of msp430 -- send a blank email to msp430-subscribe@yahoogroups.com )

Re: How to do a real reset ? - crandel_z - Oct 27 9:45:20 2009

I think I understood the problem.

When I re-enable the interrupts are not jumping to old addresses. The not u=
sed interrupts (in the new firmware) are jumping to 0xFFFF.

Crandel

--- In m...@yahoogroups.com, Joe Radomski wrote:
>
> That should not be.. the vectors are fetched from flash memory... I have =
done this myself on several projects and have never had an issue with the v=
ectors.. if you are vectoring the flash vectors to RAM through a routine th=
at checks the validity, then thats anotehr issue
> =A0
>=20
>=20
> --- On Tue, 10/27/09, crandel_z wrote:
>=20
>=20
> From: crandel_z
> Subject: [msp430] Re: How to do a real reset ?
> To: m...@yahoogroups.com
> Date: Tuesday, October 27, 2009, 7:56 AM
>=20
>=20
> =A0=20
>=20
>=20
>=20
> My problem is that a update the firmware included the interrupt vector.
> When I do reset. The interrupts keep jumping to the old values, until I u=
nplug/plug the my card.
>=20
> Crandel
>=20
> --- In msp430@yahoogroups. com, "lslonim2" wrote:
> >
> > I'm familiar with the older parts in the line, but I think you are expe=
cting too much from a reset. The registers are not supposed to be initializ=
ed by a reset. They may come up in a certain way after a powerup, but it's =
not guaranteed. They are random.
> >=20
> > Lloyd
> >=20
> > --- In msp430@yahoogroups. com, "crandel_z" wrote:
> > >
> > > Hi, I write a program that allow to update the flash program. After t=
hat I need to do a reset.
> > >=20
> > > I try to use watchdog and to call to 0x3100 to do the reset. But they=
not do a real reset, they do like a restart. Some registers are not initia=
lized.
> > >=20
> > > There are another way to do a reset ?
> > >=20
> > > Thanks
> > >=20
> > > Crandel
> > >=20
> > > pd: I use MSP430F2618
> > >
> >
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
> [Non-text portions of this message have been removed]
>

------------------------------------



(You need to be a member of msp430 -- send a blank email to msp430-subscribe@yahoogroups.com )

Re: How to do a real reset ? - Michael - Oct 27 10:36:14 2009

Lloyd,
> The registers are not supposed to be initialized by a reset. They
> may come up in a certain way after a powerup, but it's not
> guaranteed. They are random.
Where do you get that information from? You coudn't be any wronger. Registers are initialized by a POR; what is not initialized is the contents of RAM.

> > I try to use watchdog and to call to 0x3100 to do the reset. But
> > they not do a real reset, they do like a restart. Some registers
> > are not initialized.
There are 2 type of signals that cause registers to set to a predefined value: POR (Power On Reset) and PUC (Power Up Clear).
A POR causes a PUC, but not the other way around. As far as I know, the only thing you can force by software is a PUC, by writing an invalid password to the Flash controler or the watchdog (there is a 3rd that I don't remember). But a PUC doesn't reset many things, like for example the interrupt enable flags. So if you plan to force a PUC, be sure that your initialization routines don't assume some bits of the registers are 0s or 1's (like interrupt enable bits), but specifically set them to the value you need them to be.

Regards,
Michael K.

--- In m...@yahoogroups.com, "lslonim2" wrote:
>
> I'm familiar with the older parts in the line, but I think you are expecting too much from a reset. The registers are not supposed to be initialized by a reset. They may come up in a certain way after a powerup, but it's not guaranteed. They are random.
>
> Lloyd
>
> --- In m...@yahoogroups.com, "crandel_z" wrote:
> >
> > Hi, I write a program that allow to update the flash program. After that I need to do a reset.
> >
> > I try to use watchdog and to call to 0x3100 to do the reset. But they not do a real reset, they do like a restart. Some registers are not initialized.
> >
> > There are another way to do a reset ?
> >
> > Thanks
> >
> > Crandel
> >
> > pd: I use MSP430F2618
>

------------------------------------



(You need to be a member of msp430 -- send a blank email to msp430-subscribe@yahoogroups.com )

Re: Re: How to do a real reset ? - Joe Radomski - Oct 27 12:09:40 2009

any interrupt bits that were set prior to the "reset" remain untouched so i=
f you enable global interrupts it will jump to FFFF if an interrupt routine=
is no longer there..
=A0
not having a vector is BAD practice.. you should make a spurious interrupt =
handler and point all non used interrupts to this routine so you can determ=
ine the soource of the trouble.
=A0
--- On Tue, 10/27/09, crandel_z wrote:
From: crandel_z
Subject: [msp430] Re: How to do a real reset ?
To: m...@yahoogroups.com
Date: Tuesday, October 27, 2009, 9:44 AM
=A0=20

I think I understood the problem.

When I re-enable the interrupts are not jumping to old addresses. The not u=
sed interrupts (in the new firmware) are jumping to 0xFFFF.

Crandel

--- In msp430@yahoogroups. com, Joe Radomski wrote:
>
> That should not be.. the vectors are fetched from flash memory... I have =
done this myself on several projects and have never had an issue with the v=
ectors.. if you are vectoring the flash vectors to RAM through a routine th=
at checks the validity, then thats anotehr issue
> =A0
>=20
>=20
> --- On Tue, 10/27/09, crandel_z wrote:
>=20
>=20
> From: crandel_z
> Subject: [msp430] Re: How to do a real reset ?
> To: msp430@yahoogroups. com
> Date: Tuesday, October 27, 2009, 7:56 AM
>=20
>=20
> =A0=20
>=20
>=20
>=20
> My problem is that a update the firmware included the interrupt vector.
> When I do reset. The interrupts keep jumping to the old values, until I u=
nplug/plug the my card.
>=20
> Crandel
>=20
> --- In msp430@yahoogroups. com, "lslonim2" wrote:
> >
> > I'm familiar with the older parts in the line, but I think you are expe=
cting too much from a reset. The registers are not supposed to be initializ=
ed by a reset. They may come up in a certain way after a powerup, but it's =
not guaranteed. They are random.
> >=20
> > Lloyd
> >=20
> > --- In msp430@yahoogroups. com, "crandel_z" wrote:
> > >
> > > Hi, I write a program that allow to update the flash program. After t=
hat I need to do a reset.
> > >=20
> > > I try to use watchdog and to call to 0x3100 to do the reset. But they=
not do a real reset, they do like a restart. Some registers are not initia=
lized.
> > >=20
> > > There are another way to do a reset ?
> > >=20
> > > Thanks
> > >=20
> > > Crandel
> > >=20
> > > pd: I use MSP430F2618
> > >
> >
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
> [Non-text portions of this message have been removed]
>

[Non-text portions of this message have been removed]

------------------------------------



(You need to be a member of msp430 -- send a blank email to msp430-subscribe@yahoogroups.com )

Re: Re: How to do a real reset ? - John Westmoreland - Oct 27 18:51:22 2009

To All:

Isn't this akin to the classic WDOG problem?

You need external circuitry - such as an external WDOG - that fully asserts
/RST - this is the only way to fully guarantee the part is reset correctly -
basically the same as the classic WDOG problem.

Regards,
John W.

On Tue, Oct 27, 2009 at 9:09 AM, Joe Radomski wrote:

> any interrupt bits that were set prior to the "reset" remain untouched so
> if you enable global interrupts it will jump to FFFF if an interrupt routine
> is no longer there..
>
> not having a vector is BAD practice.. you should make a spurious interrupt
> handler and point all non used interrupts to this routine so you can
> determine the soource of the trouble.
> --- On Tue, 10/27/09, crandel_z >
> wrote:
>
> From: crandel_z > Subject: [msp430] Re: How to do a real reset ?
> To: m...@yahoogroups.com
> Date: Tuesday, October 27, 2009, 9:44 AM
> I think I understood the problem.
>
> When I re-enable the interrupts are not jumping to old addresses. The not
> used interrupts (in the new firmware) are jumping to 0xFFFF.
>
> Crandel
>
> --- In msp430@yahoogroups. com, Joe Radomski wrote:
> >
> > That should not be.. the vectors are fetched from flash memory... I have
> done this myself on several projects and have never had an issue with the
> vectors.. if you are vectoring the flash vectors to RAM through a routine
> that checks the validity, then thats anotehr issue
> >
> >
> >
> > --- On Tue, 10/27/09, crandel_z wrote:
> >
> >
> > From: crandel_z
> > Subject: [msp430] Re: How to do a real reset ?
> > To: msp430@yahoogroups. com
> > Date: Tuesday, October 27, 2009, 7:56 AM
> >
> >
> >
> >
> >
> >
> > My problem is that a update the firmware included the interrupt vector.
> > When I do reset. The interrupts keep jumping to the old values, until I
> unplug/plug the my card.
> >
> > Crandel
> >
> > --- In msp430@yahoogroups. com, "lslonim2" wrote:
> > >
> > > I'm familiar with the older parts in the line, but I think you are
> expecting too much from a reset. The registers are not supposed to be
> initialized by a reset. They may come up in a certain way after a powerup,
> but it's not guaranteed. They are random.
> > >
> > > Lloyd
> > >
> > > --- In msp430@yahoogroups. com, "crandel_z" wrote:
> > > >
> > > > Hi, I write a program that allow to update the flash program. After
> that I need to do a reset.
> > > >
> > > > I try to use watchdog and to call to 0x3100 to do the reset. But they
> not do a real reset, they do like a restart. Some registers are not
> initialized.
> > > >
> > > > There are another way to do a reset ?
> > > >
> > > > Thanks
> > > >
> > > > Crandel
> > > >
> > > > pd: I use MSP430F2618
> > > >
> > >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > [Non-text portions of this message have been removed]
> > [Non-text portions of this message have been removed]
>
>
>
[Non-text portions of this message have been removed]

------------------------------------

______________________________
controlSUITE™ software. Comprehensive. Intuitive. Optimized.
Real-world software for real-time control. Details Here!



(You need to be a member of msp430 -- send a blank email to msp430-subscribe@yahoogroups.com )

Re: How to do a real reset ? - old_cow_yellow - Oct 27 19:15:14 2009

What is a "real reset"?
What reset is not real?

--- In m...@yahoogroups.com, John Westmoreland wrote:
>
> To All:
>
> Isn't this akin to the classic WDOG problem?
>
> You need external circuitry - such as an external WDOG - that fully asserts
> /RST - this is the only way to fully guarantee the part is reset correctly -
> basically the same as the classic WDOG problem.
>
> Regards,
> John W.
>
> On Tue, Oct 27, 2009 at 9:09 AM, Joe Radomski wrote:
>
> >
> >
> > any interrupt bits that were set prior to the "reset" remain untouched so
> > if you enable global interrupts it will jump to FFFF if an interrupt routine
> > is no longer there..
> >
> > not having a vector is BAD practice.. you should make a spurious interrupt
> > handler and point all non used interrupts to this routine so you can
> > determine the soource of the trouble.
> >
> >
> > --- On Tue, 10/27/09, crandel_z >
> > wrote:
> >
> > From: crandel_z >
> >
> > Subject: [msp430] Re: How to do a real reset ?
> > To: m...@yahoogroups.com
> > Date: Tuesday, October 27, 2009, 9:44 AM
> >
> >
> >
> >
> > I think I understood the problem.
> >
> > When I re-enable the interrupts are not jumping to old addresses. The not
> > used interrupts (in the new firmware) are jumping to 0xFFFF.
> >
> > Crandel
> >
> > --- In msp430@yahoogroups. com, Joe Radomski wrote:
> > >
> > > That should not be.. the vectors are fetched from flash memory... I have
> > done this myself on several projects and have never had an issue with the
> > vectors.. if you are vectoring the flash vectors to RAM through a routine
> > that checks the validity, then thats anotehr issue
> > >
> > >
> > >
> > > --- On Tue, 10/27/09, crandel_z wrote:
> > >
> > >
> > > From: crandel_z
> > > Subject: [msp430] Re: How to do a real reset ?
> > > To: msp430@yahoogroups. com
> > > Date: Tuesday, October 27, 2009, 7:56 AM
> > >
> > >
> > >
> > >
> > >
> > >
> > > My problem is that a update the firmware included the interrupt vector.
> > > When I do reset. The interrupts keep jumping to the old values, until I
> > unplug/plug the my card.
> > >
> > > Crandel
> > >
> > > --- In msp430@yahoogroups. com, "lslonim2" wrote:
> > > >
> > > > I'm familiar with the older parts in the line, but I think you are
> > expecting too much from a reset. The registers are not supposed to be
> > initialized by a reset. They may come up in a certain way after a powerup,
> > but it's not guaranteed. They are random.
> > > >
> > > > Lloyd
> > > >
> > > > --- In msp430@yahoogroups. com, "crandel_z" wrote:
> > > > >
> > > > > Hi, I write a program that allow to update the flash program. After
> > that I need to do a reset.
> > > > >
> > > > > I try to use watchdog and to call to 0x3100 to do the reset. But they
> > not do a real reset, they do like a restart. Some registers are not
> > initialized.
> > > > >
> > > > > There are another way to do a reset ?
> > > > >
> > > > > Thanks
> > > > >
> > > > > Crandel
> > > > >
> > > > > pd: I use MSP430F2618
> > > > >
> > > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > [Non-text portions of this message have been removed]
> > >
> >
> > [Non-text portions of this message have been removed]
> >
> >
> >
> [Non-text portions of this message have been removed]
>

------------------------------------



(You need to be a member of msp430 -- send a blank email to msp430-subscribe@yahoogroups.com )

Re: How to do a real reset ? - crandel_z - Oct 28 1:48:14 2009

Thank you Joe. I will implement it.

--- In m...@yahoogroups.com, Joe Radomski wrote:
>
> any interrupt bits that were set prior to the "reset" remain untouched so=
if you enable global interrupts it will jump to FFFF if an interrupt routi=
ne is no longer there..
> =A0
> not having a vector is BAD practice.. you should make a spurious interrup=
t handler and point all non used interrupts to this routine so you can dete=
rmine the soource of the trouble.
> =A0
>=20
>=20
> --- On Tue, 10/27/09, crandel_z wrote:
>=20
>=20
> From: crandel_z
> Subject: [msp430] Re: How to do a real reset ?
> To: m...@yahoogroups.com
> Date: Tuesday, October 27, 2009, 9:44 AM
>=20
>=20
> =A0=20
>=20
>=20
>=20
> I think I understood the problem.
>=20
> When I re-enable the interrupts are not jumping to old addresses. The not=
used interrupts (in the new firmware) are jumping to 0xFFFF.
>=20
> Crandel
>=20
> --- In msp430@yahoogroups. com, Joe Radomski wrote:
> >
> > That should not be.. the vectors are fetched from flash memory... I hav=
e done this myself on several projects and have never had an issue with the=
vectors.. if you are vectoring the flash vectors to RAM through a routine =
that checks the validity, then thats anotehr issue
> > =A0
> >=20
> >=20
> > --- On Tue, 10/27/09, crandel_z wrote:
> >=20
> >=20
> > From: crandel_z
> > Subject: [msp430] Re: How to do a real reset ?
> > To: msp430@yahoogroups. com
> > Date: Tuesday, October 27, 2009, 7:56 AM
> >=20
> >=20
> > =A0=20
> >=20
> >=20
> >=20
> > My problem is that a update the firmware included the interrupt vector.
> > When I do reset. The interrupts keep jumping to the old values, until I=
unplug/plug the my card.
> >=20
> > Crandel
> >=20
> > --- In msp430@yahoogroups. com, "lslonim2" wrote:
> > >
> > > I'm familiar with the older parts in the line, but I think you are ex=
pecting too much from a reset. The registers are not supposed to be initial=
ized by a reset. They may come up in a certain way after a powerup, but it'=
s not guaranteed. They are random.
> > >=20
> > > Lloyd
> > >=20
> > > --- In msp430@yahoogroups. com, "crandel_z" wrote:
> > > >
> > > > Hi, I write a program that allow to update the flash program. After=
that I need to do a reset.
> > > >=20
> > > > I try to use watchdog and to call to 0x3100 to do the reset. But th=
ey not do a real reset, they do like a restart. Some registers are not init=
ialized.
> > > >=20
> > > > There are another way to do a reset ?
> > > >=20
> > > > Thanks
> > > >=20
> > > > Crandel
> > > >=20
> > > > pd: I use MSP430F2618
> > > >
> > >
> >=20
> >=20
> >=20
> >=20
> >=20
> >=20
> >=20
> >=20
> >=20
> >=20
> >=20
> >=20
> >=20
> >=20
> >=20
> >=20
> > [Non-text portions of this message have been removed]
> >
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
>=20
> [Non-text portions of this message have been removed]
>

------------------------------------

______________________________
controlSUITE™ software. Comprehensive. Intuitive. Optimized.
Real-world software for real-time control. Details Here!



(You need to be a member of msp430 -- send a blank email to msp430-subscribe@yahoogroups.com )