cancel
Showing results for 
Search instead for 
Did you mean: 

Compile error

Charles Bang
Associate II

0693W00000GZPIJQA5.pngI always show this message when I compile.

I tried to reinstall the TouchGFX 4.18.0 many times but it always same happened.

I tried to run in Windows 11 and Windows 10, but it is not changed.

I tried after removing the MS visual studio, but nothing changed.

I have STM32H7B3I-DK.

But it is the same happened when I try to PC simulate.

It has passed 2 weeks since I bought this kit.

But I can't proceed anymore because of this error.

I need support to solve this problem.

------------------------------------------------------------------------------------------------

Run Simulator

  Generate

    Done

  Generate Assets

    make -f simulator/gcc/Makefile assets -j8

    Reading ./application.config

    Done

  Post Generate

    touchgfx update_project --project-file=simulator/msvs/Application.vcxproj

    Done

  Post Generate Target

    touchgfx update_project --project-file=../STM32H7B3I-DK.ioc --platform=m7

    .project files generated inside project folder

    This is STM32CubeIDE project updater: Working on ../STM32CubeIDE/.project

    Project file: ../STM32CubeIDE/.cproject

    Done

  Compile

    make -f simulator/gcc/Makefile -j8

    Reading ./application.config

    Compiling gui/src/screen2_screen/Screen2View.cpp

    Compiling gui/src/screen2_screen/Screen2Presenter.cpp

    Compiling gui/src/screen1_screen/Screen1Presenter.cpp

    Compiling gui/src/screen1_screen/Screen1View.cpp

       0 [main] us 0 init_cheap: VirtualAlloc pointer is null, Win32 error 487

    AllocationBase 0x0, BaseAddress 0x60EA0000, RegionSize 0x160000, State 0x10000

    C:\TouchGFX\4.18.0\env\MinGW\msys\1.0\bin\mkdir.exe: *** Couldn't reserve space for cygwin's heap, Win32 error 0

       0 [main] us 0 init_cheap: VirtualAlloc pointer is null, Win32 error 487

    AllocationBase 0x0, BaseAddress 0x60EA0000, RegionSize 0x160000, State 0x10000

    C:\TouchGFX\4.18.0\env\MinGW\msys\1.0\bin\mkdir.exe: *** Couldn't reserve space for cygwin's heap, Win32 error 0

    generated/simulator/gcc/Makefile:196: recipe for target 'build/MINGW32_NT-6.2/gui/src/screen2_screen/Screen2View.o' failed

    make[2]: *** [build/MINGW32_NT-6.2/gui/src/screen2_screen/Screen2View.o] Error 1

    make[2]: *** Waiting for unfinished jobs....

    generated/simulator/gcc/Makefile:196: recipe for target 'build/MINGW32_NT-6.2/gui/src/screen2_screen/Screen2Presenter.o' failed

    make[2]: *** [build/MINGW32_NT-6.2/gui/src/screen2_screen/Screen2Presenter.o] Error 1

       0 [main] us 0 init_cheap: VirtualAlloc pointer is null, Win32 error 487

    AllocationBase 0x0, BaseAddress 0x60EA0000, RegionSize 0x160000, State 0x10000

    C:\TouchGFX\4.18.0\env\MinGW\msys\1.0\bin\mkdir.exe: *** Couldn't reserve space for cygwin's heap, Win32 error 0

    generated/simulator/gcc/Makefile:196: recipe for target 'build/MINGW32_NT-6.2/gui/src/screen1_screen/Screen1Presenter.o' failed

    make[2]: *** [build/MINGW32_NT-6.2/gui/src/screen1_screen/Screen1Presenter.o] Error 1

    Compiling gui/src/model/Model.cpp

    Compiling gui/src/common/FrontendApplication.cpp

       0 [main] us 0 init_cheap: VirtualAlloc pointer is null, Win32 error 487

    AllocationBase 0x0, BaseAddress 0x60EA0000, RegionSize 0x160000, State 0x10000

    C:\TouchGFX\4.18.0\env\MinGW\msys\1.0\bin\mkdir.exe: *** Couldn't reserve space for cygwin's heap, Win32 error 0

    make[2]: *** [build/MINGW32_NT-6.2/gui/src/screen1_screen/Screen1View.o] Error 1

    generated/simulator/gcc/Makefile:196: recipe for target 'build/MINGW32_NT-6.2/gui/src/screen1_screen/Screen1View.o' failed

       0 [main] us 0 init_cheap: VirtualAlloc pointer is null, Win32 error 487

    AllocationBase 0x0, BaseAddress 0x60EA0000, RegionSize 0x160000, State 0x10000

    C:\TouchGFX\4.18.0\env\MinGW\msys\1.0\bin\mkdir.exe: *** Couldn't reserve space for cygwin's heap, Win32 error 0

    generated/simulator/gcc/Makefile:196: recipe for target 'build/MINGW32_NT-6.2/gui/src/model/Model.o' failed

    make[2]: *** [build/MINGW32_NT-6.2/gui/src/model/Model.o] Error 1

       0 [main] us 0 init_cheap: VirtualAlloc pointer is null, Win32 error 487

    AllocationBase 0x0, BaseAddress 0x60EA0000, RegionSize 0x160000, State 0x10000

    C:\TouchGFX\4.18.0\env\MinGW\msys\1.0\bin\mkdir.exe: *** Couldn't reserve space for cygwin's heap, Win32 error 0

    generated/simulator/gcc/Makefile:196: recipe for target 'build/MINGW32_NT-6.2/gui/src/common/FrontendApplication.o' failed

    make[2]: *** [build/MINGW32_NT-6.2/gui/src/common/FrontendApplication.o] Error 1

    generated/simulator/gcc/Makefile:155: recipe for target 'generate_assets' failed

    make[1]: *** [generate_assets] Error 2

    simulator/gcc/Makefile:32: recipe for target 'all' failed

    make: *** [all] Error 2

    Failed

  Failed

