【OK210试用体验】裸机篇 -- S5PV210的中断体系
本帖主要通过外部中断实验来学习S5PV210的中断体系。
S5PV210的中断体系结构
在官方datasheet -- S5PV210_UM_REV1.1 中的sections 04_interrupt 有对整个体系的详细介绍。
S5PV210的中断控制器是由4个向量中断控制器(VIC)、ARM PrimeCell PL192 和 4个 TrustZone Interrupt Controller (TZIC)共同组成。
S5PV210共支持93个中断源,datasheet中有详细的表格:
S5PV210中的四个VIC对应的寄存器很多,但很多都是重复意义的。
OK210的按键外设
本次实验是用外部中断来实现,所以需要用到开发板的复位按键。通过OK210的核心板和底板的原理图,可以知道按键是接在哪个GPIO上:
相对应有用的寄存器:
程序编写思路
本次实验的很多程序文件还是沿用之前的,时钟、串口的初始化直接照搬,Makefile只需做稍微的修改,main函数不用说,测试部分基本在里面,所以新增的中断int.c文件是主要的。
在S5PV210的启动流程中,可以知道如下模块地址映射图:
其中一块是异常向量表,这个地址对于本次实验相当重要。
实验现象
将程序烧入SD卡,取出插入开发板上,上电后通过SecureCRT即可看到数字从0开始递增,如果按下开发板上的 K1 键(search),就会显示信息 “we get company:EINT3”。