Flasher/Device Definition File

From SEGGER Wiki
Jump to: navigation, search

Basic Structure

Device definition files are XML files used with U-Flash to define support, device properties, and configuration including dialog elements for devices. This section explains the structure, tags, attributes etc. of a Device Definition File.

In the following, the valid XML tags and their possible attributes are explained.

XML documents are logical trees structures of ELEMENT. A tree starts with a single ROOT element. All elements can have sub elements (CHILD elements). The children of the root form the branches, and their descendants form the branches.

 <root>
   <child>
     <subchild />
   </child>
 </root>

An opening TAG of an element may contain ATTRIBUTES. The value of an attribute must always be enclosed in quotes. Elements as well mas Attributes may be assigned to a NAMESPACE. Namespace and name are separated by a colon (:).

A PROLOG defines the XML version and the character encoding.

<?xml version="1.0" encoding="UTF-8"?>

A PREPROCESSOR definition links to a XML transformation style-sheet (XSL) to enable e.g. a web browser to present the XML file in a neat form.

<?xml-stylesheet type="text/xsl" href="https:///xml.flasher.segger.com/U-Flash/UFL-Device.xslt"?>

Due to the ongoing development of U-Flash NG, the above style sheet may not reflect the latest available version. Alternatively, use the following style sheet definition for internal testing.

<?xml-stylesheet type="text/xsl" href="https:///xml.flasher.segger.com/U-Flash/WebUI/XSLT/UFL-Device.xslt"?>

Both definitions may be combined. The latter the higher the precedence. The PROLOG must be before a root element.

The next line is the root element of the device definition document <DataBase>. The root element should have two attributes to be Automatically validatable, a namespace declaration for a "XML schema instance (XSI)" <xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> defining the namespace xsi and a schema definition for a XML schema without further namespaces xsi:noNamespaceSchemaLocation="https://xml.flasher.segger.com/U-Flash/UFL-Device.xsd". The path is actual valid for SEGGER provided device definition files in U-Flash NG, but may change on short notice.

<DataBase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://xml.flasher.segger.com/U-Flash/UFL-Device.xsd">

A minimal skeleton file may have following content

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="https://xml.flasher.segger.com/U-Flash/UFL-Device.xslt"?>
<?xml-stylesheet type="text/xsl" href="https://xml.flasher.segger.com/U-Flash/WebUI/XSLT/UFL-Device.xslt"?>
<DataBase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://xml.flasher.segger.com/U-Flash/UFL-Device.xsd">
</DataBase>

Elements

All elements and attributes must not have a namespace. The following table is an reference of all elements. All elements – when present – must appear in that exact order. The following keys are used to denote options and multiplicity:

