[ABANDONED] Eclipse and GDB Server with EFM32G222F128

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • [ABANDONED] Eclipse and GDB Server with EFM32G222F128

    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:

    Source Code

    1. SEGGER J-Link GDB Server V4.96m Command Line Version
    2. JLinkARM.dll V4.96m (DLL compiled Mar 13 2015 15:25:13)
    3. -----GDB Server start settings-----
    4. GDBInit file: none
    5. GDB Server Listening port: 2331
    6. SWO raw output listening port: 2332
    7. Terminal I/O port: 2333
    8. Accept remote connection: yes
    9. Generate logfile: on
    10. Verify download: off
    11. Init regs on start: on
    12. Silent mode: off
    13. Single run mode: off
    14. Target connection timeout: 0 ms
    15. ------J-Link related settings------
    16. J-Link Host interface: USB
    17. J-Link script: none
    18. J-Link settings file: none
    19. ------Target related settings------
    20. Target device: EFM32G222F128
    21. Target interface: SWD
    22. Target interface speed: 1000kHz
    23. Target endian: little
    24. Connecting to J-Link...
    25. J-Link is connected.
    26. Firmware: J-Link OB-STM32F072-CortexM compiled Sep 17 2015 11:25:21
    27. Hardware: V1.00
    28. S/N: 670002177
    29. Checking target voltage...
    30. Target voltage: 3.30 V
    31. Listening on TCP/IP port 2331
    32. Connecting to target...ERROR: Could not connect to target.
    33. Target connection failed. GDBServer will be closed...Restoring target state and closing J-Link connection...
    34. Shutting down...
    35. Could not connect to target.
    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:

    Source Code

    1. 180-gdb-set confirm off
    2. 180^done
    3. (gdb)
    4. 181-gdb-set width 0
    5. 181^done
    6. (gdb)
    7. 182-gdb-set height 0
    8. 182^done
    9. (gdb)
    10. 183-interpreter-exec console echo
    11. 183^done
    12. (gdb)
    13. 184-gdb-show prompt
    14. 184^done,value="(gdb) "
    15. (gdb)
    16. 185-gdb-set new-console on
    17. 185^error,msg="No symbol table is loaded. Use the \"file\" command."
    18. (gdb)
    19. 186 symbol-file /home/mistral/Bureau/LoRa/workspace/AppObjConnecte/Build/exe/Evalkit_Lora.out
    20. &"symbol-file /home/mistral/Bureau/LoRa/workspace/AppObjConnecte/Build/exe/Evalkit_Lora.out\n"
    21. ~"Reading symbols from /home/mistral/Bureau/LoRa/workspace/AppObjConnecte/Build/exe/Evalkit_Lora.out..."
    22. Reading symbols from /home/mistral/Bureau/LoRa/workspace/AppObjConnecte/Build/exe/Evalkit_Lora.out...~"done.\n"
    23. done.
    24. symbol-file /home/mistral/Bureau/LoRa/workspace/AppObjConnecte/Build/exe/Evalkit_Lora.out
    25. 186^done
    26. (gdb)
    27. 187-target-select remote localhost:2331
    28. 187^error,msg="Remote communication error. Target disconnected.: Connexion r\303\251-initialis\303\251e par le correspondant."
    29. mon speed 1000
    30. (gdb)
    31. 188 mon speed 1000
    32. &"mon speed 1000\n"
    33. &"\"monitor\" command not supported by this target.\n"
    34. 188^error,msg="\"monitor\" command not supported by this target."
    35. (gdb)
    36. 189 mon endian little
    37. &"mon endian little\n"
    38. &"\"monitor\" command not supported by this target.\n"
    39. 189^error,msg="\"monitor\" command not supported by this target."
    40. (gdb)
    41. "monitor" command not supported by this target.
    42. mon endian little
    43. "monitor" command not supported by this target.
    44. 190 mon flash download = 1
    45. &"mon flash download = 1\n"
    46. mon flash download = 1
    47. &"\"monitor\" command not supported by this target.\n"
    48. "monitor" command not supported by this target.
    49. 190^error,msg="\"monitor\" command not supported by this target."
    50. (gdb)
    51. 191 mon flash device = EFM32G222F128
    52. &"mon flash device = EFM32G222F128\n"
    53. mon flash device = EFM32G222F128
    54. &"\"monitor\" command not supported by this target.\n"
    55. "monitor" command not supported by this target.
    56. 191^error,msg="\"monitor\" command not supported by this target."
    57. (gdb)
    58. 192 mon reset 0
    59. &"mon reset 0\n"
    60. mon reset 0
    61. &"\"monitor\" command not supported by this target.\n"
    62. "monitor" command not supported by this target.
    63. 192^error,msg="\"monitor\" command not supported by this target."
    64. (gdb)
    65. 193 load /home/mistral/Bureau/LoRa/workspace/AppObjConnecte/Build/exe/Evalkit_Lora.out
    66. &"load /home/mistral/Bureau/LoRa/workspace/AppObjConnecte/Build/exe/Evalkit_Lora.out \n"
    67. load /home/mistral/Bureau/LoRa/workspace/AppObjConnecte/Build/exe/Evalkit_Lora.out
    68. &"You can't do that when your target is `None'\n"
    69. 193^error,msg="You can't do that when your target is `None'"
    70. You can't do that when your target is `None'
    71. (gdb)
    72. 194-environment-directory ### I shortened it because it was too long
    73. 194^done,source-path= ... ### Same here, too long
    74. (gdb)
    75. 195 info threads
    76. &"info threads\n"
    77. ~"No threads.\n"
    78. 195^done
    79. (gdb)
    80. 196-data-list-register-names
    81. 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","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""]
    82. (gdb)
    83. 197 tbreak main
    84. &"tbreak main\n"
    85. tbreak main
    86. &"Cannot access memory at address 0x7b44\n"
    87. Cannot access memory at address 0x7b44
    88. 197^error,msg="Cannot access memory at address 0x7b44"
    89. (gdb)
    90. 198-break-list
    91. 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=[]}
    92. continue
    93. The program is not being run.
    94. (gdb)
    95. 199 continue
    96. &"continue\n"
    97. &"The program is not being run.\n"
    98. 199^error,msg="The program is not being run."
    99. (gdb)
    100. 200 info proc
    101. &"info proc\n"
    102. &"Not supported on this target.\n"
    103. 200^error,msg="Not supported on this target."
    104. (gdb)
    105. 201 info program
    106. &"info program\n"
    107. ~"The program being debugged is not being run.\n"
    108. 201^done
    109. (gdb)
    110. 202 info threads
    111. &"info threads\n"
    112. ~"No threads.\n"
    113. 202^done
    114. (gdb)
    115. 203-stack-info-depth
    116. 203^error,msg="No registers."
    117. (gdb)
    118. 204-stack-info-depth
    119. 204^error,msg="No registers."
    120. (gdb)
    121. 205-stack-list-frames 0 1
    122. 205^error,msg="No registers."
    123. 206-data-list-changed-registers
    124. (gdb)
    125. 206^error,msg="No registers."
    126. (gdb)
    127. 207 kill
    128. kill
    129. The program is not being run.
    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)

    The post was edited 1 time, last by Eric22 ().

  • Here the makefile I have been given. It is supposed to work but I don't know if I should change something in it.

    Source Code

    1. ####################################################################
    2. # Makefile #
    3. ####################################################################
    4. .SUFFIXES: # ignore builtin rules
    5. .PHONY: all debug release clean
    6. ####################################################################
    7. # Definitions #
    8. ####################################################################
    9. # uniq is a function which remove duplicate elements from a list
    10. uniq = $(strip $(if $1,$(firstword $1) \
    11. $(call uniq,$(filter-out $(firstword $1),$1))))
    12. OPTIONS = -D_GCC_USED -DDEBUG_EFM -DUSE_BAND_868
    13. DEVICE = EFM32G222F128
    14. PROJECTNAME = Evalkit_Lora
    15. OBJ_DIR = obj
    16. EXE_DIR = exe
    17. LST_DIR = lst
    18. ####################################################################
    19. # Definitions of toolchain. #
    20. # You might need to do changes to match your system setup #
    21. ####################################################################
    22. # Change path to the tools according to your system configuration
    23. # DO NOT add trailing whitespace chars, they do matter !
    24. ifeq ($(PROCESSOR_ARCHITECTURE), AMD64)
    25. PROGRAMFILES ?= %programfiles(x86)%
    26. else
    27. ifeq ($(PROCESSOR_ARCHITEW6432), AMD64)
    28. PROGRAMFILES ?= %programfiles(x86)%
    29. else
    30. PROGRAMFILES ?= %programfiles%
    31. endif
    32. endif
    33. WINDOWSCS ?= GNU Tools ARM Embedded/4.9 2014q4
    34. LINUXCS ?= /opt/gcc-arm-none-eabi-4_9-2014q4/
    35. RMDIRS := rm -rf
    36. RMFILES := rm -rf
    37. ALLFILES := /*.*
    38. NULLDEVICE := /dev/null
    39. SHELLNAMES := $(ComSpec)$(COMSPEC)
    40. # Try autodetecting the environment
    41. ifeq ($(SHELLNAMES),)
    42. # Assume we are making on a Linux platform
    43. TOOLDIR := $(LINUXCS)
    44. else
    45. QUOTE :="
    46. ifneq ($(COMSPEC),)
    47. # Assume we are making on a mingw/msys/cygwin platform running on Windows
    48. # This is a convenient place to override TOOLDIR, DO NOT add trailing
    49. # whitespace chars, they do matter !
    50. TOOLDIR := $(PROGRAMFILES)/$(WINDOWSCS)
    51. ifeq ($(findstring cygdrive,$(shell set)),)
    52. # We were not on a cygwin platform
    53. NULLDEVICE := NUL
    54. endif
    55. else
    56. # Assume we are making on a Windows platform
    57. # This is a convenient place to override TOOLDIR, DO NOT add trailing
    58. # whitespace chars, they do matter !
    59. SHELL := $(SHELLNAMES)
    60. TOOLDIR := $(PROGRAMFILES)/$(WINDOWSCS)
    61. RMDIRS := rd /s /q
    62. RMFILES := del /s /q
    63. ALLFILES := \*.*
    64. NULLDEVICE := NUL
    65. endif
    66. endif
    67. # Create directories and do a clean which is compatible with parallell make
    68. $(shell mkdir $(OBJ_DIR)>$(NULLDEVICE) 2>&1)
    69. $(shell mkdir $(EXE_DIR)>$(NULLDEVICE) 2>&1)
    70. $(shell mkdir $(LST_DIR)>$(NULLDEVICE) 2>&1)
    71. ifeq (clean,$(findstring clean, $(MAKECMDGOALS)))
    72. ifneq ($(filter $(MAKECMDGOALS),all debug release),)
    73. $(shell $(RMFILES) $(OBJ_DIR)$(ALLFILES)>$(NULLDEVICE) 2>&1)
    74. $(shell $(RMFILES) $(EXE_DIR)$(ALLFILES)>$(NULLDEVICE) 2>&1)
    75. $(shell $(RMFILES) $(LST_DIR)$(ALLFILES)>$(NULLDEVICE) 2>&1)
    76. endif
    77. endif
    78. CC = $(QUOTE)$(TOOLDIR)/bin/arm-none-eabi-gcc$(QUOTE)
    79. LD = $(QUOTE)$(TOOLDIR)/bin/arm-none-eabi-ld$(QUOTE)
    80. AR = $(QUOTE)$(TOOLDIR)/bin/arm-none-eabi-ar$(QUOTE)
    81. OBJCOPY = $(QUOTE)$(TOOLDIR)/bin/arm-none-eabi-objcopy$(QUOTE)
    82. DUMP = $(QUOTE)$(TOOLDIR)/bin/arm-none-eabi-objdump$(QUOTE)
    83. SIZE = $(QUOTE)$(TOOLDIR)/bin/arm-none-eabi-size$(QUOTE)
    84. ####################################################################
    85. # USER LIB #
    86. ####################################################################
    87. LIB_PATH = \
    88. ../Sources/boards/eolane/BSP
    89. LIB_LIST = \
    90. -lP962614_BRQ10_BSP_A11
    91. ####################################################################
    92. # Flags #
    93. ####################################################################
    94. # -MMD : Don't generate dependencies on system header files.
    95. # -MP : Add phony targets, useful when a h-file is removed from a project.
    96. # -MF : Specify a file to write the dependencies to.
    97. DEPFLAGS = -MMD -MP -MF $(@:.o=.d)
    98. #
    99. # Add -Wa,-ahld=$(LST_DIR)/$(@F:.o=.lst) to CFLAGS to produce assembly list files
    100. #
    101. override CFLAGS += -D$(DEVICE) $(OPTIONS) -std=c99 -fno-zero-initialized-in-bss -mcpu=cortex-m3 -mthumb \
    102. -mfix-cortex-m3-ldrd -ffunction-sections -fdata-sections -fomit-frame-pointer \
    103. $(DEPFLAGS)
    104. override ASMFLAGS += -x assembler-with-cpp -D$(DEVICE) $(OPTIONS) -mcpu=cortex-m3 -mthumb
    105. #-Wall -Wextra
    106. #
    107. # NOTE: The -Wl,--gc-sections flag may interfere with debugging using gdb.
    108. #
    109. override LDFLAGS += -Xlinker -Map=$(LST_DIR)/$(PROJECTNAME).map -mcpu=cortex-m3 \
    110. -mthumb -T../Sources/boards/mcu/EM_CMSIS_P1_3.20.13/Device/EnergyMicro/EFM32G/Source/GCC/efm32g.ld \
    111. -Wl,--gc-sections
    112. LIBS
    113. = -Wl,--start-group $(LIB_LIST) -lgcc -lc -lnosys -lm -L"$(LIB_PATH)"
    114. -L"$(WINDOWSCS)/lib/gcc/arm-none-eabi/4.9.3/armv7-m" -Wl,--end-group
    115. INCLUDEPATHS += \
    116. -I../Sources/apps \
    117. -I../Sources/boards/mcu/EM_CMSIS_P1_3.20.13/Device/SiliconLabs/EFM32G/Include \
    118. -I../Sources/boards/mcu/EM_CMSIS_P1_3.20.13/CMSIS/Include \
    119. -I../Sources/boards/mcu/EM_CMSIS_P1_3.20.13/emlib/inc \
    120. -I../Sources/boards/eolane/BSP \
    121. -I../Sources/boards/periph \
    122. -I../Sources/mac \
    123. -I../Sources/radio \
    124. -I../Sources/radio/sx1272 \
    125. -I../Sources/system \
    126. -I../Sources/system/crypto
    127. ####################################################################
    128. # Files #
    129. ####################################################################
    130. S_SRC += ../Sources/boards/mcu/EM_CMSIS_P1_3.20.13/Device/EnergyMicro/EFM32G/Source/GCC/startup_efm32g.S
    131. C_SRC += ../Sources/boards/mcu/EM_CMSIS_P1_3.20.13/Device/EnergyMicro/EFM32G/Source/system_efm32g.c
    132. -include lora.mk
    133. C_SRC
    134. += ../Sources/apps/LoRaSend.c ../Sources/apps/scenario.c
    135. ../Sources/apps/main.c ../Sources/boards/periph/battery.c
    136. ../Sources/boards/periph/sensor.c
    137. ####################################################################
    138. # Rules #
    139. ####################################################################
    140. C_FILES = $(notdir $(C_SRC) )
    141. S_FILES = $(notdir $(S_SRC) $(s_SRC) )
    142. #make list of source paths, uniq removes duplicate paths
    143. C_PATHS = $(call uniq, $(dir $(C_SRC) ) )
    144. S_PATHS = $(call uniq, $(dir $(S_SRC) $(s_SRC) ) )
    145. C_OBJS = $(addprefix $(OBJ_DIR)/, $(C_FILES:.c=.o))
    146. S_OBJS = $(if $(S_SRC), $(addprefix $(OBJ_DIR)/, $(S_FILES:.S=.o)))
    147. s_OBJS = $(if $(s_SRC), $(addprefix $(OBJ_DIR)/, $(S_FILES:.s=.o)))
    148. C_DEPS = $(addprefix $(OBJ_DIR)/, $(C_FILES:.c=.d))
    149. OBJS = $(C_OBJS) $(S_OBJS) $(s_OBJS)
    150. vpath %.c $(C_PATHS)
    151. vpath %.s $(S_PATHS)
    152. vpath %.S $(S_PATHS)
    153. # Default build is release build
    154. all: release
    155. debug: CFLAGS += -DDEBUG -O0 -g3
    156. debug: $(EXE_DIR)/$(PROJECTNAME).bin
    157. debug: OPTIONS+=-DDEBUG_USE
    158. release: CFLAGS += -DNDEBUG -O0
    159. release: $(EXE_DIR)/$(PROJECTNAME).bin
    160. # Create objects from C SRC files
    161. $(OBJ_DIR)/%.o: %.c
    162. @echo ___________________________________________________________________________________________
    163. @echo --- Building file: $<
    164. $(CC) $(CFLAGS) $(INCLUDEPATHS) -c -o $@ $<
    165. # Assemble .s/.S files
    166. $(OBJ_DIR)/%.o: %.s
    167. @echo ___________________________________________________________________________________________
    168. @echo --- Assembling $<
    169. $(CC) $(ASMFLAGS) $(INCLUDEPATHS) -c -o $@ $<
    170. $(OBJ_DIR)/%.o: %.S
    171. @echo ___________________________________________________________________________________________
    172. @echo --- Assembling $<
    173. $(CC) $(ASMFLAGS) $(INCLUDEPATHS) -c -o $@ $<
    174. # Link
    175. $(EXE_DIR)/$(PROJECTNAME).out: $(OBJS)
    176. @echo ___________________________________________________________________________________________
    177. @echo --- Linking target : $@
    178. @echo --- Linking libs :$(LDFLAGS)
    179. @echo --- Linking libs :$(OBJS)
    180. @echo --- Linking libs :$(LIBS)
    181. $(CC) $(LDFLAGS) $(OBJS) $(LIBS) -o $(EXE_DIR)/$(PROJECTNAME).out
    182. # Create binary file
    183. $(EXE_DIR)/$(PROJECTNAME).bin: $(EXE_DIR)/$(PROJECTNAME).out
    184. @echo ___________________________________________________________________________________________
    185. @echo --- Creating binary file
    186. $(OBJCOPY) -O binary $(EXE_DIR)/$(PROJECTNAME).out $(EXE_DIR)/$(PROJECTNAME).bin
    187. @echo ___________________________________________________________________________________________
    188. @echo --- Size
    189. @$(SIZE) $(EXE_DIR)/$(PROJECTNAME).out
    190. @echo ___________________________________________________________________________________________
    191. # Uncomment next line to produce assembly listing of entire program
    192. $(DUMP) -h -S -C $(EXE_DIR)/$(PROJECTNAME).out>$(LST_DIR)/$(PROJECTNAME)out.lst
    193. clean:
    194. @echo =====================================
    195. @echo = SHELL : $(SHELLNAMES)
    196. @echo = TOOLDIR : $(WINDOWSCS)
    197. @echo = Device : $(DEVICE)
    198. @echo = Project : $(PROJECTNAME)
    199. @echo =====================================
    200. ifeq ($(filter $(MAKECMDGOALS),all debug release),)
    201. $(RMDIRS) $(OBJ_DIR) $(LST_DIR) $(EXE_DIR)
    202. endif
    203. # include auto-generated dependency files (explicit rules)
    204. ifneq (clean,$(findstring clean, $(MAKECMDGOALS)))
    205. -include $(C_DEPS)
    206. endif
    Display All


    Thank you to have read this long post, I hope someone will be able to help me.

    Eric.
  • Hi Eric

    first of all, we should check if the setup works (J-Link + target)
    If it does, it is most likely a Eclipse related problem.



    Could you please give J-Link Commander a try?
    J-Link commander is part of the J-Link software package, which is available free of charge here .
    JLinkARM.dll V4.96m (DLL compiled Mar 13 2015 15:25:13)

    Please update the J-Link software by using the link provided.

    • Start J-Link Commander (jlink.exe)
    • Type "connect" in order to start a debug session
    • Type in the target device name if asked (Or type "?" for a target selection Dialog)
    • Choose the correct target interface (JTAG/SWD/etc..)
    • Use a valid speed (Default: 4000kHz, try 100-500 if default does not work)
    • [JTAG only]JTAG conf can be default(most of the times)
    • You should now be successfully connected.
    If anything fails, could you post a screenshot of the complete session?

    Best regards,
    Niklas
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.
  • Hello Niklas,

    thank you for the answer.

    I updated my JLink software as you asked, here is the log of the session:

    Source Code

    1. mistral@PC-QG:/opt/SEGGER/JLink$ JLinkExe
    2. SEGGER J-Link Commander V5.12g (Compiled May 27 2016 17:03:43)
    3. DLL version V5.12g, compiled May 27 2016 17:03:38
    4. Connecting to J-Link via USB...O.K.
    5. Firmware: J-Link OB-STM32F072-CortexM compiled Mar 8 2016 11:15:54
    6. Hardware version: V1.00
    7. S/N: 670002177
    8. VTref = 3.300V
    9. Type "connect" to establish a target connection, '?' for help
    10. J-Link>connect
    11. Please specify device / core. <Default>: EFM32G222F128
    12. Type '?' for selection dialog
    13. Device>EFM32G222F128
    14. Please specify target interface:
    15. J) JTAG (Default)
    16. S) SWD
    17. TIF>2
    18. TIF>
    19. Device position in JTAG chain (IRPre,DRPre) <Default>: -1,-1 => Auto-detect
    20. JTAGConf>
    21. Specify target interface speed [kHz]. <Default>: 4000 kHz
    22. Speed>100
    23. Device "EFM32G222F128" selected.
    24. Selected interface (0) is not supported by connected debug probe.
    25. J-Link>
    26. J-Link>ShowEmuList
    27. J-Link[0]: Connection: USB, Serial number: 670002177, ProductName: J-Link-OB-STM32F072
    Display All


    It seems the interface is not supported by the probe on my development board. It should be as it is what the seller of my kit do it in the same way.
    Is there a solution to that?

    Kind Regards,

    Eric.

    The post was edited 1 time, last by Eric22 ().

  • Hi,

    you did not select SWD.
    You typed in "2" (invalid answer) and were prompted again, where you did not type anything, therefore the default was selected. (JTAG)
    Please specify target interface:
    J) JTAG (Default)
    S) SWD
    TIF>2
    TIF>


    Could you please give it another try and type "S" for SWD?

    Best regards,
    Niklas
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.
  • Hi again,

    you are right I put the wrong character, I don't know why I saw a "2" there.

    I tried with the right parameter but it wasn't successful either.

    Source Code

    1. mistral@PC-QG:/opt/SEGGER/JLink_V512g$ JLinkExe
    2. SEGGER J-Link Commander V5.12g (Compiled May 27 2016 17:03:43)
    3. DLL version V5.12g, compiled May 27 2016 17:03:38
    4. Connecting to J-Link via USB...O.K.
    5. Firmware: J-Link OB-STM32F072-CortexM compiled Mar 8 2016 11:15:54
    6. Hardware version: V1.00
    7. S/N: 670002177
    8. VTref = 3.300V
    9. Type "connect" to establish a target connection, '?' for help
    10. J-Link>connect
    11. Please specify device / core. <Default>: EFM32G222F128
    12. Type '?' for selection dialog
    13. Device>EFM32G222F128
    14. Please specify target interface:
    15. J) JTAG (Default)
    16. S) SWD
    17. TIF>S
    18. Specify target interface speed [kHz]. <Default>: 4000 kHz
    19. Speed>100
    20. Device "EFM32G222F128" selected.
    21. ****** Error: Communication timed out: Requested 20 bytes, received 0 bytes !
    22. Could not read hardware status!
    23. Can not connect to target.
    24. J-Link>
    Display All


    I tried with different speed but nothing changed.
  • Hi,


    I just gave it a try on an eval board and it works for me.
    Could you tell me the name and provide a link to the eval board you are using?

    Best regards,
    Niklas
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.