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!
已解决! 转到解答。
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:
Regards,
Bernhard.
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:
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!
-----------------------------------------------------------------------------------------------------------------------
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:
Thanks in advanced for the help.
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
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.
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:
Regards,
Bernhard.