Wednesday, December 13th 2017, 3:59pm UTC+1

You are not logged in.

  • Login
  • Register

Dear visitor, welcome to SEGGER Forum. If this is your first visit here, please read the Help. It explains how this page works. You must be registered before you can use all the page's features. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

jimmjimm

Beginner

Date of registration: Dec 9th 2013

Posts: 8

1

Monday, October 20th 2014, 2:56am

emwin with freeRTOS

Hi, guys
i try to use emwin and freeRTOS on my stm32f4 board, but i found something really wired

I found the task include emwin function(like WM_Exec(),GUI_TOUCH_Exec() or GUI_DispStringAt()) can not work with any another tasks even its empty task

but when i only run emwin task the system works fine.

i make macro GUI_OS is 1 GUI_MAXTASKis 5 emwin memory to 64k bytes
freeRTOS heap size from 90k bytes
system heap and stack size to 8k bytes

this is maximum ram i can provide but the system still not works

some one can help me?

SEGGER - Adrian

Super Moderator

Date of registration: May 26th 2009

Posts: 994

2

Monday, October 20th 2014, 10:25am

Hello,

Please note that changing preprocessor definitions can not have a effect to a precompiled library. Still emWin should work well with GUI_OS == 0 as long as it is called by one task only.

Please refer to the chapters "Getting Started" and "Configuration" for detailed information on how to set up a working project.

Best regards,
Adrian

jimmjimm

Beginner

Date of registration: Dec 9th 2013

Posts: 8

3

Monday, October 20th 2014, 12:00pm

Hello,

Please note that changing preprocessor definitions can not have a effect to a precompiled library. Still emWin should work well with GUI_OS == 0 as long as it is called by one task only.

Please refer to the chapters "Getting Started" and "Configuration" for detailed information on how to set up a working project.

Best regards,
Adrian
Hi, i used two different library one is Keil GUI_CM4F.lib antoher one is STemWin522_CM4_OS_Keil.lib but the system still not work
and i really dont understand what u mean, i checked configuration emwin page, it just said change the marcos and some marcos type

tmostad

Beginner

Date of registration: Apr 17th 2014

Posts: 14

4

Monday, October 20th 2014, 10:31pm

I use FreeRTOS with emWin on the Cypress PSoC 5LP with GNU tool chain. It works fine for me.

jimmjimm

Beginner

Date of registration: Dec 9th 2013

Posts: 8

5

Wednesday, October 22nd 2014, 9:49am

anyone?

SEGGER - Adrian

Super Moderator

Date of registration: May 26th 2009

Posts: 994

6

Thursday, October 23rd 2014, 11:16am

Hello,

Please understand that preprocessor directives can have an impact only at compile-time. The libraries you use are already compiled.

Best regards,
Adrian

jimmjimm

Beginner

Date of registration: Dec 9th 2013

Posts: 8

7

Friday, October 24th 2014, 2:53am

Hello,

Please understand that preprocessor directives can have an impact only at compile-time. The libraries you use are already compiled.

Best regards,
Adrian
Of course i know it so i picked STemWin522_CM4_OS_Keil.lib file but still not work, and the documentation just tell me to change the marco, please just tell me what should i do.

SEGGER - Adrian

Super Moderator

Date of registration: May 26th 2009

Posts: 994

8

Friday, October 24th 2014, 10:24am

Hello,

In case an emWin library was precompiled using the macro (GUI_OS == 0), calling emWin functions from more than one task will not work properly.

Best regards,
Adrian

jimmjimm

Beginner

Date of registration: Dec 9th 2013

Posts: 8

9

Monday, October 27th 2014, 1:51am

Hello,

In case an emWin library was precompiled using the macro (GUI_OS == 0), calling emWin functions from more than one task will not work properly.

Best regards,
Adrian
so what should i do?
i pretty sure STemWin522_CM4_OS_Keil.lib is precompiled with OS==1, cause i get from st website, emwin with freertos example.
and i get confused that if macro change not work why you guys still leave the macro there? As my understand the lib will run the function depend on the macro value, there should check macro value in the function

SEGGER - Adrian

Super Moderator

Date of registration: May 26th 2009

Posts: 994

10

Monday, October 27th 2014, 10:00am

Hello,

Please understand that I do not have any influence on how ST or KEIL are building their libraries. It is generally the usual way to send header files as they are along with the libraries, so the user can see which values the macros had been set with when creating the libraries.

Please note that macros are often used to determine which function to use for a certain purpose. The impact of a configuration macro often goes beyond the borders of functions.

Best regards,
Adrian

Similar threads