GigaDevice GD32

From SEGGER Wiki
Revision as of 12:07, 15 February 2024 by Torben.scharping (talk | contribs) (MCU Security)
Jump to: navigation, search

The GD32 Cortex-M Series is family of devices by GigaDevice Semiconductor Inc.
The following article contains information which applies to all members of the product family (e.g. readout protection).
Information which is more specific to the respective sub-family(e.g. QSPI programming) is provided in family specific articles.

A list of all GigaDevice devices supported by SEGGER can be found here.
For further information regarding the product family, please refer to the website and documentation by GigaDevice.

Device security

On connect, the device security is checked. If security is set (and recoverable) the user is asked if they want security to be lifted. If the user agrees, security is lifted by J-Link (if possible).
GD32 unlock dialog.png

Note:
  • It is possible to disable device access completely, by setting protection level to high. A connect will not be possible anymore afterwards and the security cannot be reset.
  • Unsecuring the device causes a mass erase of the flash.
  • It is possible to save the selection of the unlock dialog. To reset this, please refer to: Reset unlock message box.

Connect under reset

In case that J-Link fails to connect to the device (usually caused by a low-power state of the MCU), J-Link will try to connect to the device under reset to make debugging possible.


MCU Security

Disabling readout protection

J-Link Commander and J-Flash

J-Link Commander and J-Flash automatically detect secured GD32 Cortex-M devices and ask the user if it should be unlocked.
This is called native unlock.

Flasher standalone mode

In order to unlock a GD32 Cortex-M device in stand-alone mode, the unlock sequence is executed automatically if a secured device is detected.

Enabling readout protection

J-Link Commander

The below provided J-Link Commander command files set the protection level to low (OB_SPC = 0x11 / OB_SPC_N = 0xEE).

J-Flash and Flasher standalone mode

Please use ProtectionLow.mot files and append to your application hex file. Take care of the adjustment of the other settings in option byte 0 area for your hardware.

How to set high protection level

In order to set protection level to high, the value "0x11" needs to be changed to "0xCC" and "0xEE" to "0x33".
Please note that protection level high is permanent and can neither be reverted by SEGGER nor by GigaDevice.

Device Table

GD32 Cortex-M series overview
Sub-Family Core J-Link Commander and J-Flash:
native Unlock support
J-Link Commander:
Lock via command file
J-Flash:
Lock via hex file (adjust to your setup)
GigaDevice_GD32A5 Cortex-M33 YES.png GD32A5 Lock GD32A5 OptionByte0 Protection Low