---
** [tickets:#328] Support GD32E50x chips**
**Status:** new
**Milestone:** 0.11.0
**Labels:** gigadevice gd32 gd32e50x
**Created:** Wed Dec 22, 2021 11:58 PM UTC by Maximilian Gerhardt
**Last Updated:** Wed Dec 22, 2021 11:58 PM UTC
**Owner:** nobody
In recent commits, such as
[this](https://github.com/openocd-org/openocd/commit/64a3e7ba4f47c5340543d9a5cadd41bc45d93c93)
or
[this](https://github.com/openocd-org/openocd/commit/5a0b4889d0d46639b38effd24102f0d5fca1ca31),
support for microcontrollers made by Gigadevice was expanded (GD32F1x0,
GD32F3x0, GD32E23x).
GigaDevice also manufacture the
[GD32E50x](http://gd32mcu.com/en/download?kw=GD32E5) line of chips, which
contain a Cortex-M33 core. I've bought a [GD32E350C-START
board](https://www.aliexpress.com/item/1005003224840104.html) containing an
GD32E503CET6 microcontroller.
However, OpenOCD has no flashing support for this microcontroller. I've tried
various configurations such as the `stm32f4` or `gd32e23x`. The closest one to
nearly working seems the latter, which does
```
openocd -d2 -s C:\Users\Max\.platformio\packages\tool-openocd-gd32/scripts -f
interface/cmsis-dap.cfg -c "transport select swd" -c "set CPUTAPID 0" -f
target/gd32e23x.cfg -c "program {.pio\build\gd32e503c_start\firmware.elf}
verify reset; shutdown;"
xPack OpenOCD x86_64 Open On-Chip Debugger 0.11.0+dev (2021-12-07-17:33)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
debug_level: 2
swd
0
Info : CMSIS-DAP: SWD supported
Info : CMSIS-DAP: JTAG supported
Info : CMSIS-DAP: Atomic commands supported
Info : CMSIS-DAP: Test domain timer supported
Info : CMSIS-DAP: FW Version = 2.0.0
Info : CMSIS-DAP: Interface Initialised (SWD)
Info : SWCLK/TCK = 1 SWDIO/TMS = 1 TDI = 1 TDO = 1 nTRST = 0 nRESET = 1
Info : CMSIS-DAP: Interface ready
Info : clock speed 1000 kHz
Info : SWD DPIDR 0x0be12477
Info : gd32e23x.cpu: Cortex-M33 r0p4 processor detected
Info : gd32e23x.cpu: target has 8 breakpoints, 4 watchpoints
Info : starting gdb server for gd32e23x.cpu on 3333
Info : Listening on port 3333 for gdb connections
target halted due to debug-request, current mode: Thread
xPSR: 0xf9000000 pc: 0xfffffffe msp: 0xfffffffc
** Programming Started **
Error: Cannot identify target as a stm32x
Error: auto_probe failed
embedded:startup.tcl:1136: Error: ** Programming Failed **
in procedure 'program'
in procedure 'program_error' called at file "embedded:startup.tcl", line 1201
at file "embedded:startup.tcl", line 1136
*** [upload] Error 1
```
The only tool capable of flashing is the [vendor GD-Link Programmer
tool](http://gd32mcu.com/en/download?kw=GigaDevice+GD-Link+Programmer)
```
r>GD_Link_CLI.exe
GD_Link_CLI V1.2.0.10745.
Connected successfully.
SWD ID: 0xBE12477
Target Device: GD32E503CET6, Flash Size: 512KB, SRAM Size: 128KB
Type '?' for help
GD-Link>h
Halt operation completed successfully.
PC(R15) = EFFFFFFE, MSP = FFFFFFD8,
R0 = 00000000, R1 = 00000000, R2 = 00000000, R3 = 00000000,
R4 = 00000000, R5 = 00000000, R6 = 00000000, R7 = 00000000,
R8 = FFFFFFFF, R9 = FFFFFFFF, R10= FFFFFFFF, R11= FFFFFFFF,
R12= FFFFFFFF, R13= FFFFFFD8, R14= FFFFFFB8,
xPSR = F9000003, PSP = 00000000,
SpecialReg = 00000000,
GD-Link>erase
Erasing GD32E503CET6 ...
Erasing done. Total time needed: 3.188s
GD-Link>loadbin firmware.bin 0x8000000
Loading binary file...[0x08000000]
.
Memory write successfully. Total time needed: 0.859s
```
Please add GD32E50x support to OpenOCD, or let me know what other
configurations I can use. I'd happy to contribute in any way.
(Note: While GigaDevice has an [openocd
fork](https://github.com/GigaDevice-Semiconductor/openocd), it does not contain
support for GD32E50x.)
---
Sent from sourceforge.net because openocd-devel@lists.sourceforge.net is
subscribed to https://sourceforge.net/p/openocd/tickets/
To unsubscribe from further messages, a project admin can change settings at
https://sourceforge.net/p/openocd/admin/tickets/options. Or, if this is a
mailing list, you can unsubscribe from the mailing list.