嵌入式bootloader开发Tiny6410(4)

本节主要记录配置watchdog产生复位信号的过程,以及一点点的中断控制知识

上一节主要记录了ARM汇编的一些基础知识,本节内容将阅读S3C6410的数据手册,访问WatchDog的一些必须的寄存器,并进行相应的配置。

代码如下:

//watch dog

#define WTCON (*(volatile unsigned long *)0x7E004000 )

#define WTDAT (*(volatile unsigned long *)0x7E004004 )

#define WTCNT (*(volatile unsigned long *)0x7E004008 )

#define WTCLRINT (*(volatile unsigned long *)0x7E00400C )

int main(void)

{

WTDAT = 0x8000;

WTCON = 1 | (1 << 5) | (0x80 << 8) ;

return 0;

}

main函数中第一行的代码WTDAT配置数据寄存器(这个寄存器的值在上电后会导入到WTCNT中,然后开始递减,第二行配置WATCHDOG产生RESET信号,并设置允许watchdog的计时器,装入初始的prescaler值,就可以了。

嵌入式bootloader开发Tiny6410

运行图:

嵌入式bootloader开发Tiny6410

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/552a31ae52b091d572ef6ed781433166.html