参考:
1)《USER'S MANUAL-S3C6410X》Chapter 10 GPIO, Chapter 12 VECTORED INTERRUPT CONTROLLER
2)《ARM1176 JZF-S Technical Reference Manual》Chapter 2 Programmer's Model, Chapter 12 Vectored Interrupt Controller Port
3)《ARM Architecture Reference Manual》Chapter A2 Programmers' Model,
4)u-boot源码:
u-boot-x.x.x/cpu/s3c64xx/start.S
1. 中断源
S3C6410有64个中断源,0-31由VIC0控制,32-63由VIC1控制。产生中断时,进入IRQ或FIQ工作模式。
64个中断源的定义见《USER'S MANUAL-S3C6410X》12.3 INTERRUPT SOURCE。中断源分内部中断源和外部中断源。内部中断源由S3C6410芯片的内部模块产生。外部中断源由S3C6410芯片的外部模块产生。
64个中断源中,外部中断的中断号分配如下:
Int. No. | Sources | Description | Group |
53 | INT_EINT4 | External interrupt Group 1 ~ Group 9 | VIC1 |
33 | INT_EINT3 | External interrupt 20 ~ 27 | VIC1 |
32 | INT_EINT2 | External interrupt 12 ~ 19 | VIC1 |
1 | INT_EINT1 | External interrupt 4 ~ 11 | VIC0 |
0 | INT_EINT0 | External interrupt 0 ~ 3 | VIC0 |
即:外部中断源group1-group9产生的中断的中断号为53;外部中断源group0的0-3号中断的中断号为0,4-11号中断的中断号为1,12-19号中断的中断号为32,20-27号中断的中断号为33。
2. 外部中断源
S3C一共有127个外部中断,分为10组,即group0-group9
Group | 中断源 | 中断数 | GPIO分布 |
group0 | EINT0-EINT27 | 28 | GPL,GPM,GPN, |
group1 | EINT1[14:0] | 15 | GPA,GPB |
group2 | EINT2[7:0] | 8 | GPC |
group3 | EINT3[4:0] | 5 | GPD |
group4 | EINT4[13:0] | 14 | GPF |
group5 | EINT5[6:0] | 7 | GPG |
group6 | EINT6[9:0] | 10 | GPH |
group7 | EINT7[15:0] | 16 | GPO |
group8 | EINT8[14:0] | 15 | GPP |
group9 | EINT9[8:0] | 9 | GPQ |
3. S3C6410工作模式

各个工作模式下用到的寄存器如下:

除了system mode和user mode,其余6中工作模式都属于exception,优先级如下:

中断向量表用于存放中断处理程序的入口地址,中断向量表在0地址处