no keys
Elements without any keys are mandatory, they must exactly once, in exact that order.
elemA, elemB
The comma(,) denotes a sequence. The elemA must be followed by an elemB.
(…)
This denotes a grouping. All definitions and keys apply to the content inside that group.
elemA | elemB
The pipe (|) denotes a choice. Either elemA or elemB must appear here.
elem?
The question mark(?) denotes an option. The elem may appear here.
elem*
The asterisk (*) denotes an zero-or-more option. The elem can appear here as often as required.
elem+
The plus sign (+) denotes an one-or-more option. The elem must appear here at least once.
elem{min, max}
The braces ({…}) denotes an min-to-max option. The elem must appear here at least min times, but at most max times.
Element Description Permitted children Permitted attributes
DataBase Root element. Device | DevicesFile (xmlns:xsi, xsi:noNamespaceSchemaLocation)?
DataBase
Device Encloses device definition. ChipInfo, Alternatives?, DefaultTasks?, FlashBankInfo*, Addon?, Config*, Information* State?, Version?
DataBase/Device
ChipInfo Defines meta-information for a device Vendor, Core, Family?, Name, Interface, Contributor, Descr?, OptDatFile?, (MinVcc, MaxVcc)?
For SEGGER use only: WorkRamAddr?, WorkRamSize?, JLinkScriptFile?, Aliases?, InheritFrom?
Alternatives Optional element to specify alternative names (and minor differences) for the defined device. Alternative+
DefaultTasks Defines settings and permissions of flash operations Fixed?, EraseType?, DefaultErase?, DefaultProgram?, DefaultRead?, DefaultVerify?, DefaultSecure?, SecureDataOptional?
FlashBankInfo Defines memory mapping of device LoaderInfo* Name, BaseAddr, Size?, Sect?, Blank?, Loader?, RamCode?, Aliased?, Flags?
For SEGGER use only: MaxSize, LoaderType?, AlwaysPresent?
Addon Declares additional files needed by flash algorithm File+
Config Defines a configuration value for the flash algorithm as well as its input field format in U-Flash (Edit | Group | Table | Bitfield | Range)? Name, Display?, Value, Controller?, Hide?, Hint?
For SEGGER use only:TargetPath?, MinFeatureSet?
Information Additional information for the device Attention?, WiringPlan?, VendorHistory?, CData
Currently not supported: Note*, Datasheet*
none
DataBase/Device/Alternatives
Alternative Defines a device derivation Config* Name, State?
DataBase/Device/Alternatives/Alternative
Config (Re)-Defines a constant value Name, Value, Hide?, Hint?
DataBase/Device/FlashBankInfo
LoaderInfo Information about flash algorithm (reserved for SEGGER use) Name, MaxSize, Loader, LoaderType
DataBase/Device/Addon
File Describes an additional file needed by flash algorithm RelPath?, TargetPath
DataBase/Device/Config
none Defines a constant value
Group Visually groups configuration values and enables enabling control Config+ Controller?, Controlled?
Table Creates an extensible table view of configuration values.
Note:Configuration children must only be of type Edit, Range or Bitfield
Config+, row+ StartIdx?, EndIdx?
Edit Defines an editable value depends on attribute Style Style; presence of others attributes depends on this
Style='DropDown' Defines a value with drop-down input Option Style='DropDown'
Style='Hex' Defines a value with hexadecimal input Style='Hex', Min, Max, Bytes
Style='Decimal' Defines a value with decimal input Style='Decimal', Min, Max, Unit?
Style='Bin' Defines a value with binary input Style='Bin', Len, Min?, Max?
Style='CheckBox' Defines a value with check-box input Style='CheckBox', (Message, MsgLvl, MsgEmitOn)?, Tristate?
Style='TextEx' Defines a value with text input Style='TextEx', Min?, Max?, Pattern?
Style='File' Defines a value with file name picker Style='File', Filter?
Style='Button' Defines an action button in U-Flash Style='Button', action?
Range Creates a pair of configuration values with a common prefix denoting a _min and a _max value depends on attribute Style Style; presence of others attributes depends on this
Style='DropDown' Defines a drop-down input Option Style='DropDown'
Style='Hex' Defines a hexadecimal input Style='Hex', Min, Max, Bytes
Style='Decimal' Defines decimal input Style='Decimal', Min, Max, Unit?
Style='Bin' Defines a binary input Style='Bin', Len, Min?, Max?
Bitfield Creates a configuration value as a view of with named bit(-groups) BitGroup+ Size
DataBase/Device/Config/Bitfield
BitGroup Creates a named bit group inside a Bitfield
Note: Edit children must be one of type CheckBox, DropDown, Hex or Binary
Edit Name, Pos, Value, Controller?, Hide?, Hint?
DataBase/Device/Config/Edit[@Style="DropDown"]
Option Creates a entry inside a DropDown list Name, Value
DataBase/Device/Config/Edit[@Style="Table"]
row Defines the default values for configuration values at row's index in a Table list c+
DataBase/Device/Config/Edit[@Style="Table"]/row
c Defines the default values for named configuration value at row's index in a Tables row text node N
DataBase/Device/Information
Attention Creates a highlighted ATTENTION section confirmed?
WiringPlan Used to create a new wiring diagram in device information section which can be referenced, or reference an existing wiring diagram. Pin Id | ref, Caption
VendorHistory Used to create history of silicon vendors, e.g. company name change. Vendor+
<-- comment node --> A comment within a Information element creates a remark text that is shown in the information section. The text may contain HTML markup, but it is not guaranteed that it will render as expected. This depends on the browser.
Note This also creates a text that is shown in the information section, but it offers the possibility to limit the visibility by the attribute usage. The text may contain HTML markup, but it is not guaranteed that it will render as expected. This depends on the browser. any* usage
Datasheet A link to a document regarding the device. anyURI
CData This element is intended to contain formatted text to be inserted in the information section literally. It offers the possibility to restrict the visibility by its usage attribute. any* usage
DataBase/Device/Information/WiringPlan
Pin Defines a new pin shown in the wiring diagram. PinNumber, (to, every)?, FlasherFunction, TargetFunction?, Direction?, Remark?
<-- comment node --> A comment within a WiringPlan element creates a remark that is linked to and displayed with the diagram. The text may contain HTML markup, but it is not guaranteed that it will render as expected. This depends on the browser.
DataBase/Device/Information/VendorHistory
Vendor Defines a vendor name in a history. Name, URL?

Attributes

action

This attribute defines an internal function that is executed when a button is clicked. Normally it is not useful in classic U-Flash for users other than SEGGER, but in the future it could be opened for U-FLash (web UI).

Elements and usage

