namrota ghosh 10 hónapja
commit
c085a0cfdf
38 módosított fájl, 5248 hozzáadás és 0 törlés
  1. 17 0
      .ccsproject
  2. 99 0
      .cproject
  3. 1 0
      .gitignore
  4. 20 0
      .project
  5. 3 0
      .settings/org.eclipse.cdt.codan.core.prefs
  6. 8 0
      .settings/org.eclipse.core.resources.prefs
  7. 7 0
      Debug/ccsObjs.opt
  8. 53 0
      Debug/device.cmd.genlibs
  9. 1 0
      Debug/device.opt
  10. 68 0
      Debug/device_linker.cmd
  11. 153 0
      Debug/i2c_controller.d
  12. BIN
      Debug/i2c_controller.o
  13. 378 0
      Debug/i2c_controller_LP_MSPM0G3507_nortos_ticlang.map
  14. BIN
      Debug/i2c_controller_LP_MSPM0G3507_nortos_ticlang.out
  15. 2527 0
      Debug/i2c_controller_LP_MSPM0G3507_nortos_ticlang_linkInfo.xml
  16. 156 0
      Debug/makefile
  17. 8 0
      Debug/objects.mk
  18. 129 0
      Debug/sources.mk
  19. 64 0
      Debug/startup_mspm0g350x_ticlang.d
  20. BIN
      Debug/startup_mspm0g350x_ticlang.o
  21. 40 0
      Debug/subdir_rules.mk
  22. 66 0
      Debug/subdir_vars.mk
  23. 154 0
      Debug/ti/comm_modules/i2c/controller/i2c_comm_controller.d
  24. BIN
      Debug/ti/comm_modules/i2c/controller/i2c_comm_controller.o
  25. 13 0
      Debug/ti/comm_modules/i2c/controller/subdir_rules.mk
  26. 24 0
      Debug/ti/comm_modules/i2c/controller/subdir_vars.mk
  27. 146 0
      Debug/ti_msp_dl_config.c
  28. 150 0
      Debug/ti_msp_dl_config.d
  29. 114 0
      Debug/ti_msp_dl_config.h
  30. BIN
      Debug/ti_msp_dl_config.o
  31. 8 0
      README.html
  32. 46 0
      README.md
  33. 136 0
      i2c_controller.c
  34. 56 0
      i2c_controller.syscfg
  35. 22 0
      targetConfigs/MSPM0G3507.ccxml
  36. 9 0
      targetConfigs/readme.txt
  37. 321 0
      ti/comm_modules/i2c/controller/i2c_comm_controller.c
  38. 251 0
      ti/comm_modules/i2c/controller/i2c_comm_controller.h

+ 17 - 0
.ccsproject

@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<?ccsproject version="1.0"?>
+<projectOptions>
+	<ccsVariant value="50:Theia-based"/>
+	<ccsVersion value="51.5.0"/>
+	<deviceFamily value="TMS470"/>
+	<connection value="common/targetdb/connections/TIXDS110_Connection.xml"/>
+	<createSlaveProjects value=""/>
+	<ignoreDefaultDeviceSettings value="true"/>
+	<ignoreDefaultCCSSettings value="true"/>
+	<templateProperties value="id=i2c_controller_LP_MSPM0G3507_nortos_ticlang.projectspec.i2c_controller_LP_MSPM0G3507_nortos_ticlang,buildProfile=release,isHybrid=true"/>
+	<activeTargetConfiguration value="targetConfigs/MSPM0G3507.ccxml"/>
+	<isTargetConfigurationManual value="false"/>
+	<sourceLookupPath value="${COM_TI_MSPM0_SDK_INSTALL_DIR}/source/ti/driverlib"/>
+	<origin value="/home/ngosh/ti/mspm0_sdk_2_03_00_07/examples/nortos/LP_MSPM0G3507/comm_modules/i2c_controller/ticlang/i2c_controller_LP_MSPM0G3507_nortos_ticlang.projectspec"/>
+	<filesToOpen value="i2c_controller.syscfg,README.md"/>
+</projectOptions>

+ 99 - 0
.cproject

@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+    <storageModule moduleId="org.eclipse.cdt.core.settings">
+        <cconfiguration id="com.ti.ccstudio.buildDefinitions.TMS470.Debug.935288463">
+            <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.TMS470.Debug.935288463" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+                <externalSettings/>
+                <extensions>
+                    <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="com.ti.ccs.project.ErrorParser"/>
+                    <extension id="org.eclipse.cdt.core.GASErrorParser" point="com.ti.ccs.project.ErrorParser"/>
+                    <extension id="com.ti.ccs.errorparser.SysConfigErrorParser" point="com.ti.ccs.project.ErrorParser"/>
+                    <extension id="org.eclipse.cdt.core.GCCErrorParser" point="com.ti.ccs.project.ErrorParser"/>
+                    <extension id="com.ti.ccs.errorparser.CompilerErrorParser_TI" point="com.ti.ccs.project.ErrorParser"/>
+                </extensions>
+            </storageModule>
+            <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+                <configuration artifactExtension="out" artifactName="${ProjName}" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" id="com.ti.ccstudio.buildDefinitions.TMS470.Debug.935288463" name="Debug" parent="com.ti.ccstudio.buildDefinitions.TMS470.Debug">
+                    <folderInfo id="com.ti.ccstudio.buildDefinitions.TMS470.Debug.935288463." name="/" resourcePath="">
+                        <toolChain id="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.exe.DebugToolchain.1953679354" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.exe.linkerDebug.2086295120">
+                            <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1380086674" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
+                                <listOptionValue value="DEVICE_CONFIGURATION_ID=Cortex M.MSPM0G3507"/>
+                                <listOptionValue value="DEVICE_CORE_ID="/>
+                                <listOptionValue value="DEVICE_ENDIANNESS=little"/>
+                                <listOptionValue value="OUTPUT_FORMAT=ELF"/>
+                                <listOptionValue value="CCS_MBS_VERSION=51.0.0"/>
+                                <listOptionValue value="RUNTIME_SUPPORT_LIBRARY="/>
+                                <listOptionValue value="OUTPUT_TYPE=executable"/>
+                                <listOptionValue value="PRODUCTS=MSPM0-SDK:2.3.0.07;sysconfig:1.22.0;"/>
+                                <listOptionValue value="PRODUCT_MACRO_IMPORTS={&quot;MSPM0-SDK&quot;:[&quot;${COM_TI_MSPM0_SDK_INCLUDE_PATH}&quot;,&quot;${COM_TI_MSPM0_SDK_LIBRARY_PATH}&quot;,&quot;${COM_TI_MSPM0_SDK_LIBRARIES}&quot;,&quot;${COM_TI_MSPM0_SDK_SYMBOLS}&quot;,&quot;${COM_TI_MSPM0_SDK_SYSCONFIG_MANIFEST}&quot;],&quot;sysconfig&quot;:[&quot;${SYSCONFIG_TOOL_INCLUDE_PATH}&quot;,&quot;${SYSCONFIG_TOOL_LIBRARY_PATH}&quot;,&quot;${SYSCONFIG_TOOL_LIBRARIES}&quot;,&quot;${SYSCONFIG_TOOL_SYMBOLS}&quot;,&quot;${SYSCONFIG_TOOL_SYSCONFIG_MANIFEST}&quot;]}"/>
+                            </option>
+                            <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.85434819" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="TICLANG_4.0.0.LTS" valueType="string"/>
+                            <targetPlatform id="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.exe.targetPlatformDebug.1035484847" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.exe.targetPlatformDebug"/>
+                            <builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.exe.builderDebug.2051823926" name="GNU Make.Debug" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.exe.builderDebug"/>
+                            <tool id="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.exe.compilerDebug.1361247414" name="Arm Compiler" superClass="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.exe.compilerDebug">
+                                <option id="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.compilerID.GENERATE_DWARF_DEBUG.554543526" superClass="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.compilerID.GENERATE_DWARF_DEBUG" value="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.compilerID.GENERATE_DWARF_DEBUG.GDWARF_3" valueType="enumerated"/>
+                                <option id="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.compilerID.ENDIAN_NESS__BIG_LITTLE.184739808" superClass="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.compilerID.ENDIAN_NESS__BIG_LITTLE" value="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.compilerID.ENDIAN_NESS__BIG_LITTLE.MLITTLE_ENDIAN" valueType="enumerated"/>
+                                <option id="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.compilerID.INCLUDE_PATH.1626854708" superClass="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.compilerID.INCLUDE_PATH" valueType="includePath">
+                                    <listOptionValue value="${COM_TI_MSPM0_SDK_INCLUDE_PATH}"/>
+                                    <listOptionValue value="${SYSCONFIG_TOOL_INCLUDE_PATH}"/>
+                                    <listOptionValue value="${PROJECT_ROOT}"/>
+                                    <listOptionValue value="${PROJECT_ROOT}/${ConfigName}"/>
+                                    <listOptionValue value="${COM_TI_MSPM0_SDK_INSTALL_DIR}/source/third_party/CMSIS/Core/Include"/>
+                                    <listOptionValue value="${COM_TI_MSPM0_SDK_INSTALL_DIR}/source"/>
+                                </option>
+                                <option id="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.compilerID.DEFINE.219186174" superClass="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.compilerID.DEFINE" valueType="definedSymbols">
+                                    <listOptionValue value="${COM_TI_MSPM0_SDK_SYMBOLS}"/>
+                                    <listOptionValue value="${SYSCONFIG_TOOL_SYMBOLS}"/>
+                                </option>
+                                <option id="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.compilerID.OPT_LEVEL.936868805" superClass="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.compilerID.OPT_LEVEL" value="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.compilerID.OPT_LEVEL.2" valueType="enumerated"/>
+                                <option id="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.compilerID.CMD_FILE.1193179186" superClass="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.compilerID.CMD_FILE" valueType="stringList">
+                                    <listOptionValue value="device.opt"/>
+                                </option>
+                                <option id="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.compilerID.MCPU.1975140267" superClass="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.compilerID.MCPU" value="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.compilerID.MCPU.cortex-m0plus" valueType="enumerated"/>
+                                <option id="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.compilerID.MARCH.1235485199" superClass="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.compilerID.MARCH" value="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.compilerID.MARCH.thumbv6m" valueType="enumerated"/>
+                                <option id="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.compilerID.MFLOAT_ABI.1009781837" superClass="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.compilerID.MFLOAT_ABI" value="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.compilerID.MFLOAT_ABI.soft" valueType="enumerated"/>
+                                <option id="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.compilerID.SELECT_PROCESSOR_MODE__ARM_THUMB.168827457" superClass="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.compilerID.SELECT_PROCESSOR_MODE__ARM_THUMB" value="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.compilerID.SELECT_PROCESSOR_MODE__ARM_THUMB.MTHUMB" valueType="enumerated"/>
+                            </tool>
+                            <tool id="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.exe.linkerDebug.2086295120" name="Arm Linker" superClass="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.exe.linkerDebug">
+                                <option id="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.linkerID.OUTPUT_FILE.1552557380" superClass="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.linkerID.OUTPUT_FILE" value="${ProjName}.out" valueType="string"/>
+                                <option id="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.linkerID.MAP_FILE.162568809" superClass="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.linkerID.MAP_FILE" value="${ProjName}.map" valueType="string"/>
+                                <option id="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.linkerID.XML_LINK_INFO.1331665347" superClass="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.linkerID.XML_LINK_INFO" value="${ProjName}_linkInfo.xml" valueType="string"/>
+                                <option id="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.linkerID.DISPLAY_ERROR_NUMBER.694107921" superClass="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.linkerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
+                                <option id="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.linkerID.DIAG_WRAP.2041560830" superClass="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.linkerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.linkerID.DIAG_WRAP.off" valueType="enumerated"/>
+                                <option id="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.linkerID.REREAD_LIBS.1759072147" superClass="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.linkerID.REREAD_LIBS" value="false" valueType="boolean"/>
+                                <option id="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.linkerID.SEARCH_PATH.1775491281" superClass="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.linkerID.SEARCH_PATH" valueType="libPaths">
+                                    <listOptionValue value="${COM_TI_MSPM0_SDK_LIBRARY_PATH}"/>
+                                    <listOptionValue value="${SYSCONFIG_TOOL_LIBRARY_PATH}"/>
+                                    <listOptionValue value="${COM_TI_MSPM0_SDK_INSTALL_DIR}/source"/>
+                                    <listOptionValue value="${PROJECT_ROOT}"/>
+                                    <listOptionValue value="${PROJECT_BUILD_DIR}/syscfg"/>
+                                    <listOptionValue value="${CG_TOOL_ROOT}/lib"/>
+                                </option>
+                                <option id="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.linkerID.LIBRARY.309478673" superClass="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.linkerID.LIBRARY" valueType="libs">
+                                    <listOptionValue value="${COM_TI_MSPM0_SDK_LIBRARIES}"/>
+                                    <listOptionValue value="${SYSCONFIG_TOOL_LIBRARIES}"/>
+                                    <listOptionValue value="device.cmd.genlibs"/>
+                                    <listOptionValue value="libc.a"/>
+                                </option>
+                            </tool>
+                            <tool id="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.hex.248633839" name="Arm Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.hex"/>
+                            <tool id="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.objcopy.829578137" name="Arm Objcopy Utility" superClass="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.objcopy"/>
+                            <tool id="com.ti.ccstudio.buildDefinitions.sysConfig.860515484" name="SysConfig" superClass="com.ti.ccstudio.buildDefinitions.sysConfig">
+                                <option id="com.ti.ccstudio.buildDefinitions.sysConfig.PRODUCTS.1991041008" superClass="com.ti.ccstudio.buildDefinitions.sysConfig.PRODUCTS" valueType="stringList">
+                                    <listOptionValue value="${COM_TI_MSPM0_SDK_SYSCONFIG_MANIFEST}"/>
+                                    <listOptionValue value="${SYSCONFIG_TOOL_SYSCONFIG_MANIFEST}"/>
+                                </option>
+                                <option id="com.ti.ccstudio.buildDefinitions.sysConfig.OUTPUT_DIR__MANUAL.1809243772" superClass="com.ti.ccstudio.buildDefinitions.sysConfig.OUTPUT_DIR__MANUAL" value="." valueType="string"/>
+                                <option id="com.ti.ccstudio.buildDefinitions.sysConfig.DIRECTORY_MODE.1622107937" superClass="com.ti.ccstudio.buildDefinitions.sysConfig.DIRECTORY_MODE" value="com.ti.ccstudio.buildDefinitions.sysConfig.DIRECTORY_MODE.manual" valueType="enumerated"/>
+                            </tool>
+                        </toolChain>
+                    </folderInfo>
+                </configuration>
+            </storageModule>
+            <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+        </cconfiguration>
+    </storageModule>
+    <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+        <project id="i2c_controller_LP_MSPM0G3507_nortos_ticlang.com.ti.ccstudio.buildDefinitions.TMS470.ProjectType.928003039" name="TMS470" projectType="com.ti.ccstudio.buildDefinitions.TMS470.ProjectType"/>
+    </storageModule>
+</cproject>

+ 1 - 0
.gitignore

@@ -0,0 +1 @@
+.clangd

+ 20 - 0
.project

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>I2C_target_ADC</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>com.ti.ccstudio.core.ccsNature</nature>
+		<nature>org.eclipse.cdt.core.cnature</nature>
+		<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+		<nature>org.eclipse.cdt.core.ccnature</nature>
+	</natures>
+</projectDescription>

+ 3 - 0
.settings/org.eclipse.cdt.codan.core.prefs

@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+inEditor=false
+onBuild=false

+ 8 - 0
.settings/org.eclipse.core.resources.prefs

@@ -0,0 +1,8 @@
+eclipse.preferences.version=1
+encoding//Debug/makefile=UTF-8
+encoding//Debug/objects.mk=UTF-8
+encoding//Debug/sources.mk=UTF-8
+encoding//Debug/subdir_rules.mk=UTF-8
+encoding//Debug/subdir_vars.mk=UTF-8
+encoding//Debug/ti/comm_modules/i2c/controller/subdir_rules.mk=UTF-8
+encoding//Debug/ti/comm_modules/i2c/controller/subdir_vars.mk=UTF-8

+ 7 - 0
Debug/ccsObjs.opt

@@ -0,0 +1,7 @@
+"./i2c_controller.o"
+"./ti_msp_dl_config.o"
+"./startup_mspm0g350x_ticlang.o"
+"./ti/comm_modules/i2c/controller/i2c_comm_controller.o"
+-l"./device_linker.cmd"
+-ldevice.cmd.genlibs
+-llibc.a

+ 53 - 0
Debug/device.cmd.genlibs

@@ -0,0 +1,53 @@
+/*****************************************************************************
+
+  Copyright (C) 2023 Texas Instruments Incorporated - http://www.ti.com/
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+
+   Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+
+   Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the
+   distribution.
+
+   Neither the name of Texas Instruments Incorporated nor the names of
+   its contributors may be used to endorse or promote products derived
+   from this software without specific prior written permission.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+*****************************************************************************/
+/*
+ *  ======== board.cmd.genlibs ========
+ *  Libraries needed to link this application's configuration
+ *
+ *  NOTE, this feature requires software components configured in your
+ *  system to correctly indicate their dependencies and report the
+ *  libraries needed for your specific configuration.  If you find
+ *  errors, please report them on TI's E2E forums
+ *  (https://e2e.ti.com/) so they can be addressed in a future
+ *  release.
+ *
+ *  This file allows one to portably link applications that use SysConfig
+ *  _without_ having to make changes to build rules when moving to a new
+ *  device OR when upgrading to a new version of a SysConfig enabled
+ *  product.
+ *
+ *  DO NOT EDIT - This file is generated by the SysConfig tool for the
+ *                TI C/C++ toolchain
+ */
+-l"ti/driverlib/lib/ticlang/m0p/mspm0g1x0x_g3x0x/driverlib.a"

+ 1 - 0
Debug/device.opt

@@ -0,0 +1 @@
+-D__MSPM0G3507__

+ 68 - 0
Debug/device_linker.cmd

@@ -0,0 +1,68 @@
+/*****************************************************************************
+
+  Copyright (C) 2023 Texas Instruments Incorporated - http://www.ti.com/
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+
+   Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+
+   Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the
+   distribution.
+
+   Neither the name of Texas Instruments Incorporated nor the names of
+   its contributors may be used to endorse or promote products derived
+   from this software without specific prior written permission.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+*****************************************************************************/
+-uinterruptVectors
+--stack_size=512
+
+
+MEMORY
+{
+    FLASH           (RX)  : origin = 0x00000000, length = 0x00020000
+    SRAM            (RWX) : origin = 0x20200000, length = 0x00008000
+    BCR_CONFIG      (R)   : origin = 0x41C00000, length = 0x00000080
+    BSL_CONFIG      (R)   : origin = 0x41C00100, length = 0x00000080
+}
+
+SECTIONS
+{
+    .intvecs:   > 0x00000000
+    .text   : palign(8) {} > FLASH
+    .const  : palign(8) {} > FLASH
+    .cinit  : palign(8) {} > FLASH
+    .pinit  : palign(8) {} > FLASH
+    .rodata : palign(8) {} > FLASH
+    .ARM.exidx    : palign(8) {} > FLASH
+    .init_array   : palign(8) {} > FLASH
+    .binit        : palign(8) {} > FLASH
+    .TI.ramfunc   : load = FLASH, palign(8), run=SRAM, table(BINIT)
+
+    .vtable :   > SRAM
+    .args   :   > SRAM
+    .data   :   > SRAM
+    .bss    :   > SRAM
+    .sysmem :   > SRAM
+    .stack  :   > SRAM (HIGH)
+
+    .BCRConfig  : {} > BCR_CONFIG
+    .BSLConfig  : {} > BSL_CONFIG
+}

+ 153 - 0
Debug/i2c_controller.d

@@ -0,0 +1,153 @@
+# FIXED
+
+i2c_controller.o: ../i2c_controller.c \
+ ti_msp_dl_config.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/msp.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/DeviceFamily.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/m0p/mspm0g350x.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/third_party/CMSIS/Core/Include/core_cm0plus.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_adc12.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_aes.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_comp.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_crc.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_dac12.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_dma.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_flashctl.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_gpio.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_gptimer.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_i2c.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_iomux.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_mathacl.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_mcan.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_oa.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_rtc.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_spi.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_trng.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_uart.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_vref.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_wuc.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_wwdt.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/hw_factoryregion.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/hw_cpuss.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/hw_debugss.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/hw_sysctl.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/sysctl/hw_sysctl_mspm0g1x0x_g3x0x.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/driverlib.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_adc12.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_common.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/m0p/dl_factoryregion.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/m0p/dl_core.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_aes.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_aesadv.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_comp.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_crc.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_crcp.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_dac12.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_dma.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_flashctl.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/m0p/dl_sysctl.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/m0p/sysctl/dl_sysctl_mspm0g1x0x_g3x0x.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_gpamp.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_gpio.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_i2c.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_iwdt.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_lfss.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_keystorectl.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_lcd.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_mathacl.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_mcan.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_opa.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_rtc.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_rtc_common.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_rtc_a.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_rtc_b.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_scratchpad.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_spi.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_tamperio.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_timera.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_timer.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_timerg.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_trng.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_uart_extend.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_uart.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_uart_main.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_vref.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_wwdt.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/m0p/dl_interrupt.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/m0p/dl_systick.h \
+ ../ti/comm_modules/i2c/controller/i2c_comm_controller.h
+ti_msp_dl_config.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/msp.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/DeviceFamily.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/m0p/mspm0g350x.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/third_party/CMSIS/Core/Include/core_cm0plus.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_adc12.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_aes.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_comp.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_crc.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_dac12.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_dma.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_flashctl.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_gpio.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_gptimer.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_i2c.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_iomux.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_mathacl.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_mcan.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_oa.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_rtc.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_spi.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_trng.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_uart.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_vref.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_wuc.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_wwdt.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/hw_factoryregion.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/hw_cpuss.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/hw_debugss.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/hw_sysctl.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/sysctl/hw_sysctl_mspm0g1x0x_g3x0x.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/driverlib.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_adc12.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_common.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/m0p/dl_factoryregion.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/m0p/dl_core.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_aes.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_aesadv.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_comp.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_crc.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_crcp.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_dac12.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_dma.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_flashctl.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/m0p/dl_sysctl.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/m0p/sysctl/dl_sysctl_mspm0g1x0x_g3x0x.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_gpamp.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_gpio.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_i2c.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_iwdt.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_lfss.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_keystorectl.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_lcd.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_mathacl.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_mcan.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_opa.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_rtc.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_rtc_common.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_rtc_a.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_rtc_b.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_scratchpad.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_spi.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_tamperio.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_timera.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_timer.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_timerg.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_trng.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_uart_extend.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_uart.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_uart_main.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_vref.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_wwdt.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/m0p/dl_interrupt.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/m0p/dl_systick.h:
+../ti/comm_modules/i2c/controller/i2c_comm_controller.h:

BIN
Debug/i2c_controller.o


+ 378 - 0
Debug/i2c_controller_LP_MSPM0G3507_nortos_ticlang.map

