2018-05-22 06:12 PM
I made a project for CubeMX 4.25 + STemWin with 746Discovery (default config setting from CubeMX).
Everythingis well. (Keil 5.25 compiler)
I add FREERTOS to project (1 task with default setting)
After compiling I have error
linking...
746\7axf: Error: L6218E: Undefined symbol OS_TimeMS (referred from stemwin_wrapper.o).Searching for 'OS_TimeMS'...
H:\!STM32\!_F0_F1_F2_F3_F4_F7\F7\746_NG\STemWin_Cube_4_25\746_new_win_2layer_free\STemWin\Target\STemwin_wrapper.c(85) : extern volatile GUI_TIMER_TIME OS_TimeMS; H:\!STM32\!_F0_F1_F2_F3_F4_F7\F7\746_NG\STemWin_Cube_4_25\746_new_win_2layer_free\STemWin\Target\STemwin_wrapper.c(876) : OS_TimeMS++; Lines matched: 2 Files matched: 1 Total files searched: 148A similar situation for F4..
#freertos #cubemx #stemwin Note: this post was migrated and contained many threaded conversations, some content may be missing.Solved! Go to Solution.
2018-05-25 06:19 PM
solution of bug
in file ..........STemWin\Target\STemwin_wrapper.c comment
line (85):
//extern volatile GUI_TIMER_TIME OS_TimeMS;
line (876) :
// OS_TimeMS++;
It is work OK.
OS_TimeMS it is variable from GUI_X.c
You use GUI_X_OS.c
In attach working example
________________ Attachments : 746.ioc.zip : https://st--c.eu10.content.force.com/sfc/dist/version/download/?oid=00Db0000000YtG6&ids=0680X000006HxYM&d=%2Fa%2F0X0000000azn%2FE.VNbg2aQCfE2tFELkcHQKTlMIImuKbBRoeusv9eSeM&asPdf=false2018-05-23 12:34 AM
Hello
Chernobay.Vitali.002
,Please, make sure that your project contains all the required library source files.
Have you copiedthe
fileGUI_X.c?
You should copy the
GUI_X.c file
$Library_path\STM32Cube_FW_F7_V1.0\Middlewares\ST\STemWin\OS\GUI_X.c
to folder
‘\Src’in root of your project.
Hope this helps you.
With Regards,
Imen
2018-05-23 05:47 PM
Imen,
Thank you for attention.
CubeMX have to add GUI_X_OS.c to project with FREERTOS and delete GUI_X.c from a project
It is my no RTOS project
IT is FREERTOS project
For no RTOS project
Searching for 'OS_TimeMS'...
H:\!STM32\!_F0_F1_F2_F3_F4_F7\F7\746_NG\STemWin_Cube_4_25\746_new_win_2layer\STemWin\Target\STemwin_wrapper.c(85) : extern volatile GUI_TIMER_TIME OS_TimeMS;H:\!STM32\!_F0_F1_F2_F3_F4_F7\F7\746_NG\STemWin_Cube_4_25\746_new_win_2layer\STemWin\Target\STemwin_wrapper.c(876) : OS_TimeMS++;H:\!STM32\!_F0_F1_F2_F3_F4_F7\F7\746_NG\STemWin_Cube_4_25\746_new_win_2layer\Middlewares\ST\STemWin\OS\GUI_X.c(59) : volatile GUI_TIMER_TIME OS_TimeMS;H:\!STM32\!_F0_F1_F2_F3_F4_F7\F7\746_NG\STemWin_Cube_4_25\746_new_win_2layer\Middlewares\ST\STemWin\OS\GUI_X.c(73) : return OS_TimeMS; H:\!STM32\!_F0_F1_F2_F3_F4_F7\F7\746_NG\STemWin_Cube_4_25\746_new_win_2layer\Middlewares\ST\STemWin\OS\GUI_X.c(77) : int tEnd = OS_TimeMS + ms;H:\!STM32\!_F0_F1_F2_F3_F4_F7\F7\746_NG\STemWin_Cube_4_25\746_new_win_2layer\Middlewares\ST\STemWin\OS\GUI_X.c(78) : while ((tEnd - OS_TimeMS) > 0);Lines matched: 6 Files matched: 2 Total files searched: 120
For FREERTOS project
Searching for 'OS_TimeMS'...
H:\!STM32\!_F0_F1_F2_F3_F4_F7\F7\746_NG\STemWin_Cube_4_25\746_new_win_2layer_free\STemWin\Target\STemwin_wrapper.c(85) : extern volatile GUI_TIMER_TIME OS_TimeMS;H:\!STM32\!_F0_F1_F2_F3_F4_F7\F7\746_NG\STemWin_Cube_4_25\746_new_win_2layer_free\STemWin\Target\STemwin_wrapper.c(876) : // OS_TimeMS++;Lines matched: 2 Files matched: 1 Total files searched: 148Probably the OS_TimeMS generated by CubeMX needs to be removed from FREERTOS project?
With Regards,
Vitaliy
2018-05-25 06:19 PM
solution of bug
in file ..........STemWin\Target\STemwin_wrapper.c comment
line (85):
//extern volatile GUI_TIMER_TIME OS_TimeMS;
line (876) :
// OS_TimeMS++;
It is work OK.
OS_TimeMS it is variable from GUI_X.c
You use GUI_X_OS.c
In attach working example
________________ Attachments : 746.ioc.zip : https://st--c.eu10.content.force.com/sfc/dist/version/download/?oid=00Db0000000YtG6&ids=0680X000006HxYM&d=%2Fa%2F0X0000000azn%2FE.VNbg2aQCfE2tFELkcHQKTlMIImuKbBRoeusv9eSeM&asPdf=false2018-06-09 03:11 PM
The fault still remains for CubeMX 4.26
2018-07-12 10:02 PM
I solution for FreeRTOS doesn't work on CubeMX 4.26
:(
2018-07-13 12:35 AM
What exactly does not work?
Publish your project.2018-07-13 11:20 AM
I did like the instruction in this topic:
https://community.st.com/0D50X00009XkXi3SAF
The screen was black with a bar full of multiple colors, the project link is here:
https://drive.google.com/file/d/1GMxg0x5Jsgs2SXEdpn8GlKR5G6jG6kGj/view?usp=sharing
Thank you very much
2018-07-13 02:26 PM
Try inrease stack size in CubeMX (example from 0x400 to 0x4000)
and correct file STewin_wrapper.c
void GRAPHICS_Init(void)
{ /* Initialize the GUI */ GUI_Init()WM_MULTIBUF_Enable(1)
/* Enable the multi-buffering functionality *//* Activate the use of memory device feature */
/* USER CODE BEGIN WM_SetCreateFlags */ HAL_LTDC_ProgramLineEvent(&hltdc, 0) //!!!!!!!!!!!!!!!!!!!!!!!!MULTIBUF WM_SetCreateFlags(WM_CF_MEMDEV) /* USER CODE END WM_SetCreateFlags */}