Non-functional RTCS part of IAR/MQX debugger plug-in

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Non-functional RTCS part of IAR/MQX debugger plug-in

跳至解决方案
2,548 次查看
fcw
Contributor IV

I'm using the MQX debugger plug-in with MQX 4.2 and IAR Workbench 7.50.3.The "MQX" part works great, the "RTCS" part reports "RTCS Data is not currently valid." This is the case with the K60 Tower kit board, the FRDMK64 board, and a product prototype.

The RTCS component does work on untouched network demo code, so apparently  there's something different or not right in what I'm doing.

  • Libs are rebuilt with minor user_config.h changes which enable/disable different peripheral drivers and change console comm port.
  • No changes to RTCS config file.
  • Examined as-delivered user_config.h looking for relevant incantation.
  • Examined demo app source looking for relevant incantation.
  • Examined demo project options looking for relevant incantation.
  • Searched the MQX and RTCS docs for guidance.

I'm out of ideas... Suggestions/fixes???

标签 (1)
标记 (3)
0 项奖励
回复
1 解答
1,934 次查看
fcw
Contributor IV

For the benefit of anyone else having this problem. From Daniel Chen email:

-----------------------------------------------

Because I found no errors in your code, so I compared you IAR settings, and found the difference.

It seems that the IAR plug in does not record the RTCS data if halting at main_task, it maybe a plug-in issue. I will report this issue but not sure when this issue will be fixed.

-----------------------------------------------

I always break at main_task once low-level init and MQX startup are working properly, but apparently never changed the debugger settings when running demo apps...

在原帖中查看解决方案

0 项奖励
回复
7 回复数
1,934 次查看
fcw
Contributor IV

Daniel,

Thanks for the follow-up. No joy... At the return from RTCS_create(), all members of the RTCS data structure have been initialized to non-NULL values and the function returns RTCS_OK. All network operations in the application work fine, which also would indicate that things are OK within RTCS itself.

fcw

0 项奖励
回复
1,934 次查看
danielchen
NXP TechSupport
NXP TechSupport

Hi Fred:

Could you please create a simple project , which can run on TWR board, so we can reproduce your issue in our side? Post here or issue a ticket

How to submit a new question for NXP Support

Regards

Daniel

0 项奖励
回复
1,935 次查看
fcw
Contributor IV

For the benefit of anyone else having this problem. From Daniel Chen email:

-----------------------------------------------

Because I found no errors in your code, so I compared you IAR settings, and found the difference.

It seems that the IAR plug in does not record the RTCS data if halting at main_task, it maybe a plug-in issue. I will report this issue but not sure when this issue will be fixed.

-----------------------------------------------

I always break at main_task once low-level init and MQX startup are working properly, but apparently never changed the debugger settings when running demo apps...

0 项奖励
回复
1,934 次查看
fcw
Contributor IV

Daniel,

Great!

I'm guessing that the RTCS lib is involved so I'll open a support case addressed for your attention and send a test app and the MQX workspace.

fcw

0 项奖励
回复
1,934 次查看
fcw
Contributor IV

Daniel,

Thank you for the reply. Here's the first chunk of TAD diagnostics. Different format - Is yours from the IAR IDE? Scrolling through the list shows status of MQX components, nothing similar to the items shown in your clip.

fcw

tadDiag.JPG

0 项奖励
回复
1,934 次查看
danielchen
NXP TechSupport
NXP TechSupport

Hi Fred:

Have you solved your issue?

Yes, my picture is from Codewarrior ,  In IAR workbench, it should be like your posted.

MQX tad only gets and analyzes mqx structures.  Main structure on which depends is _mqx_kernel_data. so I think the problem might be there. For RTCS, MQX parse the RTCS_data_ptr structure. I suggest you trace the RTCS_create function (rtcscmd.c). whether the structure is valid or not.

......

   RTCS_data_ptr = RTCS_mem_alloc_system_zero(sizeof(RTCS_DATA));

   if (RTCS_data_ptr == NULL)  {

      error = RTCSERR_OUT_OF_MEMORY;

   } else {

   _mem_set_type(RTCS_data_ptr, MEM_TYPE_RTCS_DATA);

   RTCS_set_data(RTCS_data_ptr);   // after this line, the RTCS TAD should be working

......

Regards

Daniel

0 项奖励
回复
1,934 次查看
danielchen
NXP TechSupport
NXP TechSupport

Hi Fred:

Is TAD diagnostics view showing that kernel data is valid (like on screenshot below)?

4.jpg

Regards

Daniel

0 项奖励
回复