Topic : Global symbols list stays empty...intended behavior ?

Forum : Ride IDE

Original Post
Post Information Post
January 13, 2013 - 2:53am
Guest

Bonjour

I'm using the sdt version of Ride 7.42.12.0305 with the Rlink Lite and the GCC toolchain.

Even though my project builds properly, the Global Symbols list stays empty, making the Goto Definition command unusable.

Is this an intended drawback of the standard version ?

Best regards.

Replies
Post Information Post
+1
0
-1
January 14, 2013 - 11:45am
Raisonance Support Team

Hello,

You shouldn't have problems with the go to Definition, You must select the entire word on the text editor window and then right click.

Does the problem occur when using the examples given with Ride7 (from the Ride7 installation directory, default being "C:\Raisonance\Ride\Examples\ARM\REva\STM32F103_Toggle")?

Regards,

Etienne

+1
0
-1
January 14, 2013 - 1:01pm
Guest

Well, I tested it...

Building C:\Raisonance\Ride\Examples\ARM\REva\STM32F103_Toggle\STM32F103_toggle.rapp
Running: LD Linker
blah...
blah...
Build successful

The "Globals" panel say "There are no items to show"
At line 65 of main.c, selecting either "RCC_Configuration", "RCC_Configuration()" or "RCC_Configuration();" and clicking "Go To Definition" from the editor context menu or the F12 shortcut doesn't do anything, event though it's in the same file, at line 115 (but not shown, since out of scroll).
Same with "RCC_DeInit()" at line 118, which should bring the "stm32f10x_rcc.c" file in the editor.

+1
0
-1
January 14, 2013 - 2:49pm
Raisonance Support Team

Can you execute the follow instructions and send the result:

Close all Ride projects
Edit "ridescripts.js" that you can find in C:\Raisonance\Ride\Scripts
Enable the line 117 removing the "// " to "Project.ReportMessage(cmd); "
Save and close the file
Open C:\Raisonance\Ride\Examples\ARM\REva\STM32F103_Toggle\STM32F103_toggle.rprj
Clean the project
Copy from the build log window, the last line (without "%comspec% /C") and execute it on a prompt command.
It should look like:

C:\Users\John>r_clang.exe -cc1 -w -print-decl-contexts -fshort-enums "c:\raisonance\ride\examples\arm\reva\stm32f103_toggle\stm32f10x_rcc.c" -I"C:\Raisonance\Ride\Examples\ARM\REva\STM32F103_Toggle" -I"C:\Raisonance\Ride\Examples\ARM\REva\STM32F103_Toggle" -I"." -I"C:\Raisonance\Ride\Lib\ARM\include" -I"C:\Raisonance\Ride\\arm-gcc\lib\gcc\arm-none-eabi\4.5.2\include" -I"C:\Raisonance\Ride\\arm-gcc\arm-none-eabi\include" -D __attribute__(x)= -U_WIN32 -D __GNUC__=4 -D_STM32F103RBT6_ -D_STM3x_ -D_STM32x_ -DSTM32F10X_MD

Enter
Copy the answer and send it.
Thanks

+1
0
-1
January 14, 2013 - 4:22pm
Guest

Copy the answer ...? Which answer ?
The r_lang.exe commands, executed with the cmd prompt @ "C:\Raisonance\Ride\bin" didn't output anything. Neither text in the console, nor file in the execution directory.

Here's my console carbon copy :

C:\Raisonance\Ride\bin>r_clang.exe -cc1 -w -print-decl-contexts -fshort-enums "c:\raisonance\ride\examples\arm\reva\stm32f103_toggle\stm32f10x_rcc.c" -I"C:\Raisonance\Ride\Examples\ARM\REva\STM32F103_Toggle" -I"C:\Raisonance\Ride\Examples\ARM\REva\STM32F103_Toggle" -I"." -I"C:\Raisonance\Ride\Lib\ARM\include" -I"C:\Raisonance\Ride\\arm-gcc\lib\gcc\arm-none-eabi\4.5.2\include" -I"C:\Raisonance\Ride\\arm-gcc\arm-none-eabi\include" -D __attribute__(x)= -U_WIN32 -D __GNUC__=4 -D_STM32F103RBT6_ -D_STM3x_ -D_STM32x_ -DSTM32F10X_MD

C:\Raisonance\Ride\bin>r_clang.exe -cc1 -w -print-decl-contexts -fshort-enums "c:\raisonance\ride\examples\arm\reva\stm32f103_toggle\stm32f10x_gpio.c" -I"C:\Raisonance\Ride\Examples\ARM\REva\STM32F103_Toggle" -I"C:\Raisonance\Ride\Examples\ARM\REva\STM32F103_Toggle" -I"." -I"C:\Raisonance\Ride\Lib\ARM\include" -I"C:\Raisonance\Ride\\arm-gcc\lib\gcc\arm-none-eabi\4.5.2\include" -I"C:\Raisonance\Ride\\arm-gcc\arm-none-eabi\include" -D __attribute__(x)= -U_WIN32 -D __GNUC__=4 -D_STM32F103RBT6_ -D_STM3x_ -D_STM32x_ -DSTM32F10X_MD

