error: 'OSWrappers' has not been declared
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-04-13 2:47 AM
Hi everyone,
​
STM32CubeIDE 1.3.0
32F746-Dicovery
​
In the above environment, I chose TouchGFX as an additional software and added graphics.
And I created a simple GUI for testing by opening the file in the created TouchGFX directory.
And when compiling, the following error appeared.
​
../TouchGFX/target/generated/TouchGFXGeneratedHAL.cpp:35:32: error: 'OSWrappers' has not been declared
registerTaskDelayFunction(&OSWrappers::taskDelay);
^~~~~~~~~~
make: *** [TouchGFX/target/generated/subdir.mk:28: TouchGFX/target/generated/TouchGFXGeneratedHAL.o] Error 1
make: *** Waiting for unfinished jobs....
​
​
​Is there any way to solve it?
Thank you.
Solved! Go to Solution.
- Labels:
-
STM32CubeIDE
-
STM32F7 Series
-
TouchGFX
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-08-31 12:50 PM
Finished my tests. .ioc file definitely says STM32CubeIDE as expected - Great!
ProjectManager.PreviousToolchain=
ProjectManager.ProjectBuild=false
ProjectManager.ProjectFileName=746gtest.ioc
ProjectManager.ProjectName=746gtest
ProjectManager.StackSize=0x400
ProjectManager.TargetToolchain=STM32CubeIDE
ProjectManager.ToolChainLocation=
ProjectManager.UnderRoot=true
ProjectManager.functionlistsort=
- Add TouchGFX from Additional Software in CubeMX and generate code. Failures in compilation due to missing TouchGFX bootstrap.
- Open the .part file in TouchGFX designer and generate code. Here's part of what happened to the .cproject file (include paths).
✔ ~/STM32CubeIDE/workspace/746gtest2 [master L|✚ 1…15]
21:47 $ git diff
...
+ <listOptionValue builtIn="false" value="../TouchGFX/target/generated"/>
+ <listOptionValue builtIn="false" value="../Drivers/CMSIS/Include"/>
+ <listOptionValue builtIn="false" value="../Drivers/CMSIS/Device/ST/STM32F7xx/Include"/>
+ <listOptionValue builtIn="false" value="../Core/Inc"/>
+ <listOptionValue builtIn="false" value="../Drivers/STM32F7xx_HAL_Driver/Inc"/>
+ <listOptionValue builtIn="false" value="../TouchGFX/App"/>
+ <listOptionValue builtIn="false" value="../Drivers/STM32F7xx_HAL_Driver/Inc/Legacy"/>
+ <listOptionValue builtIn="false" value="../TouchGFX/target"/>
+ <listOptionValue builtIn="false" value="../Middlewares/ST/touchgfx/framework/include"/>
+ <listOptionValue builtIn="false" value="../TouchGFX/generated/fonts/include"/>
+ <listOptionValue builtIn="false" value="../TouchGFX/generated/gui_generated/include"/>
+ <listOptionValue builtIn="false" value="../TouchGFX/generated/images/include"/>
+ <listOptionValue builtIn="false" value="../TouchGFX/generated/texts/include"/>
+ <listOptionValue builtIn="false" value="../TouchGFX/gui/include"/>
Compiling OSWrappers.cpp without issues - Remember to press F5 on your CubeIDE project to reload changes to .cproject file! Classic eclipse. Once you do, TouchGFX will appear in the "Middlewares" folder.
make -j8 all
arm-none-eabi-g++ "../TouchGFX/target/generated/OSWrappers.cpp" -mcpu=cortex-m7 -std=gnu++14 -g3 ....
arm-none-eabi-g++ "../TouchGFX/target/generated/TouchGFXConfiguration.cpp" -mcpu=cortex-m7 -std=gnu++14 ...
arm-none-eabi-g++ "../TouchGFX/target/generated/TouchGFXGeneratedHAL.cpp" -
...
And finally we're done:
Finished building target: 746gtest.elf
arm-none-eabi-size 746gtest.elf
arm-none-eabi-objdump -h -S 746gtest.elf > "746gtest.list"
arm-none-eabi-objcopy -O binary 746gtest.elf "746gtest.bin"
text data bss dec hex filename
94822 2316 3248 100386 18822 746gtest.elf
Finished building: default.size.stdout
Finished building: 746gtest.bin
Finished building: 746gtest.list
22:11:55 Build Finished. 0 errors, 0 warnings. (took 14s.423ms)
Going to bed so i won't see answers until tomorrow. Good night! ;)
/Martin
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-04-29 7:46 AM
Hi,
Sounds like OSWrappers was not generated or was deleted somehow. Can you try generating again from CubeIDE?
/Martin
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-07-22 8:42 AM
Hi,
Did you find a solution for that problem, i got the same. I'm trying to create a TGFX application from CubeIDE. But this error halted me. And i don't know how to solve it.
Thanks!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-08-10 3:21 AM
Which version of CubeIDE? I will try to do some tests.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-08-23 11:48 AM
4 months later - the same problem - tGFX 4.14, CubeIDE in the latest version
Solution:
for c and c++ add "TouchGFX/touchgfx/framework/include" as include path
then another error -> solution: add "TouchGFX/generated/texts/include" as include path
another error -> exclude from build - simulator directory
next error (no fonts/ApplicationFontProvider.hpp) -> solution: add "TouchGFX/generated/fonts/include" as include path
next error (no gui/common/FrontEndHeap.hpp) -> solution: add "TouchGFX/gui/include" as include path
next errors - with screens -> solution: add "TouchGFX/generated/gui_generated/include" as include path
next error - with SDL2 include - exclude from build "TouchGFX/touchgfx/framework/include/platform/hal/simulator"
next - add "TouchGFX/generated/images/include" as include path
next - exclude SDL2TouchController.cpp
next - exclude TouchGFX/generated/simulator
next - exclude TouchGFX/simulator
next - exclude TouchGFX/touchgfx/os/OSWrappers.cpp
next - exclude TouchGFX/touchgfx/os/OSWrappers_cmsis.cpp
next- add "TouchGFX/touchGFX/lib/core/cortex_m7/gcc/" as library path
next - add ":libtouchgfx-float-abi-hard.a" as library
finally compile simple application =)
So - as summary -> after generating project in CubeIDE and then after selecting tGFX from cubeMX perspective (which is example way from documentation) there is no paths configurations added to project :\
BTW -> right we can't download tGFX 4.14 from site :\ site stays always on "login" step with download button
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-08-23 11:35 PM
​Hi,
Sounds to me like you might not have pressed "Generate code" from the designer. It should insert all the include paths you need, and generate the files required (and also exclude the simulator folder - Eclipse project cpp settings will include every cpp file in the project because of the defined pattern).
I'll look into the download issue.
/Martin
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-08-24 1:41 AM
TGFX code is generated - but there is no change in eclipse project in terms of paths/includes etc.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-08-25 11:37 AM
Can you confirm that after generating project (for STM32F7 discovery) from CubeIDE everything is fine on your setup? because there is also quite new topic with the same issue: https://community.st.com/s/question/0D73W000000UXIm/error-message-saying-oswrappershpp-dose-not-exist-what-to-do?s1oid=00Db0000000YtG6&s1nid=0DB0X000000DYbd&emkind=chatterCommentNotification&s1uid=0053W000001TnJA&emtm=1598350984400&fromEmail=1&s1ext=0
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-08-31 10:01 AM
Ok - so can someone from ST confirm this issue or we need to wait another 4months?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-08-31 12:16 PM
Since you asked so nicely, i'll get off the couch and verify this right now.
/Martin
