2025-09-06 11:47 AM - last edited on 2025-09-24 2:10 AM by Andrew Neil
Hello I have a problem compiling TouchGFX for Keil. My procedure:
1/ Run TouchGFX Designer 4.25
2/ Create New project
3/ Go to tab – By Partners – select board Riverdi STM32 121STM32H7
4/ Click to Create
5/ Add Button ( for example)
6/ Click Generate CODE
7/ Go to project Folder and open ioc file Riverdi_121STM32H7_1_6.ioc STM32CubeMx v6.5
8/ Go to tab Middleware and Software pack Select FreeRTOS M7 Select tab Advanced settings USE_NEWLIB_REENTRAND ← disable !!! ( for keil it must be turned off )
9/ Go to project manager Switch toolchain IDE to MDK keil
10/ Save and Generate CODE
11/ After generate code by STM32CubeMx I'm going back to Touchgfx Designer and click generate code again TouchGfx generate code for keil.
12/ Run project in Keil
13/ Go to Option for target Go to tab OUTPUT
and uncheck Browse information
14/ Project build target
15 / Keil linking problem Not enough information to list image symbols.
Not enough information to list load addresses in the image map.
Finished: 2 information, 0 warning and 81 error messages.
"Riverdi_121STM32H7_1_6_CM7\Riverdi_121STM32H7_1_6_CM7.axf" - 81 Error(s), 0 Warning(s).
Target not created.
Build Time Elapsed: 00:00:14
Can anyone please solve the problem with compiling this Riverdi display for KEIL? Please try to compile a simple project for Riverdi STM32H7 display in MDK KEIL.
Thanks
2025-10-14 7:11 AM
Hi
Thanks for the info.
Current Debugger and Target settings are
LR_IROM1 0x08000000 0x00100000 { ; load region for FLASH (1MB)
ER_IROM1 0x08000000 0x00100000 { ; execution region for FLASH
*.o (RESET, +First) ; Vector table
*(InRoot$$Sections)
.ANY (+RO)
.ANY (+XO)
.ANY (.text*)
.ANY (.rodata*)
.ANY (.ARM.extab*)
.ANY (.ARM.exidx*)
.ANY (.init_array*)
.ANY (.fini_array*)
.ANY (.preinit_array*)
}
}
LR_RAM_D1 0x24000000 0x00080000 { ; RAM_D1 (512K)
ER_RAM_D1 0x24000000 0x00080000 {
.ANY (+RW +ZI)
.ANY (.data*)
.ANY (.bss*)
.ANY (.RamFunc*)
.ANY (.RamFunc*)
.ANY (.bss)
.ANY (COMMON)
.ANY (._user_heap_stack)
}
}
LR_RAM_D2 0x30000000 0x00048000 { ; RAM_D2 (288K)
ER_RAM_D2 0x30000000 0x00048000 {
.ANY (.RxDecripSection)
.ANY (.TxDecripSection)
.ANY (.Rx_PoolSection)
}
}
LR_QUADSPI 0x90000000 0x04000000 { ; QUADSPI (64MB)
ER_QUADSPI 0x90000000 0x04000000 {
.ANY (ExtFlashSection)
.ANY (ExtFlashSection.*)
.ANY (.gnu.linkonce.r.*)
}
}
LR_SDRAM 0xD0000000 0x005DC000 { ; SDRAM (6000K)
ER_SDRAM 0xD0000000 0x005DC000 {
.ANY (TouchGFX_Framebuffer)
.ANY (TouchGFX_Framebuffer.*)
.ANY (.gnu.linkonce.r.*)
}
}
LR_SDRAM2 0xD05DC000 0x00224000 { ; SDRAM2 (2192K)
ER_SDRAM2 0xD05DC000 0x00224000 {
.ANY (Video_RGB_Buffer)
.ANY (Video_RGB_Buffer.*)
.ANY (.gnu.linkonce.r.*)
}
}