I can't update variant with assignment variable.

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
leekings
Level 3
Level 3
50 sign-ins 25 replies posted 25 sign-ins

Hello. Aurix team.

I'm using development studio and i have an issue that a variant is not updated with assignment operator.

please see below picture.

leekings_0-1671614341120.png

all variables are 'global variable'(can i monitoring local variable? i tried to see it, but i failed)

in line 746,  rawData = g_rx_L_POS_u16[1]; is operated.

and current break point is line 764.(between line 746 ~ 764 is hidden)

refer expression window, rawData is zero and g_rx_L_POS_u16[1] has it's own value.

i checked g_rx_L_POS_u16[1] has value before implement line 746.

 

and i set rawData's initial value as 0x10, but rawData is set zero after implement line 746.

when i do debugging step by step, sometimes g_rx_L_POS_u16[1]'s value is transfered to rawData sucessfully.(1~2time when i try 10 times)

but when i set break  after line 746, it is set as zero 100%.

do you know why this phenomenon happening?

 

please help me. thank you.

 

please help me.

 

thank you.

 

0 Likes
1 Solution
Di_W
Moderator
Moderator
Moderator
500 solutions authored 1000 replies posted 250 solutions authored

If this is a bug, then Zero you seen is not real. You can use a judgment statement to test. Otherwise I used below code to test ADS 1.8.0 and looks OK. You can try below code to test also.

/**********************************************************************************************************************
 * file Cpu0_Main.c
 * copyright Copyright (C) Infineon Technologies AG 2019
 * 
 * Use of this file is subject to the terms of use agreed between (i) you or the company in which ordinary course of 
 * business you are acting and (ii) Infineon Technologies AG or its licensees. If and as long as no such terms of use
 * are agreed, use of this file is subject to following:
 * 
 * Boost Software License - Version 1.0 - August 17th, 2003
 * 
 * Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and 
 * accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute,
 * and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the
 * Software is furnished to do so, all subject to the following:
 * 
 * The copyright notices in the Software and this entire statement, including the above license grant, this restriction
 * and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all 
 * derivative works of the Software, unless such copies or derivative works are solely in the form of 
 * machine-executable object code generated by a source language processor.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
 * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE 
 * COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN 
 * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 
 * IN THE SOFTWARE.
 *********************************************************************************************************************/
 /*title ADC queued source
 * abstract The Enhanced Versatile Analog-to-Digital Converter (EVADC) is configured to measure multiple analog signals in a sequence using queued request.
 * description The Queued Request of the Enhanced Versatile Analog-to-Digital Converter (EVADC) module is used to
 *              continuously scan the analog inputs channels 1, 4 and 5 of group 2.
 *
 * 
ame ADC_Queued_Scan_1_KIT_TC397_TFT
 * version V1.0.2
 * board APPLICATION KIT TC3X7 V2.0, KIT_A2G_TC397_5V_TFT, TC39xXX_B-Step
 * keywords ADC, queued, conversion, EVADC, AURIX, ADC_Queued_Scan_1
 * documents https://www.infineon.com/aurix-expert-training/Infineon-AURIX_ADC_Queued_Scan_1_KIT_TC397_TFT-TR-v01_00_02-EN.pdf
 * documents https://www.infineon.com/aurix-expert-training/TC39B_iLLD_UM_1_0_1_12_1.chm
 * lastUpdated 2021-03-22
 *********************************************************************************************************************/
#include "Ifx_Types.h"
#include "IfxCpu.h"
#include "IfxScuWdt.h"
#include "ADC_Queued_Scan.h"

IFX_ALIGN(4) IfxCpu_syncEvent g_cpuSyncEvent = 0;
uint16 rawData,g_rx_u16[99],txData[64];
void core0_main(void)
{
    int i;
    IfxCpu_enableInterrupts();
    
    /* !!WATCHDOG0 AND SAFETY WATCHDOG ARE DISABLED HERE!!
     * Enable the watchdogs and service them periodically if it is required
     */
    IfxScuWdt_disableCpuWatchdog(IfxScuWdt_getCpuWatchdogPassword());
    IfxScuWdt_disableSafetyWatchdog(IfxScuWdt_getSafetyWatchdogPassword());
    
    /* Wait for CPU sync event */
    IfxCpu_emitEvent(&g_cpuSyncEvent);
    IfxCpu_waitEvent(&g_cpuSyncEvent, 1);
    
    /* Function to initialize the EVADC with default parameters */
    //initEVADC();
    for(i=0;i<99;i++)
        g_rx_u16[i]=(uint16)i;
    /* Continuously update the conversion results */
    while(1)
    {
       // readEVADC();
        rawData=g_rx_u16[1];
        for(i=3;i<64;i++)
            txData[i]=0xAA;

    }
}

 