@@ -0,0 +1,378 @@
+******************************************************************************
+            TI ARM Clang Linker Unix v4.0.0                    
+******************************************************************************
+>> Linked Mon Feb 10 16:28:03 2025
+
+OUTPUT FILE NAME:   <i2c_controller_LP_MSPM0G3507_nortos_ticlang.out>
+ENTRY POINT SYMBOL: "_c_int00_noargs"  address: 00000965
+
+
+MEMORY CONFIGURATION
+
+         name            origin    length      used     unused   attr    fill
+----------------------  --------  ---------  --------  --------  ----  --------
+  FLASH                 00000000   00020000  00000ac8  0001f538  R  X
+  SRAM                  20200000   00008000  00000339  00007cc7  RW X
+  BCR_CONFIG            41c00000   00000080  00000000  00000080  R   
+  BSL_CONFIG            41c00100   00000080  00000000  00000080  R   
+
+
+SEGMENT ALLOCATION MAP
+
+run origin  load origin   length   init length attrs members
+----------  ----------- ---------- ----------- ----- -------
+00000000    00000000    00000ac8   00000ac8    r-x
+  00000000    00000000    000000c0   000000c0    r-- .intvecs
+  000000c0    000000c0    000009b8   000009b8    r-x .text
+  00000a78    00000a78    00000008   00000008    r-- .rodata
+  00000a80    00000a80    00000048   00000048    r-- .cinit
+20200000    20200000    00000139   00000000    rw-
+  20200000    20200000    000000f8   00000000    rw- .bss
+  202000f8    202000f8    00000041   00000000    rw- .data
+20207e00    20207e00    00000200   00000000    rw-
+  20207e00    20207e00    00000200   00000000    rw- .stack
+
+
+SECTION ALLOCATION MAP
+
+ output                                  attributes/
+section   page    origin      length       input sections
+--------  ----  ----------  ----------   ----------------
+.intvecs   0    00000000    000000c0     
+                  00000000    000000c0     startup_mspm0g350x_ticlang.o (.intvecs)
+
+.text      0    000000c0    000009b8     
+                  000000c0    000001b4     i2c_comm_controller.o (.text.I2C_sendCommand)
+                  00000274    0000018a     i2c_comm_controller.o (.text.I2C_decodeResponse)
+                  000003fe    00000002     startup_mspm0g350x_ticlang.o (.text.Default_Handler)
+                  00000400    000000cc     i2c_controller.o (.text.I2C1_IRQHandler)
+                  000004cc    000000a0     i2c_controller.o (.text.main)
+                  0000056c    0000009a     libc.a : memcpy16.S.obj (.text:memcpy)
+                  00000606    00000002     libclang_rt.builtins.a : aeabi_div0.c.obj (.text.__aeabi_idiv0)
+                  00000608    00000098     driverlib.a : dl_crc.o (.text.DL_CRC_calculateBlock16)
+                  000006a0    00000090     i2c_comm_controller.o (.text.I2C_getResponse)
+                  00000730    0000007c     libc.a : copy_decompress_lzss.c.obj (.text:decompress:lzss)
+                  000007ac    0000006c     ti_msp_dl_config.o (.text.SYSCFG_DL_I2C_init)
+                  00000818    0000005e     driverlib.a : dl_i2c.o (.text.DL_I2C_fillControllerTXFIFO)
+                  00000876    00000002     --HOLE-- [fill = 0]
+                  00000878    00000040     ti_msp_dl_config.o (.text.SYSCFG_DL_initPower)
+                  000008b8    00000040     libclang_rt.builtins.a : aeabi_uidivmod.S.obj (.text.__aeabi_uidivmod)
+                  000008f8    0000003c     libc.a : autoinit.c.obj (.text:__TI_auto_init_nobinit_nopinit)
+                  00000934    00000030     ti_msp_dl_config.o (.text.SYSCFG_DL_SYSCTL_init)
+                  00000964    00000028     libc.a : boot_cortex_m.c.obj (.text:_c_int00_noargs)
+                  0000098c    00000026     driverlib.a : dl_i2c.o (.text.DL_I2C_setClockConfig)
+                  000009b2    00000002     --HOLE-- [fill = 0]
+                  000009b4    00000024     ti_msp_dl_config.o (.text.SYSCFG_DL_GPIO_init)
+                  000009d8    00000020     ti_msp_dl_config.o (.text.SYSCFG_DL_CRC_init)
+                  000009f8    0000001e     i2c_comm_controller.o (.text.I2C_init)
+                  00000a16    00000018     ti_msp_dl_config.o (.text.SYSCFG_DL_init)
+                  00000a2e    00000016     libc.a : copy_zero_init.c.obj (.text:decompress:ZI:__TI_zero_init_nomemset)
+                  00000a44    00000012            : copy_decompress_none.c.obj (.text:decompress:none)
+                  00000a56    0000000a     driverlib.a : dl_common.o (.text.DL_Common_delayCycles)
+                  00000a60    00000008     libclang_rt.builtins.a : aeabi_memcpy.S.obj (.text.__aeabi_memcpy)
+                  00000a68    00000004     startup_mspm0g350x_ticlang.o (.text.Reset_Handler)
+                  00000a6c    00000004     libc.a : pre_init.c.obj (.text._system_pre_init)
+                  00000a70    00000004            : exit.c.obj (.text:abort)
+                  00000a74    00000004     --HOLE-- [fill = 0]
+
+.cinit     0    00000a80    00000048     
+                  00000a80    00000024     (.cinit..data.load) [load image, compression = lzss]
+                  00000aa4    0000000c     (__TI_handler_table)
+                  00000ab0    00000008     (.cinit..bss.load) [load image, compression = zero_init]
+                  00000ab8    00000010     (__TI_cinit_table)
+
+.rodata    0    00000a78    00000008     
+                  00000a78    00000002     ti_msp_dl_config.o (.rodata.gI2CClockConfig)
+                  00000a7a    00000006     --HOLE-- [fill = 0]
+
+.init_array 
+*          0    00000000    00000000     UNINITIALIZED
+
+.binit     0    00000000    00000000     
+
+.bss       0    20200000    000000f8     UNINITIALIZED
+                  20200000    0000009c     (.common:gI2C)
+                  2020009c    00000048     (.common:gResponse)
+                  202000e4    00000014     (.common:gCommand)
+
+.data      0    202000f8    00000041     UNINITIALIZED
+                  202000f8    00000040     i2c_controller.o (.data.gTxData)
+                  20200138    00000001     i2c_controller.o (.data.gSendCommand)
+
+.stack     0    20207e00    00000200     UNINITIALIZED
+                  20207e00    00000004     libc.a : boot_cortex_m.c.obj (.stack)
+                  20207e04    000001fc     --HOLE--
+
+__llvm_prf_cnts 
+*          0    20200000    00000000     UNINITIALIZED
+
+__llvm_prf_bits 
+*          0    20200000    00000000     UNINITIALIZED
+
+MODULE SUMMARY
+
+       Module                         code   ro data   rw data
+       ------                         ----   -------   -------
+    ./
+       i2c_controller.o               364    0         313    
+       ti_msp_dl_config.o             312    2         0      
+       startup_mspm0g350x_ticlang.o   6      192       0      
+    +--+------------------------------+------+---------+---------+
+       Total:                         682    194       313    
+                                                              
+    ./ti/comm_modules/i2c/controller/
+       i2c_comm_controller.o          1004   0         0      
+    +--+------------------------------+------+---------+---------+
+       Total:                         1004   0         0      
+                                                              
+    /home/ngosh/ti/ccstheia151/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/lib/armv6m-ti-none-eabi/c/libc.a
+       memcpy16.S.obj                 154    0         0      
+       copy_decompress_lzss.c.obj     124    0         0      
+       autoinit.c.obj                 60     0         0      
+       boot_cortex_m.c.obj            40     0         0      
+       copy_zero_init.c.obj           22     0         0      
+       copy_decompress_none.c.obj     18     0         0      
+       exit.c.obj                     4      0         0      
+       pre_init.c.obj                 4      0         0      
+    +--+------------------------------+------+---------+---------+
+       Total:                         426    0         0      
+                                                              
+    /home/ngosh/ti/ccstheia151/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/lib/armv6m-ti-none-eabi/libclang_rt.builtins.a
+       aeabi_uidivmod.S.obj           64     0         0      
+       aeabi_memcpy.S.obj             8      0         0      
+       aeabi_div0.c.obj               2      0         0      
+    +--+------------------------------+------+---------+---------+
+       Total:                         74     0         0      
+                                                              
+    /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/lib/ticlang/m0p/mspm0g1x0x_g3x0x/driverlib.a
+       dl_crc.o                       152    0         0      
+       dl_i2c.o                       132    0         0      
+       dl_common.o                    10     0         0      
+    +--+------------------------------+------+---------+---------+
+       Total:                         294    0         0      
+                                                              
+       Stack:                         0      0         512    
+       Linker Generated:              0      72        0      
+    +--+------------------------------+------+---------+---------+
+       Grand Total:                   2480   266       825    
+
+
+LINKER GENERATED COPY TABLES
+
+__TI_cinit_table @ 00000ab8 records: 2, size/record: 8, table size: 16
+	.data: load addr=00000a80, load size=00000024 bytes, run addr=202000f8, run size=00000041 bytes, compression=lzss
+	.bss: load addr=00000ab0, load size=00000008 bytes, run addr=20200000, run size=000000f8 bytes, compression=zero_init
+
+
+LINKER GENERATED HANDLER TABLE
+
+__TI_handler_table @ 00000aa4 records: 3, size/record: 4, table size: 12
+	index: 0, handler: __TI_decompress_lzss
+	index: 1, handler: __TI_decompress_none
+	index: 2, handler: __TI_zero_init
+
+
+GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name 
+
+address   name                          
+-------   ----                          
+000003ff  ADC0_IRQHandler               
+000003ff  ADC1_IRQHandler               
+000003ff  AES_IRQHandler                
+00000a70  C$$EXIT                       
+000003ff  CANFD0_IRQHandler             
+000003ff  DAC0_IRQHandler               
+00000609  DL_CRC_calculateBlock16       
+00000a57  DL_Common_delayCycles         
+00000819  DL_I2C_fillControllerTXFIFO   
+0000098d  DL_I2C_setClockConfig         
+000003ff  DMA_IRQHandler                
+000003ff  Default_Handler               
+000003ff  GROUP0_IRQHandler             
+000003ff  GROUP1_IRQHandler             
+000003ff  HardFault_Handler             
+000003ff  I2C0_IRQHandler               
+00000401  I2C1_IRQHandler               
+00000275  I2C_decodeResponse            
+000006a1  I2C_getResponse               
+000009f9  I2C_init                      
+000000c1  I2C_sendCommand               
+000003ff  NMI_Handler                   
+000003ff  PendSV_Handler                
+000003ff  RTC_IRQHandler                
+00000a69  Reset_Handler                 
+000003ff  SPI0_IRQHandler               
+000003ff  SPI1_IRQHandler               
+000003ff  SVC_Handler                   
+000009d9  SYSCFG_DL_CRC_init            
+000009b5  SYSCFG_DL_GPIO_init           
+000007ad  SYSCFG_DL_I2C_init            
+00000935  SYSCFG_DL_SYSCTL_init         
+00000a17  SYSCFG_DL_init                
+00000879  SYSCFG_DL_initPower           
+000003ff  SysTick_Handler               
+000003ff  TIMA0_IRQHandler              
+000003ff  TIMA1_IRQHandler              
+000003ff  TIMG0_IRQHandler              
+000003ff  TIMG12_IRQHandler             
+000003ff  TIMG6_IRQHandler              
+000003ff  TIMG7_IRQHandler              
+000003ff  TIMG8_IRQHandler              
+000003ff  UART0_IRQHandler              
+000003ff  UART1_IRQHandler              
+000003ff  UART2_IRQHandler              
+000003ff  UART3_IRQHandler              
+20208000  __STACK_END                   
+00000200  __STACK_SIZE                  
+00000000  __TI_ATRegion0_region_sz      
+00000000  __TI_ATRegion0_src_addr       
+00000000  __TI_ATRegion0_trg_addr       
+00000000  __TI_ATRegion1_region_sz      
+00000000  __TI_ATRegion1_src_addr       
+00000000  __TI_ATRegion1_trg_addr       
+00000000  __TI_ATRegion2_region_sz      
+00000000  __TI_ATRegion2_src_addr       
+00000000  __TI_ATRegion2_trg_addr       
+00000ab8  __TI_CINIT_Base               
+00000ac8  __TI_CINIT_Limit              
+00000ac8  __TI_CINIT_Warm               
+00000aa4  __TI_Handler_Table_Base       
+00000ab0  __TI_Handler_Table_Limit      
+000008f9  __TI_auto_init_nobinit_nopinit
+00000731  __TI_decompress_lzss          
+00000a45  __TI_decompress_none          
+ffffffff  __TI_pprof_out_hndl           
+ffffffff  __TI_prof_data_size           
+ffffffff  __TI_prof_data_start          
+00000000  __TI_static_base__            
+00000a2f  __TI_zero_init_nomemset       
+00000607  __aeabi_idiv0                 
+00000a61  __aeabi_memcpy                
+00000a61  __aeabi_memcpy4               
+00000a61  __aeabi_memcpy8               
+000008b9  __aeabi_uidiv                 
+000008b9  __aeabi_uidivmod              
+ffffffff  __binit__                     
+UNDEFED   __mpu_init                    
+20207e00  __stack                       
+20200000  __start___llvm_prf_bits       
+20200000  __start___llvm_prf_cnts       
+20200000  __stop___llvm_prf_bits        
+20200000  __stop___llvm_prf_cnts        
+00000965  _c_int00_noargs               
+UNDEFED   _system_post_cinit            
+00000a6d  _system_pre_init              
+00000a71  abort                         
+ffffffff  binit                         
+202000e4  gCommand                      
+20200000  gI2C                          
+2020009c  gResponse                     
+20200138  gSendCommand                  
+202000f8  gTxData                       
+00000000  interruptVectors              
+000004cd  main                          
+0000056d  memcpy                        
+
+
+GLOBAL SYMBOLS: SORTED BY Symbol Address 
+
+address   name                          
+-------   ----                          
+00000000  __TI_ATRegion0_region_sz      
+00000000  __TI_ATRegion0_src_addr       
+00000000  __TI_ATRegion0_trg_addr       
+00000000  __TI_ATRegion1_region_sz      
+00000000  __TI_ATRegion1_src_addr       
+00000000  __TI_ATRegion1_trg_addr       
+00000000  __TI_ATRegion2_region_sz      
+00000000  __TI_ATRegion2_src_addr       
+00000000  __TI_ATRegion2_trg_addr       
+00000000  __TI_static_base__            
+00000000  interruptVectors              
+000000c1  I2C_sendCommand               
+00000200  __STACK_SIZE                  
+00000275  I2C_decodeResponse            
+000003ff  ADC0_IRQHandler               
+000003ff  ADC1_IRQHandler               
+000003ff  AES_IRQHandler                
+000003ff  CANFD0_IRQHandler             
+000003ff  DAC0_IRQHandler               
+000003ff  DMA_IRQHandler                
+000003ff  Default_Handler               
+000003ff  GROUP0_IRQHandler             
+000003ff  GROUP1_IRQHandler             
+000003ff  HardFault_Handler             
+000003ff  I2C0_IRQHandler               
+000003ff  NMI_Handler                   
+000003ff  PendSV_Handler                
+000003ff  RTC_IRQHandler                
+000003ff  SPI0_IRQHandler               
+000003ff  SPI1_IRQHandler               
+000003ff  SVC_Handler                   
+000003ff  SysTick_Handler               
+000003ff  TIMA0_IRQHandler              
+000003ff  TIMA1_IRQHandler              
+000003ff  TIMG0_IRQHandler              
+000003ff  TIMG12_IRQHandler             
+000003ff  TIMG6_IRQHandler              
+000003ff  TIMG7_IRQHandler              
+000003ff  TIMG8_IRQHandler              
+000003ff  UART0_IRQHandler              
+000003ff  UART1_IRQHandler              
+000003ff  UART2_IRQHandler              
+000003ff  UART3_IRQHandler              
+00000401  I2C1_IRQHandler               
+000004cd  main                          
+0000056d  memcpy                        
+00000607  __aeabi_idiv0                 
+00000609  DL_CRC_calculateBlock16       
+000006a1  I2C_getResponse               
+00000731  __TI_decompress_lzss          
+000007ad  SYSCFG_DL_I2C_init            
+00000819  DL_I2C_fillControllerTXFIFO   
+00000879  SYSCFG_DL_initPower           
+000008b9  __aeabi_uidiv                 
+000008b9  __aeabi_uidivmod              
+000008f9  __TI_auto_init_nobinit_nopinit
+00000935  SYSCFG_DL_SYSCTL_init         
+00000965  _c_int00_noargs               
+0000098d  DL_I2C_setClockConfig         
+000009b5  SYSCFG_DL_GPIO_init           
+000009d9  SYSCFG_DL_CRC_init            
+000009f9  I2C_init                      
+00000a17  SYSCFG_DL_init                
+00000a2f  __TI_zero_init_nomemset       
+00000a45  __TI_decompress_none          
+00000a57  DL_Common_delayCycles         
+00000a61  __aeabi_memcpy                
+00000a61  __aeabi_memcpy4               
+00000a61  __aeabi_memcpy8               
+00000a69  Reset_Handler                 
+00000a6d  _system_pre_init              
+00000a70  C$$EXIT                       
+00000a71  abort                         
+00000aa4  __TI_Handler_Table_Base       
+00000ab0  __TI_Handler_Table_Limit      
+00000ab8  __TI_CINIT_Base               
+00000ac8  __TI_CINIT_Limit              
+00000ac8  __TI_CINIT_Warm               
+20200000  __start___llvm_prf_bits       
+20200000  __start___llvm_prf_cnts       
+20200000  __stop___llvm_prf_bits        
+20200000  __stop___llvm_prf_cnts        
+20200000  gI2C                          
+2020009c  gResponse                     
+202000e4  gCommand                      
+202000f8  gTxData                       
+20200138  gSendCommand                  
+20207e00  __stack                       
+20208000  __STACK_END                   
+ffffffff  __TI_pprof_out_hndl           
+ffffffff  __TI_prof_data_size           
+ffffffff  __TI_prof_data_start          
+ffffffff  __binit__                     
+ffffffff  binit                         
+UNDEFED   __mpu_init                    
+UNDEFED   _system_post_cinit            
+
+[96 symbols]

BIN
Debug/i2c_controller_LP_MSPM0G3507_nortos_ticlang.out


+ 2527 - 0
Debug/i2c_controller_LP_MSPM0G3507_nortos_ticlang_linkInfo.xml

