I'm aware that you're using an ARM 9 CPU. There should be no problem with that. The calling convention is dictated by the OS and toolchain as well, not just the CPU. I reiterate that the evidence so far indicates that you are seeing a calling convention mismatch here.
gdb is a debugger that runs on linux. If you're not running linux, what OS are you running? Are you asking for instructions on how to use gdb? I'm not sure I understand your question.