AURIX™ Forum Discussions
I want to download HSM Hex file and MAIN Hex file from TC375TP MCU.
HSM Hex file should be downloaded to which area in memory: Program Flash, Data Flash, or User Control Block Area?
If it is necessary to download to the Program Flash area, is it possible to download the download address to 0xA000 0000 and the MAIN Hex file to 0xA002 0000?
Finally, after downloading the hex file, what do I need to configure additionally related to HSM?
Hi Community,
i've seen after configuration of my EVADCs that only the last defined Interrupt for the according Group is working.
At the moment the Interrupts are handled through an core. Later i want the DMA to handle the interrupt.
Is the defined Interrupt for one Channel or one Group?
And is there a difference between using the DMA instead of the Core?
My Code is similiar to the one of srgbtl:
Interrupt generation with multiple ADC channel - Infineon Developer Community
Thanks in advance
Andreas
Show Less
Hello Infineon / everyone,
I'm wondering if there is any chance to get the source code of "mcds_lib.py" inside DAS CCL which is currently delivered only as "__mcds_lib.pyd".
I need one more function (mcdsdl_get_code_symbol_addr) which is available inside the mcds_decoder.dll but is not supported by the python interface. I could extend the python interface provided the source is available.
Thanks,
Hamid
Show Less
Hi all,
I am trying to configure ADC to transfer measurement results from several channels to DMA. But with my configuration, only the result which was configured lastly is transferred to DMA.
After some investigation, I found that interrupts are not triggered. What am I doing wrong?
Here is how ADC channels are configured:
/* ADC Interrupt Service Routine */
IFX_INTERRUPT(ISR_ADC_result1, 0, 20); // Not triggered
IFX_INTERRUPT(ISR_ADC_result2, 0, 21); // Not triggered
IFX_INTERRUPT(ISR_ADC_result3, 0, 22); // Triggered
//.....
#define CHANNELS_NUM 3
#define AN17_CHID 1 /* Channel ID for pin AN17 */
#define AN20_CHID 4 /* Channel ID for pin AN20 */
#define AN21_CHID 5 /* Channel ID for pin AN21 */
IfxEvadc_Adc g_evadc;
IfxEvadc_Adc_Group g_adcGroup;
IfxEvadc_Adc_Channel g_adcChannel[CHANNELS_NUM];/* EVADC channels handle array */
uint8 g_grp2channels[CHANNELS_NUM] = {AN17_CHID, AN20_CHID, AN21_CHID}; /* AN17, AN20, AN21 channel IDs array */
//...
void initAdc(void)
{
/* Create configuration */
IfxEvadc_Adc_Config adcConfig;
IfxEvadc_Adc_initModuleConfig(&adcConfig, &MODULE_EVADC);
/* Initialize module */
IfxEvadc_Adc_initModule(&g_evadc, &adcConfig);
/* Create and initialize group configuration with default values */
IfxEvadc_Adc_GroupConfig adcGroupConfig;
IfxEvadc_Adc_initGroupConfig(&adcGroupConfig, &g_evadc);
/* Setting user configuration using group 2 */
adcGroupConfig.groupId = IfxEvadc_GroupId_2;
adcGroupConfig.master = IfxEvadc_GroupId_2;
/* Enable queued source */
adcGroupConfig.arbiter.requestSlotQueue0Enabled = TRUE;
/* Enable all gates in "always" mode (no edge detection) */
adcGroupConfig.queueRequest[0].triggerConfig.gatingMode = IfxEvadc_GatingMode_always;
/* Initialize the group */
IfxEvadc_Adc_initGroup(&g_adcGroup, &adcGroupConfig);
/* Create channel configuration */
IfxEvadc_Adc_ChannelConfig adcChannelConfig[CHANNELS_NUM];
for(uint16 idx = 0; idx < CHANNELS_NUM; idx++)
{
/* Initialize the configuration with default values */
IfxEvadc_Adc_initChannelConfig(&adcChannelConfig[idx], &g_adcGroup);
/* Select the channel ID and the respective result register */
adcChannelConfig[idx].channelId = (IfxEvadc_ChannelId)(g_grp2channels[idx]);
adcChannelConfig[idx].resultRegister = (IfxEvadc_ChannelResult)(g_grp2channels[idx]);
adcChannelConfig[idx].resultPriority = 20 + idx;
/* Initialize the channel */
IfxEvadc_Adc_initChannel(&g_adcChannel[idx], &adcChannelConfig[idx]);
}
for(uint16 idx = 0; idx < CHANNELS_NUM; idx++)
{
/* Add channel to queue with refill option enabled */
IfxEvadc_Adc_addToQueue(&g_adcChannel[idx], IfxEvadc_RequestSource_queue0, IFXEVADC_QUEUE_REFILL);
}
/* Start the queue */
IfxEvadc_Adc_startQueue(&g_adcGroup, IfxEvadc_RequestSource_queue0);
}
The code is based on examples:
https://github.com/Infineon/AURIX_code_examples/blob/master/code_examples/DMA_ADC_Transfer_1_KIT_TC397_TFT
https://github.com/Infineon/AURIX_code_examples/blob/master/code_examples/ADC_Queued_Scan_1_KIT_TC397_TFT
Hi,
Thus the below highlighted text mean that DMA CRC has to be calculated by FCE and appended to the data stream by software.
Thanks,
Kumaresh
Show LessDear support team,
If the ADC reference supply voltage exceeds the ADC power supply voltage, will there be any impact/change in the the TUE min., max. values specified in the datasheet? TC29xBC Microcontroller datasheet, specifies VADC parameters ( Table 3-27) over the ADC supply voltage (VDDM) range of 4.5V to 5.5V and in this table maximum Analog reference voltage is specified to be (VDDM + 0.05V) so can i say that if my VREF = 5.1V and VDDM = 4.9V i.e. VREF > VDDM + 0.05V, ADC accuracy parameters will still be the same as mentioned in this table?
Thanking you in advance.
Show LessWe had a pver error when reprogramming, and 1k of data had been written before the error occurred. We have tried to write from other addresses, and we will get pver errors.
Show LessDears:
At present, I am using the autosar tool to develop TC397. When I configure the PORT module, I found that there is a correspondence between the value of PortPinId and PORT_0_PIN_0, but I did not find this correspondence in the manual, so I hope you can help me answer it. , the corresponding relationship between the two.
thanks!!!
Show Less