@@ -0,0 +1,2527 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<link_info>
+   <banner>TI ARM Clang Linker Unix v4.0.0.LTS</banner>
+   <copyright>Copyright (c) 1996-2018 Texas Instruments Incorporated</copyright>
+   <command_line>/home/ngosh/ti/ccstheia151/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/bin/tiarmlnk -I/home/ngosh/ti/ccstheia151/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/lib -o i2c_controller_LP_MSPM0G3507_nortos_ticlang.out -mi2c_controller_LP_MSPM0G3507_nortos_ticlang.map -i/home/ngosh/ti/mspm0_sdk_2_03_00_07/source -i/home/ngosh/workspace_ccstheia/i2c_controller_LP_MSPM0G3507_nortos_ticlang -i/home/ngosh/workspace_ccstheia/i2c_controller_LP_MSPM0G3507_nortos_ticlang/Debug/syscfg -i/home/ngosh/ti/ccstheia151/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/lib --diag_wrap=off --display_error_number --warn_sections --xml_link_info=i2c_controller_LP_MSPM0G3507_nortos_ticlang_linkInfo.xml --rom_model ./i2c_controller.o ./ti_msp_dl_config.o ./startup_mspm0g350x_ticlang.o ./ti/comm_modules/i2c/controller/i2c_comm_controller.o -l./device_linker.cmd -ldevice.cmd.genlibs -llibc.a --start-group -llibc++.a -llibc++abi.a -llibc.a -llibsys.a -llibsysbm.a -llibclang_rt.builtins.a -llibclang_rt.profile.a --end-group --cg_opt_level=2</command_line>
+   <link_time>0x67aa1b03</link_time>
+   <link_errors>0x0</link_errors>
+   <output_file>/home/ngosh/workspace_ccstheia/i2c_controller_LP_MSPM0G3507_nortos_ticlang/Debug/i2c_controller_LP_MSPM0G3507_nortos_ticlang.out</output_file>
+   <entry_point>
+      <name>_c_int00_noargs</name>
+      <address>0x965</address>
+   </entry_point>
+   <input_file_list>
+      <input_file id="fl-1">
+         <path>/home/ngosh/workspace_ccstheia/i2c_controller_LP_MSPM0G3507_nortos_ticlang/Debug/./</path>
+         <kind>object</kind>
+         <file>i2c_controller.o</file>
+         <name>i2c_controller.o</name>
+      </input_file>
+      <input_file id="fl-2">
+         <path>/home/ngosh/workspace_ccstheia/i2c_controller_LP_MSPM0G3507_nortos_ticlang/Debug/./</path>
+         <kind>object</kind>
+         <file>ti_msp_dl_config.o</file>
+         <name>ti_msp_dl_config.o</name>
+      </input_file>
+      <input_file id="fl-3">
+         <path>/home/ngosh/workspace_ccstheia/i2c_controller_LP_MSPM0G3507_nortos_ticlang/Debug/./</path>
+         <kind>object</kind>
+         <file>startup_mspm0g350x_ticlang.o</file>
+         <name>startup_mspm0g350x_ticlang.o</name>
+      </input_file>
+      <input_file id="fl-4">
+         <path>/home/ngosh/workspace_ccstheia/i2c_controller_LP_MSPM0G3507_nortos_ticlang/Debug/./ti/comm_modules/i2c/controller/</path>
+         <kind>object</kind>
+         <file>i2c_comm_controller.o</file>
+         <name>i2c_comm_controller.o</name>
+      </input_file>
+      <input_file id="fl-11">
+         <path>/home/ngosh/workspace_ccstheia/i2c_controller_LP_MSPM0G3507_nortos_ticlang/Debug/</path>
+         <kind>object</kind>
+         <file>&lt;internal&gt;</file>
+         <name>&lt;internal&gt;</name>
+      </input_file>
+      <input_file id="fl-12">
+         <path>/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/lib/ticlang/m0p/mspm0g1x0x_g3x0x/</path>
+         <kind>archive</kind>
+         <file>driverlib.a</file>
+         <name>dl_common.o</name>
+      </input_file>
+      <input_file id="fl-13">
+         <path>/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/lib/ticlang/m0p/mspm0g1x0x_g3x0x/</path>
+         <kind>archive</kind>
+         <file>driverlib.a</file>
+         <name>dl_crc.o</name>
+      </input_file>
+      <input_file id="fl-14">
+         <path>/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/lib/ticlang/m0p/mspm0g1x0x_g3x0x/</path>
+         <kind>archive</kind>
+         <file>driverlib.a</file>
+         <name>dl_i2c.o</name>
+      </input_file>
+      <input_file id="fl-29">
+         <path>/home/ngosh/ti/ccstheia151/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/lib/armv6m-ti-none-eabi/c/</path>
+         <kind>archive</kind>
+         <file>libc.a</file>
+         <name>copy_zero_init.c.obj</name>
+      </input_file>
+      <input_file id="fl-2a">
+         <path>/home/ngosh/ti/ccstheia151/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/lib/armv6m-ti-none-eabi/c/</path>
+         <kind>archive</kind>
+         <file>libc.a</file>
+         <name>copy_decompress_none.c.obj</name>
+      </input_file>
+      <input_file id="fl-2b">
+         <path>/home/ngosh/ti/ccstheia151/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/lib/armv6m-ti-none-eabi/c/</path>
+         <kind>archive</kind>
+         <file>libc.a</file>
+         <name>copy_decompress_lzss.c.obj</name>
+      </input_file>
+      <input_file id="fl-2c">
+         <path>/home/ngosh/ti/ccstheia151/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/lib/armv6m-ti-none-eabi/c/</path>
+         <kind>archive</kind>
+         <file>libc.a</file>
+         <name>boot_cortex_m.c.obj</name>
+      </input_file>
+      <input_file id="fl-2d">
+         <path>/home/ngosh/ti/ccstheia151/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/lib/armv6m-ti-none-eabi/c/</path>
+         <kind>archive</kind>
+         <file>libc.a</file>
+         <name>mathacl_init.c.obj</name>
+      </input_file>
+      <input_file id="fl-2e">
+         <path>/home/ngosh/ti/ccstheia151/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/lib/armv6m-ti-none-eabi/c/</path>
+         <kind>archive</kind>
+         <file>libc.a</file>
+         <name>exit.c.obj</name>
+      </input_file>
+      <input_file id="fl-2f">
+         <path>/home/ngosh/ti/ccstheia151/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/lib/armv6m-ti-none-eabi/c/</path>
+         <kind>archive</kind>
+         <file>libc.a</file>
+         <name>_lock.c.obj</name>
+      </input_file>
+      <input_file id="fl-30">
+         <path>/home/ngosh/ti/ccstheia151/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/lib/armv6m-ti-none-eabi/c/</path>
+         <kind>archive</kind>
+         <file>libc.a</file>
+         <name>args_main.c.obj</name>
+      </input_file>
+      <input_file id="fl-31">
+         <path>/home/ngosh/ti/ccstheia151/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/lib/armv6m-ti-none-eabi/c/</path>
+         <kind>archive</kind>
+         <file>libc.a</file>
+         <name>autoinit.c.obj</name>
+      </input_file>
+      <input_file id="fl-32">
+         <path>/home/ngosh/ti/ccstheia151/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/lib/armv6m-ti-none-eabi/c/</path>
+         <kind>archive</kind>
+         <file>libc.a</file>
+         <name>pre_init.c.obj</name>
+      </input_file>
+      <input_file id="fl-33">
+         <path>/home/ngosh/ti/ccstheia151/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/lib/armv6m-ti-none-eabi/c/</path>
+         <kind>archive</kind>
+         <file>libc.a</file>
+         <name>cpy_tbl.c.obj</name>
+      </input_file>
+      <input_file id="fl-c9">
+         <path>/home/ngosh/ti/ccstheia151/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/lib/armv6m-ti-none-eabi/</path>
+         <kind>archive</kind>
+         <file>libclang_rt.builtins.a</file>
+         <name>aeabi_memcpy.S.obj</name>
+      </input_file>
+      <input_file id="fl-ca">
+         <path>/home/ngosh/ti/ccstheia151/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/lib/armv6m-ti-none-eabi/</path>
+         <kind>archive</kind>
+         <file>libclang_rt.builtins.a</file>
+         <name>aeabi_memset.S.obj</name>
+      </input_file>
+      <input_file id="fl-cb">
+         <path>/home/ngosh/ti/ccstheia151/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/lib/armv6m-ti-none-eabi/</path>
+         <kind>archive</kind>
+         <file>libclang_rt.builtins.a</file>
+         <name>aeabi_uidivmod.S.obj</name>
+      </input_file>
+      <input_file id="fl-cc">
+         <path>/home/ngosh/ti/ccstheia151/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/lib/armv6m-ti-none-eabi/</path>
+         <kind>archive</kind>
+         <file>libclang_rt.builtins.a</file>
+         <name>aeabi_div0.c.obj</name>
+      </input_file>
+      <input_file id="fl-cd">
+         <path>/home/ngosh/ti/ccstheia151/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/lib/armv6m-ti-none-eabi/c/</path>
+         <kind>archive</kind>
+         <file>libc.a</file>
+         <name>memcpy16.S.obj</name>
+      </input_file>
+      <input_file id="fl-ce">
+         <path>/home/ngosh/ti/ccstheia151/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/lib/armv6m-ti-none-eabi/c/</path>
+         <kind>archive</kind>
+         <file>libc.a</file>
+         <name>memset16.S.obj</name>
+      </input_file>
+   </input_file_list>
+   <object_component_list>
+      <object_component id="oc-18">
+         <name>.intvecs</name>
+         <load_address>0x0</load_address>
+         <readonly>true</readonly>
+         <run_address>0x0</run_address>
+         <size>0xc0</size>
+         <alignment>0x4</alignment>
+         <input_file_ref idref="fl-3"/>
+      </object_component>
+      <object_component id="oc-98">
+         <name>.text.I2C_sendCommand</name>
+         <load_address>0xc0</load_address>
+         <readonly>true</readonly>
+         <executable>true</executable>
+         <run_address>0xc0</run_address>
+         <size>0x1b4</size>
+         <alignment>0x4</alignment>
+         <input_file_ref idref="fl-4"/>
+      </object_component>
+      <object_component id="oc-5c">
+         <name>.text.I2C_decodeResponse</name>
+         <load_address>0x274</load_address>
+         <readonly>true</readonly>
+         <executable>true</executable>
+         <run_address>0x274</run_address>
+         <size>0x18a</size>
+         <alignment>0x2</alignment>
+         <input_file_ref idref="fl-4"/>
+      </object_component>
+      <object_component id="oc-33">
+         <name>.text.Default_Handler</name>
+         <load_address>0x3fe</load_address>
+         <readonly>true</readonly>
+         <executable>true</executable>
+         <run_address>0x3fe</run_address>
+         <size>0x2</size>
+         <alignment>0x2</alignment>
+         <input_file_ref idref="fl-3"/>
+      </object_component>
+      <object_component id="oc-34">
+         <name>.text.I2C1_IRQHandler</name>
+         <load_address>0x400</load_address>
+         <readonly>true</readonly>
+         <executable>true</executable>
+         <run_address>0x400</run_address>
+         <size>0xcc</size>
+         <alignment>0x4</alignment>
+         <input_file_ref idref="fl-1"/>
+      </object_component>
+      <object_component id="oc-79">
+         <name>.text.main</name>
+         <load_address>0x4cc</load_address>
+         <readonly>true</readonly>
+         <executable>true</executable>
+         <run_address>0x4cc</run_address>
+         <size>0xa0</size>
+         <alignment>0x4</alignment>
+         <input_file_ref idref="fl-1"/>
+      </object_component>
+      <object_component id="oc-8d">
+         <name>.text:memcpy</name>
+         <load_address>0x56c</load_address>
+         <readonly>true</readonly>
+         <executable>true</executable>
+         <run_address>0x56c</run_address>
+         <size>0x9a</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-cd"/>
+      </object_component>
+      <object_component id="oc-f0">
+         <name>.text.__aeabi_idiv0</name>
+         <load_address>0x606</load_address>
+         <readonly>true</readonly>
+         <executable>true</executable>
+         <run_address>0x606</run_address>
+         <size>0x2</size>
+         <alignment>0x2</alignment>
+         <input_file_ref idref="fl-cc"/>
+      </object_component>
+      <object_component id="oc-c5">
+         <name>.text.DL_CRC_calculateBlock16</name>
+         <load_address>0x608</load_address>
+         <readonly>true</readonly>
+         <executable>true</executable>
+         <run_address>0x608</run_address>
+         <size>0x98</size>
+         <alignment>0x4</alignment>
+         <input_file_ref idref="fl-13"/>
+      </object_component>
+      <object_component id="oc-99">
+         <name>.text.I2C_getResponse</name>
+         <load_address>0x6a0</load_address>
+         <readonly>true</readonly>
+         <executable>true</executable>
+         <run_address>0x6a0</run_address>
+         <size>0x90</size>
+         <alignment>0x4</alignment>
+         <input_file_ref idref="fl-4"/>
+      </object_component>
+      <object_component id="oc-1c">
+         <name>.text:decompress:lzss</name>
+         <load_address>0x730</load_address>
+         <readonly>true</readonly>
+         <executable>true</executable>
+         <run_address>0x730</run_address>
+         <size>0x7c</size>
+         <alignment>0x4</alignment>
+         <input_file_ref idref="fl-2b"/>
+      </object_component>
+      <object_component id="oc-c1">
+         <name>.text.SYSCFG_DL_I2C_init</name>
+         <load_address>0x7ac</load_address>
+         <readonly>true</readonly>
+         <executable>true</executable>
+         <run_address>0x7ac</run_address>
+         <size>0x6c</size>
+         <alignment>0x4</alignment>
+         <input_file_ref idref="fl-2"/>
+      </object_component>
+      <object_component id="oc-62">
+         <name>.text.DL_I2C_fillControllerTXFIFO</name>
+         <load_address>0x818</load_address>
+         <readonly>true</readonly>
+         <executable>true</executable>
+         <run_address>0x818</run_address>
+         <size>0x5e</size>
+         <alignment>0x2</alignment>
+         <input_file_ref idref="fl-14"/>
+      </object_component>
+      <object_component id="oc-bd">
+         <name>.text.SYSCFG_DL_initPower</name>
+         <load_address>0x878</load_address>
+         <readonly>true</readonly>
+         <executable>true</executable>
+         <run_address>0x878</run_address>
+         <size>0x40</size>
+         <alignment>0x4</alignment>
+         <input_file_ref idref="fl-2"/>
+      </object_component>
+      <object_component id="oc-de">
+         <name>.text.__aeabi_uidivmod</name>
+         <load_address>0x8b8</load_address>
+         <readonly>true</readonly>
+         <executable>true</executable>
+         <run_address>0x8b8</run_address>
+         <size>0x40</size>
+         <alignment>0x4</alignment>
+         <input_file_ref idref="fl-cb"/>
+      </object_component>
+      <object_component id="oc-a4">
+         <name>.text:__TI_auto_init_nobinit_nopinit</name>
+         <load_address>0x8f8</load_address>
+         <readonly>true</readonly>
+         <executable>true</executable>
+         <run_address>0x8f8</run_address>
+         <size>0x3c</size>
+         <alignment>0x4</alignment>
+         <input_file_ref idref="fl-31"/>
+      </object_component>
+      <object_component id="oc-bf">
+         <name>.text.SYSCFG_DL_SYSCTL_init</name>
+         <load_address>0x934</load_address>
+         <readonly>true</readonly>
+         <executable>true</executable>
+         <run_address>0x934</run_address>
+         <size>0x30</size>
+         <alignment>0x4</alignment>
+         <input_file_ref idref="fl-2"/>
+      </object_component>
+      <object_component id="oc-55">
+         <name>.text:_c_int00_noargs</name>
+         <load_address>0x964</load_address>
+         <readonly>true</readonly>
+         <executable>true</executable>
+         <run_address>0x964</run_address>
+         <size>0x28</size>
+         <alignment>0x4</alignment>
+         <input_file_ref idref="fl-2c"/>
+      </object_component>
+      <object_component id="oc-dc">
+         <name>.text.DL_I2C_setClockConfig</name>
+         <load_address>0x98c</load_address>
+         <readonly>true</readonly>
+         <executable>true</executable>
+         <run_address>0x98c</run_address>
+         <size>0x26</size>
+         <alignment>0x2</alignment>
+         <input_file_ref idref="fl-14"/>
+      </object_component>
+      <object_component id="oc-be">
+         <name>.text.SYSCFG_DL_GPIO_init</name>
+         <load_address>0x9b4</load_address>
+         <readonly>true</readonly>
+         <executable>true</executable>
+         <run_address>0x9b4</run_address>
+         <size>0x24</size>
+         <alignment>0x4</alignment>
+         <input_file_ref idref="fl-2"/>
+      </object_component>
+      <object_component id="oc-c2">
+         <name>.text.SYSCFG_DL_CRC_init</name>
+         <load_address>0x9d8</load_address>
+         <readonly>true</readonly>
+         <executable>true</executable>
+         <run_address>0x9d8</run_address>
+         <size>0x20</size>
+         <alignment>0x4</alignment>
+         <input_file_ref idref="fl-2"/>
+      </object_component>
+      <object_component id="oc-97">
+         <name>.text.I2C_init</name>
+         <load_address>0x9f8</load_address>
+         <readonly>true</readonly>
+         <executable>true</executable>
+         <run_address>0x9f8</run_address>
+         <size>0x1e</size>
+         <alignment>0x2</alignment>
+         <input_file_ref idref="fl-4"/>
+      </object_component>
+      <object_component id="oc-92">
+         <name>.text.SYSCFG_DL_init</name>
+         <load_address>0xa16</load_address>
+         <readonly>true</readonly>
+         <executable>true</executable>
+         <run_address>0xa16</run_address>
+         <size>0x18</size>
+         <alignment>0x2</alignment>
+         <input_file_ref idref="fl-2"/>
+      </object_component>
+      <object_component id="oc-4c">
+         <name>.text:decompress:ZI:__TI_zero_init_nomemset</name>
+         <load_address>0xa2e</load_address>
+         <readonly>true</readonly>
+         <executable>true</executable>
+         <run_address>0xa2e</run_address>
+         <size>0x16</size>
+         <alignment>0x2</alignment>
+         <input_file_ref idref="fl-29"/>
+      </object_component>
+      <object_component id="oc-20">
+         <name>.text:decompress:none</name>
+         <load_address>0xa44</load_address>
+         <readonly>true</readonly>
+         <executable>true</executable>
+         <run_address>0xa44</run_address>
+         <size>0x12</size>
+         <alignment>0x2</alignment>
+         <input_file_ref idref="fl-2a"/>
+      </object_component>
+      <object_component id="oc-cb">
+         <name>.text.DL_Common_delayCycles</name>
+         <load_address>0xa56</load_address>
+         <readonly>true</readonly>
+         <executable>true</executable>
+         <run_address>0xa56</run_address>
+         <size>0xa</size>
+         <alignment>0x2</alignment>
+         <input_file_ref idref="fl-12"/>
+      </object_component>
+      <object_component id="oc-45">
+         <name>.text.__aeabi_memcpy</name>
+         <load_address>0xa60</load_address>
+         <readonly>true</readonly>
+         <executable>true</executable>
+         <run_address>0xa60</run_address>
+         <size>0x8</size>
+         <alignment>0x4</alignment>
+         <input_file_ref idref="fl-c9"/>
+      </object_component>
+      <object_component id="oc-2f">
+         <name>.text.Reset_Handler</name>
+         <load_address>0xa68</load_address>
+         <readonly>true</readonly>
+         <executable>true</executable>
+         <run_address>0xa68</run_address>
+         <size>0x4</size>
+         <alignment>0x2</alignment>
+         <input_file_ref idref="fl-3"/>
+      </object_component>
+      <object_component id="oc-75">
+         <name>.text._system_pre_init</name>
+         <load_address>0xa6c</load_address>
+         <readonly>true</readonly>
+         <executable>true</executable>
+         <run_address>0xa6c</run_address>
+         <size>0x4</size>
+         <alignment>0x2</alignment>
+         <input_file_ref idref="fl-32"/>
+      </object_component>
+      <object_component id="oc-9d">
+         <name>.text:abort</name>
+         <load_address>0xa70</load_address>
+         <readonly>true</readonly>
+         <executable>true</executable>
+         <run_address>0xa70</run_address>
+         <size>0x4</size>
+         <alignment>0x2</alignment>
+         <input_file_ref idref="fl-2e"/>
+      </object_component>
+      <object_component id="oc-13a">
+         <name>.cinit..data.load</name>
+         <load_address>0xa80</load_address>
+         <readonly>true</readonly>
+         <run_address>0xa80</run_address>
+         <size>0x24</size>
+         <alignment>0x1</alignment>
+      </object_component>
+      <object_component id="oc-138">
+         <name>__TI_handler_table</name>
+         <load_address>0xaa4</load_address>
+         <readonly>true</readonly>
+         <run_address>0xaa4</run_address>
+         <size>0xc</size>
+         <alignment>0x4</alignment>
+      </object_component>
+      <object_component id="oc-13b">
+         <name>.cinit..bss.load</name>
+         <load_address>0xab0</load_address>
+         <readonly>true</readonly>
+         <run_address>0xab0</run_address>
+         <size>0x8</size>
+         <alignment>0x4</alignment>
+      </object_component>
+      <object_component id="oc-139">
+         <name>__TI_cinit_table</name>
+         <load_address>0xab8</load_address>
+         <readonly>true</readonly>
+         <run_address>0xab8</run_address>
+         <size>0x10</size>
+         <alignment>0x4</alignment>
+      </object_component>
+      <object_component id="oc-dd">
+         <name>.rodata.gI2CClockConfig</name>
+         <load_address>0xa78</load_address>
+         <readonly>true</readonly>
+         <run_address>0xa78</run_address>
+         <size>0x2</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-2"/>
+      </object_component>
+      <object_component id="oc-102">
+         <name>.binit</name>
+         <load_address>0x0</load_address>
+         <readonly>true</readonly>
+         <run_address>0x0</run_address>
+         <size>0x0</size>
+         <alignment>0x4</alignment>
+      </object_component>
+      <object_component id="oc-9c">
+         <name>.data.gSendCommand</name>
+         <load_address>0x20200138</load_address>
+         <readwrite>true</readwrite>
+         <run_address>0x20200138</run_address>
+         <size>0x1</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-1"/>
+      </object_component>
+      <object_component id="oc-9a">
+         <name>.data.gTxData</name>
+         <load_address>0x202000f8</load_address>
+         <readwrite>true</readwrite>
+         <run_address>0x202000f8</run_address>
+         <size>0x40</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-1"/>
+      </object_component>
+      <object_component id="oc-68">
+         <name>.common:gI2C</name>
+         <uninitialized>true</uninitialized>
+         <readwrite>true</readwrite>
+         <run_address>0x20200000</run_address>
+         <size>0x9c</size>
+         <alignment>0x4</alignment>
+      </object_component>
+      <object_component id="oc-9b">
+         <name>.common:gCommand</name>
+         <uninitialized>true</uninitialized>
+         <readwrite>true</readwrite>
+         <run_address>0x202000e4</run_address>
+         <size>0x14</size>
+         <alignment>0x4</alignment>
+      </object_component>
+      <object_component id="oc-69">
+         <name>.common:gResponse</name>
+         <uninitialized>true</uninitialized>
+         <readwrite>true</readwrite>
+         <run_address>0x2020009c</run_address>
+         <size>0x48</size>
+         <alignment>0x2</alignment>
+      </object_component>
+      <object_component id="oc-1a">
+         <name>.stack</name>
+         <uninitialized>true</uninitialized>
+         <readwrite>true</readwrite>
+         <run_address>0x20207e00</run_address>
+         <size>0x4</size>
+         <alignment>0x4</alignment>
+         <input_file_ref idref="fl-2c"/>
+      </object_component>
+      <object_component id="oc-13d">
+         <name>.stack</name>
+         <uninitialized>true</uninitialized>
+         <readwrite>true</readwrite>
+         <run_address>0x20207e00</run_address>
+         <size>0x0</size>
+         <alignment>0x8</alignment>
+      </object_component>
+      <object_component id="oc-35">
+         <name>.debug_loc</name>
+         <load_address>0x0</load_address>
+         <run_address>0x0</run_address>
+         <size>0x6a</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-1"/>
+      </object_component>
+      <object_component id="oc-c0">
+         <name>.debug_loc</name>
+         <load_address>0x6a</load_address>
+         <run_address>0x6a</run_address>
+         <size>0x6c</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-2"/>
+      </object_component>
+      <object_component id="oc-5d">
+         <name>.debug_loc</name>
+         <load_address>0xd6</load_address>
+         <run_address>0xd6</run_address>
+         <size>0x344</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-4"/>
+      </object_component>
+      <object_component id="oc-e6">
+         <name>.debug_loc</name>
+         <load_address>0x41a</load_address>
+         <run_address>0x41a</run_address>
+         <size>0x13</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-12"/>
+      </object_component>
+      <object_component id="oc-c6">
+         <name>.debug_loc</name>
+         <load_address>0x42d</load_address>
+         <run_address>0x42d</run_address>
+         <size>0x526</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-13"/>
+      </object_component>
+      <object_component id="oc-63">
+         <name>.debug_loc</name>
+         <load_address>0x953</load_address>
+         <run_address>0x953</run_address>
+         <size>0x352</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-14"/>
+      </object_component>
+      <object_component id="oc-4d">
+         <name>.debug_loc</name>
+         <load_address>0xca5</load_address>
+         <run_address>0xca5</run_address>
+         <size>0x16c</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-29"/>
+      </object_component>
+      <object_component id="oc-4b">
+         <name>.debug_loc</name>
+         <load_address>0xe11</load_address>
+         <run_address>0xe11</run_address>
+         <size>0x6f</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-2a"/>
+      </object_component>
+      <object_component id="oc-43">
+         <name>.debug_loc</name>
+         <load_address>0xe80</load_address>
+         <run_address>0xe80</run_address>
+         <size>0x167</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-2b"/>
+      </object_component>
+      <object_component id="oc-40">
+         <name>.debug_loc</name>
+         <load_address>0xfe7</load_address>
+         <run_address>0xfe7</run_address>
+         <size>0xd8</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-2c"/>
+      </object_component>
+      <object_component id="oc-a3">
+         <name>.debug_loc</name>
+         <load_address>0x10bf</load_address>
+         <run_address>0x10bf</run_address>
+         <size>0x26</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-2e"/>
+      </object_component>
+      <object_component id="oc-a5">
+         <name>.debug_loc</name>
+         <load_address>0x10e5</load_address>
+         <run_address>0x10e5</run_address>
+         <size>0x424</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-31"/>
+      </object_component>
+      <object_component id="oc-f8">
+         <name>.debug_loc</name>
+         <load_address>0x1509</load_address>
+         <run_address>0x1509</run_address>
+         <size>0x20</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-cc"/>
+      </object_component>
+      <object_component id="oc-6a">
+         <name>.debug_abbrev</name>
+         <load_address>0x0</load_address>
+         <run_address>0x0</run_address>
+         <size>0x1e2</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-1"/>
+      </object_component>
+      <object_component id="oc-c3">
+         <name>.debug_abbrev</name>
+         <load_address>0x1e2</load_address>
+         <run_address>0x1e2</run_address>
+         <size>0x1c7</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-2"/>
+      </object_component>
+      <object_component id="oc-3a">
+         <name>.debug_abbrev</name>
+         <load_address>0x3a9</load_address>
+         <run_address>0x3a9</run_address>
+         <size>0x6d</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-3"/>
+      </object_component>
+      <object_component id="oc-84">
+         <name>.debug_abbrev</name>
+         <load_address>0x416</load_address>
+         <run_address>0x416</run_address>
+         <size>0x253</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-4"/>
+      </object_component>
+      <object_component id="oc-e4">
+         <name>.debug_abbrev</name>
+         <load_address>0x669</load_address>
+         <run_address>0x669</run_address>
+         <size>0x62</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-12"/>
+      </object_component>
+      <object_component id="oc-e2">
+         <name>.debug_abbrev</name>
+         <load_address>0x6cb</load_address>
+         <run_address>0x6cb</run_address>
+         <size>0x189</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-13"/>
+      </object_component>
+      <object_component id="oc-86">
+         <name>.debug_abbrev</name>
+         <load_address>0x854</load_address>
+         <run_address>0x854</run_address>
+         <size>0x1e7</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-14"/>
+      </object_component>
+      <object_component id="oc-6e">
+         <name>.debug_abbrev</name>
+         <load_address>0xa3b</load_address>
+         <run_address>0xa3b</run_address>
+         <size>0xc2</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-29"/>
+      </object_component>
+      <object_component id="oc-49">
+         <name>.debug_abbrev</name>
+         <load_address>0xafd</load_address>
+         <run_address>0xafd</run_address>
+         <size>0x70</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-2a"/>
+      </object_component>
+      <object_component id="oc-41">
+         <name>.debug_abbrev</name>
+         <load_address>0xb6d</load_address>
+         <run_address>0xb6d</run_address>
+         <size>0x8d</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-2b"/>
+      </object_component>
+      <object_component id="oc-3c">
+         <name>.debug_abbrev</name>
+         <load_address>0xbfa</load_address>
+         <run_address>0xbfa</run_address>
+         <size>0xaf</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-2c"/>
+      </object_component>
+      <object_component id="oc-cf">
+         <name>.debug_abbrev</name>
+         <load_address>0xca9</load_address>
+         <run_address>0xca9</run_address>
+         <size>0xb3</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-2e"/>
+      </object_component>
+      <object_component id="oc-d5">
+         <name>.debug_abbrev</name>
+         <load_address>0xd5c</load_address>
+         <run_address>0xd5c</run_address>
+         <size>0x170</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-31"/>
+      </object_component>
+      <object_component id="oc-90">
+         <name>.debug_abbrev</name>
+         <load_address>0xecc</load_address>
+         <run_address>0xecc</run_address>
+         <size>0x39</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-32"/>
+      </object_component>
+      <object_component id="oc-6d">
+         <name>.debug_abbrev</name>
+         <load_address>0xf05</load_address>
+         <run_address>0xf05</run_address>
+         <size>0x27</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-c9"/>
+      </object_component>
+      <object_component id="oc-f5">
+         <name>.debug_abbrev</name>
+         <load_address>0xf2c</load_address>
+         <run_address>0xf2c</run_address>
+         <size>0x27</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-cb"/>
+      </object_component>
+      <object_component id="oc-f6">
+         <name>.debug_abbrev</name>
+         <load_address>0xf53</load_address>
+         <run_address>0xf53</run_address>
+         <size>0x59</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-cc"/>
+      </object_component>
+      <object_component id="oc-b6">
+         <name>.debug_abbrev</name>
+         <load_address>0xfac</load_address>
+         <run_address>0xfac</run_address>
+         <size>0x25</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-cd"/>
+      </object_component>
+      <object_component id="oc-13f">
+         <name>.debug_abbrev</name>
+         <load_address>0xfd1</load_address>
+         <run_address>0xfd1</run_address>
+         <size>0xf</size>
+         <alignment>0x0</alignment>
+      </object_component>
+      <object_component id="oc-36">
+         <name>.debug_info</name>
+         <load_address>0x0</load_address>
+         <run_address>0x0</run_address>
+         <size>0xc54</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-1"/>
+      </object_component>
+      <object_component id="oc-93">
+         <name>.debug_info</name>
+         <load_address>0xc54</load_address>
+         <run_address>0xc54</run_address>
+         <size>0x1d53</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-2"/>
+      </object_component>
+      <object_component id="oc-19">
+         <name>.debug_info</name>
+         <load_address>0x29a7</load_address>
+         <run_address>0x29a7</run_address>
+         <size>0x80</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-3"/>
+      </object_component>
+      <object_component id="oc-5e">
+         <name>.debug_info</name>
+         <load_address>0x2a27</load_address>
+         <run_address>0x2a27</run_address>
+         <size>0xf60</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-4"/>
+      </object_component>
+      <object_component id="oc-cc">
+         <name>.debug_info</name>
+         <load_address>0x3987</load_address>
+         <run_address>0x3987</run_address>
+         <size>0x75</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-12"/>
+      </object_component>
+      <object_component id="oc-c7">
+         <name>.debug_info</name>
+         <load_address>0x39fc</load_address>
+         <run_address>0x39fc</run_address>
+         <size>0x5cb</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-13"/>
+      </object_component>
+      <object_component id="oc-64">
+         <name>.debug_info</name>
+         <load_address>0x3fc7</load_address>
+         <run_address>0x3fc7</run_address>
+         <size>0xca4</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-14"/>
+      </object_component>
+      <object_component id="oc-4e">
+         <name>.debug_info</name>
+         <load_address>0x4c6b</load_address>
+         <run_address>0x4c6b</run_address>
+         <size>0x192</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-29"/>
+      </object_component>
+      <object_component id="oc-21">
+         <name>.debug_info</name>
+         <load_address>0x4dfd</load_address>
+         <run_address>0x4dfd</run_address>
+         <size>0xc6</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-2a"/>
+      </object_component>
+      <object_component id="oc-1d">
+         <name>.debug_info</name>
+         <load_address>0x4ec3</load_address>
+         <run_address>0x4ec3</run_address>
+         <size>0x17c</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-2b"/>
+      </object_component>
+      <object_component id="oc-1b">
+         <name>.debug_info</name>
+         <load_address>0x503f</load_address>
+         <run_address>0x503f</run_address>
+         <size>0x423</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-2c"/>
+      </object_component>
+      <object_component id="oc-9e">
+         <name>.debug_info</name>
+         <load_address>0x5462</load_address>
+         <run_address>0x5462</run_address>
+         <size>0xed</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-2e"/>
+      </object_component>
+      <object_component id="oc-a6">
+         <name>.debug_info</name>
+         <load_address>0x554f</load_address>
+         <run_address>0x554f</run_address>
+         <size>0x744</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-31"/>
+      </object_component>
+      <object_component id="oc-76">
+         <name>.debug_info</name>
+         <load_address>0x5c93</load_address>
+         <run_address>0x5c93</run_address>
+         <size>0x46</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-32"/>
+      </object_component>
+      <object_component id="oc-47">
+         <name>.debug_info</name>
+         <load_address>0x5cd9</load_address>
+         <run_address>0x5cd9</run_address>
+         <size>0x1a9</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-c9"/>
+      </object_component>
+      <object_component id="oc-e1">
+         <name>.debug_info</name>
+         <load_address>0x5e82</load_address>
+         <run_address>0x5e82</run_address>
+         <size>0x1cc</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-cb"/>
+      </object_component>
+      <object_component id="oc-f1">
+         <name>.debug_info</name>
+         <load_address>0x604e</load_address>
+         <run_address>0x604e</run_address>
+         <size>0x85</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-cc"/>
+      </object_component>
+      <object_component id="oc-89">
+         <name>.debug_info</name>
+         <load_address>0x60d3</load_address>
+         <run_address>0x60d3</run_address>
+         <size>0x302</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-cd"/>
+      </object_component>
+      <object_component id="oc-13e">
+         <name>.debug_info</name>
+         <load_address>0x63d5</load_address>
+         <run_address>0x63d5</run_address>
+         <size>0xc6</size>
+         <alignment>0x0</alignment>
+      </object_component>
+      <object_component id="oc-37">
+         <name>.debug_ranges</name>
+         <load_address>0x0</load_address>
+         <run_address>0x0</run_address>
+         <size>0x30</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-1"/>
+      </object_component>
+      <object_component id="oc-94">
+         <name>.debug_ranges</name>
+         <load_address>0x30</load_address>
+         <run_address>0x30</run_address>
+         <size>0x38</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-2"/>
+      </object_component>
+      <object_component id="oc-30">
+         <name>.debug_ranges</name>
+         <load_address>0x68</load_address>
+         <run_address>0x68</run_address>
+         <size>0x18</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-3"/>
+      </object_component>
+      <object_component id="oc-5f">
+         <name>.debug_ranges</name>
+         <load_address>0x80</load_address>
+         <run_address>0x80</run_address>
+         <size>0xa8</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-4"/>
+      </object_component>
+      <object_component id="oc-c8">
+         <name>.debug_ranges</name>
+         <load_address>0x128</load_address>
+         <run_address>0x128</run_address>
+         <size>0xc8</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-13"/>
+      </object_component>
+      <object_component id="oc-65">
+         <name>.debug_ranges</name>
+         <load_address>0x1f0</load_address>
+         <run_address>0x1f0</run_address>
+         <size>0x1d8</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-14"/>
+      </object_component>
+      <object_component id="oc-4f">
+         <name>.debug_ranges</name>
+         <load_address>0x3c8</load_address>
+         <run_address>0x3c8</run_address>
+         <size>0x18</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-29"/>
+      </object_component>
+      <object_component id="oc-44">
+         <name>.debug_ranges</name>
+         <load_address>0x3e0</load_address>
+         <run_address>0x3e0</run_address>
+         <size>0x50</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-2b"/>
+      </object_component>
+      <object_component id="oc-3f">
+         <name>.debug_ranges</name>
+         <load_address>0x430</load_address>
+         <run_address>0x430</run_address>
+         <size>0x48</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-2c"/>
+      </object_component>
+      <object_component id="oc-9f">
+         <name>.debug_ranges</name>
+         <load_address>0x478</load_address>
+         <run_address>0x478</run_address>
+         <size>0x18</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-2e"/>
+      </object_component>
+      <object_component id="oc-a7">
+         <name>.debug_ranges</name>
+         <load_address>0x490</load_address>
+         <run_address>0x490</run_address>
+         <size>0x48</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-31"/>
+      </object_component>
+      <object_component id="oc-f2">
+         <name>.debug_ranges</name>
+         <load_address>0x4d8</load_address>
+         <run_address>0x4d8</run_address>
+         <size>0x18</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-cc"/>
+      </object_component>
+      <object_component id="oc-8c">
+         <name>.debug_ranges</name>
+         <load_address>0x4f0</load_address>
+         <run_address>0x4f0</run_address>
+         <size>0x28</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-cd"/>
+      </object_component>
+      <object_component id="oc-6b">
+         <name>.debug_str</name>
+         <load_address>0x0</load_address>
+         <run_address>0x0</run_address>
+         <size>0xd6f</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-1"/>
+      </object_component>
+      <object_component id="oc-c4">
+         <name>.debug_str</name>
+         <load_address>0xd6f</load_address>
+         <run_address>0xd6f</run_address>
+         <size>0x15f8</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-2"/>
+      </object_component>
+      <object_component id="oc-3b">
+         <name>.debug_str</name>
+         <load_address>0x2367</load_address>
+         <run_address>0x2367</run_address>
+         <size>0x184</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-3"/>
+      </object_component>
+      <object_component id="oc-85">
+         <name>.debug_str</name>
+         <load_address>0x24eb</load_address>
+         <run_address>0x24eb</run_address>
+         <size>0x820</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-4"/>
+      </object_component>
+      <object_component id="oc-e5">
+         <name>.debug_str</name>
+         <load_address>0x2d0b</load_address>
+         <run_address>0x2d0b</run_address>
+         <size>0x16d</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-12"/>
+      </object_component>
+      <object_component id="oc-e3">
+         <name>.debug_str</name>
+         <load_address>0x2e78</load_address>
+         <run_address>0x2e78</run_address>
+         <size>0x329</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-13"/>
+      </object_component>
+      <object_component id="oc-87">
+         <name>.debug_str</name>
+         <load_address>0x31a1</load_address>
+         <run_address>0x31a1</run_address>
+         <size>0x8ae</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-14"/>
+      </object_component>
+      <object_component id="oc-6f">
+         <name>.debug_str</name>
+         <load_address>0x3a4f</load_address>
+         <run_address>0x3a4f</run_address>
+         <size>0x1a3</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-29"/>
+      </object_component>
+      <object_component id="oc-4a">
+         <name>.debug_str</name>
+         <load_address>0x3bf2</load_address>
+         <run_address>0x3bf2</run_address>
+         <size>0x170</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-2a"/>
+      </object_component>
+      <object_component id="oc-42">
+         <name>.debug_str</name>
+         <load_address>0x3d62</load_address>
+         <run_address>0x3d62</run_address>
+         <size>0x1dd</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-2b"/>
+      </object_component>
+      <object_component id="oc-3d">
+         <name>.debug_str</name>
+         <load_address>0x3f3f</load_address>
+         <run_address>0x3f3f</run_address>
+         <size>0x22d</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-2c"/>
+      </object_component>
+      <object_component id="oc-d0">
+         <name>.debug_str</name>
+         <load_address>0x416c</load_address>
+         <run_address>0x416c</run_address>
+         <size>0x147</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-2e"/>
+      </object_component>
+      <object_component id="oc-d6">
+         <name>.debug_str</name>
+         <load_address>0x42b3</load_address>
+         <run_address>0x42b3</run_address>
+         <size>0x337</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-31"/>
+      </object_component>
+      <object_component id="oc-91">
+         <name>.debug_str</name>
+         <load_address>0x45ea</load_address>
+         <run_address>0x45ea</run_address>
+         <size>0xfd</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-32"/>
+      </object_component>
+      <object_component id="oc-f7">
+         <name>.debug_str</name>
+         <load_address>0x46e7</load_address>
+         <run_address>0x46e7</run_address>
+         <size>0x1a3</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-cc"/>
+      </object_component>
+      <object_component id="oc-38">
+         <name>.debug_frame</name>
+         <load_address>0x0</load_address>
+         <run_address>0x0</run_address>
+         <size>0x40</size>
+         <alignment>0x4</alignment>
+         <input_file_ref idref="fl-1"/>
+      </object_component>
+      <object_component id="oc-95">
+         <name>.debug_frame</name>
+         <load_address>0x40</load_address>
+         <run_address>0x40</run_address>
+         <size>0x8c</size>
+         <alignment>0x4</alignment>
+         <input_file_ref idref="fl-2"/>
+      </object_component>
+      <object_component id="oc-31">
+         <name>.debug_frame</name>
+         <load_address>0xcc</load_address>
+         <run_address>0xcc</run_address>
+         <size>0x30</size>
+         <alignment>0x4</alignment>
+         <input_file_ref idref="fl-3"/>
+      </object_component>
+      <object_component id="oc-60">
+         <name>.debug_frame</name>
+         <load_address>0xfc</load_address>
+         <run_address>0xfc</run_address>
+         <size>0x88</size>
+         <alignment>0x4</alignment>
+         <input_file_ref idref="fl-4"/>
+      </object_component>
+      <object_component id="oc-cd">
+         <name>.debug_frame</name>
+         <load_address>0x184</load_address>
+         <run_address>0x184</run_address>
+         <size>0x20</size>
+         <alignment>0x4</alignment>
+         <input_file_ref idref="fl-12"/>
+      </object_component>
+      <object_component id="oc-c9">
+         <name>.debug_frame</name>
+         <load_address>0x1a4</load_address>
+         <run_address>0x1a4</run_address>
+         <size>0x8c</size>
+         <alignment>0x4</alignment>
+         <input_file_ref idref="fl-13"/>
+      </object_component>
+      <object_component id="oc-66">
+         <name>.debug_frame</name>
+         <load_address>0x230</load_address>
+         <run_address>0x230</run_address>
+         <size>0x12c</size>
+         <alignment>0x4</alignment>
+         <input_file_ref idref="fl-14"/>
+      </object_component>
+      <object_component id="oc-50">
+         <name>.debug_frame</name>
+         <load_address>0x35c</load_address>
+         <run_address>0x35c</run_address>
+         <size>0x38</size>
+         <alignment>0x4</alignment>
+         <input_file_ref idref="fl-29"/>
+      </object_component>
+      <object_component id="oc-22">
+         <name>.debug_frame</name>
+         <load_address>0x394</load_address>
+         <run_address>0x394</run_address>
+         <size>0x28</size>
+         <alignment>0x4</alignment>
+         <input_file_ref idref="fl-2a"/>
+      </object_component>
+      <object_component id="oc-1e">
+         <name>.debug_frame</name>
+         <load_address>0x3bc</load_address>
+         <run_address>0x3bc</run_address>
+         <size>0x30</size>
+         <alignment>0x4</alignment>
+         <input_file_ref idref="fl-2b"/>
+      </object_component>
+      <object_component id="oc-54">
+         <name>.debug_frame</name>
+         <load_address>0x3ec</load_address>
+         <run_address>0x3ec</run_address>
+         <size>0x90</size>
+         <alignment>0x4</alignment>
+         <input_file_ref idref="fl-2c"/>
+      </object_component>
+      <object_component id="oc-a0">
+         <name>.debug_frame</name>
+         <load_address>0x47c</load_address>
+         <run_address>0x47c</run_address>
+         <size>0x30</size>
+         <alignment>0x4</alignment>
+         <input_file_ref idref="fl-2e"/>
+      </object_component>
+      <object_component id="oc-a8">
+         <name>.debug_frame</name>
+         <load_address>0x4ac</load_address>
+         <run_address>0x4ac</run_address>
+         <size>0x100</size>
+         <alignment>0x4</alignment>
+         <input_file_ref idref="fl-31"/>
+      </object_component>
+      <object_component id="oc-77">
+         <name>.debug_frame</name>
+         <load_address>0x5ac</load_address>
+         <run_address>0x5ac</run_address>
+         <size>0x20</size>
+         <alignment>0x4</alignment>
+         <input_file_ref idref="fl-32"/>
+      </object_component>
+      <object_component id="oc-f3">
+         <name>.debug_frame</name>
+         <load_address>0x5cc</load_address>
+         <run_address>0x5cc</run_address>
+         <size>0x30</size>
+         <alignment>0x4</alignment>
+         <input_file_ref idref="fl-cc"/>
+      </object_component>
+      <object_component id="oc-39">
+         <name>.debug_line</name>
+         <load_address>0x0</load_address>
+         <run_address>0x0</run_address>
+         <size>0x390</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-1"/>
+      </object_component>
+      <object_component id="oc-96">
+         <name>.debug_line</name>
+         <load_address>0x390</load_address>
+         <run_address>0x390</run_address>
+         <size>0x58f</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-2"/>
+      </object_component>
+      <object_component id="oc-32">
+         <name>.debug_line</name>
+         <load_address>0x91f</load_address>
+         <run_address>0x91f</run_address>
+         <size>0xc1</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-3"/>
+      </object_component>
+      <object_component id="oc-61">
+         <name>.debug_line</name>
+         <load_address>0x9e0</load_address>
+         <run_address>0x9e0</run_address>
+         <size>0x847</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-4"/>
+      </object_component>
+      <object_component id="oc-ce">
+         <name>.debug_line</name>
+         <load_address>0x1227</load_address>
+         <run_address>0x1227</run_address>
+         <size>0x178</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-12"/>
+      </object_component>
+      <object_component id="oc-ca">
+         <name>.debug_line</name>
+         <load_address>0x139f</load_address>
+         <run_address>0x139f</run_address>
+         <size>0x45e</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-13"/>
+      </object_component>
+      <object_component id="oc-67">
+         <name>.debug_line</name>
+         <load_address>0x17fd</load_address>
+         <run_address>0x17fd</run_address>
+         <size>0x682</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-14"/>
+      </object_component>
+      <object_component id="oc-51">
+         <name>.debug_line</name>
+         <load_address>0x1e7f</load_address>
+         <run_address>0x1e7f</run_address>
+         <size>0x106</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-29"/>
+      </object_component>
+      <object_component id="oc-23">
+         <name>.debug_line</name>
+         <load_address>0x1f85</load_address>
+         <run_address>0x1f85</run_address>
+         <size>0x63</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-2a"/>
+      </object_component>
+      <object_component id="oc-1f">
+         <name>.debug_line</name>
+         <load_address>0x1fe8</load_address>
+         <run_address>0x1fe8</run_address>
+         <size>0x10e</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-2b"/>
+      </object_component>
+      <object_component id="oc-3e">
+         <name>.debug_line</name>
+         <load_address>0x20f6</load_address>
+         <run_address>0x20f6</run_address>
+         <size>0x1dc</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-2c"/>
+      </object_component>
+      <object_component id="oc-a1">
+         <name>.debug_line</name>
+         <load_address>0x22d2</load_address>
+         <run_address>0x22d2</run_address>
+         <size>0x69</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-2e"/>
+      </object_component>
+      <object_component id="oc-a9">
+         <name>.debug_line</name>
+         <load_address>0x233b</load_address>
+         <run_address>0x233b</run_address>
+         <size>0x403</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-31"/>
+      </object_component>
+      <object_component id="oc-78">
+         <name>.debug_line</name>
+         <load_address>0x273e</load_address>
+         <run_address>0x273e</run_address>
+         <size>0x3e</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-32"/>
+      </object_component>
+      <object_component id="oc-46">
+         <name>.debug_line</name>
+         <load_address>0x277c</load_address>
+         <run_address>0x277c</run_address>
+         <size>0xac</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-c9"/>
+      </object_component>
+      <object_component id="oc-e0">
+         <name>.debug_line</name>
+         <load_address>0x2828</load_address>
+         <run_address>0x2828</run_address>
+         <size>0xca</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-cb"/>
+      </object_component>
+      <object_component id="oc-f4">
+         <name>.debug_line</name>
+         <load_address>0x28f2</load_address>
+         <run_address>0x28f2</run_address>
+         <size>0xbd</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-cc"/>
+      </object_component>
+      <object_component id="oc-8b">
+         <name>.debug_line</name>
+         <load_address>0x29af</load_address>
+         <run_address>0x29af</run_address>
+         <size>0xa0</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-cd"/>
+      </object_component>
+      <object_component id="oc-48">
+         <name>.debug_aranges</name>
+         <load_address>0x0</load_address>
+         <run_address>0x0</run_address>
+         <size>0x20</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-c9"/>
+      </object_component>
+      <object_component id="oc-df">
+         <name>.debug_aranges</name>
+         <load_address>0x20</load_address>
+         <run_address>0x20</run_address>
+         <size>0x20</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-cb"/>
+      </object_component>
+      <object_component id="oc-8a">
+         <name>.debug_aranges</name>
+         <load_address>0x40</load_address>
+         <run_address>0x40</run_address>
+         <size>0x28</size>
+         <alignment>0x1</alignment>
+         <input_file_ref idref="fl-cd"/>
+      </object_component>
+   </object_component_list>
+   <logical_group_list>
+      <logical_group id="lg-2" display="no" color="cyan">
+         <name>.intvecs</name>
+         <load_address>0x0</load_address>
+         <run_address>0x0</run_address>
+         <size>0xc0</size>
+         <contents>
+            <object_component_ref idref="oc-18"/>
+         </contents>
+      </logical_group>
+      <logical_group id="lg-3" display="no" color="cyan">
+         <name>.text</name>
+         <load_address>0xc0</load_address>
+         <run_address>0xc0</run_address>
+         <size>0x9b8</size>
+         <contents>
+            <object_component_ref idref="oc-98"/>
+            <object_component_ref idref="oc-5c"/>
+            <object_component_ref idref="oc-33"/>
+            <object_component_ref idref="oc-34"/>
+            <object_component_ref idref="oc-79"/>
+            <object_component_ref idref="oc-8d"/>
+            <object_component_ref idref="oc-f0"/>
+            <object_component_ref idref="oc-c5"/>
+            <object_component_ref idref="oc-99"/>
+            <object_component_ref idref="oc-1c"/>
+            <object_component_ref idref="oc-c1"/>
+            <object_component_ref idref="oc-62"/>
+            <object_component_ref idref="oc-bd"/>
+            <object_component_ref idref="oc-de"/>
+            <object_component_ref idref="oc-a4"/>
+            <object_component_ref idref="oc-bf"/>
+            <object_component_ref idref="oc-55"/>
+            <object_component_ref idref="oc-dc"/>
+            <object_component_ref idref="oc-be"/>
+            <object_component_ref idref="oc-c2"/>
+            <object_component_ref idref="oc-97"/>
+            <object_component_ref idref="oc-92"/>
+            <object_component_ref idref="oc-4c"/>
+            <object_component_ref idref="oc-20"/>
+            <object_component_ref idref="oc-cb"/>
+            <object_component_ref idref="oc-45"/>
+            <object_component_ref idref="oc-2f"/>
+            <object_component_ref idref="oc-75"/>
+            <object_component_ref idref="oc-9d"/>
+         </contents>
+      </logical_group>
+      <logical_group id="lg-4" display="no" color="cyan">
+         <name>.const</name>
+         <run_address>0x0</run_address>
+         <size>0x0</size>
+         <contents>
+         </contents>
+      </logical_group>
+      <logical_group id="lg-5" display="no" color="cyan">
+         <name>.cinit</name>
+         <load_address>0xa80</load_address>
+         <run_address>0xa80</run_address>
+         <size>0x48</size>
+         <contents>
+            <object_component_ref idref="oc-13a"/>
+            <object_component_ref idref="oc-138"/>
+            <object_component_ref idref="oc-13b"/>
+            <object_component_ref idref="oc-139"/>
+         </contents>
+      </logical_group>
+      <logical_group id="lg-6" display="no" color="cyan">
+         <name>.pinit</name>
+         <run_address>0x0</run_address>
+         <size>0x0</size>
+         <contents>
+         </contents>
+      </logical_group>
+      <logical_group id="lg-7" display="no" color="cyan">
+         <name>.rodata</name>
+         <load_address>0xa78</load_address>
+         <run_address>0xa78</run_address>
+         <size>0x8</size>
+         <contents>
+            <object_component_ref idref="oc-dd"/>
+         </contents>
+      </logical_group>
+      <logical_group id="lg-8" display="no" color="cyan">
+         <name>.ARM.exidx</name>
+         <run_address>0x0</run_address>
+         <size>0x0</size>
+         <contents>
+         </contents>
+      </logical_group>
+      <logical_group id="lg-9" display="no" color="cyan">
+         <name>.init_array</name>
+         <run_address>0x0</run_address>
+         <size>0x0</size>
+         <contents>
+         </contents>
+      </logical_group>
+      <logical_group id="lg-a" display="no" color="cyan">
+         <name>.binit</name>
+         <load_address>0x0</load_address>
+         <run_address>0x0</run_address>
+         <size>0x0</size>
+         <contents>
+            <object_component_ref idref="oc-102"/>
+         </contents>
+      </logical_group>
+      <logical_group id="lg-b" display="no" color="cyan">
+         <name>.TI.ramfunc</name>
+         <run_address>0x0</run_address>
+         <size>0x0</size>
+         <contents>
+         </contents>
+      </logical_group>
+      <logical_group id="lg-c" display="no" color="cyan">
+         <name>.vtable</name>
+         <run_address>0x0</run_address>
+         <size>0x0</size>
+         <contents>
+         </contents>
+      </logical_group>
+      <logical_group id="lg-d" display="no" color="cyan">
+         <name>.args</name>
+         <run_address>0x0</run_address>
+         <size>0x0</size>
+         <contents>
+         </contents>
+      </logical_group>
+      <logical_group id="lg-e" display="no" color="cyan">
+         <name>.data</name>
+         <run_address>0x202000f8</run_address>
+         <size>0x41</size>
+         <contents>
+            <object_component_ref idref="oc-9c"/>
+            <object_component_ref idref="oc-9a"/>
+         </contents>
+      </logical_group>
+      <logical_group id="lg-f" display="no" color="cyan">
+         <name>.bss</name>
+         <run_address>0x20200000</run_address>
+         <size>0xf8</size>
+         <contents>
+            <object_component_ref idref="oc-68"/>
+            <object_component_ref idref="oc-9b"/>
+            <object_component_ref idref="oc-69"/>
+         </contents>
+      </logical_group>
+      <logical_group id="lg-10" display="no" color="cyan">
+         <name>.sysmem</name>
+         <run_address>0x0</run_address>
+         <size>0x0</size>
+         <contents>
+         </contents>
+      </logical_group>
+      <logical_group id="lg-11" display="no" color="cyan">
+         <name>.stack</name>
+         <run_address>0x20207e00</run_address>
+         <size>0x200</size>
+         <contents>
+            <object_component_ref idref="oc-1a"/>
+            <object_component_ref idref="oc-13d"/>
+         </contents>
+      </logical_group>
+      <logical_group id="lg-12" display="no" color="cyan">
+         <name>.BCRConfig</name>
+         <run_address>0x0</run_address>
+         <size>0x0</size>
+         <contents>
+         </contents>
+      </logical_group>
+      <logical_group id="lg-13" display="no" color="cyan">
+         <name>.BSLConfig</name>
+         <run_address>0x0</run_address>
+         <size>0x0</size>
+         <contents>
+         </contents>
+      </logical_group>
+      <logical_group id="lg-f9" display="no" color="cyan">
+         <name>.TI.noinit</name>
+         <run_address>0x0</run_address>
+         <size>0x0</size>
+         <contents>
+         </contents>
+      </logical_group>
+      <logical_group id="lg-fa" display="no" color="cyan">
+         <name>.TI.persistent</name>
+         <run_address>0x0</run_address>
+         <size>0x0</size>
+         <contents>
+         </contents>
+      </logical_group>
+      <logical_group id="lg-fb" display="no" color="cyan">
+         <name>.TI.local</name>
+         <run_address>0x0</run_address>
+         <size>0x0</size>
+         <contents>
+         </contents>
+      </logical_group>
+      <logical_group id="lg-fc" display="no" color="cyan">
+         <name>.TI.onchip</name>
+         <run_address>0x0</run_address>
+         <size>0x0</size>
+         <contents>
+         </contents>
+      </logical_group>
+      <logical_group id="lg-fd" display="no" color="cyan">
+         <name>.TI.offchip</name>
+         <run_address>0x0</run_address>
+         <size>0x0</size>
+         <contents>
+         </contents>
+      </logical_group>
+      <logical_group id="lg-fe" display="no" color="cyan">
+         <name>__llvm_prf_cnts</name>
+         <run_address>0x20200000</run_address>
+         <size>0x0</size>
+         <contents>
+         </contents>
+      </logical_group>
+      <logical_group id="lg-100" display="no" color="cyan">
+         <name>__llvm_prf_bits</name>
+         <run_address>0x20200000</run_address>
+         <size>0x0</size>
+         <contents>
+         </contents>
+      </logical_group>
+      <logical_group id="lg-11c" display="never" color="cyan">
+         <name>.debug_loc</name>
+         <load_address>0x0</load_address>
+         <run_address>0x0</run_address>
+         <size>0x1529</size>
+         <contents>
+            <object_component_ref idref="oc-35"/>
+            <object_component_ref idref="oc-c0"/>
+            <object_component_ref idref="oc-5d"/>
+            <object_component_ref idref="oc-e6"/>
+            <object_component_ref idref="oc-c6"/>
+            <object_component_ref idref="oc-63"/>
+            <object_component_ref idref="oc-4d"/>
+            <object_component_ref idref="oc-4b"/>
+            <object_component_ref idref="oc-43"/>
+            <object_component_ref idref="oc-40"/>
+            <object_component_ref idref="oc-a3"/>
+            <object_component_ref idref="oc-a5"/>
+            <object_component_ref idref="oc-f8"/>
+         </contents>
+      </logical_group>
+      <logical_group id="lg-11e" display="never" color="cyan">
+         <name>.debug_abbrev</name>
+         <load_address>0x0</load_address>
+         <run_address>0x0</run_address>
+         <size>0xfe0</size>
+         <contents>
+            <object_component_ref idref="oc-6a"/>
+            <object_component_ref idref="oc-c3"/>
+            <object_component_ref idref="oc-3a"/>
+            <object_component_ref idref="oc-84"/>
+            <object_component_ref idref="oc-e4"/>
+            <object_component_ref idref="oc-e2"/>
+            <object_component_ref idref="oc-86"/>
+            <object_component_ref idref="oc-6e"/>
+            <object_component_ref idref="oc-49"/>
+            <object_component_ref idref="oc-41"/>
+            <object_component_ref idref="oc-3c"/>
+            <object_component_ref idref="oc-cf"/>
+            <object_component_ref idref="oc-d5"/>
+            <object_component_ref idref="oc-90"/>
+            <object_component_ref idref="oc-6d"/>
+            <object_component_ref idref="oc-f5"/>
+            <object_component_ref idref="oc-f6"/>
+            <object_component_ref idref="oc-b6"/>
+            <object_component_ref idref="oc-13f"/>
+         </contents>
+      </logical_group>
+      <logical_group id="lg-120" display="never" color="cyan">
+         <name>.debug_info</name>
+         <load_address>0x0</load_address>
+         <run_address>0x0</run_address>
+         <size>0x649b</size>
+         <contents>
+            <object_component_ref idref="oc-36"/>
+            <object_component_ref idref="oc-93"/>
+            <object_component_ref idref="oc-19"/>
+            <object_component_ref idref="oc-5e"/>
+            <object_component_ref idref="oc-cc"/>
+            <object_component_ref idref="oc-c7"/>
+            <object_component_ref idref="oc-64"/>
+            <object_component_ref idref="oc-4e"/>
+            <object_component_ref idref="oc-21"/>
+            <object_component_ref idref="oc-1d"/>
+            <object_component_ref idref="oc-1b"/>
+            <object_component_ref idref="oc-9e"/>
+            <object_component_ref idref="oc-a6"/>
+            <object_component_ref idref="oc-76"/>
+            <object_component_ref idref="oc-47"/>
+            <object_component_ref idref="oc-e1"/>
+            <object_component_ref idref="oc-f1"/>
+            <object_component_ref idref="oc-89"/>
+            <object_component_ref idref="oc-13e"/>
+         </contents>
+      </logical_group>
+      <logical_group id="lg-122" display="never" color="cyan">
+         <name>.debug_ranges</name>
+         <load_address>0x0</load_address>
+         <run_address>0x0</run_address>
+         <size>0x518</size>
+         <contents>
+            <object_component_ref idref="oc-37"/>
+            <object_component_ref idref="oc-94"/>
+            <object_component_ref idref="oc-30"/>
+            <object_component_ref idref="oc-5f"/>
+            <object_component_ref idref="oc-c8"/>
+            <object_component_ref idref="oc-65"/>
+            <object_component_ref idref="oc-4f"/>
+            <object_component_ref idref="oc-44"/>
+            <object_component_ref idref="oc-3f"/>
+            <object_component_ref idref="oc-9f"/>
+            <object_component_ref idref="oc-a7"/>
+            <object_component_ref idref="oc-f2"/>
+            <object_component_ref idref="oc-8c"/>
+         </contents>
+      </logical_group>
+      <logical_group id="lg-124" display="never" color="cyan">
+         <name>.debug_str</name>
+         <load_address>0x0</load_address>
+         <run_address>0x0</run_address>
+         <size>0x488a</size>
+         <contents>
+            <object_component_ref idref="oc-6b"/>
+            <object_component_ref idref="oc-c4"/>
+            <object_component_ref idref="oc-3b"/>
+            <object_component_ref idref="oc-85"/>
+            <object_component_ref idref="oc-e5"/>
+            <object_component_ref idref="oc-e3"/>
+            <object_component_ref idref="oc-87"/>
+            <object_component_ref idref="oc-6f"/>
+            <object_component_ref idref="oc-4a"/>
+            <object_component_ref idref="oc-42"/>
+            <object_component_ref idref="oc-3d"/>
+            <object_component_ref idref="oc-d0"/>
+            <object_component_ref idref="oc-d6"/>
+            <object_component_ref idref="oc-91"/>
+            <object_component_ref idref="oc-f7"/>
+         </contents>
+      </logical_group>
+      <logical_group id="lg-126" display="never" color="cyan">
+         <name>.debug_frame</name>
+         <load_address>0x0</load_address>
+         <run_address>0x0</run_address>
+         <size>0x5fc</size>
+         <contents>
+            <object_component_ref idref="oc-38"/>
+            <object_component_ref idref="oc-95"/>
+            <object_component_ref idref="oc-31"/>
+            <object_component_ref idref="oc-60"/>
+            <object_component_ref idref="oc-cd"/>
+            <object_component_ref idref="oc-c9"/>
+            <object_component_ref idref="oc-66"/>
+            <object_component_ref idref="oc-50"/>
+            <object_component_ref idref="oc-22"/>
+            <object_component_ref idref="oc-1e"/>
+            <object_component_ref idref="oc-54"/>
+            <object_component_ref idref="oc-a0"/>
+            <object_component_ref idref="oc-a8"/>
+            <object_component_ref idref="oc-77"/>
+            <object_component_ref idref="oc-f3"/>
+         </contents>
+      </logical_group>
+      <logical_group id="lg-128" display="never" color="cyan">
+         <name>.debug_line</name>
+         <load_address>0x0</load_address>
+         <run_address>0x0</run_address>
+         <size>0x2a4f</size>
+         <contents>
+            <object_component_ref idref="oc-39"/>
+            <object_component_ref idref="oc-96"/>
+            <object_component_ref idref="oc-32"/>
+            <object_component_ref idref="oc-61"/>
+            <object_component_ref idref="oc-ce"/>
+            <object_component_ref idref="oc-ca"/>
+            <object_component_ref idref="oc-67"/>
+            <object_component_ref idref="oc-51"/>
+            <object_component_ref idref="oc-23"/>
+            <object_component_ref idref="oc-1f"/>
+            <object_component_ref idref="oc-3e"/>
+            <object_component_ref idref="oc-a1"/>
+            <object_component_ref idref="oc-a9"/>
+            <object_component_ref idref="oc-78"/>
+            <object_component_ref idref="oc-46"/>
+            <object_component_ref idref="oc-e0"/>
+            <object_component_ref idref="oc-f4"/>
+            <object_component_ref idref="oc-8b"/>
+         </contents>
+      </logical_group>
+      <logical_group id="lg-132" display="never" color="cyan">
+         <name>.debug_aranges</name>
+         <load_address>0x0</load_address>
+         <run_address>0x0</run_address>
+         <size>0x68</size>
+         <contents>
+            <object_component_ref idref="oc-48"/>
+            <object_component_ref idref="oc-df"/>
+            <object_component_ref idref="oc-8a"/>
+         </contents>
+      </logical_group>
+      <logical_group id="lg-13c" display="no" color="cyan">
+         <name>Veneer$$CMSE</name>
+         <run_address>0x0</run_address>
+         <size>0x0</size>
+         <contents>
+         </contents>
+      </logical_group>
+      <load_segment id="lg-144" display="no" color="cyan">
+         <name>SEGMENT_0</name>
+         <load_address>0x0</load_address>
+         <run_address>0x0</run_address>
+         <size>0xac8</size>
+         <flags>0x5</flags>
+         <contents>
+            <logical_group_ref idref="lg-2"/>
+            <logical_group_ref idref="lg-3"/>
+            <logical_group_ref idref="lg-7"/>
+            <logical_group_ref idref="lg-5"/>
+         </contents>
+      </load_segment>
+      <load_segment id="lg-145" display="no" color="cyan">
+         <name>SEGMENT_1</name>
+         <run_address>0x20200000</run_address>
+         <size>0x139</size>
+         <flags>0x6</flags>
+         <contents>
+            <logical_group_ref idref="lg-f"/>
+            <logical_group_ref idref="lg-e"/>
+         </contents>
+      </load_segment>
+      <load_segment id="lg-146" display="no" color="cyan">
+         <name>SEGMENT_2</name>
+         <run_address>0x20207e00</run_address>
+         <size>0x200</size>
+         <flags>0x6</flags>
+         <contents>
+            <logical_group_ref idref="lg-11"/>
+         </contents>
+      </load_segment>
+   </logical_group_list>
+   <placement_map>
+      <memory_area display="yes" color="green">
+         <name>FLASH</name>
+         <page_id>0x0</page_id>
+         <origin>0x0</origin>
+         <length>0x20000</length>
+         <used_space>0xac8</used_space>
+         <unused_space>0x1f538</unused_space>
+         <attributes>RX</attributes>
+         <usage_details>
+            <allocated_space>
+               <start_address>0x0</start_address>
+               <size>0x0</size>
+               <logical_group_ref idref="lg-a"/>
+            </allocated_space>
+            <allocated_space>
+               <start_address>0x0</start_address>
+               <size>0xc0</size>
+               <logical_group_ref idref="lg-2"/>
+            </allocated_space>
+            <allocated_space>
+               <start_address>0xc0</start_address>
+               <size>0x9b8</size>
+               <logical_group_ref idref="lg-3"/>
+            </allocated_space>
+            <allocated_space>
+               <start_address>0xa78</start_address>
+               <size>0x8</size>
+               <logical_group_ref idref="lg-7"/>
+            </allocated_space>
+            <allocated_space>
+               <start_address>0xa80</start_address>
+               <size>0x48</size>
+               <logical_group_ref idref="lg-5"/>
+            </allocated_space>
+            <available_space>
+               <start_address>0xac8</start_address>
+               <size>0x1f538</size>
+            </available_space>
+         </usage_details>
+      </memory_area>
+      <memory_area display="yes" color="green">
+         <name>SRAM</name>
+         <page_id>0x0</page_id>
+         <origin>0x20200000</origin>
+         <length>0x8000</length>
+         <used_space>0x339</used_space>
+         <unused_space>0x7cc7</unused_space>
+         <attributes>RWX</attributes>
+         <usage_details>
+            <allocated_space>
+               <start_address>0x20200000</start_address>
+               <size>0x0</size>
+               <logical_group_ref idref="lg-fe"/>
+            </allocated_space>
+            <allocated_space>
+               <start_address>0x20200000</start_address>
+               <size>0x0</size>
+               <logical_group_ref idref="lg-100"/>
+            </allocated_space>
+            <allocated_space>
+               <start_address>0x20200000</start_address>
+               <size>0xf8</size>
+               <logical_group_ref idref="lg-f"/>
+            </allocated_space>
+            <allocated_space>
+               <start_address>0x202000f8</start_address>
+               <size>0x41</size>
+               <logical_group_ref idref="lg-e"/>
+            </allocated_space>
+            <available_space>
+               <start_address>0x20200139</start_address>
+               <size>0x7cc7</size>
+            </available_space>
+            <allocated_space>
+               <start_address>0x20207e00</start_address>
+               <size>0x200</size>
+               <logical_group_ref idref="lg-11"/>
+            </allocated_space>
+         </usage_details>
+      </memory_area>
+      <memory_area display="yes" color="green">
+         <name>BCR_CONFIG</name>
+         <page_id>0x0</page_id>
+         <origin>0x41c00000</origin>
+         <length>0x80</length>
+         <used_space>0x0</used_space>
+         <unused_space>0x80</unused_space>
+         <attributes>R</attributes>
+         <usage_details>
+         </usage_details>
+      </memory_area>
+      <memory_area display="yes" color="green">
+         <name>BSL_CONFIG</name>
+         <page_id>0x0</page_id>
+         <origin>0x41c00100</origin>
+         <length>0x80</length>
+         <used_space>0x0</used_space>
+         <unused_space>0x80</unused_space>
+         <attributes>R</attributes>
+         <usage_details>
+         </usage_details>
+      </memory_area>
+   </placement_map>
+   <cptbl_list>
+      <cptbl>
+         <name>__TI_cinit_table</name>
+         <cprec>
+            <name>.data</name>
+            <load_address>0xa80</load_address>
+            <load_size>0x24</load_size>
+            <run_address>0x202000f8</run_address>
+            <run_size>0x41</run_size>
+            <compression>lzss</compression>
+         </cprec>
+         <cprec>
+            <name>.bss</name>
+            <load_address>0xab0</load_address>
+            <load_size>0x8</load_size>
+            <run_address>0x20200000</run_address>
+            <run_size>0xf8</run_size>
+            <compression>zero_init</compression>
+         </cprec>
+      </cptbl>
+   </cptbl_list>
+   <handler_table>
+      <handler_table_name>__TI_handler_table</handler_table_name>
+      <handler>
+         <index>0x0</index>
+         <name>__TI_decompress_lzss</name>
+      </handler>
+      <handler>
+         <index>0x1</index>
+         <name>__TI_decompress_none</name>
+      </handler>
+      <handler>
+         <index>0x2</index>
+         <name>__TI_zero_init</name>
+      </handler>
+   </handler_table>
+   <symbol_table>
+      <symbol id="sm-1">
+         <name>__start___llvm_prf_cnts</name>
+         <value>0x20200000</value>
+      </symbol>
+      <symbol id="sm-2">
+         <name>__stop___llvm_prf_cnts</name>
+         <value>0x20200000</value>
+      </symbol>
+      <symbol id="sm-3">
+         <name>__start___llvm_prf_bits</name>
+         <value>0x20200000</value>
+      </symbol>
+      <symbol id="sm-4">
+         <name>__stop___llvm_prf_bits</name>
+         <value>0x20200000</value>
+      </symbol>
+      <symbol id="sm-5">
+         <name>__TI_CINIT_Base</name>
+         <value>0xab8</value>
+      </symbol>
+      <symbol id="sm-6">
+         <name>__TI_CINIT_Limit</name>
+         <value>0xac8</value>
+      </symbol>
+      <symbol id="sm-7">
+         <name>__TI_CINIT_Warm</name>
+         <value>0xac8</value>
+      </symbol>
+      <symbol id="sm-8">
+         <name>__TI_Handler_Table_Base</name>
+         <value>0xaa4</value>
+      </symbol>
+      <symbol id="sm-9">
+         <name>__TI_Handler_Table_Limit</name>
+         <value>0xab0</value>
+      </symbol>
+      <symbol id="sm-a">
+         <name>binit</name>
+         <value>0xffffffff</value>
+      </symbol>
+      <symbol id="sm-b">
+         <name>__binit__</name>
+         <value>0xffffffff</value>
+      </symbol>
+      <symbol id="sm-c">
+         <name>__STACK_SIZE</name>
+         <value>0x200</value>
+      </symbol>
+      <symbol id="sm-d">
+         <name>__STACK_END</name>
+         <value>0x20208000</value>
+      </symbol>
+      <symbol id="sm-e">
+         <name>__TI_pprof_out_hndl</name>
+         <value>0xffffffff</value>
+      </symbol>
+      <symbol id="sm-f">
+         <name>__TI_prof_data_start</name>
+         <value>0xffffffff</value>
+      </symbol>
+      <symbol id="sm-10">
+         <name>__TI_prof_data_size</name>
+         <value>0xffffffff</value>
+      </symbol>
+      <symbol id="sm-42">
+         <name>main</name>
+         <value>0x4cd</value>
+         <object_component_ref idref="oc-79"/>
+      </symbol>
+      <symbol id="sm-43">
+         <name>gI2C</name>
+         <value>0x20200000</value>
+      </symbol>
+      <symbol id="sm-44">
+         <name>gTxData</name>
+         <value>0x202000f8</value>
+         <object_component_ref idref="oc-9a"/>
+      </symbol>
+      <symbol id="sm-45">
+         <name>gCommand</name>
+         <value>0x202000e4</value>
+      </symbol>
+      <symbol id="sm-46">
+         <name>gSendCommand</name>
+         <value>0x20200138</value>
+         <object_component_ref idref="oc-9c"/>
+      </symbol>
+      <symbol id="sm-47">
+         <name>I2C1_IRQHandler</name>
+         <value>0x401</value>
+         <object_component_ref idref="oc-34"/>
+      </symbol>
+      <symbol id="sm-48">
+         <name>gResponse</name>
+         <value>0x2020009c</value>
+      </symbol>
+      <symbol id="sm-63">
+         <name>SYSCFG_DL_init</name>
+         <value>0xa17</value>
+         <object_component_ref idref="oc-92"/>
+      </symbol>
+      <symbol id="sm-64">
+         <name>SYSCFG_DL_initPower</name>
+         <value>0x879</value>
+         <object_component_ref idref="oc-bd"/>
+      </symbol>
+      <symbol id="sm-65">
+         <name>SYSCFG_DL_GPIO_init</name>
+         <value>0x9b5</value>
+         <object_component_ref idref="oc-be"/>
+      </symbol>
+      <symbol id="sm-66">
+         <name>SYSCFG_DL_SYSCTL_init</name>
+         <value>0x935</value>
+         <object_component_ref idref="oc-bf"/>
+      </symbol>
+      <symbol id="sm-67">
+         <name>SYSCFG_DL_I2C_init</name>
+         <value>0x7ad</value>
+         <object_component_ref idref="oc-c1"/>
+      </symbol>
+      <symbol id="sm-68">
+         <name>SYSCFG_DL_CRC_init</name>
+         <value>0x9d9</value>
+         <object_component_ref idref="oc-c2"/>
+      </symbol>
+      <symbol id="sm-73">
+         <name>Default_Handler</name>
+         <value>0x3ff</value>
+         <object_component_ref idref="oc-33"/>
+      </symbol>
+      <symbol id="sm-74">
+         <name>Reset_Handler</name>
+         <value>0xa69</value>
+         <object_component_ref idref="oc-2f"/>
+      </symbol>
+      <symbol id="sm-75">
+         <name>interruptVectors</name>
+         <value>0x0</value>
+         <object_component_ref idref="oc-18"/>
+      </symbol>
+      <symbol id="sm-76">
+         <name>NMI_Handler</name>
+         <value>0x3ff</value>
+         <object_component_ref idref="oc-33"/>
+      </symbol>
+      <symbol id="sm-77">
+         <name>HardFault_Handler</name>
+         <value>0x3ff</value>
+         <object_component_ref idref="oc-33"/>
+      </symbol>
+      <symbol id="sm-78">
+         <name>SVC_Handler</name>
+         <value>0x3ff</value>
+         <object_component_ref idref="oc-33"/>
+      </symbol>
+      <symbol id="sm-79">
+         <name>PendSV_Handler</name>
+         <value>0x3ff</value>
+         <object_component_ref idref="oc-33"/>
+      </symbol>
+      <symbol id="sm-7a">
+         <name>SysTick_Handler</name>
+         <value>0x3ff</value>
+         <object_component_ref idref="oc-33"/>
+      </symbol>
+      <symbol id="sm-7b">
+         <name>GROUP0_IRQHandler</name>
+         <value>0x3ff</value>
+         <object_component_ref idref="oc-33"/>
+      </symbol>
+      <symbol id="sm-7c">
+         <name>GROUP1_IRQHandler</name>
+         <value>0x3ff</value>
+         <object_component_ref idref="oc-33"/>
+      </symbol>
+      <symbol id="sm-7d">
+         <name>TIMG8_IRQHandler</name>
+         <value>0x3ff</value>
+         <object_component_ref idref="oc-33"/>
+      </symbol>
+      <symbol id="sm-7e">
+         <name>UART3_IRQHandler</name>
+         <value>0x3ff</value>
+         <object_component_ref idref="oc-33"/>
+      </symbol>
+      <symbol id="sm-7f">
+         <name>ADC0_IRQHandler</name>
+         <value>0x3ff</value>
+         <object_component_ref idref="oc-33"/>
+      </symbol>
+      <symbol id="sm-80">
+         <name>ADC1_IRQHandler</name>
+         <value>0x3ff</value>
+         <object_component_ref idref="oc-33"/>
+      </symbol>
+      <symbol id="sm-81">
+         <name>CANFD0_IRQHandler</name>
+         <value>0x3ff</value>
+         <object_component_ref idref="oc-33"/>
+      </symbol>
+      <symbol id="sm-82">
+         <name>DAC0_IRQHandler</name>
+         <value>0x3ff</value>
+         <object_component_ref idref="oc-33"/>
+      </symbol>
+      <symbol id="sm-83">
+         <name>SPI0_IRQHandler</name>
+         <value>0x3ff</value>
+         <object_component_ref idref="oc-33"/>
+      </symbol>
+      <symbol id="sm-84">
+         <name>SPI1_IRQHandler</name>
+         <value>0x3ff</value>
+         <object_component_ref idref="oc-33"/>
+      </symbol>
+      <symbol id="sm-85">
+         <name>UART1_IRQHandler</name>
+         <value>0x3ff</value>
+         <object_component_ref idref="oc-33"/>
+      </symbol>
+      <symbol id="sm-86">
+         <name>UART2_IRQHandler</name>
+         <value>0x3ff</value>
+         <object_component_ref idref="oc-33"/>
+      </symbol>
+      <symbol id="sm-87">
+         <name>UART0_IRQHandler</name>
+         <value>0x3ff</value>
+         <object_component_ref idref="oc-33"/>
+      </symbol>
+      <symbol id="sm-88">
+         <name>TIMG0_IRQHandler</name>
+         <value>0x3ff</value>
+         <object_component_ref idref="oc-33"/>
+      </symbol>
+      <symbol id="sm-89">
+         <name>TIMG6_IRQHandler</name>
+         <value>0x3ff</value>
+         <object_component_ref idref="oc-33"/>
+      </symbol>
+      <symbol id="sm-8a">
+         <name>TIMA0_IRQHandler</name>
+         <value>0x3ff</value>
+         <object_component_ref idref="oc-33"/>
+      </symbol>
+      <symbol id="sm-8b">
+         <name>TIMA1_IRQHandler</name>
+         <value>0x3ff</value>
+         <object_component_ref idref="oc-33"/>
+      </symbol>
+      <symbol id="sm-8c">
+         <name>TIMG7_IRQHandler</name>
+         <value>0x3ff</value>
+         <object_component_ref idref="oc-33"/>
+      </symbol>
+      <symbol id="sm-8d">
+         <name>TIMG12_IRQHandler</name>
+         <value>0x3ff</value>
+         <object_component_ref idref="oc-33"/>
+      </symbol>
+      <symbol id="sm-8e">
+         <name>I2C0_IRQHandler</name>
+         <value>0x3ff</value>
+         <object_component_ref idref="oc-33"/>
+      </symbol>
+      <symbol id="sm-8f">
+         <name>AES_IRQHandler</name>
+         <value>0x3ff</value>
+         <object_component_ref idref="oc-33"/>
+      </symbol>
+      <symbol id="sm-90">
+         <name>RTC_IRQHandler</name>
+         <value>0x3ff</value>
+         <object_component_ref idref="oc-33"/>
+      </symbol>
+      <symbol id="sm-91">
+         <name>DMA_IRQHandler</name>
+         <value>0x3ff</value>
+         <object_component_ref idref="oc-33"/>
+      </symbol>
+      <symbol id="sm-a3">
+         <name>I2C_init</name>
+         <value>0x9f9</value>
+         <object_component_ref idref="oc-97"/>
+      </symbol>
+      <symbol id="sm-a4">
+         <name>I2C_sendCommand</name>
+         <value>0xc1</value>
+         <object_component_ref idref="oc-98"/>
+      </symbol>
+      <symbol id="sm-a5">
+         <name>I2C_getResponse</name>
+         <value>0x6a1</value>
+         <object_component_ref idref="oc-99"/>
+      </symbol>
+      <symbol id="sm-a6">
+         <name>I2C_decodeResponse</name>
+         <value>0x275</value>
+         <object_component_ref idref="oc-5c"/>
+      </symbol>
+      <symbol id="sm-a7">
+         <name>__TI_ATRegion0_src_addr</name>
+         <value>0x0</value>
+      </symbol>
+      <symbol id="sm-a8">
+         <name>__TI_ATRegion0_trg_addr</name>
+         <value>0x0</value>
+      </symbol>
+      <symbol id="sm-a9">
+         <name>__TI_ATRegion0_region_sz</name>
+         <value>0x0</value>
+      </symbol>
+      <symbol id="sm-aa">
+         <name>__TI_ATRegion1_src_addr</name>
+         <value>0x0</value>
+      </symbol>
+      <symbol id="sm-ab">
+         <name>__TI_ATRegion1_trg_addr</name>
+         <value>0x0</value>
+      </symbol>
+      <symbol id="sm-ac">
+         <name>__TI_ATRegion1_region_sz</name>
+         <value>0x0</value>
+      </symbol>
+      <symbol id="sm-ad">
+         <name>__TI_ATRegion2_src_addr</name>
+         <value>0x0</value>
+      </symbol>
+      <symbol id="sm-ae">
+         <name>__TI_ATRegion2_trg_addr</name>
+         <value>0x0</value>
+      </symbol>
+      <symbol id="sm-af">
+         <name>__TI_ATRegion2_region_sz</name>
+         <value>0x0</value>
+      </symbol>
+      <symbol id="sm-b8">
+         <name>DL_Common_delayCycles</name>
+         <value>0xa57</value>
+         <object_component_ref idref="oc-cb"/>
+      </symbol>
+      <symbol id="sm-c3">
+         <name>DL_CRC_calculateBlock16</name>
+         <value>0x609</value>
+         <object_component_ref idref="oc-c5"/>
+      </symbol>
+      <symbol id="sm-cf">
+         <name>DL_I2C_setClockConfig</name>
+         <value>0x98d</value>
+         <object_component_ref idref="oc-dc"/>
+      </symbol>
+      <symbol id="sm-d0">
+         <name>DL_I2C_fillControllerTXFIFO</name>
+         <value>0x819</value>
+         <object_component_ref idref="oc-62"/>
+      </symbol>
+      <symbol id="sm-da">
+         <name>__TI_zero_init_nomemset</name>
+         <value>0xa2f</value>
+         <object_component_ref idref="oc-4c"/>
+      </symbol>
+      <symbol id="sm-e3">
+         <name>__TI_decompress_none</name>
+         <value>0xa45</value>
+         <object_component_ref idref="oc-20"/>
+      </symbol>
+      <symbol id="sm-ee">
+         <name>__TI_decompress_lzss</name>
+         <value>0x731</value>
+         <object_component_ref idref="oc-1c"/>
+      </symbol>
+      <symbol id="sm-f9">
+         <name>_c_int00_noargs</name>
+         <value>0x965</value>
+         <object_component_ref idref="oc-55"/>
+      </symbol>
+      <symbol id="sm-fa">
+         <name>__stack</name>
+         <value>0x20207e00</value>
+         <object_component_ref idref="oc-1a"/>
+      </symbol>
+      <symbol id="sm-105">
+         <name>abort</name>
+         <value>0xa71</value>
+         <object_component_ref idref="oc-9d"/>
+      </symbol>
+      <symbol id="sm-106">
+         <name>C$$EXIT</name>
+         <value>0xa70</value>
+         <object_component_ref idref="oc-9d"/>
+      </symbol>
+      <symbol id="sm-113">
+         <name>__TI_auto_init_nobinit_nopinit</name>
+         <value>0x8f9</value>
+         <object_component_ref idref="oc-a4"/>
+      </symbol>
+      <symbol id="sm-11b">
+         <name>_system_pre_init</name>
+         <value>0xa6d</value>
+         <object_component_ref idref="oc-75"/>
+      </symbol>
+      <symbol id="sm-122">
+         <name>__aeabi_memcpy</name>
+         <value>0xa61</value>
+         <object_component_ref idref="oc-45"/>
+      </symbol>
+      <symbol id="sm-123">
+         <name>__aeabi_memcpy4</name>
+         <value>0xa61</value>
+         <object_component_ref idref="oc-45"/>
+      </symbol>
+      <symbol id="sm-124">
+         <name>__aeabi_memcpy8</name>
+         <value>0xa61</value>
+         <object_component_ref idref="oc-45"/>
+      </symbol>
+      <symbol id="sm-12a">
+         <name>__aeabi_uidiv</name>
+         <value>0x8b9</value>
+         <object_component_ref idref="oc-de"/>
+      </symbol>
+      <symbol id="sm-12b">
+         <name>__aeabi_uidivmod</name>
+         <value>0x8b9</value>
+         <object_component_ref idref="oc-de"/>
+      </symbol>
+      <symbol id="sm-135">
+         <name>__aeabi_idiv0</name>
+         <value>0x607</value>
+         <object_component_ref idref="oc-f0"/>
+      </symbol>
+      <symbol id="sm-14e">
+         <name>memcpy</name>
+         <value>0x56d</value>
+         <object_component_ref idref="oc-8d"/>
+      </symbol>
+      <symbol id="sm-14f">
+         <name>__TI_static_base__</name>
+         <value>0x0</value>
+      </symbol>
+      <symbol id="sm-152">
+         <name>__mpu_init</name>
+         <value>0x0</value>
+      </symbol>
+      <symbol id="sm-153">
+         <name>_system_post_cinit</name>
+         <value>0x0</value>
+      </symbol>
+   </symbol_table>
+   <title>Link successful</title>
+</link_info>

