Simplicity Studio and GCC

I downloaded the file 160318FreeRTOSSiLabs.zip and imported the project in Simplicity Studio IDE v3. First I had to correct the path of FREERTOS_ROOT variable in project settings. When I build the project I get the following error: Field ’em23VregFullEn’ could not be resolved in /RTOSDemo/SiLabsSource/emlib/ememu.c line 756 Semantic Error ‘EMUEM23InitTypeDef’ has no member named ’em23VregFullEn in /RTOSDemo/SiLabsSource/emlibememu.c line 756 C/C++ Problem How to fix it?

Simplicity Studio and GCC

First I had to correct the path of FREERTOS_ROOT variable in project settings.
That should not be necessary – the variable is set to “${PROJECT_LOC}......”, which is a path relative to the project directory, so unless you changed the directory structure, or didn’t follow the import instructions provided on the website exactly, it should just work. What did you need to change it to?
When I build the project I get the following error: Field ’em23VregFullEn’ could not be resolved in /RTOSDemo/SiLabsSource/emlib/ememu.c line 756 Semantic Error ‘EMUEM23InitTypeDef’ has no member named ’em23VregFullEn in /RTOSDemo/SiLabsSource/emlibememu.c line 756 C/C++ Problem
What happens if you right click on the ‘EMUEM23InitTypeDef’ type in the source code (the location of which is part of the error message), then select “Open Declaration” from the pop up menu. In my set up I’m taken to the following definition: ~~~~ typedef struct { bool em23VregFullEn;/**< Enable full VREG drive strength in EM2/3 */ } EMU_EM23Init_TypeDef; ~~~~ which, as you see, does have a em23VregFullEn variable. Note, the header file this extract is taken from is part of the Simplicity studio directory structure, it is not part of the FreeRTOS code. Have you installed support for the target you are trying to use in Simplicity Studio (either Giant or Pearl Gecko, I don’t think you said which you were using). If not, that might be your problem.

Simplicity Studio and GCC

I have just updated the build instructions to include the following as the first step: “Ensure you have Giant and/or Pearl Gecko starter kit support included in your Simplicity Studio installation, otherwise the project will fail to build. Support for additional EFM32 devices and starter kits can be installed using the Simplicity Studio menus.”

Simplicity Studio and GCC

Unfortunately I have the EFM32 STK3600 board. I unpacked the 160318FreeRTOSSiLabs.zip file in the “C:UsersAntonelloSimplicityStudio”. Attached images show list the problems I have. I corrected the FREERTOS_ROOT variable to point to “C:UsersAntonelloSimplicityStudioFreeRTOSSiLabs”. The declaration of ‘EMU_EM23 TypeDef Init’ is the following: ~~~~ /** Energy Mode 2 and 3 initialization structure */ typedef struct { EMU_EM23VregMode_TypeDef em23Vreg; /**< Enable VREG in EM2/3 */ } EMU_EM23Init_TypeDef; ~~~~ What do you mean by ?
Support for additional EFM32 devices and starter kits can be installed using the Simplicity Studio menus.

Simplicity Studio and GCC

Please ensure the following the instructions on importing the project exactly – I see from the screen shot you have “copy projects into workspace” checked, which it should not be.

Simplicity Studio and GCC

Ok, this resolve FREERTOSROOT variable problem! Remains the problem with EMUEM23Init, probably because I have not the STK3700 connected to the PC. Be possible to compile For the STK3600? If yes, what are the steps to follow?

Simplicity Studio and GCC

Be possible to compile For the STK3600? If yes, what are the steps to follow?
That is becoming a tools issue, rather than a FreeRTOS support issue, but if the chip on the STK3600 is the same as that on the starter kit then I would guess the only change needed would be the pin used to toggle the LED.

Simplicity Studio and GCC

Starting from the example for the STK3700 board I created a demo for STK3600 board. I attached the project that mast be unpacked in the folder “FreeRTOS_SiLabsfreeRTOSDemo”. I see the LED0 flashing. It’s can insert a kind of “task table” in Simplicity Studio ?

Simplicity Studio and GCC

If Simplicity Studio uses GDB then you should be able to use the Eclipse StateViewer plug-in available from the http://www.highintegritysystems.com website.