Tuesday, May 22nd 2018, 6:08am UTC+2

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.

kust

Beginner

Date of registration: Feb 11th 2011

Posts: 2

Location: Germany

1

Wednesday, March 28th 2012, 7:06am

Using more Task events with embOS V3.82n for Renesas SH2A bug (Sample: 32 events instead of 8 events)

Hello,

we use embOS V3.82n for Renesas SH2A source code version.
For our application we changed default Task events from 8 bit to 32 bit (#define OS_TASK_EVENT OS_U32). Using our custom version with more Task events we found a bug, that appears sometimes we using OS_WaitSingleEventTimed() (Task suspend for timeout time also if the masked event was signaled).

We located the bug. The function OS_DeactivateTimedV(), calling by OS_WaitSingleEventTimed(), modify the current Task event mask unfortunately with casting the mask:
  • OS_pCurrentTask->EventMask = (OS_U8)v;
For all who won’t to use more task events with embOS V3.82n for Renesas SH2A change the line to:
  • OS_pCurrentTask->EventMask = (OS_TASK_EVENT)v;
kind regards

SEGGER - Til

Super Moderator

Date of registration: Nov 14th 2007

Posts: 271

2

Wednesday, March 28th 2012, 9:09am

Hello,

unfortunately you are right, there was an issue with 32 bit task events and internal embOS funcion OS_DeactivateTimedV().
We apologize for any inconvenience caused by this problem.
This is already fixed in latest embOS version.

Regards,
Til