View solution in original post

0 Likes
1 Reply
Di_W
Moderator
Moderator
Moderator
500 solutions authored 1000 replies posted 250 solutions authored

If this is a bug, then Zero you seen is not real. You can use a judgment statement to test. Otherwise I used below code to test ADS 1.8.0 and looks OK. You can try below code to test also.

/**********************************************************************************************************************
 * file Cpu0_Main.c
 * copyright Copyright (C) Infineon Technologies AG 2019
 * 
 * Use of this file is subject to the terms of use agreed between (i) you or the company in which ordinary course of 
 * business you are acting and (ii) Infineon Technologies AG or its licensees. If and as long as no such terms of use
 * are agreed, use of this file is subject to following:
 * 
 * Boost Software License - Version 1.0 - August 17th, 2003
 * 
 * Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and 
 * accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute,
 * and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the
 * Software is furnished to do so, all subject to the following:
 * 
 * The copyright notices in the Software and this entire statement, including the above license grant, this restriction
 * and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all 
 * derivative works of the Software, unless such copies or derivative works are solely in the form of 
 * machine-executable object code generated by a source language processor.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
 * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE 
 * COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN 
 * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 
 * IN THE SOFTWARE.
 *********************************************************************************************************************/
 /*title ADC queued source
 * abstract The Enhanced Versatile Analog-to-Digital Converter (EVADC) is configured to measure multiple analog signals in a sequence using queued request.
 * description The Queued Request of the Enhanced Versatile Analog-to-Digital Converter (EVADC) module is used to
 *              continuously scan the analog inputs channels 1, 4 and 5 of group 2.
 *
 * 
ame ADC_Queued_Scan_1_KIT_TC397_TFT
 * version V1.0.2
 * board APPLICATION KIT TC3X7 V2.0, KIT_A2G_TC397_5V_TFT, TC39xXX_B-Step
 * keywords ADC, queued, conversion, EVADC, AURIX, ADC_Queued_Scan_1
 * documents https://www.infineon.com/aurix-expert-training/Infineon-AURIX_ADC_Queued_Scan_1_KIT_TC397_TFT-TR-v01_00_02-EN.pdf
 * documents https://www.infineon.com/aurix-expert-training/TC39B_iLLD_UM_1_0_1_12_1.chm
 * lastUpdated 2021-03-22
 *********************************************************************************************************************/
#include "Ifx_Types.h"
#include "IfxCpu.h"
#include "IfxScuWdt.h"
#include "ADC_Queued_Scan.h"

IFX_ALIGN(4) IfxCpu_syncEvent g_cpuSyncEvent = 0;
uint16 rawData,g_rx_u16[99],txData[64];
void core0_main(void)
{
    int i;
    IfxCpu_enableInterrupts();
    
    /* !!WATCHDOG0 AND SAFETY WATCHDOG ARE DISABLED HERE!!
     * Enable the watchdogs and service them periodically if it is required
     */
    IfxScuWdt_disableCpuWatchdog(IfxScuWdt_getCpuWatchdogPassword());
    IfxScuWdt_disableSafetyWatchdog(IfxScuWdt_getSafetyWatchdogPassword());
    
    /* Wait for CPU sync event */
    IfxCpu_emitEvent(&g_cpuSyncEvent);
    IfxCpu_waitEvent(&g_cpuSyncEvent, 1);
    
    /* Function to initialize the EVADC with default parameters */
    //initEVADC();
    for(i=0;i<99;i++)
        g_rx_u16[i]=(uint16)i;
    /* Continuously update the conversion results */
    while(1)
    {
       // readEVADC();
        rawData=g_rx_u16[1];
        for(i=3;i<64;i++)
            txData[i]=0xAA;

    }
}

 

0 Likes