XBURN creates OTP images, and programs images into the OTP memory of xCORE devices.


Overall Options#

The following options are used to specify the OTP image and security register contents.


Specifies bootable images to be constructed from the loadable segments from xe-file and a default set of security bits.


Specifies the OTP segments from otp-file which includes the security register value.


Displays the version number and copyrights.


Prints a description of the supported command-line options.

Target Options#

The following options are used to specify the target hardware platform.


Prints an enumerated list of all JTAG adapters connected to the host and the devices on each JTAG chain, in the form:


The adapters are ordered by their serial numbers.

--id <ID>

Specifies the adapter connected to the target hardware.


Specifies the serial number of the adapter connected to the target hardware.

--jtag-speed <n>

Sets the divider for the JTAG clock to n. The corresponding JTAG clock speed is 6/(n+1)MHz. The default value is 0 (6MHz).

--spi-div <n>

Sets the divider used in the AES Module for the SPI clock to n. The corresponding SPI clock speed is set to 100/(2 n ) MHz. The deafult value is 20 (2.5MHz).

This option is only valid with --lock.

Security Options#

--genkey <keyfile>

Outputs to <keyfile> two 128-bit keys used for authentication and decrpytion. The keys are generated using the open-source library crypto++.

This option is not valid with --burn or --lock.

--lock *keyfile*

Security Register Options#

The following options are used to specify the contents of the OTP security register, overriding the default options for burning XE images, OTP images and the AES module, as given in Default security bits written by XBURN.

Table 11 Default security bits written by XBURN#

Security Bit

XE Image

OTP Image

AES Module (--lock)

OTP Boot


As per OTP image file


JTAG Access



Plink Access



Global Debug



Master Lock



Secure Config Access



The following options support both the prefixes –enable-… and –disable-… to either enable or disable the feature.

--enable-otp-boot / --disable-otp-boot

Enables/disables boot from OTP.

--enable-jtag / --disable-jtag

Enables/disables JTAG access. Once disabled, it is not possible to gain debug access to the device or to read the OTP.

This option does not disable boundary scan.

Applies to XS1 devices only. Enables/disables access to the plink registers from other tiles. Disabling plink access restricts all access of the registers of each plinks to the tile local to that plink.

--enable-global-debug / --disable-global-debug

Enables/disables the device from participating in global debug. Disabling global debug prevents the tiles from entering debug using the global debug pin.

--enable-master-lock / --disable-master-lock

Enables/disables the OTP master lock. No further modification of the OTP is permitted. Programming is disabled.

--enable-secure-config-access / --disable-secure-config-access

XCORE-200 (XS2A) and xcore.ai (XS3A) architectures only. Enables/disables access to the security config register.

Programming Options#

By default, XBURN writes the specified OTP images to the target platform.


Do not prompt before writing the OTP. This is not default.

--outfile <otp-file>
-o <otp-file>

Place output in <otp-file>, disabling programming.


Dump the OTP images in separate binary files, disabling programming.

--make-exec <xe-file>

Place an executable in <xe-file> that when run on an xCORE device performs the specified OTP burning operation; disables programming.

The XE file can be run later using XRUN.

--target-file <xn-file>

Specifies <xn-file> as the target platform.

--target <platform>

Specifies a target platform. The platform configuration must be specified in the file platform .xn, which is searched for in the paths specified by the XCC_DEVICE_PATH environment variable.


Prints the entire contents of the OTP.

--size-limit <n>

Limits the amounts of OTP memory written to the first n bytes of the OTP. If the image doesn’t fit within the specified limit an error will be given.