首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检测树莓Pi3上的图形处理器中断需要哪些步骤?

检测树莓Pi3上的图形处理器中断需要哪些步骤?
EN

Stack Overflow用户
提问于 2020-10-06 00:46:07
回答 1查看 39关注 0票数 1

我正在编写一个裸机内核,但是当EMMC中断寄存器变为非零值时,似乎不会触发中断。

我有两个空闲的核心,其中一个在EL3,没有启用数据缓存,不断地显示一页内存,以便查看我正在测试的代码在做什么。(测试代码在工作QA7毫秒中断时定期刷新其缓存。)

正在测试的代码在内核0上的安全EL0上运行,并启用了中断。中断被路由到内核0:

代码语言:javascript
复制
QA7.GPU_interrupts_routing = 0; // IRQ and FIQ to Core 0

初始化EMMC接口,并向卡发送复位命令,此时中断寄存器变为1(位0设置:命令已完成),但似乎没有向QA7硬件发送GPU中断信号(内核0中断源寄存器中的位8保持为零)。

EMMC寄存器IRPT_MASK和IRPT_EN均设置为0x017f7137,我认为这应使能来自外设所有已知中断,当然也应使能位0。

BCM8235中断寄存器的写入方式如下:

代码语言:javascript
复制
  Enable_IRQs_1 = 0x20000000; // (1 << 29);
  Enable_IRQs_2 = 0x02ff6800; // 0b00000010111111110110100000000000;
  Enable_Basic_IRQs = 0x303;

但他们是这样读的:

代码语言:javascript
复制
  Enable_IRQs_1: 0x20000200 // (1 << 9) also set
  Enable_IRQs_2: 0x02ff6800 // unchanged
  Enable_Basic_IRQs: 0x3    // No interrupts from IRQs 1 or 2.

我错过了什么?

(标记为raspberry-pi2,因为它也有QA7组件。)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-13 01:09:34

简单的答案就是。Arasan SD接口中断的编号为62,IRQ basic pending寄存器中的位20。使能IRQ pending 2中的位30,则中断通过。

代码语言:javascript
复制
Enable_IRQs_2 = 0x42ff6800;

我不得不忽略这个建议:“上面的表格有许多空条目。不应该启用这些条目,因为它们会干扰GPU操作。”在文档中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64212865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档