Unable to hit breakpoints on LPC4357 M0 core running FreeRTOS

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

Unable to hit breakpoints on LPC4357 M0 core running FreeRTOS

Jump to solution
3,627 Views
nos1989
Contributor II

Hello everyone,

I am new to multicore devlopment, FreeRTOS and ARM in general.  I am using the MCB4300 demo board with the Keil uVision development tools to run the LAN Radio Demo (Keil MCB4357 Evaluation Board and Internet Radio Solution|NXP ).

I am able to build it and run it just fine.  I can step through the code on the M4 core (running baremetal code) and set breakpoints, however when I try setting breakpoints on the M0 core (running FreeRTOS) the core never stops even though I know that condition has been reached as I am writing debug statements to a terminal window.  Are there any special settings that need to be set when multicore debugging or when using an RTOS?

Thanks!

Labels (2)
1 Solution
3,077 Views
bernhardfink
NXP Employee
NXP Employee

In the CM0 project there was no INI file provided for the debugger start. This means that the debug information from the axf file was not loaded into the debugger, therefore the relation between the source code and the binary code was missing. Anyway, it is indeed possible to set breakpoints, but just in the assembler code window.

Take the attached complete setup or do it simply by yourself, just provide the same ini file for both debug setups:

Picture1.png

Regards,

Bernhard.

View solution in original post

7 Replies
3,077 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi nos1989,

    Debug breakpoint is no relationship with freertos.

   The ARM Cortex-M0 in LPC4357 can support 2 instruction breakpoints, but you need to use JTAG debug mode.

   You can find this information in the LPC4357 user manual:

pastedImage_1.png

Please check your debug interface, and try again.

If you still have question, please tell me the detail step how reflect your problem, I will test it on my side.


Have a great day,
Kerry

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

0 Kudos
Reply
3,077 Views
nos1989
Contributor II

Kerry,

Thank you for your reply.  I wasn't working on this project for a little bit, but now just resumed.  I am still unable to hit any breakpoints on the M0 core.  Again, I know that specific code is executing, because I have some debug messages in that location, outputting to a serial console. The debugger is set to JTAG mode, here's what I have for settings:

pastedImage_3.png

Thanks in advanced for the help.

0 Kudos
Reply
3,077 Views
converse
Senior Contributor V

Almost certainly, your debugger is connected to the M4 and not the M0. If you want to debug the M0, you must connect a debugger to it. 

I don’t know how to do this with keil- I use xpresso 

0 Kudos
Reply
3,077 Views
nos1989
Contributor II

Interesting thought.  I have two instances of Keil uVision running, one for each core.  It seems that there is some JTAG communication between the cores. For instance, if I start a debugging session on both cores and start running the M0 core, it automatically triggers the M4 core to run.

Can someone with Keil uVision experience chime in on this?

Thanks.

0 Kudos
Reply
3,077 Views
fernandotheirs
Contributor II

Hi nos1989‌, could you find a solution for your problem? I'm stuck with the same. A basic example with both cores running but I can only set breakpoints in M4

Best regards,

Fernando

0 Kudos
Reply
3,078 Views
bernhardfink
NXP Employee
NXP Employee

In the CM0 project there was no INI file provided for the debugger start. This means that the debug information from the axf file was not loaded into the debugger, therefore the relation between the source code and the binary code was missing. Anyway, it is indeed possible to set breakpoints, but just in the assembler code window.

Take the attached complete setup or do it simply by yourself, just provide the same ini file for both debug setups:

Picture1.png

Regards,

Bernhard.

3,077 Views
fernandotheirs
Contributor II

Thank you very much! That was the problem!! :smileygrin:

0 Kudos
Reply