我正在使用mini2440 arm板和GPIO来控制与GPIO连接的硬件。我正在使用随板卡的CD一起提供的BSP。我只启用了运行硬件所需的功能。
我已经在内核中禁用了音频,以太网和不必要的内容,因此它不会导致中断,从而导致CPU注意。但问题是有时GPIO会发生一些中断,硬件会出现故障。我知道我可以通过cat / proc / interrupt看到所有中断,但我怎么知道GPIO从哪个设备发生了哪个中断?
我正在运行具有最高优先级(-20)的应用程序,但有时会发生外部中断。
当我在GPIO上发送数据时,只有s3c2440的TimerTick会中断,但没关系,这是必需的,但不是其他的。请告诉我如何找到发生的中断(我知道我可以通过cat / proc / interrupt检查它)以及如何禁用(通过ifconfig eth0 down在以太网上禁用中断)来自内核的中断?需要一些专家解决方案,我已尝试过解决方案,但需要一些专家解决方案。
答案 0 :(得分:0)
禁用内核中的设备对中断(由硬件生成)没有实际效果,它只影响软件处理它们的方式。如果设备不存在,则不会产生中断。 Linux是由绝对的性能怪胎编写的,除非行为不端的硬件中断处理几乎和它一样好/快。
你到底想要做什么?你确定你是不是想要获得你的机器无法提供的性能?