<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.arm.com/utility/feedstylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>about Keil MDK &amp;quot;step-out&amp;quot; in debug mode</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/26922/about-keil-mdk-step-out-in-debug-mode</link><description> 
Hi 

 
I use ULINK2 to debug S3C2440. I notice that the start-up code
provided by Keil S3C2440.s, it change the cpu mode one by one to
setup the stack, and finally enter the user mode then jump to the C
code: 

 
; Setup Stack for each mode -------</description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: about Keil MDK "step-out" in debug mode</title><link>https://community.arm.com/thread/118189?ContentTypeID=1</link><pubDate>Mon, 21 Mar 2011 09:01:43 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:4589cb6a-0228-4271-90d8-d6c19d3a4c37</guid><dc:creator>Gp F</dc:creator><description>&lt;p&gt;&lt;p&gt;
StepOut works fine when the debugger can calculate the address a
function returns to. This works when the debug information contains
frame descriptions - this is the case with C and C++ but not
necessarily for assembly language routines. If the unwind chain is
broken, StepOut and stack unwinding are disabled. The call into the
runtime library &amp;#39;LDR R0, =__main&amp;#39; seems to cause this
behaviour...&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>