关键字:s3c6410 中断
引用地址:
s3c6410_中断
推荐阅读最新更新时间:2026-03-23 12:22
S3C6410裸机 - 外部中断程序
一、外部中断分组: 外部中断组0 GROUP0 GPN0--GPN15 GPL8--GPL14 GPM0--GPM4 外部中断组1 GROUP1 GPA0--GPA7 GPB0--GPB6 外部中断组2 GROUP2 GPC0--GPC7 外部中断组3 GROUP3 GPD0--GPD5 外部中断组4 GROUP4 GPF0--GPF14 外部中断组5 GROUP5 GPG0--GPG7 外部中断组6 GROUP6 GPH0--GPH9 外部中断组7 GROUP7 GPO0--GPO15 外部中断组8 GROUP8 GPP0--GPP14 外部中断组9 GROUP9 GPQ0--GPQ9
[单片机]
基于S3C6410的ARM11学习(十六) 外部中断
中断的过程如下: 中断源检测中断信号产生,然后将中断信号发送给中断控制器,中断控制器判断该中断是否被屏蔽,从而决定该中断信号是否要发送给CPU。中断信号发送给CPU后,CPU对中断进行处理,也就是调用中断函数。 上述过程,基本上是嵌入式的通过中断处理过程,只是不同的嵌入式在这三部分配置有区别而已。 S3C6410共有64个中断源。 上图是S3C6410的中断控制器,这里就关心红色框部分。这两个是中断控制器,分别管理各自的32个中断。 这里,就截取了一部分的图。总共有64个中断,每个中断有自己的标号,以及自己的所属组,也是属于哪个中断控制器控制。标号是指在对应的中断控制器寄存器的哪一位或者是哪一个寄存器对应自己
[单片机]
基于S3C6410的ARM11学习(三) 核心初始化之设置中断向量表
前面将流程搞清楚后,下面就开始进行按照顺序来编写程序了。 第一步就是进行中断向量表的设置。在ARM11中,中断向量表叫做异常向量表。 ARM11共有10种异常,这个在ARM11的datasheet中有。 这里说明一下: 异常 说明 详细说明 Reset 复位异常 当系统刚上电,或者按下复位键时候,触发这个异常,这个时候,程序跳转到这个地址处执行程序 undefined_instruction 未定义指令异常 当程序执行发现有一条指令是未定义的指令,会触发这个异常,这个时候,程序跳转到这个地址处执行程序 software_interrupt 软中断异
[单片机]
玩转S3C6410之一 交叉工具链制作(gcc4.5.1-armv6-vfp)
软件平台:ubuntu 11.10(按照本人博客中“玩转Ubuntu-11.10”系列的文章进行安装) 主机编译器: gcc 4.6.1 硬件平台:tiny6410 1、准备环境 必备工具包:bison、flex、texinfo、automake、libtool、cvs、patch、libncurses5-dev、aria2、curl、g++、svn、gawk、cvsd、subversion (有些文章有写要安装gcj,在我的Ubuntu11.10安装不了,提示说它被其它的软件包引用了,可能是我之前装的其他工具已经包含gcj了把) 我们可以通过以下一条命令来获得它们,但需要ubuntu11.10接入
[单片机]
S3C6410之uboot回炉再造(2)地址无关性
这一篇写得有点慢,期间为了弄清楚一些细节的问题耽搁了,不过写得也会更详细。 1 /* 2 ************************************************************************* 3 * 4 * CPU_init_critical registers 5 * 6 * setup important registers 7 * setup memory timing 8 * 9 ************************************************************************* 10 */ 11 /* 12 * we
[单片机]
S3C6410移植日记系列
现在发布的是si版本,是以单片机模式运行的,S3C6410这样强劲的cpu,运行si版本,就作为高速单片机用了,所有地址都是按照物理地址一一对应映射。cpu的状态也没有区分内核态和用户态。 1、中断引擎最初的部分代码在IRQ态(还没决定是否使用FIQ)。 2、中断引擎的大部分以及用户ISR运行在SVC态。 3、所有其他代码运行在SYS态。 移植碰到的第一个问题就是烧录代码到flash的问题,由于廉价的jtag烧录器不支持arm11,我们不能要求用户必须拥有昂贵的仿真烧录工具才能够在idea6410上使用djyos,这样不利于用户使用。 我的第一个目标,就是弄清楚怎么下载程序的问题,也就是把一个最简单的闪灯程序运行起来,
[单片机]
S3C6410的JLink调试方法
Step1 安装RealView Developer Suite v2.2具体安装方法参考 RVDS2.2目录下的Readme.txt文件,安装成功后会出现: 程序-〉ARM- RealView Developer Suite v2.2 Step2 安装光盘上的Setup_JLinkARM_V410i.zip 注意:一定好安装4.10 版本。目前官网上最新的4.14 版本不能正常调试6410。 Step3 正确安装RDS2.2后会出现两个调试器。AXD debugger v1.31和Realview Debugger v1.8 这里以 AXD debugger 为例介绍 JLink V8的使用。 (1)正确连接开发板和J
[单片机]
S3C6410嵌入式应用平台构建(二)
经过之前的实验,对Uboot已经有了大体的了解,前我们已经把led灯给点亮,但这不是我们的根本目的,我们是要进入boot启动,经过两天的分析代码和反复的实验,终于可以进入正常的uboot启动了。 接下来,我们看看关闭MMU,至于为什么要关闭MMU,网上大家都说的很清楚,我就不再重述,但关于关闭MMU有如下代码: /* * disable MMU stuff and caches */ mrc p15, 0, r0, c1, c0, 0 bic r0, r0, #0x00002300 @ clear bits 13, 9:8 (--V- --RS) bic r0, r0, #0x00000087 @ clear
[单片机]