Hello,
I'm working with a TC322.
In my program, I need to read some data in the PFlash. But this location may be erased. When this happens, I get a trap for a Data Integrity Error. That I can understand (because of the ECC).
To solve my problem, I tried to check the validity of the data before reading it. I try to use the function IfxFlash_verifyErasedPage;
Here is my code:
uint16 endInitSafetyPassword = IfxScuWdt_getSafetyWatchdogPasswordInline();
IfxScuWdt_clearSafetyEndinitInline(endInitSafetyPassword); /* Disable EndInit protection */
IfxFlash_clearStatus(IFXFLASH_NUM_MODULES);
IfxFlash_verifyErasedPage(pageAddr);
IfxFlash_waitUnbusy(FLASH_MODULE, PROGRAM_FLASH_0);
res = !DMU_HF_ERRSR.B.EVER;
IfxScuWdt_setSafetyEndinitInline(endInitSafetyPassword); /* Enable EndInit protection
This function doesn't detect any problem with my memory location (the full HF_ERRSR register stays at 0). Despite that, I get the trap right after this when I try to read the memory.
Any idea about how I could make this work?
Regards,
Benoit
Show LessCurrently, I used TC213L AB step for std CAN.
I need to review TC213L AC step for std CAN.
Then do I need to use TC213L AC mcal?
Because TC213L AC target with TC213L AB mcal is working, I want to waste time to build new project.
AURIX_Latest_Step_Delta_Overview_2016_05_03_public.pdf (infineon.com)
Show LessHi there,
I'm trying to follow the TLF35584 data sheet (P.220) to clear IF flag.
After it triggers the NMI (ERS1), I try to use SPI during the NMI. Then, the SPI keep busy after calling "IfxQspi_SpiMaster_exchange". The iLLD library and DMA is used for SPI.
Can I use SPI with DMA during NMI? Or Is there a better way?
best regards,
leon
Show LessHi,
I am using TC377's DSADC to sample Resolver's sin/cos signal, and I enabled the CIC3, FIR0, FIR1, OffsetComp, Integrator.
The initial value of CALFACTOR is configured as 1.0985449.
1. If initial calibration after reset is not used, the sampling result is same after everytime reset, it's Vin * 1.0985449;
2. If initial calibration after reset is used, the sampling result is different after everytime reset, and the CALFACTOR is different, too.
For a given sin wave with Vpp=3.27V, if initial calibration after reset is not used, the sampling result is 3.59V, no matter how many times it's reset.
For the same sin wave, if inital calibration after reset is used, the sampling result is random, sametimes it's 3.05V, and sametimes it's 3.33V.
DSADC result uncertain if initial calibration is used
Best regards
ASUS
Show LessHi everybody, I'll be purchasing a few XC2797 176Pin LQFP's in a few days so I thought I'd get setup now.
I'm new to these microcontrollers so can I have some help please.
1. How to download code to the MCU via the 2 wire DAP port on a stand-alone PCB. Connection from programmer to DAP.
2. What hardware / programmer do I need to connect to the MCU to download the code using DAP and not JTAG.
3. What IDE do I use to write my code.
4. Datasheets, and anything else you guys can suggest I will need to get the MCU up and running.
Thank you so much for your help and hope to her from you soon.
Pete 🙂
Show LessHi
I need a way to send some data to the ucontroller through Trace32. I heard that this is possible some way, but I have no idea where to start.
What I am actually trying to do is run a piece of code on a Aurix TC297 ucontroller to do some measurements (runtime, RAM, etc.). This piece of code is actually a Kalman filter that needs as input a vector of structs that I have too send from the computer through Trace32.
Please help !!!
Show LessI am looking at sample code that demonstrates the flashing algorithm for PFlash with the goal of implementing SOTA updating of the code.
The example loads the various functions for erasing and reprogramming into RAM so that it can be running from RAM during critical stages of reflashing the underlying PFlash but it is a fairly simplistic example which does not address the issues listed below. Here are a couple of questions:
1. Do these functions need to run out of RAM regardless of which PFlash sectors are being flashed? For example, if we have divided the PFlash for SOTA, can we run from the lower bank of PFlash while reflashing the upper bank? Or is the critical region more narrowly defined such as within only the sector being reflashed?
2. This is somewhat dependent on the answer to #1. Since the TC399 is a multicore device and each core can be independently running from somewhere in PFlash, is it necessary to suspend these other cores (or cause them also to run from RAM) to avoid having them run from PFlash during the execution of the reflashing algorithm?
Show LessHi Guys,
I am implementinng multiple slave Functionality on TC222.
I dont know how to initialize master channel when we have more then 1 Slave.
Can any one guide me.
Here is my source code for youre reference to initialize master channel for one slave.
/* QSPI1 Master channel initialization
* This function initializes the QSPI1 Master channel.
*/
void initQSPI1MasterChannel(void)
{
IfxQspi_SpiMaster_ChannelConfig spiMasterChannelConfig; /* Define a Master Channel configuration */
/* Initialize the configuration with default values */
IfxQspi_SpiMaster_initChannelConfig(&spiMasterChannelConfig, &g_qspi1.spiMaster);
spiMasterChannelConfig.base.baudrate = QSPI1_BAUDRATE; /* Set SCLK frequency */
spiMasterChannelConfig.base.mode.clockPolarity = SpiIf_ClockPolarity_idleLow;
spiMasterChannelConfig.base.mode.shiftClock = SpiIf_ShiftClock_shiftTransmitDataOnLeadingEdge;
spiMasterChannelConfig.base.mode.csInactiveDelay = SpiIf_SlsoTiming_1;
spiMasterChannelConfig.base.mode.csLeadDelay = SpiIf_SlsoTiming_1;
spiMasterChannelConfig.base.mode.csTrailDelay = SpiIf_SlsoTiming_1;
/* Select the port pin for the Chip Select signal */
const IfxQspi_SpiMaster_Output qspiSlaveSelect = { /* QSPI3 Master selects the QSPI3 Slave */
&IfxQspi1_SLSO3_P11_10_OUT, IfxPort_OutputMode_pushPull, /* Slave Select port pin (CS) */
IfxPort_PadDriver_cmosAutomotiveSpeed1 /* Pad driver mode */
};
spiMasterChannelConfig.sls.output = qspiSlaveSelect;
//spiMasterChannelConfig.sls.output.pin = IfxQspi1_SLSO3_P11_10_OUT | IfxQspi1_SLSO4_P11_11_OUT |IfxQspi1_SLSO5_P11_2_OUT;
//spiMasterChannelConfig.sls.output.mode = IfxPort_OutputMode_pushPull;
//spiMasterChannelConfig.sls.output.driver = IfxPort_PadDriver_cmosAutomotiveSpeed1;
//spiMasterChannelConfig.mode.autoCS = (chHandle->activateSlso == NULL_PTR) && (chHandle->deactivateSlso == NULL_PTR);
/* Initialize the QSPI Master channel */
IfxQspi_SpiMaster_initChannel(&g_qspi1.spiMasterChannel, &spiMasterChannelConfig);
}
Hi all,
I use OneEye for real time debug and graph plotting. I have TC367 microcontroller connected over DAP with MiniWiggler 3.
If I watch single variable, I was getting cycle time(total time to read/write all the watch variables) of around 6-7ms. More the variable more the cycle time. To get it more faster, I thought of increasing the DAP clock via DAS interface. I changed the DAP frequency via DAS perfmeter. I followed this link to change the DAP clock frequency. I think the resetting issue is resolved in newer DAS version.
Issue:
To get the max data rate, I wanted to set max DAP clock frequency and therefore, I set it to 30Mhz but somehow, I was not able to see any change in cycle time. Measuring the DAP clock on Pin No 4, I come to know that it's only 3Mhz instead of 30Mhz. Current clock value on DAS interface still shows 30Mhz!!!
Here is the snapshot of the DSO showing 3Mhz clock instead of 30Mhz. Clock on C4 is the Zoom out version of the clock. Z4 is the zoom in version of the C4. (1/Delta x) is 3.13 Mhz. I have also attached higher resolution image as a ZIP for the reference.
When I configured the DAP clock to 400Khz to 1Mhz, I was able to observe the change in cycle time in OneEye for fixed set of variables. But same was not observed when I set DAP clock to 30Mhz.
I appreciate your help.
Thank you
Version Info
Aurix Studio : 1.6.0
One Eye: 2.48.0
DAS : 3.12
DAS API : 4.2
Show LessHi Aurix Team,
I am doing real time debugging using DAP and Miniwiggler 3. I am reading approx. 35 float variables. I am also plotting some of the variables via Graph option in Oneeye. My device is TC36x.
My ADC sampling rate is 10Khz(Will not matter much as DAP's reading frequency makes the plotting and the values that I plot are very distorted when I read via DAP. Manual counting the time between samples, comes around 70-80ms. Hence I am only able to plot very low frequencies. I am not using Oscilloscope object, it's just graph of raw float values.
Miniwiggler has speed upto 2MBps and DAP has max frequency up to 160Mhz, they are way beyond that data rate I need. 35 float variables with overhead are way less than that. I have all the necessary DAP pins connected to TC36x.
Here are my questions,
1) Is there any way to use DAP wide mode configuration for maximizing the bandwidth? If so please let me know the steps for it's configuration or point me to the official doc for the same.
2) How would I make sure that DAP is running at 160Mhz? I am newbie to Aurix and unable to figure out how to configure clock for DAP. For example in this iSystem document(Page No 5), DAP mode and frequency is configured. Is there any such configuration for Aurix Studio and Miniwiggler. Or any configuration setting inside Controller?
I think that making DAP clock frequency to 160Mhz or max possible and DAP wide mode, I will be able to extract the data faster.
It will be great, if you can guide me achieving the fastest reading time possible via DAP for better plotting of the data.
Thanks
Show LessUser | Count |
---|---|
18 | |
7 | |
4 | |
2 | |
2 | |
1 |