I.MX6U 学习笔记八------Cortex-A中断原理和GPIO中断实验

Cortex-A7中断系统

  1. Cortex-A7中断向量表
    中断向量表主要功能是描述了中断对应的中断服务函数。
    Cortex-A7中断向量表有8个中断,其中重点关注IRQ。需要用户自己去定义中断向量表。

  2. 中断向量表偏移
    裸机例程都是从0x87800000开始的,因此要设置中断向量偏移。

  3. GIC中断控制器
    同NVIC一样,GIC用于管理Cortex-A7的中断。GIC提供了开关中断,设置优先级。

  4. IMX6U中断号
    为了区分不同的中断,引入了中断号。ID0-15是给SGI,16-31是给PPI,剩下的32-1019给SPI(共享中断),比如GPIO中断和串口中断。
    6ULL支持128个中断

  5. 中断服务函数编写
    一个是IRQ中断服务函数的编写,另一个就是在IRQ中断服务函数里面去查找并运行的具体的外设中断服务函数。

实验程序编写

1.编写按键中断例程
KEY0使用UART1_CTS这个IO。编写UART1_CTS的中断代码。
2.修改start.s
添加中断向量表,编写复位中断函数和IRQ中断服务函数。
编写复位中断服务函数,内容如下:

1. 关闭I,D Cache 和 MMU。
2. 设置处理器9种工作模式下对应的SP指针。要使用中断,必须设置IRQ模式下的SP指针。索性直接设置所有模式下的SP指针。
3. 清除BSS段。
4. 调到C函数,也就是main函数。

3.CP15协处理器
MR

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值