WCTCHDOG實驗 裸奔

2021-06-02 01:47:52 字數 1405 閱讀 8906

一、實驗平台:開發板fs2410,採用三星s3c2410的cpu,無作業系統。

二、實現功能:使能看門狗,程式執行一段時間後,系統會自動復位,從頭開始執行程式。

三、實驗原理:

s3c2410的看門狗定時器用於當系統被雜訊或系統錯誤等故障時返回控制器操作狀態,它產生乙個128個pclk週期的復位訊號。

四、實驗現象:

開發板電源開關開啟後,會聽到「滴」的一聲(表示開機),接著四個led形成流水燈開始閃爍。當經過一段時間後(看門狗定時器時間到),開發板會自動重啟,聽到「滴」的一聲,接著四個led形成流水燈開始閃爍……

五、實驗總結:

本實驗主要用來模擬看門狗使能後帶來的現象,一般在系統初始化**中沒有使能看門狗。

六、示例**:

/*watch_dog.c*/

#define wtcon (*(volatile unsigned long *)0x53000000)

#define wtdat (*(volatile unsigned long *)0x53000004)

#define wtcnt (*(volatile unsigned long *)0x53000008)

#define gpbcon (*(volatile unsigned long *)0x56000010)

#define gpbdat (*(volatile unsigned long *)0x56000014)

#define gpfcon (*(volatile unsigned long *)0x56000050)

#define gpfdat (*(volatile unsigned long *)0x56000054)

#define gpb0_out (1<<0)

#define gpf4_out (1<<8)

#define gpf5_out (1<<10)

#define gpf6_out (1<<12)

#define gpf7_out (1<<14)

void wait(unsigned long dly)

int main(void)

gpfcon = gpf4_out|gpf5_out|gpf6_out|gpf7_out;

gpfdat |= 0xf0;

gpfdat &= 0x0f;

wait(2000000);

gpfdat |= 0xf0;

wtcon = ((50000000/1000000-1)<<8)|(2<<3)|1;

wtdat = 0xffff;

wtcnt = 0xffff;

wtcon = ((50000000/1000000-1)<<8)|(2<<3)|1|(1<<5);

while(1){

gpfdat = ~(1<

學ARM Linux要先裸奔!

在 arm linux 培訓班學習,講師一般首先講解用 ads 或 realview mdk 去除錯 arm 開發板。原因在於 1 掌握 arm 體系結構。arm 是一種計算機,掌握其體系結構也就是掌握arm的工作原理。在大學裡一般會開設 微機原理 這門課程,講解x86計算機的工作原理,並學習x86...

裸奔的bootloader單步除錯

2011 03 01 23 25 22 目地 更清晰的了解bootloader的結構及功能。為移植u boot打基礎。以前只知道大概,今天利用iar除錯工具,看著彙編 看著暫存器,看著記憶體。來單步除錯bootloader。把之前不明白的地方都搞明白。今天單步走到了初始化堆疊。主要研究了設定memo...

ZYNQ開發(一) PS裸奔hello

zynq開發 一 ps裸奔hello world 工具 vivado 2015.4 步驟 1 開啟vivado建立乙個新的工程,選擇工程資料夾存放目錄,填寫工程的名字。2 選擇器件,我的是xc7z010clg400 1根據嚮導一直next。二 ip integrator 1,建立空的block de...