DataBase/Device/*/Config/Edit[@Style='Button']: required

Type
Style='Button': Character string
Values
Style='Button': Name of an internal U-Flash function to be invoked on button click.

Aliased

This attribute defines an alias address. This is useful when mapping storage areas, for example, in a cached and a non-cached area. Programming should be done in non-cached address areas. In such a case, the cached area should be defined with Aliased to the non-cached area.

Elements and usage

DataBase/Device/FlashBankInfo: optional

Type
32-bit hexadecimal value
Values
0x000000000x7FFFFFFF
Default (when omitted)
same as BaseAddr

Aliases

This attribute is currently not supported in Flasher DSK, but by J-Link SDK. Please refer to XML-tag_ChipInfo

Elements and usage

DataBase/Device/ChipInfo: optional

AlwaysPresent

This attribute is currently not supported in Flasher DSK, but by J-Link SDK. Please refer to XML-tag_ChipInfo

Elements and usage

DataBase/Device/FlashBankInfo: optional

BaseAddr

This attribute defines the start address of the memory area.

Elements and usage

DataBase/Device/FlashBankInfo: required

Type
32-bit hexadecimal value
Values
0x000000000x7FFFFFFF

Blank

This attribute defines the value of a memory cell in erased state.

Elements and usage

DataBase/Device/FlashBankInfo: optional

Type
8/16/32-bit hexadecimal value
Values
  • 0x000xFF
  • 0x00000xFFFF
  • 0x000000000xFFFFFFFF
Default (when omitted)
undefined

Bytes

This attribute defines the length of a hexadecimal configuration value.

Elements and usage

DataBase/Device/*/Config/Edit[@Style='Hex']: required
DataBase/Device/*/Range/Edit[@Style='Hex']: required

Type
Style='Hex': decimal number
Values
Style='Hex': 14

confirmed

This attribute marks a Attention message as 'confirmed'.

Elements and usage

DataBase/Device/Information/Attention: optional

Type
boolean
Values
true, false.
Default (when omitted)
false

Contributor

This value is used to name the creator of the Flasher DSK Pack. It should also contain a reference to whom a customer can contact in case of problems with the pack (preferably an e-mail address or a URL).

Elements and usage

DataBase/Device/ChipInfo: optional

Type
Character string
Values
Any non-empty character string.
Default (when omitted)
unknown
Note
Please note that any Flasher DSK pack with an entry referencing “segger.com” that can be proven not to originate from SEGGER or at least to have been verified will be blocked, as SEGGER refuses any support customers for third-party packs. We reserve the right to take legal action in the event of non-compliance.

Controlled

This attribute determines which configuration values within the group are made editable by Controller and which value must be assumed for this purpose.

Elements and usage

DataBase/Device/Config/Group: optional

Type
list of key-value-pairs
Values
Semicolon-separated list of key-value-pairs
<controlled config name>=<controller value>
Default (when omitted)
not set
Note
Shall be used in conjunction with Controller

Controller (Config)

This attribute determines which other configuration value must have assumed which value in order to make this configuration value editable.

Elements and usage

DataBase/Device/Config: optional
DataBase/Device/Alternatives/Alternative/Config: optional
DataBase/Device/Config/Group/Config: optional
DataBase/Device/Config/Table/Config: optional
DataBase/Device/Config/Bitfield/BitGroup: optional

Type
key-value-pair
Values
<config name>=<value>
Default (when omitted)
not set

Controller (Group)

This attribute determines which other configuration value makes configuration values inside this group editable.

Elements and usage

DataBase/Device/Config/Group: optional

Type
id string
Values
<config name>
Default (when omitted)
not set
Note
Shall be used in conjunction with Controlled

Core

Should be the name assigned by the silicon manufacturer or designer for the core design. E.g. M16C/80 or Cortex-M+.

Elements and usage

DataBase/Device/ChipInfo: required

Type
Character string
Values
Any non-empty character string.

DefaultErase

This attribute defines the pre-selected erase method for the algorithm.

Elements and usage

DataBase/Device/DefaultTasks: optional

Type
erase method
Values
One value out of:
  • None (do not erase),
  • Sector (erase required sectors),
  • Dirty (erase required, non empty sectors),
  • Bulk (mass erase)
Please note that this value _must_ be included in the list of EraseType, otherwise a change of this attribute cannot be restored without discarding the project.
Default (when omitted)
no value; first value of list EraseType is used.

DefaultProgram

This attribute defines the default setting for program task on automatic mode.

Elements and usage

DataBase/Device/DefaultTasks: optional

Type
DisableSetUnset
Values
One value out of:
  • 0 (checkbox not ticked and editable; task will not be performed),
  • 1 (checkbox ticked and editable; task will be performed)),
  • -1 (checkbox not ticked and not editable; task will not be performed)),
  • -2 (checkbox ticked and not editable; task will be performed)),
Default (when omitted)
0

DefaultRead

This attribute defines the default setting for read task on automatic mode.

Elements and usage

DataBase/Device/DefaultTasks: optional

Type
DisableSetUnset
Values
One value out of:
  • 0 (checkbox not ticked and editable; task will not be performed),
  • 1 (checkbox ticked and editable; task will be performed)),
  • -1 (checkbox not ticked and not editable; task will not be performed)),
  • -2 (checkbox ticked and not editable; task will be performed)),
Default (when omitted)
0

DefaultSecure

This attribute defines the default setting for secure task on automatic mode.

Elements and usage

DataBase/Device/DefaultTasks: optional

Type
DisableSetUnset
Values
One value out of:
  • 0 (checkbox not ticked and editable; task will not be performed),
  • 1 (checkbox ticked and editable; task will be performed)),
  • -1 (checkbox not ticked and not editable; task will not be performed)),
  • -2 (checkbox ticked and not editable; task will be performed)),
Default (when omitted)
0

DefaultVerify

This attribute defines the default setting for verify task on automatic mode.

Elements and usage

DataBase/Device/DefaultTasks: optional

Type
DisableSetUnset
Values
One value out of:
  • 0 (checkbox not ticked and editable; task will not be performed),
  • 1 (checkbox ticked and editable; task will be performed)),
  • -1 (checkbox not ticked and not editable; task will not be performed)),
  • -2 (checkbox ticked and not editable; task will be performed)),
Default (when omitted)
0

Descr

This attribute can be used to provide the user with a short list of the main features of the unit.

Elements and usage

DataBase/Device/ChipInfo: optional

Type
Character string
Values
Any character string.
Default (when omitted)
empty string

Direction

This attribute defines the signal direction, together with an optional level converter (symbol) or a serial resistor or capacitor.

Elements and usage

DataBase/Device/Information/WiringPlan/Pin: optional

Type
direction string.
Values
Any direction string. Format (EBNF):

Direction ::= [lvlshift | resistor | capacitor] , direction;
lvlshift  ::= "lvlshift-";
resistor  ::=       ("R" , nominator) | (R-value) , "-";
capacitor ::= "C" , ("C" , nominator) | (C-value) , "-";
direction ::= "static" | "in" | "out" | "bidi";
nominator ::= digit [ , digit [ , digit [ , digit ]]];
R-value   ::= (digit , R-unit [ , digit [ , digit ]]) |
              (digit , digit , R-unit [ , digit ])    |
              (digit , digit , digit , R-unit)        |
              (digit , digit , digit , digit);
C-value   ::= (digit , C-unit [ , digit [ , digit ]]) |
              (digit , digit , C-unit [ , digit ])    |
              (digit , digit , digit , C-unit)        |
              (digit , digit , digit , digit);
R-unit    ::= "m" | "R" | "k" | "M";
C-unit    ::= "p" | "n" | "µ" | "m" | "F";
digit     ::= "0" | "1" | "2" | "3" | "4" | 
              "5" | "6" | "7" | "7" | "9";

See Quick reference to Pin description on WiringPlans for examples.
Default (when omitted)
static

Display

This attribute defines the text shown in UI for the configuration value. It decouples the screen text from config value name.

Elements and usage

DataBase/Device/Config: optional
DataBase/Device/Alternatives/Alternative/Config: optional
DataBase/Device/Config/Group/Config: optional
DataBase/Device/Config/Table/Config: optional
DataBase/Device/Config/Bitfield/BitGroup: optional

Type
Character string
Values
Any non-empty character string.
Default (when omitted)
same as Name

EndIdx

This attribute defines the highest possible index for tabulated configuration values.

Elements and usage

DataBase/Device/Config/Table: optional

Type
An decimal number
Values
0StartIdx2147483647
Default (when omitted)
2147483647

EraseType

This attribute lists all supported erase methods of the device.

Elements and usage

DataBase/Device/DefaultTasks: optional

Type
List of erase methods
Values
Space seperated list of one or more values out of:
  • None (do not erase),
  • Sector (erase required sectors),
  • Dirty (erase required, non empty sectors),
  • Bulk (mass erase)
Default (when omitted)
None Sector Dirty Bulk

Family

Should be the name assigned by the silicon manufacturer or designer for the core design. E.g. M16C/80 or Cortex-M+.

Elements and usage

DataBase/Device/ChipInfo: optional

Type
Character string
Values
Any non-empty character string.
Default (when omitted)
empty string

Filter

This attribute defines the filter list for file selection dialog.

Elements and usage

DataBase/Device/*/Config/Edit[@Style='File']: optional