+ 156 - 0
Debug/makefile

@@ -0,0 +1,156 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+################################################################################
+
+CG_TOOL_ROOT := /home/ngosh/ti/ccstheia151/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS
+
+GEN_OPTS__FLAG := @"./device.opt" 
+GEN_CMDS__FLAG := -Wl,-l"./device_linker.cmd" 
+
+ORDERED_OBJS += \
+"./i2c_controller.o" \
+"./ti_msp_dl_config.o" \
+"./startup_mspm0g350x_ticlang.o" \
+"./ti/comm_modules/i2c/controller/i2c_comm_controller.o" \
+$(GEN_CMDS__FLAG) \
+-Wl,-ldevice.cmd.genlibs \
+-Wl,-llibc.a \
+
+-include ../makefile.init
+
+RM := rm -rf
+RMDIR := rm -rf
+
+# All of the sources participating in the build are defined here
+-include sources.mk
+-include subdir_vars.mk
+-include ti/comm_modules/i2c/controller/subdir_vars.mk
+-include subdir_rules.mk
+-include ti/comm_modules/i2c/controller/subdir_rules.mk
+-include objects.mk
+
+ifneq ($(MAKECMDGOALS),clean)
+ifneq ($(strip $(C55_DEPS)),)
+-include $(C55_DEPS)
+endif
+ifneq ($(strip $(C_UPPER_DEPS)),)
+-include $(C_UPPER_DEPS)
+endif
+ifneq ($(strip $(S67_DEPS)),)
+-include $(S67_DEPS)
+endif
+ifneq ($(strip $(S62_DEPS)),)
+-include $(S62_DEPS)
+endif
+ifneq ($(strip $(S_DEPS)),)
+-include $(S_DEPS)
+endif
+ifneq ($(strip $(OPT_DEPS)),)
+-include $(OPT_DEPS)
+endif
+ifneq ($(strip $(C??_DEPS)),)
+-include $(C??_DEPS)
+endif
+ifneq ($(strip $(ASM_UPPER_DEPS)),)
+-include $(ASM_UPPER_DEPS)
+endif
+ifneq ($(strip $(S??_DEPS)),)
+-include $(S??_DEPS)
+endif
+ifneq ($(strip $(C64_DEPS)),)
+-include $(C64_DEPS)
+endif
+ifneq ($(strip $(CXX_DEPS)),)
+-include $(CXX_DEPS)
+endif
+ifneq ($(strip $(S64_DEPS)),)
+-include $(S64_DEPS)
+endif
+ifneq ($(strip $(INO_DEPS)),)
+-include $(INO_DEPS)
+endif
+ifneq ($(strip $(CLA_DEPS)),)
+-include $(CLA_DEPS)
+endif
+ifneq ($(strip $(S55_DEPS)),)
+-include $(S55_DEPS)
+endif
+ifneq ($(strip $(SV7A_DEPS)),)
+-include $(SV7A_DEPS)
+endif
+ifneq ($(strip $(C62_DEPS)),)
+-include $(C62_DEPS)
+endif
+ifneq ($(strip $(C67_DEPS)),)
+-include $(C67_DEPS)
+endif
+ifneq ($(strip $(PDE_DEPS)),)
+-include $(PDE_DEPS)
+endif
+ifneq ($(strip $(K_DEPS)),)
+-include $(K_DEPS)
+endif
+ifneq ($(strip $(C_DEPS)),)
+-include $(C_DEPS)
+endif
+ifneq ($(strip $(CC_DEPS)),)
+-include $(CC_DEPS)
+endif
+ifneq ($(strip $(C++_DEPS)),)
+-include $(C++_DEPS)
+endif
+ifneq ($(strip $(C43_DEPS)),)
+-include $(C43_DEPS)
+endif
+ifneq ($(strip $(S43_DEPS)),)
+-include $(S43_DEPS)
+endif
+ifneq ($(strip $(ASM_DEPS)),)
+-include $(ASM_DEPS)
+endif
+ifneq ($(strip $(S_UPPER_DEPS)),)
+-include $(S_UPPER_DEPS)
+endif
+ifneq ($(strip $(CPP_DEPS)),)
+-include $(CPP_DEPS)
+endif
+ifneq ($(strip $(SA_DEPS)),)
+-include $(SA_DEPS)
+endif
+endif
+
+-include ../makefile.defs
+
+# Add inputs and outputs from these tool invocations to the build variables 
+EXE_OUTPUTS += \
+I2C_target_ADC.out 
+
+EXE_OUTPUTS__QUOTED += \
+"I2C_target_ADC.out" 
+
+
+# All Target
+all: $(OBJS) $(GEN_CMDS)
+	@$(MAKE) --no-print-directory -Onone "I2C_target_ADC.out"
+
+# Tool invocations
+I2C_target_ADC.out: $(OBJS) $(GEN_CMDS)
+	@echo 'Building target: "$@"'
+	@echo 'Invoking: Arm Linker'
+	"/home/ngosh/ti/ccstheia151/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/bin/tiarmclang" @"device.opt"  -march=thumbv6m -mcpu=cortex-m0plus -mfloat-abi=soft -mlittle-endian -mthumb -O2 -gdwarf-3 -Wl,-m"I2C_target_ADC.map" -Wl,-i"/home/ngosh/ti/mspm0_sdk_2_03_00_07/source" -Wl,-i"/home/ngosh/workspace_ccstheia/I2C_target_ADC" -Wl,-i"/home/ngosh/workspace_ccstheia/I2C_target_ADC/Debug/syscfg" -Wl,-i"/home/ngosh/ti/ccstheia151/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/lib" -Wl,--diag_wrap=off -Wl,--display_error_number -Wl,--warn_sections -Wl,--xml_link_info="I2C_target_ADC_linkInfo.xml" -Wl,--rom_model -o "I2C_target_ADC.out" $(ORDERED_OBJS)
+	@echo 'Finished building target: "$@"'
+	@echo ' '
+
+# Other Targets
+clean:
+	-$(RM) $(GEN_MISC_FILES__QUOTED)$(GEN_FILES__QUOTED)$(EXE_OUTPUTS__QUOTED)
+	-$(RM) "i2c_controller.o" "ti_msp_dl_config.o" "startup_mspm0g350x_ticlang.o" "ti/comm_modules/i2c/controller/i2c_comm_controller.o" 
+	-$(RM) "i2c_controller.d" "ti_msp_dl_config.d" "startup_mspm0g350x_ticlang.d" "ti/comm_modules/i2c/controller/i2c_comm_controller.d" 
+	-@echo 'Finished clean'
+	-@echo ' '
+
+.PHONY: all clean dependents
+.SECONDARY:
+
+-include ../makefile.targets
+

