reset_handle.c
来自「ARM-LINUX,基于S3c2410处理器的开发板实验源代码」· C语言 代码 · 共 76 行
C
76 行
/* * vivi/lib/reset_handle.c: reset handling * * Copyright (C) 2002 MIZI Research, Inc. * * Author: Janghoon Lyu <nandy@mizi.com> * Date : $Date: 2002/08/28 05:57:09 $ * * $Revision: 1.1 $ * * This code is GPL. */#include <config.h>#include <machine.h>#include <vivi_string.h>#include <memory.h>#include <types.h>#define HIGH 1#define LOW 0#define DPRINTK(x) putstr(##x)static intread_bt_status(void){ ulong status; //status = ((GPLR & (1 << GPIO_PWBT)) >> GPIO_PWBT); status = ((PWBT_REG & (1 << PWBT_GPIO_NUM)) >> PWBT_GPIO_NUM); if (status) return HIGH; else return LOW;}static intis_pressed_pw_btn(void){ return read_bt_status();}static voidhard_reset_handle(void){#if 0 clear_mem((unsigned long)(DRAM_BASE + VIVI_RAM_ABS_POS), \ (unsigned long)(DRAM_SIZE - VIVI_RAM_ABS_POS));#endif clear_mem((unsigned long)USER_RAM_BASE, (unsigned long)USER_RAM_SIZE); /*lib/memory.c,将起始地址为USER_RAM_BASE,长度为USER_RAM_SIZE的内存清0*/ }static voidsoft_reset_handle(void){ /* nothing to do */}voidreset_handler(void){ int pressed; pressed = is_pressed_pw_btn(); /*判断是硬件复位还是软件复位*/ if (pressed == PWBT_PRESS_LEVEL) { DPRINTK("HARD RESET\r\n"); hard_reset_handle(); /*调用clear_mem对SDRAM清0*/ } else { DPRINTK("SOFT RESET\r\n"); soft_reset_handle(); /*此函数为空*/ }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?