<?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>Can the controller be reseted using program?</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/17405/can-the-controller-be-reseted-using-program</link><description> I am using a 89s8252 controller. 
 
I am wondering, is there any command u can call to reset the controller so that it will run from the start again? 
 
I know that using watch dog timer will reset the controller when the time is up.. 
 
But I was wondering</description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: Can the controller be reseted using program?</title><link>https://community.arm.com/thread/43148?ContentTypeID=1</link><pubDate>Tue, 16 Nov 2004 16:21:00 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:223ef67b-7886-45ab-97cc-269f376722f7</guid><dc:creator>erik  malund</dc:creator><description>&lt;p&gt;&lt;i&gt;I am wondering, is there any command u can call to reset the controller so that it will run from the start again?&lt;br /&gt;
&lt;br /&gt;
But I was wondering is there other way to do it in C language or in the controller architecture it self.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) &lt;i&gt;&amp;quot;u can&amp;quot;&lt;/i&gt;? I have no idea what micro can&lt;br /&gt;
anyhow&lt;br /&gt;
There is no way you can do it in C, but in asm you can do the following:&lt;br /&gt;
1) code that all SFRs get set to the default level &lt;b&gt;make sure you get them all&lt;/b&gt;&lt;br /&gt;
2) execute reti twice (not in &amp;#39;C&amp;#39;) must be asm&lt;br /&gt;
3) jump to addr 0 (not in &amp;#39;C&amp;#39;)&lt;br /&gt;
&lt;br /&gt;
In other words: any attempt to reset the controller except by watchdog timeout is cumbersome, difficult and error prone.&lt;br /&gt;
&lt;br /&gt;
Erik&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Can the controller be reseted using program?</title><link>https://community.arm.com/thread/43144?ContentTypeID=1</link><pubDate>Tue, 16 Nov 2004 16:17:02 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:57123b9d-a879-4df4-890f-cd588cf8b9db</guid><dc:creator>Andy Neil</dc:creator><description>&lt;p&gt;&lt;i&gt;&amp;quot;is there any command u can call to reset the controller so that it will run from the start again?&amp;quot;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Making it &lt;i&gt;&amp;quot;run from the start again&amp;quot;&lt;/i&gt; is easy - you just jump to location C:0x0000 - but this is &lt;i&gt;&lt;b&gt;not&lt;/b&gt;&lt;/i&gt; the same as a reset, because it will not reset all the peripherals, the processor logic, the SFRs, the interrupt system, etc, etc, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&amp;quot;I know that using watch dog timer will reset the controller when the time is up.&amp;quot;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
This is the only truly 100% certain way to get a reliable reset.&lt;br /&gt;
Why would you want to do anything else?&lt;br /&gt;
&lt;br /&gt;
Do a search - it has been discussed many times&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>