MQX 4.2 SCHEDULING CONFIGURATION

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MQX 4.2 SCHEDULING CONFIGURATION

597 Views
anand_s
Contributor III

Hi All,

I have doubts in mqx 4.2 scheduling. in our project we are using mqx4.0(for k60) due to code memory size issue we are moving project to K66. so switched mqx 4.0 to 4.2 as there is no support for K66 in mqx 4.0. Now we are facing issue in scheduling scheme. In mqx4.0 we are not using time slicing MQX_HAS_TIME_SLICE to 0 if we do the same in mqx4.2 program controller resetting. in mqx4.0 we are using priority based event driven scheduling scheme .

is it possible to configure the same in mqx 4.2?

if it is possible please let me know how to configure?

Thanks in advance.

Regards

Anand.S

0 Kudos
1 Reply

513 Views
danielchen
NXP TechSupport
NXP TechSupport

Hi Anand.S

K66 is supported in MQX v5, please see below link for more details

MQX™ v5 Software Solutions | NXP 

FIFO is the default scheduling policy for both MQX 4.0 & 4.2.

If you need to use Round Robin scheduling, you need to set the MQX_TIME_SLICE_TASK attribute in the task template. The task's time slice is determined by the value of the template's DEFAULT_TIME_SLICE.

For example

TASK_TEMPLATE_STRUCT MQX_template_list[] =
{
{ MAIN_TASK, world_task, 0x2000, 5, "world_task", MQX_AUTO_START_TASK, 0L, 0},
{ HELLO, hello_task, 0x2000, 5, "hello_task", MQX_TIME_SLICE_TASK, 0L, 100},
{ FLOAT, float_task, 0x2000, 5, "Float_task", MQX_AUTO_START_TASK |MQX_FLOATING_POINT_TASK, 0L, 0},
{ 0, 0, 0, 0, 0, 0, 0L, 0 }
};

The hello_task task is a time slice task with a time slice of 100, in milliseconds. If the default compile-time configurations are used.

Regards

Daniel

0 Kudos