TI中文支持网
TI专业的中文技术问题搜集分享网站

6678中断问题请教

1.6678的所有8个核的中断事件到12个可屏蔽中断的映射都是统一的吗?只有3个INTMUX寄存器,它们配置了所有核的中断映射?

   有没有不同核配置不同的中断映射的方法?

2.TIMER1配置后为什么产生的是核0的中断而不是核1的?理论上应该产生向哪个核的中断,是我理解有问题吗?

3.运行基于sys/bios的程序时,是每个核都运行一个sys/bios操作系统吗?

期待专家解答,谢谢!

Zhan Xiang:

1. 每个core中都有一个中断控制器,这个中断控制器将送个dsp core的128个系统event(Primary Interrupt)路由到DSP core可以响应的14个中断上。

2. INTC0,INTC1,INTC2和INTC3(secondary interrupt)是将更多的系统事件路由到DSP core能响应的128个系统事件上,你可以参考数据手册中有关primary interrupt的列表,里面有很多event是Intc0的output,而intc1~intc3主要是将这些系统事件路由到edma控制器上,触发edma的传输。

3. 如果你需要不同core配置不同中断,那么映射时只能通过不同的intc0 output来实现,无法在intc0实现同一个intc0 output对应多个不同的系统事件

4.6678总共有16个64bit timer,其中timer0~timer7当用作watch dog timer时是专用的,也就是timer0用来监控core0,timer1监控core1…,如果是用作通用timer,也就是用来产生普通的定时中断时,这个system event是广播的,每个core都能响应到,此时如果core0配置了timer1的中断响应,就能被触发

5. sys/bios是每个core单独运行的,但是多个core可以共享同一份代码,只要每个core私有的数据分开就可以了。

xiangzhong kong:

回复 Zhan Xiang:

Zhan Xiang,

         您好,感谢您的回复。

1.128个event映射到12个可屏蔽中断是通过配置3个INTMUX寄存器来实现的。我的意思是:举个例子,每个核都有核间中断(91号event),能不能实现core0中核间中断映射到12个可屏蔽中断中的INT4,而core1则是映射到INT5呢?

2.您说timer作为通用定时器时,event是广播的,为什么我配置的timer(实验3次,分别配置了timer0、1、8)都是只有

core0接收到中断事件,而其他核没有接收到?

3.运行sys/bios虽然多个core可以共享同一份代码,但是还是属于异构操作系统的范畴吧。

xiangzhong kong:

求高人解答…

xiangzhong kong:

回复 Zhan Xiang:

求高人解答…

Zhan Xiang:

回复 xiangzhong kong:

1.128个event映射到12个可屏蔽中断是通过配置3个INTMUX寄存器来实现的。我的意思是:举个例子,每个核都有核间中断(91号event),能不能实现core0中核间中断映射到12个可屏蔽中断中的INT4,而core1则是映射到INT5呢?

[Z]: 这个可以做到的,因为INTMUX寄存器是每个core都有,128 event每个core可以独立配置映射关系。

2.您说timer作为通用定时器时,event是广播的,为什么我配置的timer(实验3次,分别配置了timer0、1、8)都是只有

core0接收到中断事件,而其他核没有接收到?

[Z]:不好意思,刚才看了手册,timer0~7中断是给各自core的,也就是timer0的中断是core0响应。

3.运行sys/bios虽然多个core可以共享同一份代码,但是还是属于异构操作系统的范畴吧。

[Z]:因为DSP上没有mmu,所以无法实现统一调度。

赞(0)
未经允许不得转载:TI中文支持网 » 6678中断问题请教
分享到: 更多 (0)