+ 8 - 0
Debug/objects.mk

@@ -0,0 +1,8 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+################################################################################
+
+USER_OBJS :=
+
+LIBS := -Wl,-ldevice.cmd.genlibs -Wl,-llibc.a
+

+ 129 - 0
Debug/sources.mk

@@ -0,0 +1,129 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+################################################################################
+
+C55_SRCS := 
+A_SRCS := 
+ASM_UPPER_SRCS := 
+PINMUX_SRCS := 
+EXE_SRCS := 
+LDS_UPPER_SRCS := 
+CPP_SRCS := 
+CMD_SRCS := 
+O_SRCS := 
+ELF_SRCS := 
+C??_SRCS := 
+C64_SRCS := 
+C67_SRCS := 
+SA_SRCS := 
+S64_SRCS := 
+OPT_SRCS := 
+CXX_SRCS := 
+S67_SRCS := 
+S??_SRCS := 
+PDE_SRCS := 
+SV7A_SRCS := 
+SYSCFG_SRCS := 
+K_SRCS := 
+CLA_SRCS := 
+S55_SRCS := 
+LD_UPPER_SRCS := 
+OUT_SRCS := 
+INO_SRCS := 
+LIB_SRCS := 
+ASM_SRCS := 
+S_UPPER_SRCS := 
+SYSCONFIG_SRCS := 
+S43_SRCS := 
+LD_SRCS := 
+CMD_UPPER_SRCS := 
+C_UPPER_SRCS := 
+C++_SRCS := 
+C43_SRCS := 
+OBJ_SRCS := 
+LDS_SRCS := 
+S_SRCS := 
+CC_SRCS := 
+S62_SRCS := 
+C62_SRCS := 
+C_SRCS := 
+C55_DEPS := 
+C_UPPER_DEPS := 
+S67_DEPS := 
+S62_DEPS := 
+S_DEPS := 
+OPT_DEPS := 
+C??_DEPS := 
+ASM_UPPER_DEPS := 
+S??_DEPS := 
+C64_DEPS := 
+CXX_DEPS := 
+S64_DEPS := 
+INO_DEPS := 
+GEN_CMDS := 
+GEN_FILES := 
+CLA_DEPS := 
+S55_DEPS := 
+SV7A_DEPS := 
+EXE_OUTPUTS := 
+C62_DEPS := 
+C67_DEPS := 
+PDE_DEPS := 
+GEN_MISC_DIRS := 
+K_DEPS := 
+C_DEPS := 
+CC_DEPS := 
+BIN_OUTPUTS := 
+GEN_OPTS := 
+C++_DEPS := 
+C43_DEPS := 
+S43_DEPS := 
+OBJS := 
+ASM_DEPS := 
+GEN_MISC_FILES := 
+S_UPPER_DEPS := 
+CPP_DEPS := 
+SA_DEPS := 
+C++_DEPS__QUOTED := 
+OPT_DEPS__QUOTED := 
+SA_DEPS__QUOTED := 
+S_UPPER_DEPS__QUOTED := 
+C??_DEPS__QUOTED := 
+S67_DEPS__QUOTED := 
+GEN_MISC_DIRS__QUOTED := 
+C55_DEPS__QUOTED := 
+CC_DEPS__QUOTED := 
+ASM_UPPER_DEPS__QUOTED := 
+SV7A_DEPS__QUOTED := 
+S??_DEPS__QUOTED := 
+OBJS__QUOTED := 
+C67_DEPS__QUOTED := 
+K_DEPS__QUOTED := 
+S55_DEPS__QUOTED := 
+GEN_CMDS__QUOTED := 
+GEN_MISC_FILES__QUOTED := 
+INO_DEPS__QUOTED := 
+C62_DEPS__QUOTED := 
+C_DEPS__QUOTED := 
+C_UPPER_DEPS__QUOTED := 
+C43_DEPS__QUOTED := 
+CPP_DEPS__QUOTED := 
+BIN_OUTPUTS__QUOTED := 
+GEN_FILES__QUOTED := 
+C64_DEPS__QUOTED := 
+CXX_DEPS__QUOTED := 
+CLA_DEPS__QUOTED := 
+S_DEPS__QUOTED := 
+ASM_DEPS__QUOTED := 
+S43_DEPS__QUOTED := 
+EXE_OUTPUTS__QUOTED := 
+S64_DEPS__QUOTED := 
+S62_DEPS__QUOTED := 
+PDE_DEPS__QUOTED := 
+GEN_OPTS__QUOTED := 
+
+# Every subdirectory with source files must be described here
+SUBDIRS := \
+. \
+ti/comm_modules/i2c/controller \
+

