Search code examples
cmicrocontrollerwatchstm32iar

IAR Embedded Workbench : Unknown or ambiguous symbol


Solved.

I was trying to control the value of a variable in IAR Embedded Workbench (working with STM32F303xC microcontroller). I declared the variables in the library.h files as:

extern int my_variable1;
extern float another_variable //... etc

Then in library.c

int my_variable1 = 15;
float another_variable = 328.47;

In main.c

my_variable1 = 38;
another_variable = pow(10,2) + another_variable/8

But in watch, live watch and quick watch it rises the error : (column 1) Unknown or ambiguous symbol.

I wrote several programs with this IDE and the declaration of static variables worked and it allowed me to see the variable's value using the watches. In other programs i declared the variable as

int my_variable1;

In the main file, outside the main function and it worked too.

How can i solve this error?

As far as we go, it seems the the real question is:

There is a way to show in IAR Embedded Workbench the value of variables shared between .c-s?


Solution

  • The IDE Embedded Workbench, as form of optimization, doesn't allocate the variables that are declared but not used. So those variables cannot be showed in the watches.