Type
Style='File': List of file name pattern
Values
Style='File': A space seperated list of file name pattern. Normal wildcard rules apply: '?' for single letter, '*' for one or more letters.
Default (when omitted)
*.*

Fixed

This attribute completely disables changing the "Task" settings in the project settings of U-Flash.

Elements and usage

DataBase/Device/DefaultTasks: optional

Type
SetUnset
Values
0, 1
Default (when omitted)
0

Flags

This attribute defines flags that determine the way U-Flash assembles the data area, or the values that parameters have when the PCode functions are called by the flasher.

Elements and usage

DataBase/Device/FlashBankInfo: optional

Type
list of flags
Values
One or more values out of:
  • NoErase (Do not erase in this area)
  • NotEraseable (This area cannot be erased)
  • NotBlank (This area will never show Blank value)
  • NoTestData (U-Flash will not generate random test data for this area)
  • OTP (This area could only be written once)
  • ReadOnly (This is a read only area)
  • SelfErasing (This area does not need to be erased)
  • WriteOnly (This area could not read back; verify may be impossible)
  • Readable (This area is readable)
  • ECC (Sectors in this area cannot be "overprogrammed" several times (without erasing), as the error correction measures would indicate bit errors.)
Default (when omitted)
empty string

FlasherFunction

This attribute specifies the function assigned to the pin by PCode.