+ 64 - 0
Debug/startup_mspm0g350x_ticlang.d

@@ -0,0 +1,64 @@
+# FIXED
+
+startup_mspm0g350x_ticlang.o: \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/m0p/startup_system_files/ticlang/startup_mspm0g350x_ticlang.c \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/msp.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/DeviceFamily.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/m0p/mspm0g350x.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/third_party/CMSIS/Core/Include/core_cm0plus.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_adc12.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_aes.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_comp.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_crc.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_dac12.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_dma.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_flashctl.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_gpio.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_gptimer.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_i2c.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_iomux.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_mathacl.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_mcan.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_oa.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_rtc.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_spi.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_trng.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_uart.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_vref.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_wuc.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_wwdt.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/hw_factoryregion.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/hw_cpuss.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/hw_debugss.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/hw_sysctl.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/sysctl/hw_sysctl_mspm0g1x0x_g3x0x.h
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/msp.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/DeviceFamily.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/m0p/mspm0g350x.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/third_party/CMSIS/Core/Include/core_cm0plus.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_adc12.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_aes.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_comp.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_crc.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_dac12.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_dma.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_flashctl.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_gpio.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_gptimer.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_i2c.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_iomux.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_mathacl.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_mcan.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_oa.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_rtc.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_spi.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_trng.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_uart.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_vref.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_wuc.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_wwdt.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/hw_factoryregion.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/hw_cpuss.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/hw_debugss.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/hw_sysctl.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/sysctl/hw_sysctl_mspm0g1x0x_g3x0x.h:

BIN
Debug/startup_mspm0g350x_ticlang.o


+ 40 - 0
Debug/subdir_rules.mk

@@ -0,0 +1,40 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+################################################################################
+
+# Each subdirectory must supply rules for building sources it contributes
+%.o: ../%.c $(GEN_OPTS) | $(GEN_FILES) $(GEN_MISC_FILES)
+	@echo 'Building file: "$<"'
+	@echo 'Invoking: Arm Compiler'
+	"/home/ngosh/ti/ccstheia151/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/bin/tiarmclang" -c @"device.opt"  -march=thumbv6m -mcpu=cortex-m0plus -mfloat-abi=soft -mlittle-endian -mthumb -O2 -I"/home/ngosh/workspace_ccstheia/I2C_target_ADC" -I"/home/ngosh/workspace_ccstheia/I2C_target_ADC/Debug" -I"/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/third_party/CMSIS/Core/Include" -I"/home/ngosh/ti/mspm0_sdk_2_03_00_07/source" -gdwarf-3 -MMD -MP -MF"$(basename $(<F)).d_raw" -MT"$(@)"  $(GEN_OPTS__FLAG) -o"$@" "$(shell echo $<)"
+	@echo 'Finished building: "$<"'
+	@echo ' '
+
+build-1273821697: ../i2c_controller.syscfg
+	@echo 'Building file: "$<"'
+	@echo 'Invoking: SysConfig'
+	"/home/ngosh/ti/sysconfig_1.22.0/sysconfig_cli.sh" --script "/home/ngosh/workspace_ccstheia/I2C_target_ADC/i2c_controller.syscfg" -o "." -s "/home/ngosh/ti/mspm0_sdk_2_03_00_07/.metadata/product.json" --compiler ticlang
+	@echo 'Finished building: "$<"'
+	@echo ' '
+
+device_linker.cmd: build-1273821697 ../i2c_controller.syscfg
+device.opt: build-1273821697
+device.cmd.genlibs: build-1273821697
+ti_msp_dl_config.c: build-1273821697
+ti_msp_dl_config.h: build-1273821697
+
+%.o: ./%.c $(GEN_OPTS) | $(GEN_FILES) $(GEN_MISC_FILES)
+	@echo 'Building file: "$<"'
+	@echo 'Invoking: Arm Compiler'
+	"/home/ngosh/ti/ccstheia151/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/bin/tiarmclang" -c @"device.opt"  -march=thumbv6m -mcpu=cortex-m0plus -mfloat-abi=soft -mlittle-endian -mthumb -O2 -I"/home/ngosh/workspace_ccstheia/I2C_target_ADC" -I"/home/ngosh/workspace_ccstheia/I2C_target_ADC/Debug" -I"/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/third_party/CMSIS/Core/Include" -I"/home/ngosh/ti/mspm0_sdk_2_03_00_07/source" -gdwarf-3 -MMD -MP -MF"$(basename $(<F)).d_raw" -MT"$(@)"  $(GEN_OPTS__FLAG) -o"$@" "$(shell echo $<)"
+	@echo 'Finished building: "$<"'
+	@echo ' '
+
+startup_mspm0g350x_ticlang.o: /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/m0p/startup_system_files/ticlang/startup_mspm0g350x_ticlang.c $(GEN_OPTS) | $(GEN_FILES) $(GEN_MISC_FILES)
+	@echo 'Building file: "$<"'
+	@echo 'Invoking: Arm Compiler'
+	"/home/ngosh/ti/ccstheia151/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/bin/tiarmclang" -c @"device.opt"  -march=thumbv6m -mcpu=cortex-m0plus -mfloat-abi=soft -mlittle-endian -mthumb -O2 -I"/home/ngosh/workspace_ccstheia/I2C_target_ADC" -I"/home/ngosh/workspace_ccstheia/I2C_target_ADC/Debug" -I"/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/third_party/CMSIS/Core/Include" -I"/home/ngosh/ti/mspm0_sdk_2_03_00_07/source" -gdwarf-3 -MMD -MP -MF"$(basename $(<F)).d_raw" -MT"$(@)"  $(GEN_OPTS__FLAG) -o"$@" "$(shell echo $<)"
+	@echo 'Finished building: "$<"'
+	@echo ' '
+
+

+ 66 - 0
Debug/subdir_vars.mk

@@ -0,0 +1,66 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+################################################################################
+
+# Add inputs and outputs from these tool invocations to the build variables 
+SYSCFG_SRCS += \
+../i2c_controller.syscfg 
+
+C_SRCS += \
+../i2c_controller.c \
+./ti_msp_dl_config.c \
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/m0p/startup_system_files/ticlang/startup_mspm0g350x_ticlang.c 
+
+GEN_CMDS += \
+./device_linker.cmd 
+
+GEN_FILES += \
+./device_linker.cmd \
+./device.opt \
+./ti_msp_dl_config.c 
+
+C_DEPS += \
+./i2c_controller.d \
+./ti_msp_dl_config.d \
+./startup_mspm0g350x_ticlang.d 
+
+GEN_OPTS += \
+./device.opt 
+
+OBJS += \
+./i2c_controller.o \
+./ti_msp_dl_config.o \
+./startup_mspm0g350x_ticlang.o 
+
+GEN_MISC_FILES += \
+./device.cmd.genlibs \
+./ti_msp_dl_config.h 
+
+OBJS__QUOTED += \
+"i2c_controller.o" \
+"ti_msp_dl_config.o" \
+"startup_mspm0g350x_ticlang.o" 
+
+GEN_MISC_FILES__QUOTED += \
+"device.cmd.genlibs" \
+"ti_msp_dl_config.h" 
+
+C_DEPS__QUOTED += \
+"i2c_controller.d" \
+"ti_msp_dl_config.d" \
+"startup_mspm0g350x_ticlang.d" 
+
+GEN_FILES__QUOTED += \
+"device_linker.cmd" \
+"device.opt" \
+"ti_msp_dl_config.c" 
+
+C_SRCS__QUOTED += \
+"../i2c_controller.c" \
+"./ti_msp_dl_config.c" \
+"/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/m0p/startup_system_files/ticlang/startup_mspm0g350x_ticlang.c" 
+
+SYSCFG_SRCS__QUOTED += \
+"../i2c_controller.syscfg" 
+
+

+ 154 - 0
Debug/ti/comm_modules/i2c/controller/i2c_comm_controller.d

