<?xml version="1.0" encoding="UTF-8"?>
<package schemaVersion="1.4" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="PACK.xsd">
  <vendor>Cmsemicon</vendor>
  <name>BAT32G137</name>
  <description>Cmsemicon BAT32G137 Device Family Pack</description>
  <url>http://www.mcu.com.cn/pack/</url>

  <releases>
    <release version="2.1.3">
      Add DataFlash Programming Algorithm 
      Add VBGR A/D conversion value 
      Change system_BAT32G137.c to compatible with AC5 and AC6
      Change the name and address of TSCDR1 and TSCDR2
        TSCDR1 --> TSN25, TSCDR2 --> TSN85
    </release>
    <release version="2.1.2">
      Change the Dvendor with Keil official assigned code
      Change the vendor from CMS to Cmsemicon
      Fix the VCOUTx_PORT_SETTING() defination
    </release>
    <release version="2.1.1">
      Fix the UART1_Stop function
      Delete the call of NVIC_EnableIRQ function in Driver files 
    </release>
    <release version="2.1.0">
      Change the name of Timer 4 from TM4 to TM40 
      Change the name of HISTOP to HIOSTOP 
      Rewrite the driver of TM40
      Add the driver and examples of TMA, TMB, TMC, TMM
      Add the driver and examples of CAN
    </release>
    <release version="2.0.1">
      Remove some parts according to the product Roadmap.
    </release>
    <release version="2.0.0">
      Modified the register of ADC of chip Version 2.0
    </release>
    <release version="1.0.0">
      Initial Version
    </release>
  </releases>
  <keywords>
    <!-- keywords for indexing -->
    <keyword>Cmsemicon</keyword>
    <keyword>BAT32G137</keyword>
  </keywords>
  <!-- devices section (mandatory for Device Family Packs) -->
  <devices>
    <family Dfamily="M0+ Series" Dvendor="Cmsemicon:161">
      <!-- *************************  Sub Family 'BAT32G137'  ***************************** -->
      <subFamily DsubFamily="BAT32G137">
        <processor Dcore="Cortex-M0+" DcoreVersion="r0p1" Dfpu="0" Dmpu="1" Dendian="Little-endian" Dclock="48000000"/>
        <description>
          The BAT32G137 device family contains an ARM Cortex-M0+ processor, running up to 48 MHz with a versatile set of on-chip peripherals.
        </description>
        <compile  header="Device/Include/BAT32G137.h"/>
        <debug    svd="SVD/BAT32G137.svd"/>
        <algorithm  name="Flash/BAT32G137_DataFlash.FLM"    start="0x00500000"  size="0x00600"     default="1"/>
        <feature 	type="VCC"    		      n="1.8" 	      m="5.0"/>
        <feature 	type="Temp"          	  n="-40"     	  m="105"/>
        <feature 	type="DMA"          	  n="40"     	                    name="Enhanced DMA"/>
        <feature 	type="XTAL"          	  n="1000000"     m="20000000" 	  name="External Crystal Oscillator"/>
        <feature 	type="IntRC"            n="24000000"    m="64000000" 	  name="Internal RC Oscillator with +/- 1% accuracy"/>
        <feature 	type="RTC"          	  n="32768"                       name="Internal Real Time Clock(RTC)"/>
        <feature 	type="WDT"              n="1"/>
        <feature 	type="PowerMode"        n="3"                           name="Run, Sleep, Deep-Sleep"/>
        <feature 	type="PowerOther"       n="1"                           name="POR"/>
        <feature 	type="ADC"              n="16"          m="12"          name="High-Accuracy ADC"/>
        <feature 	type="DAC"              n="2"           m="8"           name="DAC"/>
        <feature 	type="AnalogOther"      n="2"                           name="PGA"/>
        <feature 	type="AnalogOther"      n="2"                           name="CMP"/>
        <feature 	type="TempSens"         n="1"                           name="Temperature Sensor"/>
        <feature 	type="I2C"              n="1"                           name="Full Function I2C"/>
        <feature 	type="I2C"              n="6"                           name="Simplified I2C"/>
        <feature 	type="SPI"              n="1"                           name="4-wire SPI"/>
        <feature 	type="SPI"              n="5"                           name="3-wire SPI"/>
        <feature 	type="UART"             n="3"/>
        <feature 	type="LIN"              n="1"/>
        <feature 	type="Timer"            n="4"           m="16"          name="General Purpose Timer (TIM4)"/>
        <feature 	type="Timer"            n="1"           m="16"          name="General Purpose Timer (TIMA)"/>
        <feature 	type="Timer"            n="1"           m="16"          name="General Purpose Timer (TIMB)"/>
        <feature 	type="Timer"            n="1"           m="16"          name="General Purpose Timer (TIMC)"/>
        <feature 	type="Timer"            n="1"           m="16"          name="BLDC Motor Control Timer(TIMM)"/>
        <!-- *************************  Device 'BAT32G137GH64FB'  ***************************** -->
        <device Dname="BAT32G137GH64FB">
          <description>
            Code Flash: 128KB,  Data Flash: 1.5KB,  RAM: 12KB
            Package: 64-lead LQFP(7x7mm, 0.4mm pitch)
          </description>
          <memory     name="IROM1"  access="rx"       start="0x00000000"  size="0x20000"     startup="1"   default="1"/>
          <memory     name="IRAM1"  access="rw"       start="0x20000000"  size="0x03000"     init   ="0"   default="1"/>
          <algorithm  name="Flash/BAT32G137GH.FLM"    start="0x00000000"  size="0x20000"     default="1"/>
          <feature    type="QFP"            n="64"                        name="7x7mm, 0.4mm pitch LQFP"/>
        </device>
        <!-- *************************  Device 'BAT32G137GH48FA'  ***************************** -->
        <device Dname="BAT32G137GH48FA">
          <description>
            Code Flash: 128KB,  Data Flash: 1.5KB,  RAM: 12KB
            Package: 48-lead LQFP(7x7mm, 0.5mm pitch)
          </description>
          <memory     name="IROM1"  access="rx"       start="0x00000000"  size="0x20000"     startup="1"   default="1"/>
          <memory     name="IRAM1"  access="rw"       start="0x20000000"  size="0x03000"     init   ="0"   default="1"/>
          <algorithm  name="Flash/BAT32G137GH.FLM"    start="0x00000000"  size="0x20000"     default="1"/>
	      <feature    type="QFP"            n="48"                        name="7x7mm, 0.5mm pitch LQFP"/>
        </device>
        <!-- *************************  Device 'BAT32G137GH40NB'  ***************************** -->
        <device Dname="BAT32G137GH40NB">
          <description>
            Code Flash: 128KB,  Data Flash: 1.5KB,  RAM: 12KB
            Package: 40-lead QFN(5x5mm, 0.4mm pitch)
          </description>
          <memory     name="IROM1"  access="rx"       start="0x00000000"  size="0x20000"     startup="1"   default="1"/>
          <memory     name="IRAM1"  access="rw"       start="0x20000000"  size="0x03000"     init   ="0"   default="1"/>
          <algorithm  name="Flash/BAT32G137GH.FLM"    start="0x00000000"  size="0x20000"     default="1"/>
	      <feature    type="QFN"            n="40"                        name="5x5mm, 0.4mm pitch QFN"/>
        </device>
        <!-- *************************  Device 'BAT32G137GH32FP'  ***************************** -->
        <device Dname="BAT32G137GH32FP">
          <description>
            Code Flash: 128KB,  Data Flash: 1.5KB,  RAM: 12KB
            Package: 32-lead LQFP(7x7mm, 0.8mm pitch)
          </description>
          <memory     name="IROM1"  access="rx"       start="0x00000000"  size="0x20000"     startup="1"   default="1"/>
          <memory     name="IRAM1"  access="rw"       start="0x20000000"  size="0x03000"     init   ="0"   default="1"/>
          <algorithm  name="Flash/BAT32G137GH.FLM"    start="0x00000000"  size="0x20000"     default="1"/>
	      <feature    type="QFP"            n="32"                        name="7x7mm, 0.8mm pitch LQFP"/>
        </device>
      </subFamily>
    </family>
  </devices>
  <!-- examples section (optional for all Software Packs)-->
  <examples>
    <example name="Blinky" doc="README" folder="Examples/Blinky">
      <description>Sample project</description>
      <board name="BAT32G137_EVB" vendor="Cmsemicon"/>
      <project>
        <environment name="uv" load="Blinky.uvprojx"/>
      </project>
      <attributes>
        <component Cclass="CMSIS" Cgroup="CORE"/>
        <component Cclass="Device" Cgroup="Startup"/>
      </attributes>
    </example>
  </examples>
  
  <!-- conditions section (optional for all Software Packs)-->
  <conditions>
    <condition id="BAT32G137 CMSIS-CORE">
      <!-- conditions selecting Devices -->
      <description>Cmsemicon BAT32G137 Series devices and CMSIS-CORE</description>
      <require Cclass="CMSIS" Cgroup="CORE"/>
      <require Dvendor="Cmsemicon:161" Dname="BAT32G137*"/>
    </condition>
    <condition id="Startup ARM">
      <description>Startup assembler file for ARMCC</description>
      <require Tcompiler="ARMCC"/>
    </condition>
    <condition id="Startup GCC">
      <description>Startup assembler file for GCC</description>
      <require Tcompiler="GCC"/>
    </condition>
    <condition id="Startup IAR">
      <description>Startup assembler file for IAR</description>
      <require Tcompiler="IAR"/>
    </condition>
  </conditions>
  
  <!-- component section (optional for all Software Packs)-->
  <components>
    <component Cclass="Device" Cgroup="Startup" Cversion="1.0.0" condition="BAT32G137 CMSIS-CORE">
      <description>System Startup for Cmsemicon BAT32G137 Series</description>
      <files>
       <!--  include folder -->
       <file category="include" name="Device/Include/"/>

        <file category="source"  name="Device/Source/ARM/startup_BAT32G137.s" attr="config" condition="Startup ARM" version="1.0.0"/>
        <file category="source"  name="Device/Source/GCC/startup_BAT32G137.S" attr="config" condition="Startup GCC" version="1.0.0"/>
        <file category="source"  name="Device/Source/IAR/startup_BAT32G137.s" attr="config" condition="Startup IAR" version="1.0.0"/>

        <file category="source"  name="Device/Source/system_BAT32G137.c"  attr="config" version="1.0.0"/>
      </files>
    </component>
  </components>
  
</package>