6 REPLIES 6
MM..1
Chief II

In how directory is placed application, try short path without spaces for example c:/tproject/Myapp1

is on your disk free space,

try older version template if exist.

I tried it, but it is the same.

I remove the 4.18.0 and installed 4.17.0, it was the same.

I tried other paths, it was the same.

Charles Bang
Associate II

I solved this problem, but I have another problem again.

I found "rebase.exe" on the internet and copied it in the same folder with msys-1.0.dll.

And entered ".\rebase.exe -b 0x50000000 msys-1.0.dll".

It works now.

But I have another problem.

"Run Target" has an error now.​

Run Target

  Generate

    Done

  Generate Assets

    make -f simulator/gcc/Makefile assets -j8

    Reading ./application.config

    Done

  Post Generate

    touchgfx update_project --project-file=simulator/msvs/Application.vcxproj

    Done

  Post Generate Target

    touchgfx update_project --project-file=../STM32H7B3I-DK.ioc --platform=m7

    .project files generated inside project folder

    This is STM32CubeIDE project updater: Working on ../STM32CubeIDE/.project

    Project file: ../STM32CubeIDE/.cproject

    Done

  Compile

    make -f ../gcc/Makefile -j8

    Reading TouchGFX/application.config

    Linking TouchGFX/build/bin/target.elf

    Producing additional output formats...

     target.hex  - Combined internal+external hex

     intflash.elf - Internal flash, elf debug

     intflash.hex - Internal flash, hex

    Done

  Flash

    make -f ../gcc/Makefile flash

    Reading TouchGFX/application.config

    Linking TouchGFX/build/bin/target.elf

    Producing additional output formats...

     target.hex  - Combined internal+external hex

     intflash.elf - Internal flash, elf debug

     intflash.hex - Internal flash, hex

    /usr/bin/sh: line 0: cd: /c/Program Files (x86)/STMicroelectronics/STM32Cube/STM32CubeProgrammer/bin: No such file or directory

    c:/TouchGFXProjects/MyApplication_2/gcc/include/flash_sections_int_ext.mk:2: recipe for target '_extflash_' failed

    make[1]: *** [_extflash_] Error 1

    make: *** [flash] Error 2

    ../gcc/Makefile:52: recipe for target 'flash' failed

    Failed

  Failed

0693W00000GZhoSQAT.pnghttps://youtu.be/dDcpmdoovik

@mattias norlander​ @Khouloud ZEMMELI​ 

What do you think? Msys or cygwin bug? Windows broken on user's machine?

> I found "rebase.exe" on the internet and copied it in the same folder with msys-1.0.dll.

> And entered ".\rebase.exe -b 0x50000000 msys-1.0.dll".

> It works now.

Are you relying on cygwin to execute the "Flash" operation too?

If you are using cygwin then I guess that we cannot write this:

cd "/c/Program Files (x86)/STMicroelectronics/STM32Cube/STM32CubeProgrammer/bin"

Maybe the path need to also include "cygdrive/"? Like this:

cd "/cygdrive/c/Program Files (x86)/STMicroelectronics/STM32Cube/STM32CubeProgrammer/bin"