I am using Keil uVision version 5.40. I load the application in my target board using Keil ULINK2 Debugger. I can jump to my startup code. When I get to the following instruction:
bx __main()
I cannot single step into Keil's __main(). When I try stepping into it, code starts running. When I hit stop execution, I end up in the following filename (RT_Agent.c):
void _sys_exit (int return_code) { /* Endless loop. */ while (1); }
My guess is I'm not configuring my application properly.
Please advise!
It doesn't break at the prior instruction.
Call Stack looks something like following:
_sys_exit 0x000091F4 param - int 0x00016B8C 0x00015A1E 0x00015A1E 0x00016B8C
I set breakpoints at these addresses but it doesn't break there.
Well, it didn't get there because someone waved their magic wand!
Let me rewrite stack contents.
_sys_exit 0x000091F4 param - int
0x00016B8C
0x00015A1E
Also, I make it to example application main().
It's not necessary. Just single step through the code until it jumps to the error and you have it. It'll be a lot quicker than your persistent repetition here!
My co-worker made changes to my startup code, RTX_config.c, and uVision project file.
I still can't make it to my main().
I stepped through Keil's __main(). There is following software interrupt instruction:
SWI #AB
#AB ? never saw numbers that high in software interrupts.
I think there is no handler for this software interrupt number so I consistently get stuck at while(1)