Global variables are not working in MCUXpresso.

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Global variables are not working in MCUXpresso.

Jump to solution
3,221 Views
Iotelctronic
Contributor III

I'm debugging a program with the MKE06Z128VQH4 and I wanted to use the global variables to check the incoming values, especially in the UART buffer that I use for Bluetooth. But when I press play, the variable shows up as unavailable, even though it is global. I also added a variable called conta in the main function to see it increment and test it, but it still appears as unavailable. I already went into the settings and disabled “Enable Live Variable Services”. I'm using a Chinese J-Link programmer.

Iotelctronic_0-1764607762489.pngIotelctronic_0-1764607762489.png

Iotelctronic_1-1764607894650.pngIotelctronic_1-1764607894650.pngIotelctronic_2-1764607934868.pngIotelctronic_2-1764607934868.png

 

0 Kudos
Reply
1 Solution
2,871 Views
luis_maravilla
NXP Employee
NXP Employee

Hello,

For monitoring and visualizing Global variables update while running the program

Please refer to chapter 14.10 in MCUXPRESSO-UG [MCUXpresso IDE User Guide]

Also, this post could guide you with a brief explanation

Visualizing Global Variables while Target is Running with Eclipse and MCUXpresso IDE | MCU on Eclips...

 

Best Regards, Luis

View solution in original post

4 Replies
3,088 Views
luis_maravilla
NXP Employee
NXP Employee

Hello

Could you help us confirm what MCUXpresso IDE version are you working with? And could you describe the process for creating the project for MKE06Z128VQH4?

Could you share the declaration for "conta"?

Could you help us giving details about the Chinese J-Link Programmer?

 

Best Regards

Luis

0 Kudos
Reply
2,980 Views
Iotelctronic
Contributor III

Hi, thanks for responding. I'm using MCUXpresso IDE v24.12, and I make my configurations using the config tool. For now, I'm only testing a global variable that increments in the main loop. I don't have any clock issues because UART was already running and works fine. I wanted to see the variable update in real-time in the live expressions initially to continue with other project needs and monitor variable values while running the program. When I talk about a Chinese programmer, I'm referring to a J-Link Segger v9-G programmer I bought on AliExpress. When I say Chinese programmer, I mean it's not original, but I don't think that's the problem. My initial test code is this:

#include "pin_mux.h"
#include "board.h"
#include "fsl_uart.h"
#include "fsl_debug_console.h"
#include <string.h>

/*******************************************************************************
 * Definitions
 ******************************************************************************/
#define DATA_UART            UART0
#define DATA_UART_CLK_FREQ   CLOCK_GetFreq(kCLOCK_BusClk)
#define DATA_UART_IRQn       UART0_IRQn
#define DATA_UART_IRQHandler UART0_IRQHandler



/*******************************************************************************
 * Variables Globales
 ******************************************************************************/


uint32_t conta = 0;
unsigned char rx_aux;


/******************************************************************************\
 *
 * ************************* otra recepcion uart de prueba ******************
 */
void UART0_IRQHandler(void) {


	if (UART0->S1 & UART_S1_RDRF_MASK) {
		rx_aux = UART0->D;                      //lê o caracter recebido
	}
}


/*******************************************************************************
 * Main Application
 ******************************************************************************/
int main(void) {
    uart_config_t uart_config;

    /*** 1. INICIALIZACIÓN ***/
    BOARD_InitBootPins();
    BOARD_InitBootClocks();
    BOARD_InitDebugConsole();

    /*** 2. CONFIGURACIÓN UART0 ***/
    UART_GetDefaultConfig(&uart_config);
    uart_config.baudRate_Bps = 115200;
    uart_config.enableTx = true;
    uart_config.enableRx = true;

    UART_Init(DATA_UART, &uart_config, DATA_UART_CLK_FREQ);

    /*** 3. CONFIGURACIÓN INTERRUPCIONES ***/
    DATA_UART->C2 |= UART_C2_RIE_MASK;  // Habilita interrupción RX
    NVIC_SetPriority(DATA_UART_IRQn, 0);
    NVIC_EnableIRQ(DATA_UART_IRQn);




    while (1) {
        conta++;


        /********************************************************/
        // Delay mínimo
        for(volatile int i = 0; i < 50; i++);
    }
}

 

