MQX Task Aware Debugging Not Showing Anything

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

MQX Task Aware Debugging Not Showing Anything

跳至解决方案
1,655 次查看
nouriss
Contributor I

Hello,

I'm debuging an MQX application on Eclipse (Kepler) over SEGGER Jlink probe. The target MCU is the A5 core of Vybrid.

Using  the following configuration:

MQX 4.1.0

Eclipse CDT: version  8.3.0.201402142303

GNU ARM Eclipse plug-in : version  3.2.1.201604190915

MQX RTOS Task Aware Debugger for GDB :  version 1.0.9

JLinkGDBServerCL.exe: version JLink_V512g

When requesting any of MQX TAD views, communication  takes place between the GDB client and server to fetch data, but still the TAD views remain empty and disabled.

**The GDB log shows the following traces**:

!ENTRY org.eclipse.cdt.dsf 4 10005 2016-06-15 14:11:39.063

!MESSAGE Request for monitor: '72^error,msg="No symbol "MQX_USE_LWMEM" in current context."' resulted in an error.

!SUBENTRY 1 org.eclipse.cdt.dsf.gdb 4 10004 2016-06-15 14:11:39.063

!MESSAGE Failed to execute MI command:

-data-evaluate-expression MQX_USE_LWMEM

Error message from debugger back end:

No symbol "MQX_USE_LWMEM" in current context.

!STACK 0

java.lang.Exception: No symbol "MQX_USE_LWMEM" in current context.

  at org.eclipse.cdt.dsf.mi.service.command.AbstractMIControl$RxThread.processMIOutput(AbstractMIControl.java:925)

  at org.eclipse.cdt.dsf.mi.service.command.AbstractMIControl$RxThread.run(AbstractMIControl.java:754)

!ENTRY org.eclipse.cdt.dsf 4 10005 2016-06-15 14:11:39.606

!MESSAGE Request for monitor: '81^error,msg="No symbol "MQX_USE_LWMSGQ" in current context."' resulted in an error.

!SUBENTRY 1 org.eclipse.cdt.dsf.gdb 4 10004 2016-06-15 14:11:39.606

!MESSAGE Failed to execute MI command:

-data-evaluate-expression MQX_USE_LWMSGQ

Error message from debugger back end:

No symbol "MQX_USE_LWMSGQ" in current context.

!STACK 0

java.lang.Exception: No symbol "MQX_USE_LWMSGQ" in current context.

  at org.eclipse.cdt.dsf.mi.service.command.AbstractMIControl$RxThread.processMIOutput(AbstractMIControl.java:925)

  at org.eclipse.cdt.dsf.mi.service.command.AbstractMIControl$RxThread.run(AbstractMIControl.java:754)

!ENTRY org.eclipse.cdt.dsf 4 10005 2016-06-15 14:11:40.143

!MESSAGE Request for monitor: '84^error,msg="No symbol "MQX_USE_LWTIMER" in current context."' resulted in an error.

!SUBENTRY 1 org.eclipse.cdt.dsf.gdb 4 10004 2016-06-15 14:11:40.143

!MESSAGE Failed to execute MI command:

-data-evaluate-expression MQX_USE_LWTIMER

Error message from debugger back end:

No symbol "MQX_USE_LWTIMER" in current context.

!STACK 0

java.lang.Exception: No symbol "MQX_USE_LWTIMER" in current context.

  at org.eclipse.cdt.dsf.mi.service.command.AbstractMIControl$RxThread.processMIOutput(AbstractMIControl.java:925)

  at org.eclipse.cdt.dsf.mi.service.command.AbstractMIControl$RxThread.run(AbstractMIControl.java:754)

!ENTRY org.eclipse.cdt.dsf 4 10005 2016-06-15 14:11:40.646

!MESSAGE Request for monitor: '85^error,msg="No symbol "MQX_USE_MEM" in current context."' resulted in an error.

