watdog(3)

原创 2013年12月05日 17:02:34

把watdog一直开着,当来一个watdog 中断,打印一句话,当灯亮/灯灭。

*********************************************************************************

watdog.h:

//interrupt

#define VIC0INTENABLE(*(volatile unsigned long *)0x71200010

#define VIC0INTSELECT (*(volatile unsigned long *)0x7120000C)

//模拟watdog
#define VIC0SOFTINT (*(volatile unsigned long *)0x71200018)
#define VIC0SOFTINTCLAR (*(volatile unsigned long *)0x7120001C)
//watdog
#define WTCON    (*(volatile unsigned long *)0x7E004000) 
#define WTDAT    (*(volatile unsigned long *)0x7E004004) 
#define WTCNT    (*(volatile unsigned long *)0x7E004008) 
#define WTCLRINT (*(volatile unsigned long *)0x7E00400C)
//led
#define GPMCON (*(volatile unsigned long *)0x7F008820)
#define GPMDAT (*(volatile unsigned long *)0x7F008824)

*****************************************************************************

test.c:

#include "watdog.h"
void hander_irq();
int (*printf)(char *,...) = (void *)0x57e11d4c;
int tmp=0;
int main()
{
*(volatile unsigned long *)0x56000000 = hander_irq;
//cpsr
__asm__ __volatile__(


"mrs r0,cpsr\n"
"bic r0,r0,#0x80\n"
"msr cpsr,r0\n"
:
:
:"r0","memory"
);
//enable
VIC0INTENABLE |=(1<<26);
//select
VIC0INTSELECT &=~(1<<26);
  //softirq
// VIC0SOFTINT |=(1<<26);


//watdog
WTCON = (1<<2)|(0<<3)|(1<<5)|(255<<8);

//如果WTCON=(1<<0)|(1<<2)|(0<<3)|(1<<5)|(255<<8);中断来的时候就是重启
WTCNT = 0x8000;
WTDAT = 0x8000;
//led
GPMCON = (1<<0)|(1<<4)|(1<<8)|(1<<12);
}
void hander_irq()
{
WTCLRINT = 0;//清楚watdog,wadcnt减完了又会来一次中断,watdat又填充watcnt
printf("this is wat_dong:wang wang\n");
if(tmp == 0)
{
GPMDAT = 0;
tmp = 1;
}
else
{
GPMDAT = 0xf;
tmp = 0;
}
}

*********************************************************************************

vector.s

b reset
b und
b swi
b pre_abt
b data_abt
.word 0x0
b irq
b firq
reset:
und:
mov sp,#0x56000000
mov ip,sp
stmdb sp!,{fp,ip,lr}
sub fp,ip,#4

ldr r0,=string_und
ldr r1,printf
blx r1

mov sp,#0x56000000
ldmdb sp,{fp,sp,pc}^
swi:
mov sp,#0x56000000
mov ip,sp
stmdb sp!,{fp,ip,lr}
sub fp,ip,#4

ldr r0,=string_swi
ldr r1,printf
blx r1

mov sp,#0x56000000
ldmdb sp,{fp,sp,pc}^
pre_abt:
data_abt:
mov sp,#0x56000000
mov ip,sp
sub lr,lr,#4
stmdb sp!,{fp,ip,lr}
sub fp,ip,#4

ldr r0,=string_pre_abt
ldr r1,printf
blx r1

mov sp,#0x56000000
ldmdb sp,{fp,sp,pc}^
irq:
mov sp,#0x56000000
mov ip,sp
sub lr,lr,#4
stmdb sp!,{fp,ip,lr}
sub fp,ip,#4
# 调用函数
mov r0,#0x56000000
ldr r1,[r0]
blx r1

mov sp,#0x56000000
ldmdb sp,{fp,sp,pc}^
firq:
printf:
.word 0x57e11d4c
string_und:
.asciz "hello undefine \n"
.align 2
string_swi:
.asciz "hello swi\n"
.align 2
string_pre_abt:
.asciz "hell data_abt\n"
.align 2
string_irq:
.asciz "hello irq ,wang wang wang  \n"
.align 2

*******************************************************************


makefile同以前。


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

(1)内部中断—watdog

还有几天的时间,反反复复,借这个机会,重来一下bootloader,一直以来是一个yihan. 也复习一下,6410的裸版开发。这么些天没有学习,大概一个月的时间,好好整理一下心情,进入工作了!加油啊...

一起学习 POI (使用 maven 构建)(3)-为单元格数据设置对齐、边框、背景、合并单元格

这份笔记里主要介绍了以下的内容: 1、单元格对齐方式 2、单元格边框处理 3、单元格填充色和颜色操作 4、单元格合并 第 3 讲的示例代码是:Demo8-Demo11。1、单元格对齐方式pu...

构建一个完整的基于Python3的Web开发环境

一、安装Python

Extjs5.0(3):利用官方工具搭建MVVM架构项目

自动搭建Extjs项目需要下载以下软件: 1、 java环境,需要jdk1.7及以上或jre1.7及以上,怎么配置java环境,网上很多教程,这里就不再介绍了。 2、 下载sencha cmd,可以去...

重温线性代数(3)——正交、投影

线性代数是数学中的基础,也是十分重要的数学工具。在接触机器学习之后,我逐渐认识到了线性代数的重要性,矩阵运算,优化求解,都离不开线性代数的知识。同时,我也发现了自己数学基础的严重不足,急需好好重学一遍...

以游戏实例介绍Unity3d

Intro to Unity This instructable is aimed at super beginners! You will need to install Unity 4.x...
  • neilol
  • neilol
  • 2015年06月20日 20:56
  • 1285

HLS科普1 HLS和M3U8简介

Apple的动态码率自适应技术。主要用于PC和Apple终端的音视频服务。包括一个m3u(8)的索引文件,TS媒体分片文件和key加密串文件。 常用的流媒体协议主要有 HTTP 渐进下载和基于 RTS...

android应用开发-从设计到实现 4-3应用的创建与部署

应用的创建与部署现在我们开始创建一个全新的项目工程-天气预报,并在编译后让它运行到真实的设备上。创建应用工程运行Android Studio, 启动Android Studio,选择Start a n...

IOS 实现录音PCM转MP3格式(边录音边转码)

最近做的一个项目,项目中有个录音功能,采用的录音方法是IOS下的AVAudioRecorder。录音效果不错,但是录制的原生.pcm文件太大,每分钟大约10M左右。 找了下相关的音频压缩方法,用...

Android 学习笔记3:应用程序文件结构

helloworld eclipse -> file->new-> project->android application project run as android application ...
  • skqcsy
  • skqcsy
  • 2014年01月19日 14:50
  • 371
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:watdog(3)
举报原因:
原因补充:

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