<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.arm.com/utility/feedstylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>How do software reset</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/37855/how-do-software-reset</link><description> 
I want to reset the software inside the interrupt service
routine. 

 
((void (code *) (void)) 0x0000) (); 

 
while am using this code only one time executing the code second
time it blocking the interrupt.. 

 
pls help me 
 </description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: How do software reset</title><link>https://community.arm.com/thread/100706?ContentTypeID=1</link><pubDate>Tue, 03 Jun 2008 05:44:11 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:be49d8ec-c579-4851-8b0d-a332aa1bb846</guid><dc:creator>erik  malund</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;I don&amp;#39;t know the C51, but an ARM allows a post reset analysis
in order to determine the reason for a reset.&lt;/i&gt;&lt;br /&gt;
most &lt;b&gt;modern&lt;/b&gt; &amp;#39;51 derivatives have that feature (if using
internal dog, of course).&lt;/p&gt;

&lt;p&gt;
Erik&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How do software reset</title><link>https://community.arm.com/thread/89077?ContentTypeID=1</link><pubDate>Tue, 03 Jun 2008 01:47:37 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:e0523eb9-72b4-47e9-8f05-1c07736fe80f</guid><dc:creator>Catcus Blip</dc:creator><description>&lt;p&gt;&lt;p&gt;
you don&amp;#39;t need to do anything. if your watchdog is serviced by
this call:&lt;/p&gt;

&lt;pre&gt;
service_my_watchdog()
&lt;/pre&gt;

&lt;p&gt;
, all you have to do is avoid calling it. I don&amp;#39;t know the C51,
but an ARM allows a post reset analysis in order to determine the
reason for a reset. that could be handy for you, too. is your
watchdog even running?&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How do software reset</title><link>https://community.arm.com/thread/76347?ContentTypeID=1</link><pubDate>Tue, 03 Jun 2008 01:15:17 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:47766d7f-b625-4bcb-a378-01dce4f47fce</guid><dc:creator>Gokul das</dc:creator><description>&lt;p&gt;&lt;p&gt;
i tired like dat also plz&lt;/p&gt;

&lt;p&gt;
second time its blocking the isr ..&lt;/p&gt;

&lt;p&gt;
there is ay options are thr for reseting with out using WDT&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How do software reset</title><link>https://community.arm.com/thread/49967?ContentTypeID=1</link><pubDate>Tue, 03 Jun 2008 01:13:37 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:25849673-8897-4f25-8670-b56958560dd8</guid><dc:creator>Gokul das</dc:creator><description>&lt;p&gt;&lt;p&gt;
I tried making PSW=0;&lt;br /&gt;
unsinged char addr=SP;&lt;br /&gt;
addr-1=0;&lt;br /&gt;
addr-2=0;........addr-7=0;&lt;/p&gt;

&lt;p&gt;
but this codes also not working ..&lt;/p&gt;

&lt;p&gt;
second time it blocking the timer interrupt...&lt;/p&gt;

&lt;p&gt;
plz help me..&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How do software reset</title><link>https://community.arm.com/thread/89076?ContentTypeID=1</link><pubDate>Fri, 30 May 2008 12:21:14 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:86e008a8-e244-4133-8648-46a349e19e1c</guid><dc:creator>erik  malund</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;This isn&amp;#39;t a true WDT, but the C8051F3xx parts don&amp;#39;t have a
real one anyways.&lt;/i&gt;&lt;br /&gt;
this &amp;quot;watchdog&amp;quot; is known as &amp;quot;the Intel Kludge&amp;quot;.&lt;br /&gt;
when SILabs decided not to make derivatives any more, but decided to
make deviates instead, among the many silly/stupid things they did
was to drop the REAL watchdog the derivatives have.&lt;/p&gt;

&lt;p&gt;
Erik&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How do software reset</title><link>https://community.arm.com/thread/49968?ContentTypeID=1</link><pubDate>Fri, 30 May 2008 11:57:32 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:7324e194-e59e-42af-a18d-bbb801120fe6</guid><dc:creator>Gene Fulmer</dc:creator><description>&lt;p&gt;&lt;p&gt;
Maybe this is not what you meant, but to get the C8051F3xx parts
to reset, I&amp;#39;ve done this:&lt;/p&gt;

&lt;p&gt;
void Timer3_ISR(void) interrupt 14&lt;br /&gt;
{&lt;/p&gt;

&lt;p&gt;
//using as Watch-Dog Timer&lt;br /&gt;
//32msec time-out&lt;br /&gt;
RSTSRC |= 0x10;&lt;br /&gt;
}&lt;/p&gt;

&lt;p&gt;
This isn&amp;#39;t a true WDT, but the C8051F3xx parts don&amp;#39;t have a real
one anyways.&lt;/p&gt;

&lt;p&gt;
&amp;quot;RSTSRC |= 0x10&amp;quot; will cause the part to reset.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How do software reset</title><link>https://community.arm.com/thread/51801?ContentTypeID=1</link><pubDate>Fri, 30 May 2008 08:55:15 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:c1feffc7-0197-455a-a56a-c16f8f04f7ff</guid><dc:creator>erik  malund</dc:creator><description>&lt;p&gt;&lt;p&gt;
you &amp;#39;can&amp;#39; do a software reset, BUT it is not THAT easy. Just
jumping to zero does not do it. All SFRS have &amp;#39;startup values&amp;#39; you
need to restore all those before jumping to zero. Also, if you try it
from inside an ISR it gets even more complicated since you need to
restore some registers not &amp;#39;publically available&amp;#39;&lt;/p&gt;

&lt;p&gt;
Thus&lt;/p&gt;

&lt;p&gt;
FORGET ABOUT A SOFTWARE RESET, just let the watchdog time out.&lt;/p&gt;

&lt;p&gt;
Erik&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>