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
How to do a real reset ?
Started by ●October 27, 2009
Reply by ●October 27, 20092009-10-27
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..., "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
>
Lloyd
--- In m..., "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
>
Reply by ●October 27, 20092009-10-27
not necessarily true.. a POR sets many registers to s specific value.. there 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..
--- On Tue, 10/27/09, lslonim2 wrote:
From: lslonim2
Subject: [msp430] Re: How to do a real reset ?
To: m...
Date: Tuesday, October 27, 2009, 7:26 AM
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
>
--- On Tue, 10/27/09, lslonim2 wrote:
From: lslonim2
Subject: [msp430] Re: How to do a real reset ?
To: m...
Date: Tuesday, October 27, 2009, 7:26 AM
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
>
Reply by ●October 27, 20092009-10-27
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..., "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..., "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
>
When I do reset. The interrupts keep jumping to the old values, until I unplug/plug the my card.
Crandel
--- In m..., "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..., "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
>
Reply by ●October 27, 20092009-10-27
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: m...
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
>
--- On Tue, 10/27/09, crandel_z wrote:
From: crandel_z
Subject: [msp430] Re: How to do a real reset ?
To: m...
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
>
Reply by ●October 27, 20092009-10-27
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 m..., 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: m...
> 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
> > >
> >
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
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 m..., 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: m...
> 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
> > >
> >
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
Reply by ●October 27, 20092009-10-27
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..., "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..., "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
>
> 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..., "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..., "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
>
Reply by ●October 27, 20092009-10-27
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...
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
> > >
> >
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
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...
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
> > >
> >
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
Reply by ●October 27, 20092009-10-27
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...
> 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
> > > >
> > >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
>
>
>
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...
> 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
> > > >
> > >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
>
>
>
Reply by ●October 27, 20092009-10-27
What is a "real reset"?
What reset is not real?
--- In m..., 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...
> > 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
> > > > >
> > > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
> >
> >
> >
> >
>
>
What reset is not real?
--- In m..., 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...
> > 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
> > > > >
> > > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
> >
> >
> >
> >
>
>