Hello everybody,
I am working with the EFM32G222F128
microcontroller, and I need to flash and debug it using GDB Server with
Eclipse on Ubuntu 12.04.
I followed several tutorials, including Silabs tutorial AN0023. But I am facing different problems, for which I couldn't find any answer through my research on the Internet.
Even if I don't think there is a problem on this side, I put you the configuration I use in a shell for the Segger J-Link GDB Server:
Display All
When it tries to connect to target, it just try for a bunch of seconds and then put the error.
Then, here is my log of error in Eclipse:
Display All
So first problem, it says "No symbol table is loaded. Use the 'file' command."
According
to what I found, I should have the -g option with the gcc compiler. I
don't exactly know where to put it in the makefile I have (see below).
And how to use this file command? I tried different command but without
any success.
The second problem is I have " 'monitor'
command not supported by this target". How can this be possible?
According to the manual it is.
And what do to to solve this problem: "You can't do that when your target is 'None' ".
How do I specify a target?
(Continued in next message because too long)
I am working with the EFM32G222F128
microcontroller, and I need to flash and debug it using GDB Server with
Eclipse on Ubuntu 12.04.
I followed several tutorials, including Silabs tutorial AN0023. But I am facing different problems, for which I couldn't find any answer through my research on the Internet.
Even if I don't think there is a problem on this side, I put you the configuration I use in a shell for the Segger J-Link GDB Server:
Source Code
- SEGGER J-Link GDB Server V4.96m Command Line Version
- JLinkARM.dll V4.96m (DLL compiled Mar 13 2015 15:25:13)
- -----GDB Server start settings-----
- GDBInit file: none
- GDB Server Listening port: 2331
- SWO raw output listening port: 2332
- Terminal I/O port: 2333
- Accept remote connection: yes
- Generate logfile: on
- Verify download: off
- Init regs on start: on
- Silent mode: off
- Single run mode: off
- Target connection timeout: 0 ms
- ------J-Link related settings------
- J-Link Host interface: USB
- J-Link script: none
- J-Link settings file: none
- ------Target related settings------
- Target device: EFM32G222F128
- Target interface: SWD
- Target interface speed: 1000kHz
- Target endian: little
- Connecting to J-Link...
- J-Link is connected.
- Firmware: J-Link OB-STM32F072-CortexM compiled Sep 17 2015 11:25:21
- Hardware: V1.00
- S/N: 670002177
- Checking target voltage...
- Target voltage: 3.30 V
- Listening on TCP/IP port 2331
- Connecting to target...ERROR: Could not connect to target.
- Target connection failed. GDBServer will be closed...Restoring target state and closing J-Link connection...
- Shutting down...
- Could not connect to target.
When it tries to connect to target, it just try for a bunch of seconds and then put the error.
Then, here is my log of error in Eclipse:
Source Code
- 180-gdb-set confirm off
- 180^done
- (gdb)
- 181-gdb-set width 0
- 181^done
- (gdb)
- 182-gdb-set height 0
- 182^done
- (gdb)
- 183-interpreter-exec console echo
- 183^done
- (gdb)
- 184-gdb-show prompt
- 184^done,value="(gdb) "
- (gdb)
- 185-gdb-set new-console on
- 185^error,msg="No symbol table is loaded. Use the \"file\" command."
- (gdb)
- 186 symbol-file /home/mistral/Bureau/LoRa/workspace/AppObjConnecte/Build/exe/Evalkit_Lora.out
- &"symbol-file /home/mistral/Bureau/LoRa/workspace/AppObjConnecte/Build/exe/Evalkit_Lora.out\n"
- ~"Reading symbols from /home/mistral/Bureau/LoRa/workspace/AppObjConnecte/Build/exe/Evalkit_Lora.out..."
- Reading symbols from /home/mistral/Bureau/LoRa/workspace/AppObjConnecte/Build/exe/Evalkit_Lora.out...~"done.\n"
- done.
- symbol-file /home/mistral/Bureau/LoRa/workspace/AppObjConnecte/Build/exe/Evalkit_Lora.out
- 186^done
- (gdb)
- 187-target-select remote localhost:2331
- 187^error,msg="Remote communication error. Target disconnected.: Connexion r\303\251-initialis\303\251e par le correspondant."
- mon speed 1000
- (gdb)
- 188 mon speed 1000
- &"mon speed 1000\n"
- &"\"monitor\" command not supported by this target.\n"
- 188^error,msg="\"monitor\" command not supported by this target."
- (gdb)
- 189 mon endian little
- &"mon endian little\n"
- &"\"monitor\" command not supported by this target.\n"
- 189^error,msg="\"monitor\" command not supported by this target."
- (gdb)
- "monitor" command not supported by this target.
- mon endian little
- "monitor" command not supported by this target.
- 190 mon flash download = 1
- &"mon flash download = 1\n"
- mon flash download = 1
- &"\"monitor\" command not supported by this target.\n"
- "monitor" command not supported by this target.
- 190^error,msg="\"monitor\" command not supported by this target."
- (gdb)
- 191 mon flash device = EFM32G222F128
- &"mon flash device = EFM32G222F128\n"
- mon flash device = EFM32G222F128
- &"\"monitor\" command not supported by this target.\n"
- "monitor" command not supported by this target.
- 191^error,msg="\"monitor\" command not supported by this target."
- (gdb)
- 192 mon reset 0
- &"mon reset 0\n"
- mon reset 0
- &"\"monitor\" command not supported by this target.\n"
- "monitor" command not supported by this target.
- 192^error,msg="\"monitor\" command not supported by this target."
- (gdb)
- 193 load /home/mistral/Bureau/LoRa/workspace/AppObjConnecte/Build/exe/Evalkit_Lora.out
- &"load /home/mistral/Bureau/LoRa/workspace/AppObjConnecte/Build/exe/Evalkit_Lora.out \n"
- load /home/mistral/Bureau/LoRa/workspace/AppObjConnecte/Build/exe/Evalkit_Lora.out
- &"You can't do that when your target is `None'\n"
- 193^error,msg="You can't do that when your target is `None'"
- You can't do that when your target is `None'
- (gdb)
- 194-environment-directory ### I shortened it because it was too long
- 194^done,source-path= ... ### Same here, too long
- (gdb)
- 195 info threads
- &"info threads\n"
- ~"No threads.\n"
- 195^done
- (gdb)
- 196-data-list-register-names
- 196^done,register-names=["r0","r1","r2","r3","r4","r5","r6","r7","r8","r9","r10","r11","r12","sp","lr","pc","f0","f1","f2","f3","f4","f5","f6","f7","fps","cpsr","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""]
- (gdb)
- 197 tbreak main
- &"tbreak main\n"
- tbreak main
- &"Cannot access memory at address 0x7b44\n"
- Cannot access memory at address 0x7b44
- 197^error,msg="Cannot access memory at address 0x7b44"
- (gdb)
- 198-break-list
- 198^done,BreakpointTable={nr_rows="0",nr_cols="6",hdr=[{width="7",alignment="-1",col_name="number",colhdr="Num"},{width="14",alignment="-1",col_name="type",colhdr="Type"},{width="4",alignment="-1",col_name="disp",colhdr="Disp"},{width="3",alignment="-1",col_name="enabled",colhdr="Enb"},{width="10",alignment="-1",col_name="addr",colhdr="Address"},{width="40",alignment="2",col_name="what",colhdr="What"}],body=[]}
- continue
- The program is not being run.
- (gdb)
- 199 continue
- &"continue\n"
- &"The program is not being run.\n"
- 199^error,msg="The program is not being run."
- (gdb)
- 200 info proc
- &"info proc\n"
- &"Not supported on this target.\n"
- 200^error,msg="Not supported on this target."
- (gdb)
- 201 info program
- &"info program\n"
- ~"The program being debugged is not being run.\n"
- 201^done
- (gdb)
- 202 info threads
- &"info threads\n"
- ~"No threads.\n"
- 202^done
- (gdb)
- 203-stack-info-depth
- 203^error,msg="No registers."
- (gdb)
- 204-stack-info-depth
- 204^error,msg="No registers."
- (gdb)
- 205-stack-list-frames 0 1
- 205^error,msg="No registers."
- 206-data-list-changed-registers
- (gdb)
- 206^error,msg="No registers."
- (gdb)
- 207 kill
- kill
- The program is not being run.
So first problem, it says "No symbol table is loaded. Use the 'file' command."
According
to what I found, I should have the -g option with the gcc compiler. I
don't exactly know where to put it in the makefile I have (see below).
And how to use this file command? I tried different command but without
any success.
The second problem is I have " 'monitor'
command not supported by this target". How can this be possible?
According to the manual it is.
And what do to to solve this problem: "You can't do that when your target is 'None' ".
How do I specify a target?
(Continued in next message because too long)
The post was edited 1 time, last by Eric22 ().