Cannot find bounds of current function

i am newer in using ocd, i use cross assembler compile a simple test.s,like:

.text
start:
    mov  r0,#0x0
    mov  r0,#0x1
    mov r2,#0x2
stop:
    b  stop

.end

then i use cross gdb ,connect to openocd, i want to know how to debug this program? i use instrucion monitor reset ,thenload test 0x3000000(this is my target DRAM addr,i have init it in script), but when i use step it usually error:Cannot find bounds of current function ,of course ,i can use ```
monitor step 0x3000000

<QUOTE>

> (gdb) target remote localhost:3333
> 
> A program is being debugged already. Kill it? (y or n) y
> 
> Remote debugging using localhost:3333
> 
> start () at test.s:3
> 
> 3 mov r0,#0x0
> 
> (gdb) step
> 
> start () at test.s:4
> 
> 4 mov r1,#0x01
> 
> (gdb) step
> 
> start () at test.s:5
> 
> 5 mov r2,#0x2
> 
> (gdb) step
> 
> start () at test.s:6
> 
> 6 mov r3,#0x3

</QUOTE>

so help me ,i dont know how to run like it rightly??