C:\Raisonance\Ride\bin>r_clang.exe -cc1 -w -print-decl-contexts -fshort-enums "c:\raisonance\ride\examples\arm\reva\stm32f103_toggle\stm32f10x_flash.c" -I"C:\Raisonance\Ride\Examples\ARM\REva\STM32F103_Toggle" -I"C:\Raisonance\Ride\Examples\ARM\REva\STM32F103_Toggle" -I"." -I"C:\Raisonance\Ride\Lib\ARM\include" -I"C:\Raisonance\Ride\\arm-gcc\lib\gcc\arm-none-eabi\4.5.2\include" -I"C:\Raisonance\Ride\\arm-gcc\arm-none-eabi\include" -D __attribute__(x)= -U_WIN32 -D __GNUC__=4 -D_STM32F103RBT6_ -D_STM3x_ -D_STM32x_ -DSTM32F10X_MD

C:\Raisonance\Ride\bin>r_clang.exe -cc1 -w -print-decl-contexts -fshort-enums "c:\raisonance\ride\examples\arm\reva\stm32f103_toggle\main.c" -I"C:\Raisonance\Ride\Examples\ARM\REva\STM32F103_Toggle" -I"C:\Raisonance\Ride\Examples\ARM\REva\STM32F103_Toggle" -I"." -I"C:\Raisonance\Ride\Lib\ARM\include" -I"C:\Raisonance\Ride\\arm-gcc\lib\gcc\arm-none-eabi\4.5.2\include" -I"C:\Raisonance\Ride\\arm-gcc\arm-none-eabi\include" -D __attribute__(x)= -U_WIN32 -D __GNUC__=4 -D_STM32F103RBT6_ -D_STM3x_ -D_STM32x_ -DSTM32F10X_MD

C:\Raisonance\Ride\bin>

As you can see, each execution of "r_clang.exe" returned nothing, and left the command prompt as-is.

+1
0
-1
January 14, 2013 - 4:43pm
Guest

Hi asmodyne,

Executing the r_clang command line is supposed to generate a [filename].out file . If they are not empty could you send us (support@raisonance.com) the corresponding .out files?

regards,
Behnaz

+1
0
-1
January 14, 2013 - 5:05pm
Guest

Aha ! This is much clearer, indeed.

I've sent the resulting main.out file to your support email box (zipped text main.out file).

Meanwhile, I'm dealing with a strange malloc/asprintf problem. I've still not managed to understand were to verify the GCC's heap consuption, as I'm not used to work with this cart horse of GCC on small-sized device such as Cortexes M3. More of this on the ARM section of this forum, if I don't solve the issue.

+1
0
-1
January 15, 2013 - 10:27pm
Guest

asmodyne wrote:
Aha ! This is much clearer, indeed.

I've sent the resulting main.out file to your support email box (zipped text main.out file).

Meanwhile, I'm dealing with a strange malloc/asprintf problem. I've still not managed to understand were to verify the GCC's heap consuption, as I'm not used to work with this cart horse of GCC on small-sized device such as Cortexes M3. More of this on the ARM section of this forum, if I don't solve the issue.


please read : "managed to understant where to verify the GCC's heap consumption... ...on smal-sized deviceS ...

+1
0
-1
January 16, 2013 - 1:50pm
Raisonance Support Team

Hi,

To verify the heap consumption you need to look at the srbk.c. this function allocate the size for the heap depending to the stack size.
You can find srbk.c in the follow directory:
C:\Raisonance\Ride\lib\ARM\std_sbrk

Look at this function, you will find 2 pointers:
- end will be the beginning of the heap (the address is fixed)
- heap_end will be the end of the heap (the address depends of the stack size)

Depends what you want to do:
If you need to allocate a fixed size to the heap you must define the "stack_ptr" as a constant.
If you need to know the size of the heap, you will need to do "heap_end - end address". the problem is that the heap_end is define as static and to make the difference between the 2 addresses you need to declare it as global.

Hope it can help you

Regards

Etienne

+1
0
-1
January 16, 2013 - 10:15pm
Guest

Anyway... I still can't understand why Ride7 is parsing the source code so often. Isn't it to provide some definition coverage ?

Another thing troubling me is the complete disregard of the IDE about any symbol predefined in projects properties.
What I am talking about is the nifty and helpful "gray out inactive code" in the Editor preferences.
It's not a gadget anymore when one tries to port STM libraries to boards different from the STM32XXX_EVALs.

Symbols defined locally in the files are handled and leads to grayed/untouched code color.
Symbols defined in the projects GCC properties aren't taken into account.

Sometimes I wish I could use my Rlink with RDI drivers. Even more since I learned our "samsung" team still have some EWAVR licences unused from their "site bundle" or whatchamaycallit.
*sigh*

+1
0
-1
January 17, 2013 - 2:13pm
Raisonance Support Team

The Ride team is working on it and we will try to improve this part of the global symbols in a future release.
Thanks for your understanding
Etienne