@@ -0,0 +1,154 @@
+# FIXED
+
+ti/comm_modules/i2c/controller/i2c_comm_controller.o: \
+ ../ti/comm_modules/i2c/controller/i2c_comm_controller.c \
+ ../ti/comm_modules/i2c/controller/i2c_comm_controller.h \
+ ti_msp_dl_config.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/msp.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/DeviceFamily.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/m0p/mspm0g350x.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/third_party/CMSIS/Core/Include/core_cm0plus.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_adc12.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_aes.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_comp.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_crc.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_dac12.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_dma.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_flashctl.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_gpio.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_gptimer.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_i2c.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_iomux.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_mathacl.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_mcan.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_oa.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_rtc.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_spi.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_trng.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_uart.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_vref.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_wuc.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_wwdt.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/hw_factoryregion.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/hw_cpuss.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/hw_debugss.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/hw_sysctl.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/sysctl/hw_sysctl_mspm0g1x0x_g3x0x.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/driverlib.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_adc12.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_common.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/m0p/dl_factoryregion.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/m0p/dl_core.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_aes.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_aesadv.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_comp.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_crc.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_crcp.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_dac12.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_dma.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_flashctl.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/m0p/dl_sysctl.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/m0p/sysctl/dl_sysctl_mspm0g1x0x_g3x0x.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_gpamp.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_gpio.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_i2c.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_iwdt.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_lfss.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_keystorectl.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_lcd.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_mathacl.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_mcan.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_opa.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_rtc.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_rtc_common.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_rtc_a.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_rtc_b.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_scratchpad.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_spi.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_tamperio.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_timera.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_timer.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_timerg.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_trng.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_uart_extend.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_uart.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_uart_main.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_vref.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_wwdt.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/m0p/dl_interrupt.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/m0p/dl_systick.h
+../ti/comm_modules/i2c/controller/i2c_comm_controller.h:
+ti_msp_dl_config.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/msp.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/DeviceFamily.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/m0p/mspm0g350x.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/third_party/CMSIS/Core/Include/core_cm0plus.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_adc12.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_aes.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_comp.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_crc.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_dac12.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_dma.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_flashctl.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_gpio.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_gptimer.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_i2c.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_iomux.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_mathacl.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_mcan.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_oa.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_rtc.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_spi.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_trng.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_uart.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_vref.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_wuc.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_wwdt.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/hw_factoryregion.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/hw_cpuss.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/hw_debugss.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/hw_sysctl.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/sysctl/hw_sysctl_mspm0g1x0x_g3x0x.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/driverlib.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_adc12.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_common.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/m0p/dl_factoryregion.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/m0p/dl_core.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_aes.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_aesadv.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_comp.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_crc.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_crcp.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_dac12.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_dma.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_flashctl.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/m0p/dl_sysctl.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/m0p/sysctl/dl_sysctl_mspm0g1x0x_g3x0x.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_gpamp.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_gpio.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_i2c.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_iwdt.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_lfss.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_keystorectl.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_lcd.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_mathacl.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_mcan.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_opa.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_rtc.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_rtc_common.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_rtc_a.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_rtc_b.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_scratchpad.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_spi.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_tamperio.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_timera.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_timer.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_timerg.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_trng.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_uart_extend.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_uart.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_uart_main.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_vref.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_wwdt.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/m0p/dl_interrupt.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/m0p/dl_systick.h:

BIN
Debug/ti/comm_modules/i2c/controller/i2c_comm_controller.o


+ 13 - 0
Debug/ti/comm_modules/i2c/controller/subdir_rules.mk

@@ -0,0 +1,13 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+################################################################################
+
+# Each subdirectory must supply rules for building sources it contributes
+ti/comm_modules/i2c/controller/%.o: ../ti/comm_modules/i2c/controller/%.c $(GEN_OPTS) | $(GEN_FILES) $(GEN_MISC_FILES)
+	@echo 'Building file: "$<"'
+	@echo 'Invoking: Arm Compiler'
+	"/home/ngosh/ti/ccstheia151/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/bin/tiarmclang" -c @"device.opt"  -march=thumbv6m -mcpu=cortex-m0plus -mfloat-abi=soft -mlittle-endian -mthumb -O2 -I"/home/ngosh/workspace_ccstheia/I2C_target_ADC" -I"/home/ngosh/workspace_ccstheia/I2C_target_ADC/Debug" -I"/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/third_party/CMSIS/Core/Include" -I"/home/ngosh/ti/mspm0_sdk_2_03_00_07/source" -gdwarf-3 -MMD -MP -MF"ti/comm_modules/i2c/controller/$(basename $(<F)).d_raw" -MT"$(@)"  $(GEN_OPTS__FLAG) -o"$@" "$(shell echo $<)"
+	@echo 'Finished building: "$<"'
+	@echo ' '
+
+

+ 24 - 0
Debug/ti/comm_modules/i2c/controller/subdir_vars.mk

@@ -0,0 +1,24 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+################################################################################
+
+# Add inputs and outputs from these tool invocations to the build variables 
+C_SRCS += \
+../ti/comm_modules/i2c/controller/i2c_comm_controller.c 
+
+C_DEPS += \
+./ti/comm_modules/i2c/controller/i2c_comm_controller.d 
+
+OBJS += \
+./ti/comm_modules/i2c/controller/i2c_comm_controller.o 
+
+OBJS__QUOTED += \
+"ti/comm_modules/i2c/controller/i2c_comm_controller.o" 
+
+C_DEPS__QUOTED += \
+"ti/comm_modules/i2c/controller/i2c_comm_controller.d" 
+
+C_SRCS__QUOTED += \
+"../ti/comm_modules/i2c/controller/i2c_comm_controller.c" 
+
+

+ 146 - 0
Debug/ti_msp_dl_config.c

@@ -0,0 +1,146 @@
+/*
+ * Copyright (c) 2023, Texas Instruments Incorporated
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * *  Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ * *  Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * *  Neither the name of Texas Instruments Incorporated nor the names of
+ *    its contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ *  ============ ti_msp_dl_config.c =============
+ *  Configured MSPM0 DriverLib module definitions
+ *
+ *  DO NOT EDIT - This file is generated for the MSPM0G350X
+ *  by the SysConfig tool.
+ */
+
+#include "ti_msp_dl_config.h"
+
+/*
+ *  ======== SYSCFG_DL_init ========
+ *  Perform any initialization needed before using any board APIs
+ */
+SYSCONFIG_WEAK void SYSCFG_DL_init(void)
+{
+    SYSCFG_DL_initPower();
+    SYSCFG_DL_GPIO_init();
+    /* Module-Specific Initializations*/
+    SYSCFG_DL_SYSCTL_init();
+    SYSCFG_DL_I2C_init();
+    SYSCFG_DL_CRC_init();
+}
+
+SYSCONFIG_WEAK void SYSCFG_DL_initPower(void)
+{
+    DL_GPIO_reset(GPIOA);
+    DL_GPIO_reset(GPIOB);
+    DL_I2C_reset(I2C_INST);
+    DL_CRC_reset(CRC);
+
+    DL_GPIO_enablePower(GPIOA);
+    DL_GPIO_enablePower(GPIOB);
+    DL_I2C_enablePower(I2C_INST);
+    DL_CRC_enablePower(CRC);
+    delay_cycles(POWER_STARTUP_DELAY);
+}
+
+SYSCONFIG_WEAK void SYSCFG_DL_GPIO_init(void)
+{
+
+    
+	DL_GPIO_initPeripheralInputFunctionFeatures(
+		 GPIO_I2C_IOMUX_SDA, GPIO_I2C_IOMUX_SDA_FUNC,
+		 DL_GPIO_INVERSION_DISABLE, DL_GPIO_RESISTOR_PULL_UP,
+		 DL_GPIO_HYSTERESIS_DISABLE, DL_GPIO_WAKEUP_DISABLE);
+	DL_GPIO_initPeripheralInputFunctionFeatures(
+		 GPIO_I2C_IOMUX_SCL, GPIO_I2C_IOMUX_SCL_FUNC,
+		 DL_GPIO_INVERSION_DISABLE, DL_GPIO_RESISTOR_PULL_UP,
+		 DL_GPIO_HYSTERESIS_DISABLE, DL_GPIO_WAKEUP_DISABLE);
+    DL_GPIO_enableHiZ(GPIO_I2C_IOMUX_SDA);
+    DL_GPIO_enableHiZ(GPIO_I2C_IOMUX_SCL);
+
+}
+
+
+
+SYSCONFIG_WEAK void SYSCFG_DL_SYSCTL_init(void)
+{
+
+	//Low Power Mode is configured to be SLEEP0
+    DL_SYSCTL_setBORThreshold(DL_SYSCTL_BOR_THRESHOLD_LEVEL_0);
+
+    
+	DL_SYSCTL_setSYSOSCFreq(DL_SYSCTL_SYSOSC_FREQ_BASE);
+	/* Set default configuration */
+	DL_SYSCTL_disableHFXT();
+	DL_SYSCTL_disableSYSPLL();
+
+}
+
+
+static const DL_I2C_ClockConfig gI2CClockConfig = {
+    .clockSel = DL_I2C_CLOCK_BUSCLK,
+    .divideRatio = DL_I2C_CLOCK_DIVIDE_1,
+};
+
+SYSCONFIG_WEAK void SYSCFG_DL_I2C_init(void) {
+
+    DL_I2C_setClockConfig(I2C_INST,
+        (DL_I2C_ClockConfig *) &gI2CClockConfig);
+    DL_I2C_disableAnalogGlitchFilter(I2C_INST);
+
+    /* Configure Controller Mode */
+    DL_I2C_resetControllerTransfer(I2C_INST);
+    /* Set frequency to 100000 Hz*/
+    DL_I2C_setTimerPeriod(I2C_INST, 31);
+    DL_I2C_setControllerTXFIFOThreshold(I2C_INST, DL_I2C_TX_FIFO_LEVEL_BYTES_1);
+    DL_I2C_setControllerRXFIFOThreshold(I2C_INST, DL_I2C_RX_FIFO_LEVEL_BYTES_1);
+    DL_I2C_enableControllerClockStretching(I2C_INST);
+
+    /* Configure Interrupts */
+    DL_I2C_enableInterrupt(I2C_INST,
+                           DL_I2C_INTERRUPT_CONTROLLER_ARBITRATION_LOST |
+                           DL_I2C_INTERRUPT_CONTROLLER_NACK |
+                           DL_I2C_INTERRUPT_CONTROLLER_RXFIFO_TRIGGER |
+                           DL_I2C_INTERRUPT_CONTROLLER_RX_DONE |
+                           DL_I2C_INTERRUPT_CONTROLLER_TX_DONE);
+
+
+    /* Enable module */
+    DL_I2C_enableController(I2C_INST);
+
+
+}
+
+SYSCONFIG_WEAK void SYSCFG_DL_CRC_init(void)
+{
+    DL_CRC_init(CRC, DL_CRC_16_POLYNOMIAL, DL_CRC_BIT_NOT_REVERSED,
+        DL_CRC_INPUT_ENDIANESS_LITTLE_ENDIAN, DL_CRC_OUTPUT_BYTESWAP_DISABLED);
+
+    DL_CRC_setSeed16(CRC, CRC_SEED);
+}
+

+ 150 - 0
Debug/ti_msp_dl_config.d

@@ -0,0 +1,150 @@
+# FIXED
+
+ti_msp_dl_config.o: ti_msp_dl_config.c ti_msp_dl_config.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/msp.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/DeviceFamily.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/m0p/mspm0g350x.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/third_party/CMSIS/Core/Include/core_cm0plus.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_adc12.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_aes.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_comp.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_crc.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_dac12.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_dma.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_flashctl.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_gpio.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_gptimer.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_i2c.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_iomux.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_mathacl.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_mcan.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_oa.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_rtc.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_spi.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_trng.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_uart.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_vref.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_wuc.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_wwdt.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/hw_factoryregion.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/hw_cpuss.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/hw_debugss.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/hw_sysctl.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/sysctl/hw_sysctl_mspm0g1x0x_g3x0x.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/driverlib.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_adc12.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_common.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/m0p/dl_factoryregion.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/m0p/dl_core.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_aes.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_aesadv.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_comp.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_crc.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_crcp.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_dac12.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_dma.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_flashctl.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/m0p/dl_sysctl.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/m0p/sysctl/dl_sysctl_mspm0g1x0x_g3x0x.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_gpamp.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_gpio.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_i2c.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_iwdt.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_lfss.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_keystorectl.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_lcd.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_mathacl.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_mcan.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_opa.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_rtc.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_rtc_common.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_rtc_a.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_rtc_b.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_scratchpad.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_spi.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_tamperio.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_timera.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_timer.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_timerg.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_trng.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_uart_extend.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_uart.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_uart_main.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_vref.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_wwdt.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/m0p/dl_interrupt.h \
+ /home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/m0p/dl_systick.h
+ti_msp_dl_config.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/msp.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/DeviceFamily.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/m0p/mspm0g350x.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/third_party/CMSIS/Core/Include/core_cm0plus.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_adc12.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_aes.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_comp.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_crc.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_dac12.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_dma.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_flashctl.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_gpio.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_gptimer.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_i2c.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_iomux.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_mathacl.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_mcan.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_oa.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_rtc.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_spi.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_trng.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_uart.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_vref.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_wuc.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/hw_wwdt.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/hw_factoryregion.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/hw_cpuss.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/hw_debugss.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/hw_sysctl.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/devices/msp/peripherals/m0p/sysctl/hw_sysctl_mspm0g1x0x_g3x0x.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/driverlib.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_adc12.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_common.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/m0p/dl_factoryregion.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/m0p/dl_core.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_aes.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_aesadv.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_comp.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_crc.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_crcp.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_dac12.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_dma.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_flashctl.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/m0p/dl_sysctl.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/m0p/sysctl/dl_sysctl_mspm0g1x0x_g3x0x.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_gpamp.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_gpio.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_i2c.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_iwdt.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_lfss.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_keystorectl.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_lcd.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_mathacl.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_mcan.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_opa.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_rtc.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_rtc_common.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_rtc_a.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_rtc_b.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_scratchpad.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_spi.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_tamperio.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_timera.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_timer.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_timerg.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_trng.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_uart_extend.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_uart.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_uart_main.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_vref.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/dl_wwdt.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/m0p/dl_interrupt.h:
+/home/ngosh/ti/mspm0_sdk_2_03_00_07/source/ti/driverlib/m0p/dl_systick.h:

+ 114 - 0
Debug/ti_msp_dl_config.h

@@ -0,0 +1,114 @@
+/*
+ * Copyright (c) 2023, Texas Instruments Incorporated - http://www.ti.com
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * *  Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ * *  Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * *  Neither the name of Texas Instruments Incorporated nor the names of
+ *    its contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ *  ============ ti_msp_dl_config.h =============
+ *  Configured MSPM0 DriverLib module declarations
+ *
+ *  DO NOT EDIT - This file is generated for the MSPM0G350X
+ *  by the SysConfig tool.
+ */
+#ifndef ti_msp_dl_config_h
+#define ti_msp_dl_config_h
+
+#define CONFIG_MSPM0G350X
+#define CONFIG_MSPM0G3507
+
+#if defined(__ti_version__) || defined(__TI_COMPILER_VERSION__)
+#define SYSCONFIG_WEAK __attribute__((weak))
+#elif defined(__IAR_SYSTEMS_ICC__)
+#define SYSCONFIG_WEAK __weak
+#elif defined(__GNUC__)
+#define SYSCONFIG_WEAK __attribute__((weak))
+#endif
+
+#include <ti/devices/msp/msp.h>
+#include <ti/driverlib/driverlib.h>
+#include <ti/driverlib/m0p/dl_core.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ *  ======== SYSCFG_DL_init ========
+ *  Perform all required MSP DL initialization
+ *
+ *  This function should be called once at a point before any use of
+ *  MSP DL.
+ */
+
+
+/* clang-format off */
+
+#define POWER_STARTUP_DELAY                                                (16)
+
+
+
+#define CPUCLK_FREQ                                                     32000000
+
+
+
+
+/* Defines for I2C */
+#define I2C_INST                                                            I2C1
+#define I2C_INST_IRQHandler                                      I2C1_IRQHandler
+#define I2C_INST_INT_IRQN                                          I2C1_INT_IRQn
+#define I2C_BUS_SPEED_HZ                                                  100000
+#define GPIO_I2C_SDA_PORT                                                  GPIOB
+#define GPIO_I2C_SDA_PIN                                           DL_GPIO_PIN_3
+#define GPIO_I2C_IOMUX_SDA                                       (IOMUX_PINCM16)
+#define GPIO_I2C_IOMUX_SDA_FUNC                        IOMUX_PINCM16_PF_I2C1_SDA
+#define GPIO_I2C_SCL_PORT                                                  GPIOB
+#define GPIO_I2C_SCL_PIN                                           DL_GPIO_PIN_2
+#define GPIO_I2C_IOMUX_SCL                                       (IOMUX_PINCM15)
+#define GPIO_I2C_IOMUX_SCL_FUNC                        IOMUX_PINCM15_PF_I2C1_SCL
+
+
+/* Defines for CRC */
+#define CRC_SEED                                                        (0xFFFF)
+
+/* clang-format on */
+
+void SYSCFG_DL_init(void);
+void SYSCFG_DL_initPower(void);
+void SYSCFG_DL_GPIO_init(void);
+void SYSCFG_DL_SYSCTL_init(void);
+void SYSCFG_DL_I2C_init(void);
+void SYSCFG_DL_CRC_init(void);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ti_msp_dl_config_h */

BIN
Debug/ti_msp_dl_config.o


A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 8 - 0
README.html


+ 46 - 0
README.md