!SUBENTRY 1 org.eclipse.cdt.dsf.gdb 4 10004 2016-06-15 14:11:40.646

!MESSAGE Failed to execute MI command:

-data-evaluate-expression MQX_USE_MEM

Error message from debugger back end:

No symbol "MQX_USE_MEM" in current context.

!STACK 0

java.lang.Exception: No symbol "MQX_USE_MEM" in current context.

  at org.eclipse.cdt.dsf.mi.service.command.AbstractMIControl$RxThread.processMIOutput(AbstractMIControl.java:925)

  at org.eclipse.cdt.dsf.mi.service.command.AbstractMIControl$RxThread.run(AbstractMIControl.java:754)

!ENTRY org.eclipse.cdt.dsf 4 10005 2016-06-15 14:11:41.352

!MESSAGE Request for monitor: '107^error,msg="No symbol "_mqxlite_version_number" in current context."' resulted in an error.

!SUBENTRY 1 org.eclipse.cdt.dsf.gdb 4 10004 2016-06-15 14:11:41.352

!MESSAGE Failed to execute MI command:

-data-evaluate-expression _mqxlite_version_number

Error message from debugger back end:

No symbol "_mqxlite_version_number" in current context.

!STACK 0

java.lang.Exception: No symbol "_mqxlite_version_number" in current context.

  at org.eclipse.cdt.dsf.mi.service.command.AbstractMIControl$RxThread.processMIOutput(AbstractMIControl.java:925)

  at org.eclipse.cdt.dsf.mi.service.command.AbstractMIControl$RxThread.run(AbstractMIControl.java:754)

**And the Tad log shows the following traces**

(13:55:45.369) INFO: [TadState] TAD state init (NONE)

(14:11:01.105) INFO: [TadModel] DSF session ID 0 has started

(14:11:15.820) INFO: [TadState] TAD state changed from DEBUG_STARTED to DEBUG_INIT_0 (Suspended, USER_REQUEST)

(14:11:25.113) INFO: [TadState] TAD state changed from DEBUG_INIT_0 to DEBUG_INIT_1 (Resumed, USER_REQUEST)

(14:11:25.441) INFO: [TadState] TAD state changed from DEBUG_INIT_1 to DEBUG_SUSPENDED (Suspended, BREAKPOINT)

(14:11:29.735) INFO: [TadState] TAD state changed from DEBUG_SUSPENDED to DEBUG_RESUMED (Resumed, STEP)

(14:11:38.761) INFO: [TadState] TAD state changed from DEBUG_RESUMED to READY (Suspended, SIGNAL)

(14:11:39.560) ReadingException: com.freescale.mqx.gdb.tad.model.globalstatus.TadGlobalStatusFactory.whichTadViewsAreEnabled() at 84.line "readIntVariableSafely(MQX_USE_LWMEM)"

(14:11:39.594) ReadingException: com.freescale.mqx.gdb.tad.model.globalstatus.TadGlobalStatusFactory.whichTadViewsAreEnabled() at 86.line "readIntVariableSafely(_mqx_kernel_data->KERNEL_COMPONENTS7)"

(14:11:40.095) ReadingException: com.freescale.mqx.gdb.tad.model.globalstatus.TadGlobalStatusFactory.whichTadViewsAreEnabled() at 90.line "readIntVariableSafely(MQX_USE_LWMSGQ)"

(14:11:40.633) ReadingException: com.freescale.mqx.gdb.tad.model.globalstatus.TadGlobalStatusFactory.whichTadViewsAreEnabled() at 92.line "readIntVariableSafely(MQX_USE_LWTIMER)"

(14:11:40.860) INFO: [TadState] TAD state changed from READY to DEBUG_RESUMED (Resumed, STEP)

(14:11:41.051) INFO: [TadState] TAD state changed from DEBUG_RESUMED to READY (Suspended, STEP)

