ARM裸机——FS2410看门狗

原创 2012年03月29日 19:26:21

一、开发环境

(1)硬件平台:FS2410

(2)主机:Ubuntu 10.10


二、看门狗相关的配置信息:

(1)看门狗输入时钟频率

  

                                                                t_watchdog  = 1/( PCLK / (Prescaler value + 1) / Division_factor )



(2)看门狗计时初始值的设置

 

三、详细代码

watchdog.c:

#include "s3c2410.h"

void delay(unsigned long max)    //延迟函数
{
	for(; max > 0; max--);

	return;
}

int main(void)
{
	int i;

	GPBCON |= (0x1 << 0);     //设置GPB0为输出

	for(i = 0; i < 100; i++)
	{        //设置GPB0输出方波从而控制蜂蜜器响
		GPBDAT |= (0x1 << 0);   
		delay(2000);
		GPBDAT &= ~(0x1 << 0);
	}

	GPFCON = GPFCON & (~(0xff) << 8) | (0x55 << 8);    //设置GPF4-7输出
	GPFDAT |= (0xf << 4);            //设置4个LED灯熄灭
	
	WTCON = WTCON & ~(0xff << 8) | (50 << 8) | (2 << 3) | (1 << 0);      //设置Prescaler value为50, drivider value 为64,使能复位
	WTDAT = 0xffff;           //写入计数初值
	WTCNT = 0xffff;
	WTCON |= (1 << 5);      //启动看门狗

        //形成流水灯
	while(1)
	{
		GPFDAT &= ~(0xf << 4);
		delay(2000000);
		GPFDAT |= (0xf << 4);
		delay(2000000);
	}
	

	return 0;
}

start.S:

.text
.global _start
_start:
#define WATCHDOG 0x53000000
	ldr r0, =WATCHDOG
	mov r1, #0
	str r1, [r0]

	ldr sp, =1024*4
	bl main

loop:
	b loop

Makefile:

watchdog.bin: start.S watchdog.c
	arm-none-linux-gnueabi-gcc -c start.S -o start.o
	arm-none-linux-gnueabi-gcc -c watchdog.c -o watchdog.o
	arm-none-linux-gnueabi-ld -Ttext 0x30008000 start.o watchdog.o -o watchdog
	arm-none-linux-gnueabi-objcopy -O binary -S watchdog watchdog.bin

clean:
	rm -f *.o watchdog.bin

在开发板的uboot上输入以下:

tftp 30008000 watchdog.bin

go 30008000


实验现象是:

滴的一声后,四个led灯闪烁,一会儿后系统自动复位。。

ARM裸机程序开发——ARM运行模式及寄存器

现在来总结一下ARM的运行模式以及寄存器 ★ARM的运行模式类型 ARM微处理器有7中运行模式:用户模式(user)、系统模式(system)、一般中断模式(IRQ)、快速中断模式(FIQ)、管理模式...
  • XGsilence
  • XGsilence
  • 2016年08月31日 10:53
  • 614

基于S3C6410的ARM11学习(五) 核心初始化之关闭看门狗

之前已经完成了设置中断向量表和设置处理器模式。下一步,就是要关闭看门狗。          看门狗,这个东西,在嵌入式系统里面是很常见的一个东西。这个是芯片预先做好的硬件,软件可以对硬件进行配置。说白...
  • QQ576494799
  • QQ576494799
  • 2016年02月22日 15:31
  • 549

辉为科技 ARM主板如何设计外部看门狗电路

Atmel ARM9 系列 CPU 包括at91sam9260、 at91sam9261、 at91sam9263 等芯片都设计了内部看门狗,但由于该看门狗配置寄存器在上电后只能配置一次,而且系统启动...
  • peixiuhui
  • peixiuhui
  • 2017年04月17日 17:24
  • 683

1.9.ARM裸机第九部分-定时器、看门狗和RTC

1.9.1.什么是定时器(timer) 1.9.1.1、定时器是SoC中常见外设 (1)定时器与计数器。计数器是用来计数的(每隔一个固定时间会计一个数);因为计数器的计数时间周期是固定的,因此到了一定...
  • qq_20043187
  • qq_20043187
  • 2017年05月13日 00:20
  • 270

ARM裸机入门简介

学习ARM裸机,是一件复杂事情,入门的概念性和基础性知识必须要了解到,以便于后面的知识的理解。 ARM概念 ARM首先是一个公司,这家公司设计CPU并向各个CPU制造商授权许可,所以ARM...
  • u012741741
  • u012741741
  • 2016年06月20日 23:30
  • 3050

【ARM】串口通信·FS2410·裸机UART

开发环境    (1)硬件平台:FS2410    (2)主机:Ubuntu 12.04FS2410串口的原理图650) this.width=650;" src="http://img1.51cto...
  • hackdevil
  • hackdevil
  • 2013年06月27日 17:40
  • 325

ARM裸机编程系列---UART

串口设置之输入输出字符S5PV210 UART相关说明 通用异步收发器简称UART,即UNIVERSAL ASYNCHRONOUS RECEIVER AND TRANSMITTER,...
  • Ajax_zh
  • Ajax_zh
  • 2015年03月13日 00:19
  • 1353

利用qemu搭建arm cortex a9开发环境以及gdb调试

网上有利用qemu搭建linux和uboot开发的教程,但是没有如何搭建裸机开发,这篇文章记录一下如何利用qemu来学习arm架构的东西。裸机运行Hello World网上有一个是关于使用arm926...
  • u011280717
  • u011280717
  • 2017年05月14日 08:24
  • 743

ARM裸机程序研究 - 编译和链接

1. Linux下的二进制可执行文件。     如果世界很简单,那么二进制可执行文件也应该很简单,只包括CPU要执行的指令就可以了。可惜,世界并不简单……。Linux下的二进制可执行文件(以下简...
  • maochengtao
  • maochengtao
  • 2015年08月24日 19:39
  • 1221

烧写第一个ARM裸机程序的步骤

本文的目的是记录我烧写我的第一个arm裸机程序的过程。 ——–未完待续1. 编译led汇编源程序arm-linux-gcc -g -c led.S arm-linux-ld -Tled.lds -...
  • xshhou
  • xshhou
  • 2015年07月22日 00:07
  • 1266
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ARM裸机——FS2410看门狗
举报原因:
原因补充:

(最多只允许输入30个字)