reset.c

来自「老外的一个开源项目」· C语言 代码 · 共 55 行

C
55
字号
// Copyright (c) David Vescovi.  All rights reserved.
// Part of Project DrumStix
// Windows Embedded Developers Interest Group (WE-DIG) community project.
// http://www.we-dig.org
// Copyright (c) Microsoft Corporation.  All rights reserved.
//------------------------------------------------------------------------------
//
//  File:  reset.c            
//
//  This module implements the OEMReset.
//
//------------------------------------------------------------------------------
#include "bsp.h"
#include <nkintr.h>
 
//------------------------------------------------------------------------------
// Defines 
//
#define WATCHDOG_TIMEOUT	(OEM_TICKS_1MS * 1000)	// 1 sec WD timeout
 
//------------------------------------------------------------------------------
// Externs
//
 
//------------------------------------------------------------------------------
// Global Variables 
 
//------------------------------------------------------------------------------
// Local Variables 
//

//------------------------------------------------------------------------------
// Local Functions 
//

//------------------------------------------------------------------------------
//
//  Function: OEMReset
//
//  Do a platform reset via the watchdog reset 
//
//------------------------------------------------------------------------------

void OEMReset(void)
{
    volatile OST_REG_T *pOSTRegs= (volatile OST_REG_T *) OALPAtoVA((PXA255_BASE_REG_PA_OST), FALSE);

	pOSTRegs->OSMR3 = pOSTRegs->OSCR + WATCHDOG_TIMEOUT;
	pOSTRegs->OWER = OWER_WME;

	OALSpinForever();					// will never return!

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?