(14:11:41.135) ReadingException: com.freescale.mqx.gdb.tad.model.globalstatus.TadGlobalStatusFactory.whichTadViewsAreEnabled() at 93.line "readIntVariableSafely(MQX_USE_MEM)"

(14:11:41.171) ReadingException: com.freescale.mqx.gdb.tad.model.globalstatus.TadGlobalStatusFactory.whichTadViewsAreEnabled() at 94.line "readIntVariableSafely(_mqx_kernel_data->KERNEL_COMPONENTS3)"

(14:11:41.839) ReadingException: com.freescale.mqx.gdb.tad.model.globalstatus.TadGlobalStatusFactory.getGlobalStatus() at 33.line "readLongVariableSafely(_mqxlite_version_number)"

(14:11:41.852) INFO: [TadGlobalStatusFactory] MQX data valid (version 4.1.0 (0x04010000))

(14:11:41.852) INFO: [TadModel$3] Loading of TAD Global Status took 3083 ms

Has anyone any idea about this problem?

Thanks.

Mohamed.

1 解答
1,104 次查看
Carlos_Musich
NXP Employee
NXP Employee

Hi Mohamed,

MQX for Vybrid is a special version released only for this target and TAD (Task Aware Debugger) is not supported with GNU. As you can see in the attached document 'MQX_GNU_Getting_Started' it does not mention TAD. On the other hand DS5 does support TAD as you can see in 'MQX_DS5_Getting_Started', but this TAD was developed by ARM Ltd and as described in documentation any issue should be addressed directly with them. Actually, TAD  for GDB is only supported in KDS for Kinetis devices, this is available in link below. So at the end of the day the combination of Vybrid + GNU + TAD + GDB is not supported by NXP because we have not developed or tested this environment. If you have any NXP reference where the combination above is documented please let me know.

http://cache.nxp.com/files/soft_dev_tools/doc/support_info/KSDKGSKDSUG.pdf?fpsp=1&WT_TYPE=Users%20Gu...


Regads,
Carlos

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

在原帖中查看解决方案

3 回复数
1,104 次查看
dry
Senior Contributor I

> Actually, TAD  for GDB is only supported in KDS for Kinetis devices

I'm using TAD on Vybrid VF61, debugging M4 running MQX 4.2., using GDB, Eclipse, Segger.

I took the TAD plugin from Kinetis. How much of TAD is working for me i dont' know, but I do get threads' info, stack usages, statuses, etc.

I know original question was about A5 and MQX 4.1, but anyhow

0 项奖励
回复
1,105 次查看
Carlos_Musich
NXP Employee
NXP Employee

Hi Mohamed,

MQX for Vybrid is a special version released only for this target and TAD (Task Aware Debugger) is not supported with GNU. As you can see in the attached document 'MQX_GNU_Getting_Started' it does not mention TAD. On the other hand DS5 does support TAD as you can see in 'MQX_DS5_Getting_Started', but this TAD was developed by ARM Ltd and as described in documentation any issue should be addressed directly with them. Actually, TAD  for GDB is only supported in KDS for Kinetis devices, this is available in link below. So at the end of the day the combination of Vybrid + GNU + TAD + GDB is not supported by NXP because we have not developed or tested this environment. If you have any NXP reference where the combination above is documented please let me know.

http://cache.nxp.com/files/soft_dev_tools/doc/support_info/KSDKGSKDSUG.pdf?fpsp=1&WT_TYPE=Users%20Gu...


Regads,
Carlos

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

1,104 次查看
nouriss
Contributor I

Hi Carlos,

thank you for your response,  actually I was trying to use this setup despite it isn't described anywhere.

I assumed that, if the TAD plugin was free to be integrated in Eclipse CDT, it would communicate with the GDB client as it is the case in other Eclipse based IDE like the ARM DS-5. Unfortunately that didn't work so far.

Regards,

Mohamed.

0 项奖励
回复