interrupt definition

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 
3,191件の閲覧回数
natarajmani
Contributor III

hi

i am learning about MPC5674f..i have seen reference manual to get the idea about INTC...not getting clear idea..could you please say simple definition for all interrupts( ( IVOR0-IVOR15 & IVOR032-IVOR035, ,,(IVPR , IVOR).. hardware vector mode , software vector mode ) ) and please say difference between (hardware vector mode and software vector mode) and

( IVPR and IVOR )...

ラベル(1)
1 解決策
1,820件の閲覧回数
davidtosenovjan
NXP TechSupport
NXP TechSupport

It is quite well described in following appnote:

http://cache.freescale.com/files/32bit/doc/app_note/AN2865.pdf

Figure 9 describes SW vector more, Figure 12 describes HW vector mode.

Most of the customer use SW vector mode. It is like “default” mode. HW vector mode you would use in case you would need extremely fast ISR response for some sources - the disadvantage would be this approach takes more memory. If you currently don’t have specific requirements, use software vector mode.

First let me clarify terminology regarding exceptions and interrupts:

Considering SW mode, all sources routed from interrupt controller into IVOR4 can be told as “interrupt” (RM names it as external interrupt), all other IVORs may be considered as “exception” (RM says interrupt). Little bit confusing but common terminology from outside world is exception and interrupt.

Some notes to HW vector mode - As AN2865 explains it well I would only added some info how to deal with exceptions and interrupts handlers in one project.

Exception branch table must be located above or behind interrupt branch table in dependency on used core as follows:

e200z1, z3, z4, z6, z7:

ISR address = IVPR + offset given by INTVEC

ESR address = IVPR + offset given by particular IVOR register (IVOR4 inactive)

Thus it means you must set IVORx register to have final address behind interrupt branch table.

e200z0 (all offset are fixed):

ESR address = IVPR + fixed offset starting from 0x0000

ISR address = IVPR + fixed offset starting from 0x0800

Thus in this case exception table is before interrupt table.

元の投稿で解決策を見る

6 返答(返信)
1,821件の閲覧回数
davidtosenovjan
NXP TechSupport
NXP TechSupport

It is quite well described in following appnote:

http://cache.freescale.com/files/32bit/doc/app_note/AN2865.pdf

Figure 9 describes SW vector more, Figure 12 describes HW vector mode.

Most of the customer use SW vector mode. It is like “default” mode. HW vector mode you would use in case you would need extremely fast ISR response for some sources - the disadvantage would be this approach takes more memory. If you currently don’t have specific requirements, use software vector mode.

First let me clarify terminology regarding exceptions and interrupts:

Considering SW mode, all sources routed from interrupt controller into IVOR4 can be told as “interrupt” (RM names it as external interrupt), all other IVORs may be considered as “exception” (RM says interrupt). Little bit confusing but common terminology from outside world is exception and interrupt.

Some notes to HW vector mode - As AN2865 explains it well I would only added some info how to deal with exceptions and interrupts handlers in one project.

Exception branch table must be located above or behind interrupt branch table in dependency on used core as follows:

e200z1, z3, z4, z6, z7:

ISR address = IVPR + offset given by INTVEC

ESR address = IVPR + offset given by particular IVOR register (IVOR4 inactive)

Thus it means you must set IVORx register to have final address behind interrupt branch table.

e200z0 (all offset are fixed):

ESR address = IVPR + fixed offset starting from 0x0000

ISR address = IVPR + fixed offset starting from 0x0800

Thus in this case exception table is before interrupt table.

1,820件の閲覧回数
natarajmani
Contributor III

Thank you friend..i have some doubts on interrupts..how many of interrupts are available in MPC5674f..i have seen reference manual..mentioned section (1.2.6.4 Interrupt Controller (INTC) ) shows 404 peripheral IRQs..but another sections shows  (9.1.3 Features) 410 peripheral interrupts.. ..and i calculated from Table 9-1.total no of interrupt request is 416..tell me which is correct..

0 件の賞賛
返信
1,821件の閲覧回数
davidtosenovjan
NXP TechSupport
NXP TechSupport

I have counted 412 what fits to value stated in chapter 1.2.6.4:

The total number of interrupt slots is 474 which includes:

— 404 peripheral IRQs

— 8 software-configurable IRQs

— 62 reserved

0 件の賞賛
返信
1,821件の閲覧回数
natarajmani
Contributor III

Thank you friend...could you please send me some interrupt example code for MPC5674f..i have referred following doc.. http://cache.freescale.com/files/32bit/doc/app_note/AN2865.pdf ..but not for MPC5674f...so please do the needful..

0 件の賞賛
返信
1,821件の閲覧回数
davidtosenovjan
NXP TechSupport
NXP TechSupport

Following example uses PIT timer for LED blinking and it uses interrupt (see function Interrupts_init):

Example XPC567XFKIT PinToggleStationery

1,822件の閲覧回数
natarajmani
Contributor III

Thank you friend...how to find out interrupt latency for all interrupts in MPC5674f..what is the difference between branch table and vector table..

0 件の賞賛
返信