This widget could not be displayed.
Not applicable
Jun 11, 2020
07:14 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jun 11, 2020
07:14 AM
in the define:
#define IFX_INTERRUPT_INTERNAL(isr, vectabNum, prio) void __interrupt(prio) __vector_table(vectabNum) isr(void)
what is the "vectabNum"?
thank you,
Charlie
#define IFX_INTERRUPT_INTERNAL(isr, vectabNum, prio) void __interrupt(prio) __vector_table(vectabNum) isr(void)
what is the "vectabNum"?
thank you,
Charlie
- Tags:
- IFX
8 Replies
Jun 11, 2020
08:34 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jun 11, 2020
08:34 AM
It is the vector table - there is one for each core.
This widget could not be displayed.
Not applicable
Jun 12, 2020
05:17 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jun 12, 2020
05:17 AM
Thank you. Is there any problem with just having one table and letting the SRN assignments handle who does what? Or should I have a copy for each core?
Jun 12, 2020
05:33 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jun 12, 2020
05:33 AM
I recommend a separate copy for each core. A best practice for applications is to define an undefined interrupt handler for every vector. If something goes wrong in your setup, you'll find out right away. That will also catch soft errors within the Interrupt Router.
This widget could not be displayed.
Not applicable
Jun 16, 2020
07:23 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jun 16, 2020
07:23 AM
Thanks, I will give it a try. Just to be clear, each core's table would only contain entries that that core would respond to? In other words, all 3 tables would be different?
Jun 16, 2020
08:46 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jun 16, 2020
08:46 AM
Ideally yes - every core's BIV should be unique, and the entries within that BIV should be specific to each core.
You can live life on the edge and use a common interrupt vector table for all cores, but in my experience, that leads to confusion about which core is servicing the interrupt, which then leads to sloppily handled global variables across cores, which leads to chaos. Proceed at your own risk 😉
You can live life on the edge and use a common interrupt vector table for all cores, but in my experience, that leads to confusion about which core is servicing the interrupt, which then leads to sloppily handled global variables across cores, which leads to chaos. Proceed at your own risk 😉
This widget could not be displayed.
Not applicable
Jun 17, 2020
06:53 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jun 17, 2020
06:53 AM
what is a good strategy to keep who does what straight? It looks like it would be possible to have 2 cores assigned to the same uart, for example.
I can imagine a single file where I have all of the interrupt assignment macros in one place instead of spread out over many files. arranged by core and then priority.
I can imagine a single file where I have all of the interrupt assignment macros in one place instead of spread out over many files. arranged by core and then priority.
Jun 17, 2020
09:51 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jun 17, 2020
09:51 AM
The Interrupt Router only supports one mapping for each request source: that is, each service request goes to either DMA or CPUx. That 1:1 mapping is important for maintaining sanity when debugging a multi-core application.
You have a good imagination - for applications that use the MCAL, the Irq component configuration gathers everything together into one table for easy configuration. It's a good idea to keep all that in one place to avoid conflicts and make sure your priorities are correct.
You have a good imagination - for applications that use the MCAL, the Irq component configuration gathers everything together into one table for easy configuration. It's a good idea to keep all that in one place to avoid conflicts and make sure your priorities are correct.
This widget could not be displayed.
Not applicable
Jun 18, 2020
07:46 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jun 18, 2020
07:46 AM
This is good stuff, thanks!
This widget could not be displayed.