// File: watchdog_sw_rst.c
//
// Samsung SMDK6410 SW_RST using watchdog timer support code.
//
#include
#include
#include
#include
// WTCON - control register, bit specifications
#define WTCON_PRESCALE(x) (((x)&0xff)<<8) // bit 15:8, prescale value, 0 <= (x) <= 27
#define WTCON_ENABLE (1<<5) // bit 5, enable watchdog timer
#define WTCON_CLK_DIV16 (0<<3)
#define WTCON_CLK_DIV32 (1<<3)
#define WTCON_CLK_DIV64 (2<<3)
#define WTCON_CLK_DIV128 (3<<3)
#define WTCON_INT_ENABLE (1<<2)
#define WTCON_RESET (1<<0)
// WTCNT - watchdog counter register
#define WTCNT_CNT(x) ((x)&0xffff)
// WTDAT - watchdog reload value register
#define WTDAT_CNT(x) ((x)&0xffff)
// WTCLRINT - watchdog interrupt clear register
#define WTCLRINT_CLEAR (1<<0)
// Watchdog Clock
// PCLK : 66MHz
// PCLK/PRESCALER : 66/66 = 1MHz
// PCLK/PRESCALER/DIVIDER : 1MHz/128 = 7.812 KHz
// MAX Counter = 0xffff = 65535
// Period = 65535/7812 =~ 8.4 sec
#define WD_PRESCALER (66-1)
//------------------------------------------------------------------------------
//
// Function: _OEMSWReset
//
// This is the function to reset S3C6410 using watchdog timer.
//
void _OEMSWReset(void)
{
volatile S3C6410_WATCHDOG_REG *pWTDogReg = NULL; // VA for Watchdog base
pWTDogReg = (S3C6410_WATCHDOG_REG *)OALPAtoVA(S3C6410_BASE_REG_PA_WATCHDOG, FALSE);
if (!pWTDogReg)
{
OALMSG (OAL_ERROR, (L'Address of Watch Dog Base Not Defined, WatchDog not enabled!/r/n'));
}
else
{
pWTDogReg->WTCON = WTCON_PRESCALE(WD_PRESCALER) | WTCON_CLK_DIV128 | WTCON_RESET;
pWTDogReg->WTDAT = WTDAT_CNT(0x1);
pWTDogReg->WTCNT = WTCNT_CNT(0x1);
pWTDogReg->WTCON |= WTCON_ENABLE;
}
}
上一篇:第五章 搭建S3C6410开发板的测试环境
下一篇:S3C6410串口平台设备注册流程分析
推荐阅读最新更新时间:2026-03-25 11:38
- 用于 7VIN 至 16VIN、1.5V 和 1.2V 输出的 LTM4628EV DC/DC 模块稳压器的典型应用电路
- 使用 Analog Devices 的 LTC3728LIGN 的参考设计
- DER-406 - 适用于 A19 灯的 5.76 W 高 PF 非隔离降压-升压型 TRIAC 调光 LED 驱动器
- ADR5045B 5V 输出精密微功率并联模式电压基准的典型应用
- LT3970EDDB-3.42 2.5V 降压转换器的典型应用
- MC78M08BDTG 8V 电流调节器的典型应用
- LT1021DCN8-5 精密电压基准的典型应用
- DER-282 - 100W, 扁平(11 mm), LLC DC-DC转换器
- REF193 低压差开尔文连接电压基准的典型应用电路
- LT3088EM 线性稳压器用于添加软启动的典型应用

嵌入式系统——体系结构、编程与设计 (Raj Kamal, 陈曙晖)
现代雷达系统的信号设计
BFR340T






京公网安备 11010802033920号