ST意法半导体
直播中

王莉

7年用户 1305经验值
私信 关注
[问答]

带有CMSISv2的TouchGFX 4.13.0项目,运行目标时报错如何解决?

大家好,

我目前正在使用 touchGFX (4.13.0) 开发一个项目,我想使用 CMSISv2 函数和调用。由于 touchGFX 的默认配置是 CMSISv1,我打开 touchGFX 创建的 cubeMX 项目并在 FreeRTOS 配置菜单中更改了 CMSIS 版本。我从 cubeMX 生成文件,然后从 touchGFX 生成文件。当我“运行目标”时,出现此错误:

  • Run Target
  •     Generate
  •         Done
  •     Generate Assets
  •         make -f simulator/gcc/Makefile assets -j8
  •         Done
  •     Post Generate
  •         touchgfx update_project --project-file=simulator/msvs/Application.vcxproj
  •         Done
  •     Post Generate Target
  •         touchgfx update_project --project-file=../STM32F7508-DK.ioc --platform=m7
  •         Done
  •     Compile
  •         make -f ../gcc/Makefile -j8
  •         Generating TouchGFX/generated/texts/src/Texts.cpp
  •         Generating TouchGFX/generated/texts/src/LanguageGb.cpp
  •         Compiling TouchGFX/generated/fonts/src/Font_verdana_40_4bpp_0.cpp
  •         Compiling TouchGFX/generated/fonts/src/Kerning_verdana_40_4bpp.cpp
  •         Compiling TouchGFX/generated/fonts/src/Kerning_verdana_20_4bpp.cpp
  •         Compiling TouchGFX/generated/fonts/src/Kerning_verdana_10_4bpp.cpp
  •         Compiling TouchGFX/generated/fonts/src/Table_verdana_10_4bpp.cpp
  •         Compiling TouchGFX/generated/fonts/src/Table_verdana_40_4bpp.cpp
  •         Compiling TouchGFX/generated/fonts/src/Font_verdana_20_4bpp_0.cpp
  •         Compiling TouchGFX/generated/fonts/src/Font_verdana_10_4bpp_0.cpp
  •         Compiling TouchGFX/generated/fonts/src/Table_verdana_20_4bpp.cpp
  •         Compiling TouchGFX/generated/texts/src/LanguageGb.cpp
  •         Compiling TouchGFX/generated/texts/src/Texts.cpp
  •         Compiling TouchGFX/target/generated/TouchGFXGeneratedHAL.cpp
  •         Compiling TouchGFX/target/generated/STM32DMA.cpp
  •         Compiling TouchGFX/target/generated/TouchGFXConfiguration.cpp
  •         Compiling TouchGFX/target/TouchGFXHAL.cpp
  •         Compiling TouchGFX/target/generated/OSWrappers.cpp
  •         TouchGFX/target/generated/OSWrappers.cpp:21:10: fatal error: cmsis_os2.h: No such file or directory
  •          #include
  •                   ^~~~~~~~~~~~~
  •         compilation terminated.
  •         gcc/Makefile:327: recipe for target 'TouchGFX/build/STM32F7508-DK/TouchGFX/target/generated/OSWrappers.o' failed
  •         make[2]: *** [TouchGFX/build/STM32F7508-DK/TouchGFX/target/generated/OSWrappers.o] Error 1
  •         make[2]: *** Waiting for unfinished jobs....
  •         Compiling TouchGFX/target/TouchGFXGPIO.cpp
  •         make[1]: *** [generate_assets] Error 2
  •         gcc/Makefile:294: recipe for target 'generate_assets' failed
  •         ../gcc/Makefile:47: recipe for target 'all' failed
  •         make: *** [all] Error 2
  •         Failed
  •     Failed
所以touchGFX编译时,并没有找到CMSISv2文件。我试着弄乱一些包含或路径,但我无法想出一些有用的东西......

回帖(1)

吕品

2023-2-3 10:58:24
我能够解决我的问题,结果发现主要问题是 make 文件是正确生成的(必须将 CMSISv1 引用更改为 CMSISv2)。其余的是我的一些编码错误。

有些奇怪的是,我有一个大图像屏幕(比我正在显示的屏幕分辨率大)在 CMSISv1 上完美运行。当我切换到CMSISv2时,图像显示操作让TouchGFX线程崩溃了……不知道为什么。修复只是降低图像的分辨率以匹配屏幕。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分