restart for remote target

Efim Monyak ymonyak@lipowsky.de
Tue Jul 25 17:48:00 GMT 2006


Daniel Jacobowitz schrieb:
> On Tue, Jul 25, 2006 at 06:19:51PM +0200, Efim Monyak wrote:
>   
>> I delete all breakpoints before load the applications again because my 
>> Hardware supports only two
>> breakpoints. In other case I receive error from GDB. The load is 
>> multistep. In one of steps I must set
>> an breakpoint to particular address and only one way I found to put it 
>> away is command delete all breakpoints.
>> As I see no command deletes breakpoint on address. Use breakpoint to 
>> source line is not very good on this place.
>>     
>
> "delete *0x3000000" should work.
>
> Also, it sounds like you want "disable", not "delete".
>
>   
>> It is not possible for stub restart the application. They are often 
>> problem if a remote target is used.
>> As I wrote set PC to start address works not properly if i.e. interrupts 
>> are enabled.
>> If application runs from RAM it is lost after Hardware reset.
>>
>> The only handy way I see is to reload application set all used 
>> breakpoints and start it again.
>>     
>
> In many cases the stub can handle all of this automatically,
> manually disabling interrupts et cetera.
>
>   

debug session breaks because error.

hier is my user-defined command:

set $myvar = 0

define run
    if $myvar
        printf "\n 000000000000000000000000000 \n"
        disable
       
        printf "\n 44444444444444444444444444444 \n"
       
        k
        set remotebaud 300
        target remote /dev/ttyS3
        load reset.elf
        symbol-file reset.elf
        # set breakpoint to reset vector
        b * 0

        printf "\n 555555555555555555555555555555 \n"

        # start program
        c
        delete * 0
       
        printf "\n 666666666666666666666666666666 \n"
       
        # kill program
        k

        printf "\n 222222222222222222222222222 \n"

        set remotebaud 300
        target remote /dev/ttyS3
        load init.elf
        symbol-file init.elf
        # set breakpoint to end of program
        b end_init
        # start program
        c
        # delete all breakpoints (werden nicht mehr benutzt)
        clear end_init
        #kill program
        k
       
        printf "\n 33333333333333333333333333333 \n"
       
        set remotebaud 300
        target remote /dev/ttyS3
        load sample.elf
        symbol-file sample.elf
        set $myvar = 1
        enable
        continue
    else
        set $myvar = 1
        printf "\n 111111111111111111111111111 \n"
        continue
    end


and hier GDB messages:
156-exec-run
 (gdb)
156^running
 (gdb)
 ~"\n 000000000000000000000000000 \n"
 ~"\n 44444444444444444444444444444 \n"
156+download,{section="startup",section-size="32",total-size
="19040"}
156+download,{section="startup1",section-size="264",total-si
ze="19040"}
156+download,{section="prog",section-size="100",total-size="
19040"}
&"Error in re-setting breakpoint 3:\n"
&"No line 120 in file \"../src/main.c\".\n"
 ~"\n 555555555555555555555555555555 \n"
&"warning: bad breakpoint number at or near '* 0'\n"
&"warning: bad breakpoint number at or near '0'\n"
~"\n 666666666666666666666666666666 \n"
~"\n 222222222222222222222222222 \n"
156+download,{section="startup",section-size="32",total-size
="25297"}
156+download,{section="prog",section-size="4900",total-size=
"25297"}
156+download,{section="prog",section-sent="4051",section-siz
e="4900",total-sent=\
"4083",total-size="25297"}
~"\n 33333333333333333333333333333 \n"
156+download,{section="startup",section-size="516",total-siz
e="1132725"}
156+download,{section="text",section-size="1916",total-size=
"1132725"}
156+download,{section=".data",section-size="2",total-size="1
132725"}
&"Warning:\n"
&"Cannot insert breakpoint 6.\n"
&"Error accessing memory address 0x0: Unknown error 42949672
95.\n"
&"\n"
156^error,msg="Warning:\nCannot insert breakpoint 6.\nError
accessing memory add\
ress 0x0: Unknown error 4294967295.\n"


-- 
Mit freundlichen Gruessen
Efim Monjak


Lipowsky Industrie-Elektronik GmbH
64291 Darmstadt, Roemerstr. 57
Telefon:  +49-(0)6151-93591-0   
Telefax:  +49-(0)6151-93591-28  
Email:    ymonyak@lipowsky.de
Homepage: http://www.lipowsky.de
DIN EN ISO 9001:2000 certified by DQS



More information about the Gdb mailing list