@@ -0,0 +1,46 @@
+## Example Summary
+
+This example implements an I2C Controller using the MSP Communication modules - I2C. This example demonstrates sending commands to an I2C Target to read from or write to its memory address and shows the response.
+
+
+## Peripherals & Pin Assignments
+
+| Peripheral | Pin | Function |
+| --- | --- | --- |
+| SYSCTL |  |  |
+| I2C0 | PA0 | I2C Serial Data line (SDA) |
+| I2C0 | PA1 | I2C Serial Clock line (SCL) |
+| CRC |  |  |
+| DEBUGSS | PA20 | Debug Clock |
+| DEBUGSS | PA19 | Debug Data In Out |
+
+## BoosterPacks, Board Resources & Jumper Settings
+
+Visit [LP_MSPM0G3507](https://www.ti.com/tool/LP-MSPM0G3507) for LaunchPad information, including user guide and hardware files.
+
+| Pin | Peripheral | Function | LaunchPad Pin | LaunchPad Settings |
+| --- | --- | --- | --- | --- |
+| PA0 | I2C0 | SDA | J19_2 | <ul><li>PA0 can be connected to an on-board pull-up resistor<br><ul><li>`J19 1:2 ON` Connect to 3.3V Pullup<br></ul></ul> |
+| PA1 | I2C0 | SCL | J20_2 | <ul><li>PA1 can be connected to an on-board pull-up resistor<br><ul><li>`J20 1:2 ON` Connect to 3.3V Pullup<br></ul></ul> |
+| PA20 | DEBUGSS | SWCLK | N/A | <ul><li>PA20 is used by SWD during debugging<br><ul><li>`J101 15:16 ON` Connect to XDS-110 SWCLK while debugging<br><li>`J101 15:16 OFF` Disconnect from XDS-110 SWCLK if using pin in application</ul></ul> |
+| PA19 | DEBUGSS | SWDIO | N/A | <ul><li>PA19 is used by SWD during debugging<br><ul><li>`J101 13:14 ON` Connect to XDS-110 SWDIO while debugging<br><li>`J101 13:14 OFF` Disconnect from XDS-110 SWDIO if using pin in application</ul></ul> |
+
+### Device Migration Recommendations
+This project was developed for a superset device included in the LP_MSPM0G3507 LaunchPad. Please
+visit the [CCS User's Guide](https://software-dl.ti.com/msp430/esd/MSPM0-SDK/latest/docs/english/tools/ccs_ide_guide/doc_guide/doc_guide-srcs/ccs_ide_guide.html#sysconfig-project-migration)
+for information about migrating to other MSPM0 devices.
+
+### Low-Power Recommendations
+TI recommends to terminate unused pins by setting the corresponding functions to
+GPIO and configure the pins to output low or input with internal
+pullup/pulldown resistor.
+
+SysConfig allows developers to easily configure unused pins by selecting **Board**→**Configure Unused Pins**.
+
+For more information about jumper configuration to achieve low-power using the
+MSPM0 LaunchPad, please visit the [LP-MSPM0G3507 User's Guide](https://www.ti.com/lit/slau873).
+
+## Example Usage
+Connect SDA and SCL of I2C Controller to SDA and SCL of I2C Target respectively. Compile, load and run the example.
+
+Please refer to MSPM0 Communication Modules - I2C User Guide for more details.

+ 136 - 0
i2c_controller.c

@@ -0,0 +1,136 @@
+/*
+ * Copyright (c) 2024, Texas Instruments Incorporated
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * *  Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ * *  Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * *  Neither the name of Texas Instruments Incorporated nor the names of
+ *    its contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+
+#include "ti_msp_dl_config.h"
+#include "ti/comm_modules/i2c/controller/i2c_comm_controller.h"
+
+I2C_Instance gI2C;
+
+volatile I2C_CommandInfo gCommand;
+
+I2C_ResponseInfo gResponse;
+
+volatile bool gSendCommand = true;
+
+/* Data to send to target */
+uint8_t gTxData[MAX_DATA_SIZE] = {0xAA,0xBB,0xCC,0xDD,0xEE,0xFF, \
+                                  0x00,0x11,0x22,0x33,0x44,0x55, \
+                                  0x66,0x77,0x88,0x99,0x12,0x23, \
+                                  0x34,0x45,0x56,0x67,0x78,0x89};
+
+int main(void)
+{
+    SYSCFG_DL_init();
+
+    NVIC_EnableIRQ(I2C_INST_INT_IRQN);
+
+    I2C_init(&gI2C);
+
+    /* Default CommandInfo Object */
+    I2C_CommandInfo CommandInfo_Obj;
+
+    CommandInfo_Obj.targetAddr = DEF_TARGET_ADDR;
+    CommandInfo_Obj.commandType = 0x18;
+    CommandInfo_Obj.addr = 0x20207C00;
+    CommandInfo_Obj.dataArray = &gTxData[0];
+    CommandInfo_Obj.dataSize = 0;
+    CommandInfo_Obj.crcEnable = false;
+
+    gCommand = CommandInfo_Obj;
+
+    while(1)
+    {
+        if(gSendCommand == true)
+        {
+            /* Frames a command packet and sends it to Target through I2C Write Command */
+            I2C_sendCommand(&gI2C, (I2C_CommandInfo *) &gCommand);
+
+            gI2C.status = I2C_STATUS_RX_STARTED;
+            gI2C.rxMsg.ptr = 0;
+            gI2C.dataLen = 4;
+
+            /* Issues I2C Read Command to get the response from Target */
+            I2C_getResponse(&gI2C,gCommand.targetAddr);
+
+            gSendCommand = false;
+        }
+    }
+}
+
+void I2C_INST_IRQHandler(void)
+{
+    switch (DL_I2C_getPendingInterrupt(I2C_INST)) 
+    {
+        case DL_I2C_IIDX_CONTROLLER_RX_DONE:
+            gI2C.rxMsg.len = gI2C.rxMsg.ptr;
+            I2C_decodeResponse(&gI2C,&gResponse);
+            gI2C.status = I2C_STATUS_RX_COMPLETE;
+            break;
+
+        case DL_I2C_IIDX_CONTROLLER_TX_DONE:
+            DL_I2C_disableInterrupt(
+                I2C_INST, DL_I2C_INTERRUPT_CONTROLLER_TXFIFO_TRIGGER);
+            gI2C.status = I2C_STATUS_TX_COMPLETE;
+            break;
+
+        case DL_I2C_IIDX_CONTROLLER_RXFIFO_TRIGGER:
+            gI2C.status = I2C_STATUS_RX_INPROGRESS;
+            /* Store bytes received from target in Rx Msg Buffer */
+            while (DL_I2C_isControllerRXFIFOEmpty(I2C_INST) != true) {
+                if (gI2C.rxMsg.ptr < MAX_BUFFER_SIZE) {
+                    gI2C.rxMsg.buffer[gI2C.rxMsg.ptr++] =
+                        DL_I2C_receiveControllerData(I2C_INST);
+                } else {
+                    /* Ignore and remove from FIFO if the buffer is full */
+                    DL_I2C_receiveControllerData(I2C_INST);
+                }
+            }
+            break;
+
+        case DL_I2C_IIDX_CONTROLLER_TXFIFO_TRIGGER:
+            gI2C.status = I2C_STATUS_TX_INPROGRESS;
+            /* Fill TX FIFO with bytes to send */
+            if (gI2C.txMsg.ptr < gI2C.txMsg.len) {
+                gI2C.txMsg.ptr += DL_I2C_fillControllerTXFIFO(
+                    I2C_INST, &gI2C.txMsg.buffer[gI2C.txMsg.ptr], gI2C.txMsg.len - gI2C.txMsg.ptr);
+            }
+            break;
+
+        case DL_I2C_IIDX_CONTROLLER_ARBITRATION_LOST:
+        case DL_I2C_IIDX_CONTROLLER_NACK:
+            gI2C.status = I2C_STATUS_ERROR;
+            break; 
+        default:
+            break;
+    }
+}

+ 56 - 0
i2c_controller.syscfg

@@ -0,0 +1,56 @@
+/**
+ * These arguments were used when this file was generated. They will be automatically applied on subsequent loads
+ * via the GUI or CLI. Run CLI with '--help' for additional information on how to override these arguments.
+ * @cliArgs --device "MSPM0G350X" --part "Default" --package "LQFP-64(PM)" --product "mspm0_sdk@2.03.00.08"
+ * @v2CliArgs --device "MSPM0G3507" --package "LQFP-64(PM)" --product "mspm0_sdk@2.03.00.08"
+ * @versions {"tool":"1.22.0+3893"}
+ */
+
+/**
+ * Import the modules used in this configuration.
+ */
+const Board = scripting.addModule("/ti/driverlib/Board");
+const CRC   = scripting.addModule("/ti/driverlib/CRC");
+const I2C   = scripting.addModule("/ti/driverlib/I2C", {}, false);
+const I2C1  = I2C.addInstance();
+
+/**
+ * Write custom configuration values to the imported modules.
+ */
+
+CRC.polynomial = "16_POLYNOMIAL";
+CRC.seed       = 0xFFFF;
+
+I2C1.basicEnableController             = true;
+I2C1.advControllerTXFIFOTRIG           = "BYTES_1";
+I2C1.$name                             = "I2C";
+I2C1.advAnalogGlitchFilter             = "DISABLED";
+I2C1.intController                     = ["ARBITRATION_LOST","NACK","RXFIFO_TRIGGER","RX_DONE","TX_DONE"];
+I2C1.peripheral.$assign                = "I2C1";
+I2C1.peripheral.sdaPin.$assign         = "PB3";
+I2C1.peripheral.sclPin.$assign         = "PB2";
+I2C1.sdaPinConfig.$name                = "ti_driverlib_gpio_GPIOPinGeneric0";
+I2C1.sdaPinConfig.hideOutputInversion  = scripting.forceWrite(false);
+I2C1.sdaPinConfig.onlyInternalResistor = scripting.forceWrite(false);
+I2C1.sdaPinConfig.passedPeripheralType = scripting.forceWrite("Digital");
+I2C1.sdaPinConfig.enableConfig         = true;
+I2C1.sdaPinConfig.internalResistor     = "PULL_UP";
+I2C1.sclPinConfig.$name                = "ti_driverlib_gpio_GPIOPinGeneric1";
+I2C1.sclPinConfig.hideOutputInversion  = scripting.forceWrite(false);
+I2C1.sclPinConfig.onlyInternalResistor = scripting.forceWrite(false);
+I2C1.sclPinConfig.passedPeripheralType = scripting.forceWrite("Digital");
+I2C1.sclPinConfig.enableConfig         = true;
+I2C1.sclPinConfig.internalResistor     = "PULL_UP";
+
+const SYSCTL                 = scripting.addModule("/ti/driverlib/SYSCTL", {}, false);
+SYSCTL.forceDefaultClkConfig = true;
+SYSCTL.clockTreeEn           = true;
+
+/**
+ * Pinmux solution for unlocked pins/peripherals. This ensures that minor changes to the automatic solver in a future
+ * version of the tool will not impact the pinmux you originally saw.  These lines can be completely deleted in order to
+ * re-solve from scratch.
+ */
+Board.peripheral.$suggestSolution          = "DEBUGSS";
+Board.peripheral.swclkPin.$suggestSolution = "PA20";
+Board.peripheral.swdioPin.$suggestSolution = "PA19";

+ 22 - 0
targetConfigs/MSPM0G3507.ccxml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<configurations XML_version="1.2" id="configurations_0">
+    <configuration XML_version="1.2" id="configuration_0">
+        <instance XML_version="1.2" desc="Texas Instruments XDS110 USB Debug Probe" href="connections/TIXDS110_Connection.xml" id="Texas Instruments XDS110 USB Debug Probe" xml="TIXDS110_Connection.xml" xmlpath="connections"/>
+        <connection XML_version="1.2" id="Texas Instruments XDS110 USB Debug Probe">
+            <instance XML_version="1.2" href="drivers/tixds510cs_dap.xml" id="drivers" xml="tixds510cs_dap.xml" xmlpath="drivers"/>
+            <instance XML_version="1.2" href="drivers/tixds510cortexM0.xml" id="drivers" xml="tixds510cortexM0.xml" xmlpath="drivers"/>
+            <instance XML_version="1.2" href="drivers/tixds510sec_ap.xml" id="drivers" xml="tixds510sec_ap.xml" xmlpath="drivers"/>
+            <property Type="choicelist" Value="1" id="The JTAG TCLK Frequency (MHz)">
+                <choice Name="Fixed with user specified value" value="SPECIFIC">
+                    <property Type="stringfield" Value="1MHz" id="-- Enter a value from 100.0kHz to 2.5MHz"/>
+                </choice>
+            </property>
+            <property Type="choicelist" Value="2" id="SWD Mode Settings">
+                <choice Name="SWD Mode - Aux COM port is target TDO pin" value="nothing"/>
+            </property>
+            <platform XML_version="1.2" id="platform_0">
+                <instance XML_version="1.2" desc="MSPM0G3507" href="devices/MSPM0G3507.xml" id="MSPM0G3507" xml="MSPM0G3507.xml" xmlpath="devices"/>
+            </platform>
+        </connection>
+    </configuration>
+</configurations>

+ 9 - 0
targetConfigs/readme.txt

@@ -0,0 +1,9 @@
+The 'targetConfigs' folder contains target-configuration (.ccxml) files, automatically generated based
+on the device and connection settings specified in your project on the Properties > General page.
+
+Please note that in automatic target-configuration management, changes to the project's device and/or
+connection settings will either modify an existing or generate a new target-configuration file. Thus,
+if you manually edit these auto-generated files, you may need to re-apply your changes. Alternatively,
+you may create your own target-configuration file for this project and manage it manually. You can
+always switch back to automatic target-configuration management by checking the "Manage the project's
+target-configuration automatically" checkbox on the project's Properties > General page.

+ 321 - 0
ti/comm_modules/i2c/controller/i2c_comm_controller.c

@@ -0,0 +1,321 @@
+/*
+ * Copyright (c) 2024, Texas Instruments Incorporated
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * *  Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ * *  Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * *  Neither the name of Texas Instruments Incorporated nor the names of
+ *    its contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "i2c_comm_controller.h"
+
+#define LEFT_SHIFT_8(x)     ((x) << 8)
+#define RIGHT_SHIFT_8(x)    ((x) >> 8)
+
+
+/* Function Declarations */
+/**
+ * @brief     Calculates CRC 16 for an array of 8-bit data
+ * @param[in] ptr   Pointer to the data to compute CRC
+ * @param[in] size  size of the array of data in bytes
+ * @return    Returns the CRC value
+ */
+static uint16_t CRC_calc16(uint8_t* ptr,uint8_t size);
+
+/**
+ * @brief     Prepares I2C Tx FIFO and issues I2C write command
+ * @param[in] I2C_handle     Pointer to I2C_Instance
+ * @param[in] targetAddr     I2C Target Address
+ */
+static void I2C_sendBuffer(I2C_Instance *I2C_handle,uint8_t targetAddr);
+
+
+/* Helper Functions */
+/**
+ * @brief     32 bit to 8 bit
+ * @param[in] b  pointer to unsigned 8 bit output
+ * @param[in] u32  unsigned 32 bit input
+ */
+static void u8From32(uint8_t *b, uint32_t u32)
+{
+    b[0] = (uint8_t)u32;
+    b[1] = (uint8_t)(u32 = RIGHT_SHIFT_8(u32));
+    b[2] = (uint8_t)(u32 = RIGHT_SHIFT_8(u32));
+    b[3] = (uint8_t)(u32 = RIGHT_SHIFT_8(u32));
+}
+
+/**
+ * @brief     16 bit to 8 bit
+ * @param[in] b  pointer to unsigned 8 bit output
+ * @param[in] u16  unsigned 16 bit input
+ */
+static void u8From16(uint8_t *b, uint16_t u16)
+{
+    b[0] = (uint8_t)u16;
+    b[1] = (uint8_t)(u16 = RIGHT_SHIFT_8(u16));
+}
+
+/**
+ * @brief     8 bit to 32 bit
+ * @param[in] b  pointer to unsigned 8 bit output
+ * @return    32 bit result
+ */
+static uint32_t u32(uint8_t *b)
+{
+  uint32_t u;
+  u = b[3];
+  u = LEFT_SHIFT_8(u) + b[2];
+  u = LEFT_SHIFT_8(u) + b[1];
+  u = LEFT_SHIFT_8(u) + b[0];
+  return u;
+}
+
+/**
+ * @brief     8 bit to 16 bit
+ * @param[in] b  pointer to unsigned 8 bit output
+ * @return    16 bit result
+ */
+static uint16_t u16(uint8_t *b)
+{
+  uint16_t u;
+  u = b[1];
+  u = LEFT_SHIFT_8(u) + b[0];
+  return u;
+}
+
+#ifdef CONFIG_MSPM0G351X
+static uint16_t CRC_calc16(uint8_t* ptr,uint8_t size)
+{
+    uint8_t remainder = (size & 1);
+    uint16_t size16 = size>>1;
+
+    uint16_t checkSum = DL_CRCP_calculateBlock16(CRCP0,CRCP_SEED,
+                                                    (uint16_t*)ptr,size16);
+
+    if(remainder)
+    {
+        DL_CRCP_feedData8(CRCP0,ptr[size - 1]);
+        checkSum = ((uint16_t) DL_CRCP_getResult16(CRCP0));
+    }
+
+    return checkSum;
+}
+
+#else
+static uint16_t CRC_calc16(uint8_t* ptr,uint8_t size)
+{
+    uint8_t remainder = (size & 1);
+    uint16_t size16 = size>>1;
+
+    uint16_t checkSum = DL_CRC_calculateBlock16(CRC,CRC_SEED,
+                                                    (uint16_t*)ptr,size16);
+
+    if(remainder)
+    {
+        DL_CRC_feedData8(CRC,ptr[size - 1]);
+        checkSum = ((uint16_t) DL_CRC_getResult16(CRC));
+    }
+
+    return checkSum;
+}
+
+#endif
+
+/**
+ * @brief     Resets pointer and length of the buffer
+ * @param[in] frame  Pointer to BufferInfo (Rx,Tx)
+ */
+__STATIC_INLINE void I2C_clearBuffer(BufferInfo *frame)
+{
+    frame->ptr = 0;
+    frame->len = 0;
+}
+
+void I2C_init(I2C_Instance *I2C_handle)
+{
+    I2C_clearBuffer(&I2C_handle->rxMsg);
+    I2C_clearBuffer(&I2C_handle->txMsg);
+ 
+    I2C_handle->dataLen = 0;
+    I2C_handle->isCrc = false;
+    I2C_handle->status = I2C_STATUS_IDLE;
+    I2C_handle->error = ERROR_TYPE_NONE;
+}
+
+void I2C_sendCommand(I2C_Instance *I2C_handle,I2C_CommandInfo *command)
+{
+    /* Prepare TX Buffer */
+    I2C_handle->txMsg.ptr = 0;
+
+    /* Control Byte */
+    I2C_handle->txMsg.buffer[I2C_handle->txMsg.ptr++] = (command->commandType) | (command->crcEnable ? CRC_MASK : (0x00)) | ((command->dataSize - 1) & LEN_MASK) ;
+
+    u8From32(&I2C_handle->txMsg.buffer[I2C_handle->txMsg.ptr],command->addr);
+    I2C_handle->txMsg.ptr += 4;
+
+    /* For Read Command */
+    I2C_handle->dataLen = command->dataSize;
+    
+    /* For Write Command */
+    if(command->commandType == WRITE_COMMAND)
+    {
+        I2C_handle->dataLen = 1;
+        
+        for(int i = 0 ; i < command->dataSize ; i++)
+        {
+            I2C_handle->txMsg.buffer[I2C_handle->txMsg.ptr++] = command->dataArray[i];
+        }
+    }
+
+    /* CRC */
+    I2C_handle->isCrc = false;
+    if(command->crcEnable)
+    {
+        I2C_handle->isCrc = true;
+        uint16_t Crc = CRC_calc16((&I2C_handle->txMsg.buffer[0]),I2C_handle->txMsg.ptr);
+        u8From16(&I2C_handle->txMsg.buffer[I2C_handle->txMsg.ptr],Crc);
+        I2C_handle->txMsg.ptr += 2;
+    }
+
+
+    I2C_handle->txMsg.len = I2C_handle->txMsg.ptr;
+
+    I2C_sendBuffer(I2C_handle, command->targetAddr);
+
+    /* Wait until I2C Controller is idle */
+    while (!(
+        DL_I2C_getControllerStatus(I2C_INST) & DL_I2C_CONTROLLER_STATUS_IDLE))
+        ;
+}
+
+static void I2C_sendBuffer(I2C_Instance *I2C_handle,uint8_t targetAddr)
+{
+    I2C_handle->txMsg.ptr = 0;
+
+    I2C_handle->txMsg.ptr = DL_I2C_fillControllerTXFIFO(I2C_INST, &I2C_handle->txMsg.buffer[0], I2C_handle->txMsg.len);
+
+    /* Enable TXFIFO trigger interrupt if there are more bytes to send */
+    if (I2C_handle->txMsg.ptr < I2C_handle->txMsg.len) 
+    {
+        DL_I2C_enableInterrupt(
+            I2C_INST, DL_I2C_INTERRUPT_CONTROLLER_TXFIFO_TRIGGER);
+    } else
+    {
+        DL_I2C_disableInterrupt(
+            I2C_INST, DL_I2C_INTERRUPT_CONTROLLER_TXFIFO_TRIGGER);
+    }
+
+
+    I2C_handle->status = I2C_STATUS_TX_STARTED;
+
+    /* Wait until I2C Controller is idle */
+    while (!(
+        DL_I2C_getControllerStatus(I2C_INST) & DL_I2C_CONTROLLER_STATUS_IDLE))
+        ;
+
+    DL_I2C_startControllerTransfer(
+        I2C_INST, targetAddr, DL_I2C_CONTROLLER_DIRECTION_TX, I2C_handle->txMsg.len);
+
+    /* Wait until the Controller sends all bytes */
+    while ((I2C_handle->status != I2C_STATUS_TX_COMPLETE) &&
+            (I2C_handle->status != I2C_STATUS_ERROR)) {
+        __WFE();
+    }
+
+    /* Wait until I2C bus is Idle */
+    while (DL_I2C_getControllerStatus(I2C_INST) &
+            DL_I2C_CONTROLLER_STATUS_BUSY_BUS)
+        ;
+
+    /* Trap if there was an error */
+    if (DL_I2C_getControllerStatus(I2C_INST) &
+        DL_I2C_CONTROLLER_STATUS_ERROR) {
+        __BKPT(0);
+    }
+}
+
+
+void I2C_getResponse(I2C_Instance* I2C_handle,uint32_t targetAddr)
+{
+    uint32_t expectedLen = CTRL_SIZE + I2C_handle->dataLen + (I2C_handle->isCrc ? CRC_SIZE : 0);
+
+    DL_I2C_startControllerTransfer(
+        I2C_INST, targetAddr, DL_I2C_CONTROLLER_DIRECTION_RX, expectedLen);
+
+    /* Wait for all bytes to be received in interrupt */
+    while (I2C_handle->status != I2C_STATUS_RX_COMPLETE) 
+    {
+        /* Resend the Read Command if it is N'ACKed */
+        if(I2C_handle->status == I2C_STATUS_ERROR)
+        {
+            I2C_handle->status = I2C_STATUS_RX_STARTED;
+            delay_cycles(10000);
+            DL_I2C_startControllerTransfer(
+                I2C_INST, targetAddr, DL_I2C_CONTROLLER_DIRECTION_RX, expectedLen);
+        }
+    }
+
+    /* Wait until I2C bus is Idle */
+    while (DL_I2C_getControllerStatus(I2C_INST) &
+            DL_I2C_CONTROLLER_STATUS_BUSY_BUS)
+        ;
+}
+
+void I2C_decodeResponse(I2C_Instance *I2C_handle,I2C_ResponseInfo *response)
+{
+    response->received = true;
+
+    /* Length stored in frame is 1 less than actual length */
+    response->dataSize = ( I2C_handle->rxMsg.buffer[CTRL_IDX] & LEN_MASK ) + 1;
+
+    response->status = ERROR_TYPE_NONE;
+
+    if(I2C_handle->rxMsg.buffer[CTRL_IDX] & ERROR_MASK)
+    {
+        /* Store error code sent by target */
+        response->status = (ErrorType) I2C_handle->rxMsg.buffer[RESP_DATA_IDX];
+    }
+
+    response->frame.ctrl = I2C_handle->rxMsg.buffer[CTRL_IDX];
+
+    for(int i = 0; i < MAX_DATA_SIZE; i++)
+    {
+        if(i < response->dataSize)
+        {
+            response->frame.data[i] = I2C_handle->rxMsg.buffer[RESP_DATA_IDX + i];
+        }
+        /* Resetting extra space to zero*/
+        else
+        {
+            response->frame.data[i] = 0;
+        }
+    }
+
+    if(I2C_handle->isCrc)
+    {
+        response->frame.crc = u16(&I2C_handle->rxMsg.buffer[I2C_handle->rxMsg.len - CRC_SIZE]);
+    }
+}

+ 251 - 0
ti/comm_modules/i2c/controller/i2c_comm_controller.h

@@ -0,0 +1,251 @@
+/*
+ * Copyright (c) 2024, Texas Instruments Incorporated
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * *  Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ * *  Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * *  Neither the name of Texas Instruments Incorporated nor the names of
+ *    its contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+/*!****************************************************************************
+ *  @file       i2c_comm_controller.h
+ *  @brief      I2C communication Module
+ *
+ * 
+ *  @anchor i2c_comm_controller
+ *  # Overview
+ *
+ *  APIs for I2C communication module
+ *
+ *  <hr>
+ ******************************************************************************/
+
+#ifndef I2C_COMM_CONTROLLER_H_
+#define I2C_COMM_CONTROLLER_H_
+
+#include "ti_msp_dl_config.h"
+#include <stdbool.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* FRAME STRUCTURE */
+
+/* Control Byte */
+/*! @brief Control index */
+#define CTRL_IDX                     (0)
+/*! @brief Control size */
+#define CTRL_SIZE                    (1)
+/*! @brief Control mask */
+#define CMD_MASK                     (0x80)
+/*! @brief CRC mask */
+#define CRC_MASK                     (0x40)
+/*! @brief Length mask */
+#define LEN_MASK                     (0x3F)
+/*! @brief Write command */
+#define WRITE_CMD                    (0x80)
+/*! @brief Read command */
+#define READ_CMD                     (0x00)
+/*! @brief Error Mask */
+#define ERROR_MASK                   (0x80)  
+
+/* Address  */
+/*! @brief Address index */
+#define ADDR_IDX                    (CTRL_IDX + CTRL_SIZE)
+/*! @brief Address size */
+#define ADDR_SIZE                   (4)
+/*! @brief Address range start */
+#define ADDR_RANGE_START            (0x20100000)
+/*! @brief Address range end */
+#define ADDR_RANGE_END              (0x20307FFF)
+
+/* Data */
+/*! @brief Command Data index */
+#define DATA_IDX                    (ADDR_IDX + ADDR_SIZE)
+/*! @brief Response Data index */
+#define RESP_DATA_IDX               (CTRL_IDX + CTRL_SIZE)
+/*! @brief Maximum data size */
+#define MAX_DATA_SIZE               (64)
+
+/* OFFSET is from the end of frame */
+/* CRC */
+/*! @brief CRC offset */
+#define CRC_OFFSET                  (0)
+/*! @brief CRC size */
+#define CRC_SIZE                    (2)
+
+/*! @brief Maximum buffer size */
+#define MAX_BUFFER_SIZE             (CTRL_SIZE + ADDR_SIZE + MAX_DATA_SIZE + CRC_SIZE)
+/*! @brief Maximum response size */
+#define MAX_RESP_SIZE               (CTRL_SIZE + MAX_DATA_SIZE + CRC_SIZE)
+
+/*! I2C Target Addr configured in the example */
+/*! @brief Default Target Address */
+#define DEF_TARGET_ADDR             (0x68)
+
+/*! @brief Buffer Info structure */
+typedef struct
+{
+    /*! Buffer array */
+    _Alignas(uint32_t) uint8_t buffer[MAX_BUFFER_SIZE];
+    /*! Pointer */
+    uint8_t ptr;
+    /*! Length */
+    uint8_t len;
+} BufferInfo;
+
+/*! @brief Frame Info structure*/
+typedef struct
+{
+    /*! CRC */
+    uint16_t crc;
+    /*! Control Byte */
+    uint8_t ctrl;
+    /*! Data */
+    uint8_t data[MAX_DATA_SIZE];
+} FrameInfo;
+
+/*! @brief I2C status */
+typedef enum
+{
+    /*! I2C IDLE state */
+    I2C_STATUS_IDLE = 0,
+    /*! I2C Tx Started state */
+    I2C_STATUS_TX_STARTED,
+    /*! I2C Tx in Progress state */
+    I2C_STATUS_TX_INPROGRESS,
+    /*! I2C Tx Complete state */
+    I2C_STATUS_TX_COMPLETE,
+    /*! I2C Rx Started state */
+    I2C_STATUS_RX_STARTED,
+    /*! I2C Rx in Progress state */
+    I2C_STATUS_RX_INPROGRESS,
+    /*! I2C Rx Complete state */
+    I2C_STATUS_RX_COMPLETE,
+    /*! I2C Error state */
+    I2C_STATUS_ERROR,
+} I2C_Status;
+
+typedef enum
+{
+    /*! No error */
+    ERROR_TYPE_NONE         = 0x00,
+    /*! Mismatch CRC error */
+    ERROR_TYPE_MISMATCH_CRC = 0xE1,
+    /*! Error in Address range */
+    ERROR_TYPE_ADDR_RANGE   = 0xE2,
+} ErrorType;
+
+/*! @brief I2C instance */
+typedef struct
+{
+    /*! Transmit message */
+    BufferInfo txMsg;
+    /*! Receive message */
+    BufferInfo rxMsg;
+
+    /*! Data length */
+    uint8_t dataLen;
+    /*! CRC enabled */
+    _Bool isCrc;
+
+    /*! I2C status */
+    I2C_Status status;
+    /*! I2C error type */
+    ErrorType error;
+} I2C_Instance;
+
+/*! @brief I2C Command types */
+typedef enum 
+{
+    /*! I2C Read Command */
+    READ_COMMAND = 0x00,
+    /*! I2C Write Command */
+    WRITE_COMMAND = 0x80,
+} CommandType;
+
+/*! @brief I2C Command Info */
+typedef struct
+{
+    /*! Target Address */
+    uint32_t targetAddr;
+    /*! I2C Command Type */
+    CommandType commandType;
+    /*! Address */
+    uint32_t addr;
+    /*! Pointer to array of Data */
+    uint8_t* dataArray;
+    /*! Data Size */
+    uint8_t dataSize;
+    /*! CRC Enable*/
+    bool crcEnable;
+} I2C_CommandInfo;
+
+/*! @brief I2C Response Info */
+typedef struct
+{
+    /*! Response Frame Info */
+    FrameInfo frame;
+    /*! Response data size */
+    uint8_t dataSize;
+    /*! Response error status */
+    ErrorType status;
+    /*! Response received */
+    bool received; 
+} I2C_ResponseInfo;
+
+/**
+ * @brief     Initializes I2C_Instance Handle
+ * @param[in] I2C_handle    Pointer to I2C_Instance
+ */
+void I2C_init(I2C_Instance *I2C_handle);
+
+/**
+ * @brief     Prepares I2C Command frame and stores in TX Buffer to transmit
+ * @param[in] I2C_handle     Pointer to I2C_Instance
+ * @param[in] command        Pointer to I2C_CommandInfo
+ */
+void I2C_sendCommand(I2C_Instance *I2C_handle,I2C_CommandInfo *command);
+
+/**
+ * @brief     Sends I2C Read command to get the response from target
+ * @param[in] I2C_handle     Pointer to I2C_Instance
+ * @param[in] targetAddr     I2C Target Address
+ */
+void I2C_getResponse(I2C_Instance* I2C_handle,uint32_t targetAddr);
+
+/**
+ * @brief     Decodes the received data in Rx Buffer for response
+ * @param[in] I2C_handle     Pointer to I2C_Instance
+ * @param[in] response       Pointer to I2C_ResponseInfo
+ */
+void I2C_decodeResponse(I2C_Instance *I2C_handle,I2C_ResponseInfo *response);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* I2C_COMM_CONTROLLER_H_ */

Nem az összes módosított fájl került megjelenítésre, mert túl sok fájl változott