Board logo

标题: [求助]急急急 [打印本页]

作者: xrb11    时间: 2007-2-5 22:53     标题: [求助]急急急

用了2个定时中断和两个io口中断INT0INT1,定时中断和INT0都正常,调用int1后能进入,出中断时,却进入alt_irq_handle.c,以后再也进入不了int1,无论清不清INT1的边沿捕获都不正常。另外,  NIOS的指令执行时间怎么算?项目急用,恳请大虾赐教!


作者: caopengly    时间: 2007-2-5 23:14

因为你给的信息不足,你说int0可以,但int1不行。我觉得可能不是设置的问题,因为int0行。你可以比较两者的差异。也可以将中断触发位设成两位,分别对应int0,int1,如果你一前是这样的可以分别设成两个一位的。比较一下,nios系统应该没有问题。

dmip的时间,因为nios核的处理时间不一样,nios f,e,s,均不同,与输入clk有关。你如果要精确定时可以用vhdl来写。ucos或uclinux有定时器!,如果不精确可以测,数clk定时。


作者: xrb11    时间: 2007-2-5 23:45

INT0INT1都是上升沿触发,一直设的是两个一位的,要说不同的话,只能是外部触发信号,还有就是中断优先级了,请教nios系统允许不允许中断嵌套?
作者: caopengly    时间: 2007-2-6 16:59

请教nios系统允许不允许中断嵌套?

可以。你可以将中断触发位设成两位,分别对应int0,int1。因为你给的信息太少,可以换一种方法思考。


作者: xrb11    时间: 2007-2-6 23:36

将int0和int1的触发信号交换,系统居然跑起来了。然而可惜的是,我发现从中断信号产生到进入int0居然需要5~10us的时间,加上处理时间35us,时间太长了,我用的是100MHz,精简nios e系统。明天试试f吧。
作者: caopengly    时间: 2007-2-7 12:37

你的nios cpu效率比较低。100M的nios e,的DMIP 只有大约17-18M。

你可以用nios f 100M,的DMIP 大约99M。


作者: xrb11    时间: 2007-2-7 23:12

试了nios f,居然存储器资源超了,试了取消data catch,small c library都不行。用nios s,性能上勉强满足要求,存储器资源用到了85%,我用的是ep1c12Q240,用nios e时存储器资源用了不超过60%。有没有更好的节省资源的方法?

另外,上电后系统有时好像不启动,斑竹有什么高招经验吗?


作者: caopengly    时间: 2007-2-11 12:27

ep1c12的资源跑niosf没有问题,你可以将指令cashe选最小,data cashe不选,nios核不选硬件乘除,debugjatg选可一调试就行,jatguart钩上用存储器代替等 。。。。

你的sdram速度够快并是32位的话,上述可以节约资源并性能不会有大的影响。

上电后系统有时好像不启动?你可不可以说详细点!






欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0