irq

    9热度

    2回答

    我正在学习几个教程和参考,试图让我的内核设置。我在教程中遇到了一些不熟悉的代码,根本没有解释它。这是我听说代码映射16 IRQs (0-15)到ISR位置32-47: void irq_remap(void) { outportb(0x20, 0x11); outportb(0xA0, 0x11); outportb(0x21, 0x20); outpor

    2热度

    1回答

    我是一个拥有硬件和设备驱动程序的老手,并且使用较早的Linux版本进行硬件控制。我最近回到了使用嵌入式处理的Linux和设备控制的游戏中,并且发现Linux世界发生了很多变化(为了更好)。然而,我正在为一个硬件控制问题而苦苦挣扎,这个问题涉及到一个非常快速的基于SPI的帧数据传输内核模块,它需要在短时间帧内(5毫秒)打开所有中断,以确保数据帧的正确数据传输时序。在Linux的'过去',人们会使用s

    1热度

    1回答

    我试图移植我为使用iPAQ hx4700的CF端口的自定义设备开发的驱动程序。 目标是运行Windows Mobile 6的新iPAQ 210.虽然WM6(和Windows CE 5.0)切换到新的驱动程序架构,但它声称支持传统驱动程序。 一切工作正常(注册,内存映射等)除了中断处理部分。我用CardRequestIRQ()注册我的ISR,但是当IRQ生成时,我的ISR永远不会被调用。 请注意:我

    4热度

    2回答

    我正在为分布式系统中的串行通信编写一个简单的多点RS485协议。我正在使用一个可寻址的模型,从属设备被给予20ms的窗口来响应。主uC轮询连接的设备进行更新,并相应地作出响应。我采用了校验和并采取必要的超限预防措施,以确保连接的设备不会响应格式错误的消息。这种方法在大约99%的情况下证明是有效的,但是如果在通信会话期间引入新设备,我将丢失数据包。只要在极短的时间内插入新的“热”设备,就会对从设备监

    3热度

    2回答

    我正在研究低级设备驱动程序的东西。我很困惑中断和IRQ。钩住键盘的示例驱动程序代码表明键盘中断是0x31,但我的微处理器上的书是0x09。在打开'设备管理器 - >键盘 - >资源'时,它显示IRQ是1.任何人都可以澄清这一点吗? 谢谢, Sanjeev

    1热度

    1回答

    我正在使用一个i.mx35 armv6核心处理器。我的Interrupt 62被配置为FIQ,并且我的处理程序已安装并被调用。目前我的处理程序只是切换输出引脚,所以我可以用一个示波器测试延迟。使用下面的代码,一旦我触发FIQ,它会一直保持尽可能快的速度,显然不会被承认。我通过中断力量注册表触发了FIQ,所以我确信源不会很快触发它。如果我在FIQ例程中禁用AVIC中的中断62,则中断只触发一次。 我

    0热度

    1回答

    注册功能以下我从my previous question on Linux Kernel development得到了反馈, 我已经通过它与现有的驱动器和“比较写的驱动程序(在Linux的内核v2.6.32)借用“严重的代码。司机登记没问题。 init()和probe()工作正常。我也能够访问外围设备寄存器。 :-) 不过我对IRQ/ISR有点朦胧。外设是一个输入设备,并在GPIO引脚上产生一个中