完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
中断
4412中断的核心图(面试一般会问) 中断过程
中断源 Exynos4412中断控制器包含160个中断控制源, 分三类分别是: 1.用于CPU之间通信的SGI (Software Generated Interrupt), 2.专用于特定CPU核的PPI (Private Peripheral Interrupt) 3.被多个CPU核共享的SPI (Shared Peripheral Interrupt) 中断控制器 中断源分发给不同的CPU. 每个中断都有一个唯一对应的ID号,当中断发生时,该ID号会写入一个特定的寄存器。 中断处理程序可以读取该寄存器来决定该调用哪个具体的中断处理函数。 中断初始化 int main(void) { /*初始化中断 一. 通过电路图找到K3 的中断管脚 二. 看芯片手册找到对应的特殊功能寄存器 1. 设置管脚控制模块(GPIO): 外*/ GPX1.GPX1CON = (GPX1.GPX1CON & ~(0xF << 8)) | (0xF << 8); // 设置管脚为中断模式 EXT_INT41_CON = (EXT_INT41_CON & ~(0x7 << 8)) | 0x2 << 8; //设置中断触发方式为下降沿 EXT_INT41_MASK = (EXT_INT41_MASK & ~(0x1 << 2)); //管脚中断使能(一关) /*2. 设置功能模块(中断控制模块 GIC): 内*/ ICDISER.ICDISER1 |= (0x1 << 26); //使能对应中断(二关) ICDIPTR.ICDIPTR14 = 0x01010101; //SPI25 SPI26 interrupts are sent to processor 0 ICDDCR = 1; //分发器中断使能 (三关) CPU0.ICCPMR = 0xFF; //设置CPU的中断优先级门限值,当前为最低,所有的中断都可以处理 CPU0.ICCICR |= 0x1; //CPU接口中断使能(四关) 中断向量表 _start: b start_code ldr pc, _undefined_instruction ldr pc, _software_interrupt ldr pc, _prefetch_abort ldr pc, _data_abort ldr pc, _not_used ldr pc, _irq ldr pc, _fiq _undefined_instruction: .word undefined_instruction _software_interrupt: .word software_interrupt _prefetch_abort: .word prefetch_abort _data_abort: .word data_abort _not_used: .word not_used _irq: .word irq_handler _fiq: .word fiq irq_handler: sub lr,lr,#4 stmfd sp!,{r0-r12,lr} @保护现场 bl do_irq ldmfd sp!,{r0-r12,pc}^ @恢复现场 |
|
|
|
只有小组成员才能发言,加入小组>>
3309 浏览 9 评论
2988 浏览 16 评论
3490 浏览 1 评论
9050 浏览 16 评论
4084 浏览 18 评论
1168浏览 3评论
601浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
592浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2329浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1892浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 08:47 , Processed in 1.378103 second(s), Total 81, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号