Elements and usage

DataBase/Device/Information/WiringPlan/Pin: required

Type
character string
Values
any string
See Quick reference to Pin description on WiringPlans for examples.

Hide

This attribute defines in which view the config value is shown.

Elements and usage

DataBase/Device/Config: optional
DataBase/Device/Alternatives/Alternative/Config: optional
DataBase/Device/Config/Group/Config: optional
DataBase/Device/Config/Table/Config: optional
DataBase/Device/Config/Bitfield/BitGroup: optional

Type
Enumeration
Values
One out of:
  • Hide (Never show in U-Flash)
  • Hide-Simple (Do not show in U-Flash's basic view)
  • Hide-Never (Always show in U-Flash)
Default (when omitted)
Hide-Never

Hint

This attribute defines the a helpful hint text shown in U-Flash to explain function of this configuration value.

Elements and usage

DataBase/Device/Config: optional
DataBase/Device/Alternatives/Alternative/Config: optional
DataBase/Device/Config/Group/Config: optional
DataBase/Device/Config/Table/Config: optional
DataBase/Device/Config/Bitfield/BitGroup: optional

Type
Character string
Values
Any non-empty character string.
Default (when omitted)
empty string

Id

This attribute gives a WiringPlan an unique identity, so it can be referenced somewhere with ref.

Elements and usage

DataBase/Device/Information/WiringPlan: required if no reference, see ref

Type
character string
Values
any unique string.

InheritFrom

This attribute is currently not supported in Flasher DSK, but by J-Link SDK. Please refer to XML-tag_ChipInfo

Elements and usage

DataBase/Device/ChipInfo: optional

Interface

The name of the interface (possibly in conjunction with the protocol/application) used for programming should be clearly stated here. E.g. BSL via UART for using UART to communicate with the built-in boot strap loader.

Elements and usage

DataBase/Device/ChipInfo: required

Type
Character string
Values
Any non-empty character string.
Note
This value – in connection with Name – must be unique across all devices!

JLinkScriptFile

This attribute is currently not supported in Flasher DSK, but by J-Link SDK. Please refer to XML-tag_ChipInfo

Elements and usage

DataBase/Device/ChipInfo: optional

Len (Binary value)

This attribute defines the length of a binary configuration value.

Elements and usage

DataBase/Device/*/Config/Edit[@Style='Bin']: required
DataBase/Device/*/Range/Edit[@Style='Bin']: required

Type
Style='Bin': decimal number
Values
Style='Bin': 132

Loader

This attribute defines the name of the executable PCode file containing the full algorithm to be used for this bank.

Elements and usage

DataBase/Device/FlashBankInfo: optional

Type
31 char PCode executable file name, preferable in 8.3 name scheme
Values
any valid file name
Default (when omitted)
undefined
Note
Must not be omitted for the first defined memory bank. It is not permissible to omit the attribute only for individual banks. It is recommended to use it for each bank.

LoaderType

This attribute is currently not supported in Flasher DSK, but by J-Link SDK. Please refer to XML-tag_ChipInfo

Elements and usage

DataBase/Device/FlashBankInfo: optional

Max

This attribute defines the maximal value or maximal length, depending on @Style.

Elements and usage

DataBase/Device/*/Config/Edit[@Style='Hex']: required
DataBase/Device/*/Config/Edit[@Style='Decimal']: required
DataBase/Device/*/Config/Edit[@Style='Bin']: optional
DataBase/Device/*/Config/Edit[@Style='TextEx']: optional
DataBase/Device/*/Range/Edit[@Style='Hex']: required
DataBase/Device/*/Range/Edit[@Style='Decimal']: required
DataBase/Device/*/Range/Edit[@Style='Bin']: optional

Type

Style='Hex': hexadecimal number
Style='Decimal': decimal number
Style='Bin': binary number
Style='TextEx': decimal number

Values

Style='Hex', Bytes='1': 0x00Min0xFF
Style='Hex', Bytes='2': 0x0000Min0xFFFF
Style='Hex', Bytes='3': 0x000000Min0xFFFFFF
Style='Hex', Bytes='4': 0x00000000Min0xFFFFFFFF
Style='Decimal': 0Min4294967295
Style='Bin': 0b0Min0b11111111111111111111111111111111
Style='TextEx': 0Min128

Default (when omitted and permitted)
the respective maximum value


MaxSize

This attribute is currently not supported in Flasher DSK, but by J-Link SDK. Please refer to XML-tag_ChipInfo

Elements and usage

DataBase/Device/FlashBankInfo: optional

Message

This attribute defines a message to be displayed in a message box with severity MsgLvl when the value of the CheckBox-styled configuration value is set to the value specified in MsgEmitOn. The mentioned attributes may only be used together.

Elements and usage

DataBase/Device/*/Config/Edit[@Style='CheckBox']: optional

Type
Style='CheckBox': character string
Values
Style='CheckBox': any character string
Default (when omitted)
empty string

Min

This attribute defines the minimal value or minimal length, depending on @Style.

Elements and usage

DataBase/Device/*/Config/Edit[@Style='Hex']: required
DataBase/Device/*/Config/Edit[@Style='Decimal']: required
DataBase/Device/*/Config/Edit[@Style='Bin']: optional
DataBase/Device/*/Config/Edit[@Style='TextEx']: optional
DataBase/Device/*/Range/Edit[@Style='Hex']: required
DataBase/Device/*/Range/Edit[@Style='Decimal']: required
DataBase/Device/*/Range/Edit[@Style='Bin']: optional

Type

Style='Hex': hexadecimal number
Style='Decimal': decimal number
Style='Bin': binary number
Style='TextEx': decimal number

Values

Style='Hex', Bytes='1': 0x00Max0xFF
Style='Hex', Bytes='2': 0x0000Max0xFFFF
Style='Hex', Bytes='3': 0x000000Max0xFFFFFF
Style='Hex', Bytes='4': 0x00000000Max0xFFFFFFFF
Style='Decimal': 0Max4294967295
Style='Bin': 0b0Max0b11111111111111111111111111111111
Style='TextEx': 0Max128

Default (when omitted and permitted)
0

MinFeatureSet

This attribute defines the minimal feature set a Flasher must provide to enable this configuration value. The use of this attribute is not intended for custom configuration values and should be reserved for SEGGER.

Elements and usage

DataBase/Device/Config: optional
DataBase/Device/Alternatives/Alternative/Config: optional
DataBase/Device/Config/Group/Config: optional
DataBase/Device/Config/Table/Config: optional
DataBase/Device/Config/Bitfield/BitGroup: optional

Type
not disclosed
Values
not disclosed
Default (when omitted)
not disclosed

MsgEmitOn

This attribute defines the value to which a CheckBox-styled configuration value must be set to display a Message in a message box with severity MsgLvl. The above attributes may only be used together.

Elements and usage

DataBase/Device/*/Config/Edit[@Style='CheckBox']: optional

Type
Style='CheckBox': Integer
Values
Style='CheckBox': 0, 1, 2
Default (when omitted)
not set

MsgLvl

This attribute defines severity MsgLvl of the message box the Message will be displayed in, when the value of the CheckBox-styled configuration value is set to the value specified in MsgEmitOn. The mentioned attributes may only be used together.

Elements and usage

DataBase/Device/*/Config/Edit[@Style='CheckBox']: optional

Type
Style='CheckBox': Enumeration
Values
Style='CheckBox': one out of
  • Question
  • Information
  • Warning
  • Critical
Default (when omitted)
not set

N

This attribute names the configuration value to set the default value for.

Elements and usage

DataBase/Device//Config/Edit[@Style="Table"]/row/c: required

Type
character string
Values
Any valid configuration value name in the row

Name (Config)

This attribute defines the name of the configuration value and thus also the key in the UNI file via which it can be accessed in the PCode.

Elements and usage

DataBase/Device/Config: required
DataBase/Device/Alternatives/Alternative/Config: required
DataBase/Device/Config/Group/Config: required
DataBase/Device/Config/Table/Config: required
DataBase/Device/Config/Bitfield/BitGroup: required

Type
Character string
Values
Any non-empty character string.
Note
This value must be unique for this device.

Name (Device)

It should be the (most common) device name assigned to the device by the silicon manufacturer or developer. Be as specific as necessary, as generic as possible. E.g. TC334LP-32F instead of SAK-TC334LP-32F200F AA.

Elements and usage

DataBase/Device/ChipInfo: required
DataBase/Device/Alternatives/Alternative: optional

Type
Character string
Values
Any non-empty character string.
Note
This value – in connection with Interface – must be unique across all devices!

Name (FlashBank)

This attribute names a memory area on the device. It has only a descriptive function, but must be unique for the defined device.

Elements and usage

DataBase/Device/FlashBankInfo: required

Type
Character string
Values
Any non-empty character string

Name (Loader)

This attribute defines the name of the executable PCode file containing the full algorithm to be used for this bank.

Elements and usage

DataBase/Device/FlashBankInfo/LoaderInfo: required

Type
31 char PCode executable file name, preferable in 8.3 name scheme
Values
any valid file name

Name (Option)

This attribute defines the string that will be displayed for a DropDown-styled configuration value. It decouples the functional Value from its displayed value.

Elements and usage

DataBase/Device/Config/Edit[@Style='DropDown']/Option: required

Type
Character string
Values
Any character string.
Note
This value must be unique for this drop-down list.

Name (Vendor)

This attribute defines the company name of the silicon manufacturer in a Vendor history. It should be the most common short company name like 'Atmel' or 'Hitachi'.

Elements and usage

DataBase/Device/Information/VendorHistory/Vendor: required

Type
Character string
Values
Any character string.

MinVcc and MaxVcc

These attributes define the range in which the VTref must be located in order to start or continue operations on the device.

Elements and usage

DataBase/Device/ChipInfo: optional

Type
positive integer
Values
true, false
Default (when omitted)

MinVcc 5000
MaxVcc 5000

OptDatFile

This attribute allows to create and provision a project without a data (DAT) file.

Elements and usage

DataBase/Device/ChipInfo: optional

Type
Boolean
Values
true, false
Default (when omitted)
false

Pattern

This attribute allows to define a RegEx to validate the input into the text field.

Elements and usage

DataBase/Device/*/Config/Edit[@Style='TextEx']: optional

Type
Style='TextEx': RegEx string
Values
Style='TextEx': any valid RegEx string
Default (when omitted)
empty string

PinNumber

This attribute denotes the number of pin on Flasher connector.

Elements and usage

DataBase/Device/Information/WiringPlan/Pin: required

Type
decimal number
Values
1..20
See Quick reference to Pin description on WiringPlans for examples.

Pos

This attribute defines the position and location of BitGroup in a Bitfield. It is in the form <zero-based-2-digit-number of MSB>:<zero-based-2-digit-number of LSB>. A notation of Pos="5:3" denotes a BitGroup comprising 3 bits, starting with bit #3 (≙23=8d) through bit #5 (≙25=32d).

Elements and usage

DataBase/Device/*/Bitfield/BitGroup: required

Type
Range denominator
Values
Colon seperated tupel of zero based, zero padded, 2 digit decimal values.
#MSB:#LSB

RamCode

This attribute defines the name of a target-specific executable code that uses internal resources of the device or can programme the device faster. It must be loaded from the PCode into the target device. See the corresponding API functions.

Elements and usage

DataBase/Device/FlashBankInfo: optional

Type
31 char PCode executable file name, preferable in 8.3 name scheme
Values
any valid file name
Default (when omitted)
undefined

ref

This attribute references a WiringPlan with this unique identity.

Elements and usage

DataBase/Device/Information/WiringPlan: required if no unique id, see Id

Type
character string
Values
any unique string, referencing an Id.

RelPath

This attribute defines the source file name (on PC) of an additional file if it is part of a project configuration.

Elements and usage

DataBase/Device/Addon/File: required

Type
An OS file path
Values
any valid file path relative to U-Flash.

Remark

This attribute specifies a remark to a pin, that is not rendered. It's necessary, as any comment inside a WiringPlan is rendered as text.

Elements and usage

DataBase/Device/Information/WiringPlan/Pin: optional

Type
character string
Values
any string
Default (when omitted)
empty string

Sect

This attribute defines the size of the erase (and write) sector. If both sizes are different, it is recommended to define the size of the erase sector and handle the size of the write sector programmatically in PCode.

Elements and usage

DataBase/Device/FlashBankInfo: optional

Type
32-bit hexadecimal value
Values
0x000000000x7FFFFFFF
Default (when omitted)
0x7FFFFFFF
Note
This value, when defined, must not be 0.

SecureDataOptional

This attribute indicates that no additional data file is required for a stand-alone "Backup" task. This attribute is useful if all the values needed for backing up a unit are constants or can be extracted from the configuration.

Elements and usage

DataBase/Device/DefaultTasks: optional

Type
SetUnset
Values
0, 1
Default (when omitted)
0

Size (Bitfield)

This attribute defines the size of the bit field in bytes.

Elements and usage

DataBase/Device//Config/Bitfield: required

Type
integer
Values
04

Size (Flashbank)

This attribute defines the size of the memory area.

Elements and usage

DataBase/Device/FlashBankInfo: optional

Type
32-bit hexadecimal value
Values
0x000000000x7FFFFFFF
Default (when omitted)
0x7FFFFFFF
Note
This value, when defined, must not be 0.

StartIdx

This attribute defines the first index for tabulated configuration values.

Elements and usage

DataBase/Device/Config/Table: optional

Type
An decimal number
Values
02147483647
Default (when omitted)
0

State

Defines the support state of the device package, e.g. when receiving an end-of-life notification, it could be set to deprecated.

Elements and usage

DataBase/Device: optional
DataBase/Device/Alternatives/Alternative: optional

Type
Enumeration
Values
active, deprecated, obsolete, hidden, prohibited
Default (when omitted)
active

Style

This attribute defines the type of input for the interactive editing of configuration values by the user. It also defines the allowed child elements and attributes.

Elements and usage

DataBase/Device/Config/Edit: required

Type
Enumeration
Values
On out of:
  • DropDown
  • Hex
  • Decimal
  • Bin
  • CheckBox
  • TextEx
  • File
  • Button

TargetFunction

This attribute defines the function on the target side, optionally together with a pin number on the target connector or additional resistors or capacitors to a named net.

Elements and usage

DataBase/Device/Information/WiringPlan/Pin: optional

Type
target function string.
Values
Any function string. Format (EBNF):

TargetFunction ::= [ [ targetpin ] , [ "\", (resistor | capacitor) ] , ":" ] target;
targetpin      ::= { digit };
resistor  ::=       ("R" , nominator) | (R-value) , "-";
capacitor ::= "C" , ("C" , nominator) | (C-value) , "-";
nominator ::= digit [ , digit [ , digit [ , digit ]]];
R-value   ::= (digit , R-unit [ , digit [ , digit ]]) |
              (digit , digit , R-unit [ , digit ])    |
              (digit , digit , digit , R-unit)        |
              (digit , digit , digit , digit);
C-value   ::= (digit , C-unit [ , digit [ , digit ]]) |
              (digit , digit , C-unit [ , digit ])    |
              (digit , digit , digit , C-unit)        |
              (digit , digit , digit , digit);
R-unit    ::= "m" | "R" | "k" | "M";
C-unit    ::= "p" | "n" | "µ" | "m" | "F";
digit     ::= "0" | "1" | "2" | "3" | "4" | 
              "5" | "6" | "7" | "7" | "9";
target    ::= any string;

See Quick reference to Pin description on WiringPlans for examples.
Default (when omitted)
empty string

TargetPath (Addon)

This attribute defines the target name (on Flasher) of an additional file if it is part of a project configuration.

Elements and usage

DataBase/Device/Addon/File: required

Type
31 char file name, preferable in 8.3 name scheme
Values
any valid file name

TargetPath (Config)

This attribute defines in which section of UFLASH, UNI or INI file this config value will be stored or propagated. The use of this attribute should be reserved for SEGGER.

Elements and usage

DataBase/Device/Config: optional
DataBase/Device/Alternatives/Alternative/Config: optional
DataBase/Device/Config/Group/Config: optional
DataBase/Device/Config/Table/Config: optional
DataBase/Device/Config/Bitfield/BitGroup: optional

Type
configuration path string list
Values
Semicolon-separated list of configuration path strings
Default (when omitted)
.UNI/CONFIG

to, every

These attributes to and every form a range starting with PinNumber up to and including to with an increment of every.

Elements and usage

DataBase/Device/Information/WiringPlan/Pin: optional, must used together

Type
decimal number
Values
1..20
See Quick reference to Pin description on WiringPlans for examples.

Tristate

This attribute allows to define a checkbox that defines 3 states: checked, unchecked and a third state, e.g. to not change the dependent state.

Elements and usage

DataBase/Device/*/Config/Edit[@Style='CheckBox']: optional

Type
Style='CheckBox': boolean
Values
Style='CheckBox': true
Fixed value
true

Unit

This attribute defines a unit in which the decimal configuration can be meaningfully interpreted by the user. It has only informational character.

Elements and usage

DataBase/Device/*/Config/Edit[@Style='Decimal']: optional

Type
Style='Decimal': character string
Values
Style='Decimal': any character string
Default (when omitted)
empty string

URL

This attribute defines the web presence of the silicone manufacturer in the Vendor history. It should be the last valid original web address whenever possible.

Elements and usage

DataBase/Device/Information/VendorHistory/Vendor: optional

Type
URL
Values
Any valid URL.
Default (when omitted)
empty string

usage

This attribute allows to distinguish between public and internal information.

Elements and usage

DataBase/Device/Information/Note: optional
DataBase/Device/Information/CData: optional

Type
Enumeration
Values
  • public
  • internal
Default (when omitted)
public

Value

This attribute defines the initial value for this configuration value. The format of the value is generic and cannot be checked by U-Flash unless an Edit node is present. In this case, the value is a constant.

Elements and usage

DataBase/Device/Config: required
DataBase/Device/Alternatives/Alternative/Config: required
DataBase/Device/Config/Group/Config: required
DataBase/Device/Config/Table/Config: required
DataBase/Device/Config/Bitfield/BitGroup: required
DataBase/Device/Config/Edit[@Style='DropDown']/Option: required

Type
Character string
Values
Any non-empty character string.
The value is interpreted according to the Style attribute. This attribute also defines the expected and accepted format of the content.

Vendor

Should be the common (short) name of the silicon vendor. E.g. ISSI instead of Integrated Silicon Solution Inc.

Elements and usage

DataBase/Device/ChipInfo: required

Type
Character string
Values
Any non-empty character string.

Version

Defines a version number to distinguish the evolutionary stages of an algorithm from each other.

Elements and usage

DataBase/Device: optional

Type
Character string
Values
[RLP][0-9A-F]+
R: Reviewed,
L: Local or
P: Published,
followed by a hexadecimal value indicating a monotonically increasing version number.
Default (when omitted)
R0
Note
Please note that versions beginning with R are preserved for Flasher device packs reviewed or published by SEGGER.

WorkRamAddr

This attribute is currently not supported in Flasher DSK, but by J-Link SDK. Please refer to XML-tag_ChipInfo

Elements and usage

DataBase/Device/ChipInfo: optional

WorkRamSize

This attribute is currently not supported in Flasher DSK, but by J-Link SDK. Please refer to XML-tag_ChipInfo

Elements and usage

DataBase/Device/ChipInfo: optional


Quick reference to Pin description on WiringPlans

Quick reference to Pin description on WiringPlans