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 <twl/spi.h></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>