1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<HTML>
3<HEAD>
4<META http-equiv="Content-Type" content="text/html; charset=windows-1252">
5<META name="GENERATOR" content="IBM WebSphere Studio Homepage Builder Version 7.0.1.0 for Windows">
6<META http-equiv="Content-Style-Type" content="text/css">
7<TITLE>PM_ForceToResetHardware</TITLE>
8<LINK rel="stylesheet" href="../../css/nitro.css" type="text/css">
9</HEAD>
10<BODY>
11<H1 align="left">PM_ForceToResetHardware <IMG src="../../image/TWL.gif" width="24" height="12" border="0" align="middle"></H1>
12<H2>Syntax</H2>
13<DL>
14  <DD>
15  <PRE><CODE>#include &lt;twl/spi.h&gt;</CODE></PRE>
16  <PRE><CODE>void PM_ForceToResetHardware( void );
17</CODE></PRE>
18</DL>
19<H2>Arguments</H2>
20<P>None.</P>
21<H2>Return Values</H2>
22<P>None.</P>
23<H2>Description</H2>
24<P>Forcibly resets the hardware.</P>
25<P><B><FONT color="#ff0000">In general, this function should not be called directly by applications. </FONT></B><FONT color="#ff0000">If your intention is to execute a hardware reset yourself, call the <A href="../../os/appJump/OS_RebootSystem.html"><CODE>OS_RebootSystem</CODE></A> function. In addition, to return to the system menu, call the <A href="../../os/appJump/OS_JumpToSystemMenu.html"><CODE>OS_JumpToSystemMenu</CODE></A> function.</FONT>These functions are designed to write a parameter to determine operations in the start area of main memory and call this function. Unexpected operations may result if this parameter is somehow rewritten. As such, this function uses a separate system function that utilizes hardware reset. (Naturally, this function may also be called to execute an intended operation if the user firmly grasps the parameter written to memory.)</P>
26<P>This function uses PXI to send the command that performs the corresponding operation in the ARM7 processor. The ARM7 side that receives that command is executed by operating the PMIC.</P>
27<P>Before you use this function, initialize the PM library with the <A href="PM_Init.html"><CODE>PM_Init</CODE></A> function. (The <code>PM_Init</code> function has to be called only once. Also, when you call the <a href="../../os/init/OS_Init.html"><code>OS_Init</code></a> function, there is no need to call the <a href="PM_Init.html"><code>PM_Init</code></a> function separately because it is called from inside <code>OS_Init</code>.)</P>
28<P>Exit callbacks configured by the <A href="PM_AppendExitCallback.html"><CODE>PM_AppendPreExitCallback</CODE></A> function or similar functions <FONT color="#ff0000">are not invoked</FONT>. Do not reset the hardware until you have run all necessary processing. Post-callbacks are invoked.</P>
29<P>Another related function is <A href="../../os/reset/OS_ResetSystem.html"><CODE>OS_ResetSystem</CODE></A>. Rather than performing a hardware rest, the <A href="../../os/reset/OS_ResetSystem.html"><CODE>OS_ResetSystem</CODE></A> function is a software reset function that reloads necessary programs and re-executes from the entry address.</P>
30<P>Even if the SPI is occupied by another device and therefore BUSY, <FONT color="#ff0000">this function continues retrying until it succeeds</FONT>.</P>
31<H2>See Also</H2>
32<P><A href="PM_Init.html"><CODE>PM_Init</CODE></A><BR> <A href="PM_ForceToPowerOff.html"><CODE>PM_ForceToPowerOff</CODE></A><BR> <A href="../../os/reset/OS_ResetSystem.html"><CODE>OS_ResetSystem</CODE></A></P>
33<H2>Revision History</H2>
34<P>2008/08/23 Added explanation of the BUSY state.<BR> 2008/02/07 Initial version.</P>
35<hr><p>CONFIDENTIAL</p></body>
36</HTML>