KDS: MQX "Stack", "Task"... not working

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

KDS: MQX "Stack", "Task"... not working

2,400 Views
arnogir
Senior Contributor II

Hello

 

I'm using KDS v2.0.0.0

 

I start the project and debug step by step.

I add the following view : MQX/Task List, MQX/Stack usage..

 

Then my application has an main task which is in Auostart.

Then in step by step, MQX information are Ok, but after the first _task_create(), all these information are not get.

 

Do you have an Idea?

(I'm using the P&E on a Kinetis K70)

 

Thank.

Labels (1)
0 Kudos
Reply
16 Replies

1,726 Views
ivadorazinova
NXP Employee
NXP Employee

Hello Arno Gir,

please, give me information:

1) do you use MQX or MQX for SDK?

2) do you use MQX Lite (component of PE) or MQX where drivers are component of OS?

Thank you,

Iva

0 Kudos
Reply

1,726 Views
arnogir
Senior Contributor II

Hi

I use MQX installed with the file FSLMQXOS_4_1_1_GA.exe.

It seems to me this is the normal MQX where drivers are component of the OS.

0 Kudos
Reply

1,726 Views
ivadorazinova
NXP Employee
NXP Employee

Arno Gir,

Did you create the project through the Processor Expert or MQX project without PEx or are you using any MQX example?

Iva

0 Kudos
Reply

1,726 Views
arnogir
Senior Contributor II

I don't use Processor expert.

I'm started form a sample project of type "hello"

0 Kudos
Reply

1,726 Views
ivadorazinova
NXP Employee
NXP Employee

Dear Arno Gir,

please, try to test example project taskq (because it also use _task_create()) if there you have the same problem?

Or if you have some logs - messages in Error Log in KDS during the debugging.

Thanks,

Iva

0 Kudos
Reply

1,726 Views
arnogir
Senior Contributor II

Hi

With this example, I can read the task Queue, task size etc..

But before call _task_create this example call

my_task_queue = _taskq_create(MQX_TASK_QUEUE_FIFO);


Is this can make the difference???:smileyconfused:

Edit: (With Example)

In fact, after the first shoot, if I "Terminate" (ctrl + F2) and/or "Disconnect" and then re-flash ("Debug Configuration...") The MQX visualization not work again (Stack, task...)

I must Close KDS, and then restart it, then re-flash and MQX visualization work again for only one "shoot"..

:smileycry:

And then with my real project, this work never!..I can read only before the first _task_create..

0 Kudos
Reply

1,726 Views
ivadorazinova
NXP Employee
NXP Employee

Dear Arno Gir,

there is no difference. If you try the example hello2, where is function _task_create() used, there is no problem in Debug Mode - new task is displayed ok.

But what you mentioned in Edit:... - yes, there is a bug, I found out the information for you -  it will be fixed in new version KDS.

Please, try to test the example hello2 (was created from hello) and tell me.

So, there are two options. You can wait for new KDS release (there will the new demo be) or I can send you the demo, which we fixed.

I consulted with author of the demo.

Iva

0 Kudos
Reply

1,726 Views
arnogir
Senior Contributor II

Hin

THank for your answer.

But if I wait new version, this will correct the problem I have with the demo on where the display work only one shoot.

But I don't explain why the display never work on my specific project..:smileyplain: ?

0 Kudos
Reply

1,726 Views
ivadorazinova
NXP Employee
NXP Employee

Hi,

you are right, new version will fix the one shoot problem.

Please, try to test example hello2 because the TAD shows tasks when debugger stepping. It works well.


Iva

0 Kudos
Reply

1,726 Views
arnogir
Senior Contributor II

Hello

I try with Hello2. I can see stack usage in two task. It seems work correctly.

Then, why with my project this don't work? Are they a KDS option to change that I didn't see?

Where problem can come from?:smileyconfused:

0 Kudos
Reply

1,726 Views
ivadorazinova
NXP Employee
NXP Employee

Arno Gir,

It is hard to say if I do not see your code. Is your project confidential ? Or is it your "home project?

Iva

0 Kudos
Reply

1,726 Views
arnogir
Senior Contributor II

Hi,

I will try to reduc my prject to only two single task by comment all other to test.

I will back to you, and if needed provide my  project?

Thank

0 Kudos
Reply

1,726 Views
ivadorazinova
NXP Employee
NXP Employee

Arno Gir,

yes. Of course.

You are welcome.

Iva

0 Kudos
Reply

1,726 Views
arnogir
Senior Contributor II

Hi,

1) Do you know which version of KDS will solve the "One shoot" problem?

2) I made some try.

In fact, the problem occurs as soon as task for "PEG" is created. (PEG is the graphic library)


The only difference with other task that I see is the stack size. When normal task has a stack size about 2000 to 5000bytes, PEG task has a stack size of 102000Bytes!

THis is the default value in a new PEG project.

So 2 points:

a) Why KDS not work to get MQX information when a task with stack size of 100KBytes is created?

b) I will see with PEG support how adjust the stack size because may be the need is lower!. May be answer can be given here by some people?:smileywink:

0 Kudos
Reply

1,726 Views
ivadorazinova
NXP Employee
NXP Employee

Hi Arno Gir,

I get an information that new TAD version does not relate with the KDS but only with the KDS update site, where new version be released in the during of February.

TAD gets information by query on GDB (debugger).

About the PEG - the stack size of PEG task is defined in the pegapp.cpp file, when task is declared and defined by PEG_STACK_SIZE.

So, e.g.

#define PEG_STACK_SIZE                 8192

It can be defined by Window Builder.

Touch task and pegtimer task will use the same amount. But you can reduce it.

By default is 16K, you can use 8K.

stack.png

I will contact other experts,

Best Regards

Iva

1,726 Views
arnogir
Senior Contributor II

Hello

Thank for the information about next release. I will wait it to try.

About PEG stack, Yes, the PEG support confirmed to me I can reduce it about 10K. No need more.

:smileyhappy:

0 Kudos
Reply