Hi,
I am using a LPCXpresso54628 (OM13098) board and since I am getting some hard faults I would like to trace the code since the Fault does not report the exact problem where to look for the fault.
However, I am unable to set up the instruction trace for the board. When I click on the Record button the IDE says that the instruction trace is not supported for the target. Sreenshoot below.
I have deleted the launch configuration but I get back the same message. Am I doing something wrong? Using MCUXpresso IDE v11.1.1 [Build 3241].
Thanks for any help.
Solved! Go to Solution.
1. You don't need to set anything up in the code - the IDE will do this when you start trace
2. 'conflicting types' means that it is already defined - probably in a header file.
Hi guys,
thanks for the info. I must say that the instructions found in MCUXpresso IDE Instruction Trace Guide misslead me since it says ETB is supported on a range of Cortex-M3, M4.... maybe that part of the text is not accurate enough, especially for somebody not familiar with tracing, or maybe it is just me :smileyhappy:
Nevertheless, I will look into it although I just found some info How To Use SWO Trace on MCUXpresso IDE for the LPCXpresso54114. I presume it can be scaled to fit the LPCXpresso54628 (edit: SWO pin is PIO0_10).
Stuck at Enable SWO Trace clock since the startup_lpc54628.c does not contain any code so I added (from the SWO trace help file):
volatile unsigned int *TRACECLKDIV = (unsigned int *) 0x40000304;
volatile unsigned int *SYSAHBCLKCTRLSET = (unsigned int *) 0x40000220;
// Write 0x00000000 to TRACECLKDIV / Trace divider
*TRACECLKDIV = 0;
// Enable IOCON peripheral clock // by setting bit13 via SYSAHBCLKCTRLSET[0]
*SYSAHBCLKCTRLSET = 1 << 13; // 0x2000
But I get the following error:
error: conflicting types for 'TRACECLKDIV'
error: conflicting types for 'SYSAHBCLKCTRLSET'
OK, thanks for the hint, I have managed to set it up however....
I am not getting the info needed to pinpoint the fault.
edit:
More in detali I am using FreeRTOS with 2 tasks (one xTaskCreate for USART and one for lwIP) and when I leave out eather one of those two everything is OK but when I use both the app gets a fault within a minute. Sometimes the fault is not presented but I can see that everything stopped and its driving me crazy.
Figured out that the USART STACKSIZE was to small, sometimes you cannot see a tree from the forest :smileyhappy:
1. You don't need to set anything up in the code - the IDE will do this when you start trace
2. 'conflicting types' means that it is already defined - probably in a header file.
Note that the other SWO trace modes are supported by MCUXpresso on these devices. Details in the Trace Guide supplied with the product.
Hi, Primate,
Pls refer to the community doc, it focuses on the SWO trace function based on LPCXpresso54628.
https://community.nxp.com/thread/530102
Regard
XiangJun Rong
That’s correct. MCUXpresso supports devices with ETB or MTB for instruction trace. The LPC54 devices use ETM for instruction tracing and thus are not supported.
The essential difference is that with ETB/MTB the traces instructions are captured in RAM on the device and then read out by the debug probe and decoded with the debugged. With ETM the trace is streamed directly through the trace port - at very high data rates. You need special hardware to capture the trace data.