0 Kudos
Reply
2,872 Views
luis_maravilla
NXP Employee
NXP Employee

Hello,

For monitoring and visualizing Global variables update while running the program

Please refer to chapter 14.10 in MCUXPRESSO-UG [MCUXpresso IDE User Guide]

Also, this post could guide you with a brief explanation

Visualizing Global Variables while Target is Running with Eclipse and MCUXpresso IDE | MCU on Eclips...

 

Best Regards, Luis

2,753 Views
Iotelctronic
Contributor III

Thanks, I found out that J-Link does not accept "non-stop mode", only LinkServer-compatible debuggers like MCU-Link.

0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-2252431%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EGlobal%20variables%20are%20not%20working%20in%20MCUXpresso.%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2252431%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CSTRONG%3EI'm%20debugging%20a%20program%20with%20the%20MKE06Z128VQH4%20and%20I%20wanted%20to%20use%20the%20global%20variables%20to%20check%20the%20incoming%20values%2C%20especially%20in%20the%20UART%20buffer%20that%20I%20use%20for%20Bluetooth.%20But%20when%20I%20press%20play%2C%20the%20variable%20shows%20up%20as%20unavailable%2C%20even%20though%20it%20is%20global.%20I%20also%20added%20a%20variable%20called%20%3CEM%3Econta%3C%2FEM%3E%20in%20the%20main%20function%20to%20see%20it%20increment%20and%20test%20it%2C%20but%20it%20still%20appears%20as%20unavailable.%20I%20already%20went%20into%20the%20settings%20and%20disabled%20%E2%80%9CEnable%20Live%20Variable%20Services%E2%80%9D.%20I'm%20using%20a%20Chinese%20J-Link%20programmer.%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Iotelctronic_0-1764607762489.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Iotelctronic_0-1764607762489.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Iotelctronic_0-1764607762489.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Iotelctronic_0-1764607762489.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Iotelctronic_0-1764607762489.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Iotelctronic_0-1764607762489.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F368037iFF89464BA6F48B32%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Iotelctronic_0-1764607762489.png%22%20alt%3D%22Iotelctronic_0-1764607762489.png%22%20%2F%3E%3Cspan%20class%3D%22lia-inline-image-caption%22%20onclick%3D%22event.preventDefault()%3B%22%3EIotelctronic_0-1764607762489.png%3C%2Fspan%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Iotelctronic_1-1764607894650.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Iotelctronic_1-1764607894650.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Iotelctronic_1-1764607894650.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Iotelctronic_1-1764607894650.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Iotelctronic_1-1764607894650.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Iotelctronic_1-1764607894650.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F368038i2FF618E7CF13D4E0%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Iotelctronic_1-1764607894650.png%22%20alt%3D%22Iotelctronic_1-1764607894650.png%22%20%2F%3E%3Cspan%20class%3D%22lia-inline-image-caption%22%20onclick%3D%22event.preventDefault()%3B%22%3EIotelctronic_1-1764607894650.png%3C%2Fspan%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Iotelctronic_2-1764607934868.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Iotelctronic_2-1764607934868.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Iotelctronic_2-1764607934868.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Iotelctronic_2-1764607934868.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Iotelctronic_2-1764607934868.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Iotelctronic_2-1764607934868.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F368039i57F544BFC8818DD8%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Iotelctronic_2-1764607934868.png%22%20alt%3D%22Iotelctronic_2-1764607934868.png%22%20%2F%3E%3Cspan%20class%3D%22lia-inline-image-caption%22%20onclick%3D%22event.preventDefault()%3B%22%3EIotelctronic_2-1764607934868.png%3C%2Fspan%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2257451%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Global%20variables%20are%20not%20working%20in%20MCUXpresso.%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2257451%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%3C%2FP%3E%0A%3CP%3ECould%20you%20help%20us%20confirm%20what%20MCUXpresso%20IDE%20version%20are%20you%20working%20with%3F%20And%20could%20you%20describe%20the%20process%20for%20creating%20the%20project%20for%20MKE06Z128VQH4%3F%3C%2FP%3E%0A%3CP%3ECould%20you%20share%20the%20declaration%20for%20%22conta%22%3F%3C%2FP%3E%0A%3CP%3ECould%20you%20help%20us%20giving%20details%20about%20the%20Chinese%20J-Link%20Programmer%3F%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EBest%20Regards%3C%2FP%3E%0A%3CP%3ELuis%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2261256%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Global%20variables%20are%20not%20working%20in%20MCUXpresso.%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2261256%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CSPAN%3EHi%2C%20thanks%20for%20responding.%20I'm%20using%20MCUXpresso%20IDE%20v24.12%2C%20and%20I%20make%20my%20configurations%20using%20the%20config%20tool.%20For%20now%2C%20I'm%20only%20testing%20a%20global%20variable%20that%20increments%20in%20the%20main%20loop.%20I%20don't%20have%20any%20clock%20issues%20because%20UART%20was%20already%20running%20and%20works%20fine.%20I%20wanted%20to%20see%20the%20variable%20update%20in%20real-time%20in%20the%20live%20expressions%20initially%20to%20continue%20with%20other%20project%20needs%20and%20monitor%20variable%20values%20while%20running%20the%20program.%20When%20I%20talk%20about%20a%20Chinese%20programmer%2C%20I'm%20referring%20to%20a%20J-Link%20Segger%20v9-G%20programmer%20I%20bought%20on%20AliExpress.%20When%20I%20say%20Chinese%20programmer%2C%20I%20mean%20it's%20not%20original%2C%20but%20I%20don't%20think%20that's%20the%20problem.%20My%20initial%20test%20code%20is%20this%3A%3C%2FSPAN%3E%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%3E%23include%20%22pin_mux.h%22%0A%23include%20%22board.h%22%0A%23include%20%22fsl_uart.h%22%0A%23include%20%22fsl_debug_console.h%22%0A%23include%20%3CSTRING.H%3E%0A%0A%2F*******************************************************************************%0A%20*%20Definitions%0A%20******************************************************************************%2F%0A%23define%20DATA_UART%20%20%20%20%20%20%20%20%20%20%20%20UART0%0A%23define%20DATA_UART_CLK_FREQ%20%20%20CLOCK_GetFreq(kCLOCK_BusClk)%0A%23define%20DATA_UART_IRQn%20%20%20%20%20%20%20UART0_IRQn%0A%23define%20DATA_UART_IRQHandler%20UART0_IRQHandler%0A%0A%0A%0A%2F*******************************************************************************%0A%20*%20Variables%20Globales%0A%20******************************************************************************%2F%0A%0A%0Auint32_t%20conta%20%3D%200%3B%0Aunsigned%20char%20rx_aux%3B%0A%0A%0A%2F******************************************************************************%5C%0A%20*%0A%20*%20*************************%20otra%20recepcion%20uart%20de%20prueba%20******************%0A%20*%2F%0Avoid%20UART0_IRQHandler(void)%20%7B%0A%0A%0A%09if%20(UART0-%26gt%3BS1%20%26amp%3B%20UART_S1_RDRF_MASK)%20%7B%0A%09%09rx_aux%20%3D%20UART0-%26gt%3BD%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2Fl%C3%AA%20o%20caracter%20recebido%0A%09%7D%0A%7D%0A%0A%0A%2F*******************************************************************************%0A%20*%20Main%20Application%0A%20******************************************************************************%2F%0Aint%20main(void)%20%7B%0A%20%20%20%20uart_config_t%20uart_config%3B%0A%0A%20%20%20%20%2F***%201.%20INICIALIZACI%C3%93N%20***%2F%0A%20%20%20%20BOARD_InitBootPins()%3B%0A%20%20%20%20BOARD_InitBootClocks()%3B%0A%20%20%20%20BOARD_InitDebugConsole()%3B%0A%0A%20%20%20%20%2F***%202.%20CONFIGURACI%C3%93N%20UART0%20***%2F%0A%20%20%20%20UART_GetDefaultConfig(%26amp%3Buart_config)%3B%0A%20%20%20%20uart_config.baudRate_Bps%20%3D%20115200%3B%0A%20%20%20%20uart_config.enableTx%20%3D%20true%3B%0A%20%20%20%20uart_config.enableRx%20%3D%20true%3B%0A%0A%20%20%20%20UART_Init(DATA_UART%2C%20%26amp%3Buart_config%2C%20DATA_UART_CLK_FREQ)%3B%0A%0A%20%20%20%20%2F***%203.%20CONFIGURACI%C3%93N%20INTERRUPCIONES%20***%2F%0A%20%20%20%20DATA_UART-%26gt%3BC2%20%7C%3D%20UART_C2_RIE_MASK%3B%20%20%2F%2F%20Habilita%20interrupci%C3%B3n%20RX%0A%20%20%20%20NVIC_SetPriority(DATA_UART_IRQn%2C%200)%3B%0A%20%20%20%20NVIC_EnableIRQ(DATA_UART_IRQn)%3B%0A%0A%0A%0A%0A%20%20%20%20while%20(1)%20%7B%0A%20%20%20%20%20%20%20%20conta%2B%2B%3B%0A%0A%0A%20%20%20%20%20%20%20%20%2F********************************************************%2F%0A%20%20%20%20%20%20%20%20%2F%2F%20Delay%20m%C3%ADnimo%0A%20%20%20%20%20%20%20%20for(volatile%20int%20i%20%3D%200%3B%20i%20%26lt%3B%2050%3B%20i%2B%2B)%3B%0A%20%20%20%20%7D%0A%7D%0A%0A%3C%2FSTRING.H%3E%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2264182%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Global%20variables%20are%20not%20working%20in%20MCUXpresso.%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2264182%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%2C%3C%2FP%3E%0A%3CP%3EFor%20monitoring%20and%20visualizing%20Global%20variables%20update%20while%20running%20the%20program%3C%2FP%3E%0A%3CP%3EPlease%20refer%20to%20chapter%2014.10%20in%20%3CA%20href%3D%22https%3A%2F%2Fwww.nxp.com%2Fwebapp%2FDownload%3FcolCode%3DMCUXPRESSO-UG%26amp%3BappType%3Dlicense%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3EMCUXPRESSO-UG%3C%2FA%3E%20%5BMCUXpresso%20IDE%20User%20Guide%5D%3C%2FP%3E%0A%3CP%3EAlso%2C%20this%20post%20could%20guide%20you%20with%20a%20brief%20explanation%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fmcuoneclipse.com%2F2019%2F07%2F22%2Fvisualizing-global-variables-while-target-is-running-with-eclipse-and-mcuxpresso-ide%2F%23more-24772%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3EVisualizing%20Global%20Variables%20while%20Target%20is%20Running%20with%20Eclipse%20and%20MCUXpresso%20IDE%20%7C%20MCU%20on%20Eclipse%3C%2FA%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EBest%20Regards%2C%20Luis%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2266982%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Global%20variables%20are%20not%20working%20in%20MCUXpresso.%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2266982%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CSPAN%3EThanks%2C%20I%20found%20out%20that%20J-Link%20does%20not%20accept%20%22non-stop%20mode%22%2C%20only%20LinkServer-compatible%20debuggers%20like%20MCU-Link.%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E