tixml2svd 0.1.1

A utility that converts Texas-Instruments device descriptions to standard SVD files
Documentation

tixml2svd

This utility creates SVD files from the Texas-Instruments XML (called TIXML from now on) device and peripheral descriptor files.

Device descriptor files are generally found in the ccsv8/ccs_base/common/targetdb/devices directory of a TI Code Composer installation directory. They contain the names and base addresses of all of the device's peripherals, as well as a the relative path of each peripheral's descriptor file.

Peripheral descriptor files are generally found in the ccsv8/ccs_base/common/targetdb/Modules directory of a TI Code Composer installation directory. They contain the names and addresses of all of the registers belonging to a peripheral.

Usage

Something like tixml2svd -i cc1310f128.xml -o cc1310f128.svd should do the trick. If this does not work, try one of the device peripherals first, with something like tixml2svd -p -i Modules/CC26xx/CC2652/PRCM.xml

Caveats

I have tried this code on the CC2652. It detected a bug in the CRYPTO.xml file (a register with a width of 33 bits). After fixing the original TIXML file, it works fine.

For the moment, this utility does not generate SVD device headers. This will require a little research on your part. This is an example of the information you will need to dig up for your part (this header is sufficient for the Segger Ozone debugger).

<?xml version="1.0" encoding="UTF-8"?>
<device xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="1.1" xs:noNamespaceSchemaLocation="CMSIS-SVD_Schema_1_0.xsd">
  <name>CC26x0</name>
  <version>2.3</version>
  <description>SimpleLink CC26xx Ultra-low power wireless MCU</description>
  <cpu>
    <name>CM3</name>
    <revision>r2p1</revision>
    <endian>little</endian>
    <mpuPresent>false</mpuPresent>
    <fpuPresent>false</fpuPresent>
    <nvicPrioBits>3</nvicPrioBits>
    <vendorSystickConfig>false</vendorSystickConfig>
  </cpu>
  <addressUnitBits>8</addressUnitBits>
  <width>32</width>
  <size>32</size>
  <access>read-write</access>
  <resetMask>0xFFFFFFFF</resetMask>