at this point I managed to build and debug the test program (fet430_1.c) on
my msp430fg439.

I'm using last eclipse, last zylin CDT and embedded CDT, and last mspgcc
build for win32.

the debug process is working, except some things:

1. each step I got 3(three) error message boxes "An error occured, see error
log for details".
the log transcript (verbose gdb output is on) is at the end of message...

2. there is no way to break executing program, gdb is just hang and gdbproxy
is producing continuous output like this:
debug: MSP430_State()
debug: MSP430_State() 1, (-1 steps)
debug: MSP430_State()
debug: MSP430_State() 1, (-1 steps)
debug: MSP430_State()
debug: MSP430_State() 1, (-1 steps)
debug: MSP430_State()
debug: MSP430_State() 1, (-1 steps)

the same situation as I try to step over some long-executing code, like
this:
   i = 50000;                          // Delay
   do (i--);
   while (i != 0);

here is the log from eclipse:
----------------------------------------------------
1-gdb-set confirm off
set remoteaddresssize 64
set remotetimeout 999999
target remote localhost:3333
1^done
(gdb)
2-gdb-set width 0
2^done
(gdb)
3-gdb-set height 0
3^done
(gdb)
4-interpreter-exec console echo
4^error,msg="Undefined MI command: interpreter-exec"
(gdb)
5-gdb-show prompt
5^done,value="(gdb) "
(gdb)
6 set remoteaddresssize 64
&"set remoteaddresssize 64\n"
6^done
(gdb)
7 set remotetimeout 999999
&"set remotetimeout 999999\n"
7^done
(gdb)
8 target remote localhost:3333
&"target remote localhost:3333\n"
8^done,thread-id="0",frame={addr="0x00001100",func="_reset_vector__",args=[]}
(gdb)
9 set download-write-size 2000
set download-write-size 2000
&"set download-write-size 2000\n"
9^done
(gdb)
10 set remote memory-write-packet-size 2000
set remote memory-write-packet-size 2000
&"set remote memory-write-packet-size 2000\n"
10^done
(gdb)
11 set remote memory-write-packet-size fixed
set remote memory-write-packet-size fixed
&"set remote memory-write-packet-size fixed\n"
11^done
(gdb)
12 set remote memory-read-packet-size 2000
set remote memory-read-packet-size 2000
set remote memory-read-packet-size fixed
monitor erase all
&"set remote memory-read-packet-size 2000\n"
12^done
(gdb)
13 set remote memory-read-packet-size fixed
&"set remote memory-read-packet-size fixed\n"
13^done
(gdb)
14 monitor erase all
&"monitor erase all\n"
@"Erasing target flash - all..."
@" Erased OK\n"
14^done
(gdb)
15 load /cygdrive/e/ti/mt/led/Debug/led.elf
&"load /cygdrive/e/ti/mt/led/Debug/led.elf\n"
load /cygdrive/e/ti/mt/led/Debug/led.elf
+download,{section=".text",section-size="108",total-size="142"}
+download,{section=".data",section-size="2",total-size="142"}
+download,{section=".vectors",section-size="32",total-size="142"}
15^done,address="0x1100",load-size="142",transfer-rate="142",write-rate="47"
(gdb)
16 symbol-file /cygdrive/e/ti/mt/led/Debug/led.elf
symbol-file /cygdrive/e/ti/mt/led/Debug/led.elf
&"symbol-file /cygdrive/e/ti/mt/led/Debug/led.elf\n"
16^done
(gdb)
17-stack-list-frames
17^done,stack=[frame={level="0 ",addr="0x00001100",func="_reset_vector__"}]
(gdb)
18 info program
&"info program\n"
~"Debugging a target over a serial line.\n"
~"Program stopped at 0x1100.\n"
~"It stopped with signal SIGABRT, Aborted.\n"
~"Type \"info stack\" or \"info registers\" for more information.\n"
18^done
(gdb)
19-environment-directory /cygdrive/E/ti/mt/led
/cygdrive/E/ti/mt/led/.settings /cygdrive/E/ti/mt/led/Debug
19^done
(gdb)
20 info threads
&"info threads\n"
&"warning: RMT ERROR : failed to get remote thread list\n"
&"\n"
20^done
(gdb)
21-data-list-register-names
21^done,register-names=["r0","r1","r2","r3","r4","r5","r6","r7","r8","r9","r10","r11","r12","r13","r14","r15"]
(gdb)
22-stack-info-depth
22^done,depth="1"
(gdb)
23-break-insert fet430_1.c:30
23^done,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x00001150",func="main",file="../fet430_1.c",line="30",times="0"}
(gdb)
24-stack-list-frames 0 1
24^done,stack=[frame={level="0 ",addr="0x00001100",func="_reset_vector__"}]
(gdb)
25-stack-list-arguments 0 0 0
25^done,stack-args=[frame={level="0",args=[]}]
(gdb)
26-stack-list-locals 0
26^done,locals=[]
(gdb)
27-exec-continue
27^running
(gdb)
27*stopped,reason="breakpoint-hit",bkptno="1",thread-id="0",frame={addr="0x00001150",func="main",args=[],file="../fet430_1.c",line="34"}
(gdb)
28 info threads
&"info threads\n"
&"warning: RMT ERROR : failed to get remote thread list\n"
&"\n"
28^done
(gdb)
29-stack-info-depth
29^done,depth="1"
(gdb)
30-stack-list-frames 0 1
30^done,stack=[frame={level="0
",addr="0x00001150",func="main",file="../fet430_1.c",line="34"}]
(gdb)
31-data-list-changed-registers
31^done,changed-registers=["0","1","2","4","5","6","7","8","9","10","11","12","13","14","15"]
(gdb)
32-stack-list-arguments 0 0 0
32^done,stack-args=[frame={level="0",args=[]}]
(gdb)
33-stack-list-locals 0
33^done,locals=[name="i"]
(gdb)
34-var-create - * i
34^done,name="var1",numchild="0",type="struct <unknown>"
(gdb)
35-var-evaluate-expression var1
35^done,value="<incomplete type>"
(gdb)
_________________________________
--
_____________
Oleg V. Kobrin

Reply via email to