Apr 11, 2019
11:02 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Apr 11, 2019
11:02 AM
15 Replies
Apr 14, 2019
11:52 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Apr 14, 2019
11:52 AM
Sorry but I have to comment that you are asking a question without really giving enough information.
Is this the crystal frequency? As usually the peripheral PLL is used (fPLL2) and typically this is either 200MHz or 160MHz. For 200MHz, to get a 1MHz SPI Clock you could use the following settings where Q=24, A=3,B=1 and C=3.
The ECON and BACON are configured to meet the device parameters required for communication.
controller clock frequency is 20Mhz
Is this the crystal frequency? As usually the peripheral PLL is used (fPLL2) and typically this is either 200MHz or 160MHz. For 200MHz, to get a 1MHz SPI Clock you could use the following settings where Q=24, A=3,B=1 and C=3.
The ECON and BACON are configured to meet the device parameters required for communication.
Apr 16, 2019
09:00 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Apr 16, 2019
09:00 AM
Hi,
20Mhz is crystal frequency.
Can you please write what calculation you have done for 200MHz to get Q=24, A=3,B=1 and C=3 or can you please share any doc.
20Mhz is crystal frequency.
Can you please write what calculation you have done for 200MHz to get Q=24, A=3,B=1 and C=3 or can you please share any doc.
Apr 16, 2019
07:47 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Apr 16, 2019
07:47 PM
Enclosed is the formula from the user's manual (TQ=0, Q=24, A=3,B=1 and C=3, fPER=200MHz😞
Apr 20, 2019
10:10 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Apr 20, 2019
10:10 AM
Hi,
How to select ISR for QSPI5.
How to select ISR for QSPI5.
Apr 20, 2019
11:41 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Apr 20, 2019
11:41 AM
The interrupts all basically work the same and follow the common definition of the Service Request Control Register (SRC). You need to choose the SRPN that matches the entry in the vector table. This varies depending on the toolchain you are using. Then you need to select the TOS you want to use and also enable the interrupt both locally via the SRCi.SRE and globally enable interrupts via the PSW.IE.
As an example:
As an example:
IFX_INTERRUPT(QSPI5_RxISR, 0, INTPRIO_CPU0_QSPI5_RX);
SRC_QSPI5RX.U = (CPU0_SERVICE << TOS) | (true << SRE) | INTPRIO_CPU0_QSPI5_RX;
IFX_INTERRUPT(QSPI5_TxISR, 0, INTPRIO_CPU0_QSPI5_TX);
SRC_QSPI5TX.U = (CPU0_SERVICE << TOS) | (true << SRE) | INTPRIO_CPU0_QSPI5_TX;
Apr 21, 2019
07:48 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Apr 21, 2019
07:48 AM
Hi,
where will I find vector table?
If I am not wrong TOS will decide which CPU or DMA will provide service.
where will I find vector table?
If I am not wrong TOS will decide which CPU or DMA will provide service.
Apr 22, 2019
04:38 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Apr 22, 2019
04:38 AM
The vector table is defined in the linker/locator file. You add the interrupt function in your source code such that the linker can add the location of your ISR in the table. The TOS indicates which CPU or the DMA should handle the interrupt.
May 15, 2019
08:24 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
May 15, 2019
08:24 PM
HI,
sorry but I am not able to find out ISR table can you please elaborate little more
sorry but I am not able to find out ISR table can you please elaborate little more
May 16, 2019
04:50 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
May 16, 2019
04:50 AM
To create an interrupt entry it usually involves two parts. You have to have a table defined in your linker/locator file and then you need to create the entry with a keyword or macro in a source file that the linker/locater can use.
What toolchain are you using?
What toolchain are you using?
May 26, 2019
09:26 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
May 26, 2019
09:26 AM
HI,
I am using HI TECH compiler.
I am using HI TECH compiler.
May 28, 2019
04:23 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
May 28, 2019
04:23 PM
Do you mean HighTec EDV-Systeme GmbH?
You open an example project that uses interrupts.
Basically you need to install the interrupt and then enable it. Here is a snippet that I did in the past for the STM.
You open an example project that uses interrupts.
Basically you need to install the interrupt and then enable it. Here is a snippet that I did in the past for the STM.
/* the SRC0 Interrupt serviced by TriCore */
InterruptInstall(SRC_ID_STM0SR0, STM0_ISR0, INTPRIO_STM0_STMIR0, 0);
SRC_STM0SR0.U = CMP0_TOS | SRC_SRE | INTPRIO_STM0_STMIR0;
/**************************************************************************
Object: Interrupt routine for STM0_SR0
Parameters: arg
Return: Nothing
**************************************************************************/
void STM0_ISR0(int arg) {
(void)arg; /* dummy access for compiler warning */
/* load compare register for next event */
STM0_CMP0.U += CMP0_COMPARE_VALUE;
/* toggle LED which is connected to P13.1 */
P13_OMR.U = PORT_TGL_P1;
}
Jun 08, 2019
11:24 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jun 08, 2019
11:24 AM
IFX_INTERRUPT(ISR, VectabNum, prio)
from where I get VectabNum?
Suppose if it's for QSPI5, is there any calculation for it.
prio is from 0 to 255 and ISR I have to write.
Hear in my code VectabNum is zero for ADC and it's working, but I do't know how it's come.
from where I get VectabNum?
Suppose if it's for QSPI5, is there any calculation for it.
prio is from 0 to 255 and ISR I have to write.
Hear in my code VectabNum is zero for ADC and it's working, but I do't know how it's come.
Jun 12, 2019
10:08 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jun 12, 2019
10:08 AM
Hear in my code VectabNum is zero for ADC and it's working, but I do't know how it's come.
This means it is using the interrupt vector table for CPU0. On TC399 you can have 6 CPUs meaning you can have 6 interrupt vector tables.
Jun 12, 2019
08:29 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jun 12, 2019
08:29 PM
Thanks cwunder,
Can I know how CUP0 can differentiate between ADC and QSPI5 interrupt.
Do it is define in Interrupt table vector if yes how can it get linked.
Can I know how CUP0 can differentiate between ADC and QSPI5 interrupt.
Do it is define in Interrupt table vector if yes how can it get linked.
Jun 18, 2019
11:21 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jun 18, 2019
11:21 AM
cwunder wrote:
This means it is using the interrupt vector table for CPU0. On TC399 you can have 6 CPUs meaning you can have 6 interrupt vector tables.
Do you have any source file, which I can refer to create my own Interrupt vector table.