Regarding hangup when GDB breakpoint set

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hello

Would please help us for the GDB debugging issue?

 

1. Make Targetsnip.apsta-BCM9WCDUSI09-ThreadX-debug JTAG=Olimex_ARM-USB-TINY-H download

2. Double click to execute Target. After download completed, start to set the break point. It’s found the procedure stops as picture1, even click to resume, it still hang up cannot go on.

3. As shown in pictur2, we comment some codes and let the procedure go on.  It will show error as Picture 3 after resume. 


<Picture 1>     

pastedImage_0.png

<Picture 2>

pastedImage_2.png

<Picture 3>

pastedImage_1.png

0 Likes
1 Solution
Anonymous
Not applicable

The line you stopped on in picutre 1 causes a factory reset of the code in flash, then reboots the processor. The function never returns (as indicated in the comment at the end of the line ). That is why you can't continue...

The message in Picture 3 is not an error. When you stopped the processor, GDB reads the current program location for each thread. Eclipse then tries to open the matching source file to show where the current program location is in the source.

The location indicated in Picture 3 is inside ThreadX.  Broadcom do not provide source code for ThreadX, as this is proprietary to Express Logic.  Broadcom has paid to provide you with a free license to use the ThreadX. The message simply indicates that Eclipse cannot find the source code matching the current program location.    If you click on the item wiced_rtos_delay_milliseconds() then you will see code for that function.

If you want / need an RTOS that provides full source, then please look at the options to use FreeRTOS.


Regards,


Evan Hunter


View solution in original post

1 Reply
Anonymous
Not applicable

The line you stopped on in picutre 1 causes a factory reset of the code in flash, then reboots the processor. The function never returns (as indicated in the comment at the end of the line ). That is why you can't continue...

The message in Picture 3 is not an error. When you stopped the processor, GDB reads the current program location for each thread. Eclipse then tries to open the matching source file to show where the current program location is in the source.

The location indicated in Picture 3 is inside ThreadX.  Broadcom do not provide source code for ThreadX, as this is proprietary to Express Logic.  Broadcom has paid to provide you with a free license to use the ThreadX. The message simply indicates that Eclipse cannot find the source code matching the current program location.    If you click on the item wiced_rtos_delay_milliseconds() then you will see code for that function.

If you want / need an RTOS that provides full source, then please look at the options to use FreeRTOS.


Regards,


Evan Hunter