我正在考虑将我的产品从RTOS迁移到嵌入式Linux.我没有很多实时要求,我所拥有的少量RT要求大约为10毫秒.
有人可以给我一个参考,告诉我当前版本的Linux是如何实时的吗?
从商业RTOS迁移到Linux还有其他问题吗?
我怎么能测量linux内核响应IRQ需要多长时间?
我可以触发键盘IRQ并开始计算时间但是如何找出ISR何时完成?
我正在尝试在uboot中配置GPIO中断,这是为了测试中断响应时间而无需任何操作系统干预(裸机).我能够配置引脚复用并成功设置GPIO引脚的中断.
我的问题是关于注册中断服务程序.我看到我的平台的中断向量表位于地址0xFFFF0000(我读了系统控制寄存器以找出这个).GPIO的中断ID为56,我刚刚计算了中断服务程序应该驻留的地址,并尝试用指向我的ISR例程的指针写入地址.这是正确的做法吗?或者我必须自己处理所有其他事情,如上下文保存等?
注意:我使用的是ARM Cortex A-9.
编辑:
基于我通过代码的答案,我有以下问题.的定义
我的架构的do_irq(arm v7)没有做太多,CONFIG_USE_IRQ对我来说不起作用,因为没有为我定义像arch_interrupt_init这样的函数.所以我可以得出结论,我的架构不支持中断.现在,如果我必须自己定义我需要实现的所有功能,以使其工作?由于这只是我项目的一小部分,我想看看能否做到这一点是可行的.我只是想知道这是否需要几行代码或者需要一些努力来实现这种中断支持.