Quantcast
Channel: Embedded Software (Read Only)
Viewing all articles
Browse latest Browse all 25965

Forum Post: RE: GNU examples for EK-TM4C123GXL fail to start unless debugger connected

$
0
0

Hi Chester,

[quote user="Chester Gillon"]

While I don't fully understand the sequence of the failure, I think the problem is that the GNU target host I/O uses a BKPT #171 instruction in the do_AngelSWI inline function in the run time library to signal to the host that host I/O is needed. The ARM Cortex-M4 Devices Generic User Guide says "The BKPT instruction causes the processor to enter Debug state", and thus I think the target will halt if no debugger is attached when host I/O is attempted.

[/quote]

That is correct. The UART Echo example is built with semi-hosting enabled and will not work as expected if the debugger is disconnected.

Semi-hosting is implemented using breakpoints in Cortex-M3/M4 targets. If the debugger is connected, it knows how to process the semihosting breakpoint and continue execution. However, if the debugger is disconnected and the board is reset, the app will not be able to continue execution at the breakpoint.

The solution to your problem is to replace the librdimon (semi-hosting) library with libnosys library and remove the useModule for "ti.sysbios.rts.gnu.SemiHostSupport" module from the example's *.cfg file.

I think this info needs to be in the readme for the example. I will file a bug to get it added.


Best,

Ashish

Screenshots for the changes required:

Replace "rdimon" with "nosys":

Remove useModule for SemiHostSupport module from UARTEcho's *.cfg file:


Viewing all articles
Browse latest Browse all 25965

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>