Compare commits
22 commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
081baecac9 | ||
![]() |
1a1d72be7e | ||
![]() |
ad661c5c03 | ||
![]() |
92e1128e5a | ||
![]() |
f798fd6d03 | ||
![]() |
15a478c9aa | ||
![]() |
bd79be6eac | ||
![]() |
d3abffa13d | ||
![]() |
22a3b5e795 | ||
![]() |
264fc2c4ec | ||
![]() |
d4f1ef17b9 | ||
7dd1aee53c | |||
281c0f68d5 | |||
e8946f2a03 | |||
564d05b183 | |||
6004eaac27 | |||
e1419da297 | |||
6b16664b22 | |||
c318ec3f35 | |||
40aa61ba98 | |||
e0d468e15f | |||
2779d26b2a |
64 changed files with 3462 additions and 989 deletions
10
.ccsproject
10
.ccsproject
|
@ -7,13 +7,11 @@
|
|||
<deviceEndianness value="little"/>
|
||||
<codegenToolVersion value="16.9.4.LTS"/>
|
||||
<isElfFormat value="true"/>
|
||||
<connection value="common/targetdb/connections/Stellaris_ICDI_Connection.xml"/>
|
||||
<linkerCommandFile value="tm4c1294ncpdt.cmd"/>
|
||||
<rts value="libc.a"/>
|
||||
<createSlaveProjects value=""/>
|
||||
<templateProperties value="id=com.ti.common.project.core.emptyProjectWithMainTemplate,"/>
|
||||
<filesToOpen value="main.c,"/>
|
||||
<templateProperties value="id=com_ti_rtsc_tirtostivac_example_141.projectspec.empty_EK_TM4C1294XL_TI,type=rtsc,products=com.ti.rtsc.TIRTOStivac,xdcToolsVersion=3_32_00_06_core,target=ti.targets.arm.elf.M4F,platform=ti.platforms.tiva:TM4C1294NCPDT,buildProfile=release,isHybrid=true,configuroOptions= --compileOptions "${COMPILER_FLAGS} ","/>
|
||||
<origin value="C:/Users/gene/Documents/Work/ECE 3849/workspace_v8/ece3849_lab2_starter"/>
|
||||
<filesToOpen value=""/>
|
||||
<connection value="common/targetdb/connections/Stellaris_ICDI_Connection.xml"/>
|
||||
<isTargetManual value="false"/>
|
||||
<origin value="C:/Users/gene/Documents/Work/ECE 3849/workspace_v8/ece3849_lab0_starter"/>
|
||||
<activeTargetConfiguration value="targetConfigs/Tiva TM4C1294NCPDT.ccxml"/>
|
||||
</projectOptions>
|
||||
|
|
11
.clangd
11
.clangd
|
@ -1,11 +0,0 @@
|
|||
# This is an auto-generated file - do not add it to source-control
|
||||
|
||||
CompileFlags:
|
||||
CompilationDatabase: Debug/.clangd
|
||||
|
||||
Diagnostics:
|
||||
Suppress: '*'
|
||||
|
||||
InlayHints:
|
||||
Enabled: No
|
||||
|
BIN
.config/.productview.dat
Normal file
BIN
.config/.productview.dat
Normal file
Binary file not shown.
1
.config/xconfig_rtos/.buildtime
Normal file
1
.config/xconfig_rtos/.buildtime
Normal file
|
@ -0,0 +1 @@
|
|||
C:\Users\askillorin\Documents\ece3849_lab3_starter\.config\xconfig_rtos\.buildtime
|
0
.config/xconfig_rtos/.interfaces
Normal file
0
.config/xconfig_rtos/.interfaces
Normal file
16
.config/xconfig_rtos/.xdcenv.mak
Normal file
16
.config/xconfig_rtos/.xdcenv.mak
Normal file
|
@ -0,0 +1,16 @@
|
|||
#
|
||||
_XDCBUILDCOUNT = 0
|
||||
ifneq (,$(findstring path,$(_USEXDCENV_)))
|
||||
override XDCPATH = C:/ti/ccs1271/tirtos_tivac_2_16_01_14/packages;C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/tidrivers_tivac_2_16_01_13/packages;C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/bios_6_45_02_31/packages;C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/ndk_2_25_00_09/packages;C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/uia_2_00_05_50/packages;C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/ns_1_11_00_10/packages;C:/ti/ccs1271/ccs/ccs_base;C:/Users/askillorin/Documents/ece3849_lab3_starter/.config
|
||||
override XDCROOT = C:/ti/ccs1271/xdctools_3_32_00_06_core
|
||||
override XDCBUILDCFG = ./config.bld
|
||||
endif
|
||||
ifneq (,$(findstring args,$(_USEXDCENV_)))
|
||||
override XDCARGS =
|
||||
override XDCTARGETS =
|
||||
endif
|
||||
#
|
||||
ifeq (0,1)
|
||||
PKGPATH = C:/ti/ccs1271/tirtos_tivac_2_16_01_14/packages;C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/tidrivers_tivac_2_16_01_13/packages;C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/bios_6_45_02_31/packages;C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/ndk_2_25_00_09/packages;C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/uia_2_00_05_50/packages;C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/ns_1_11_00_10/packages;C:/ti/ccs1271/ccs/ccs_base;C:/Users/askillorin/Documents/ece3849_lab3_starter/.config;C:/ti/ccs1271/xdctools_3_32_00_06_core/packages;..
|
||||
HOSTOS = Windows
|
||||
endif
|
1
.config/xconfig_rtos/compiler.opt
Normal file
1
.config/xconfig_rtos/compiler.opt
Normal file
|
@ -0,0 +1 @@
|
|||
--endian=little -mv7M4 --abi=eabi --float_support=fpv4spd16 -I"C:/ti/ccs1271/tirtos_tivac_2_16_01_14/packages" -I"C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/tidrivers_tivac_2_16_01_13/packages" -I"C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/bios_6_45_02_31/packages" -I"C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/ndk_2_25_00_09/packages" -I"C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/uia_2_00_05_50/packages" -I"C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/ns_1_11_00_10/packages" -I"C:/ti/ccs1271/ccs/ccs_base" -I"C:/Users/askillorin/Documents/ece3849_lab3_starter/.config" -I"C:/ti/ccs1271/xdctools_3_32_00_06_core/packages" -I"C:/Users/askillorin/Documents/ece3849_lab3_starter/.config/xconfig_rtos/.." -IC:/ti/ccs1271/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/include/rts -IC:/ti/ccs1271/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/include -Dxdc_target_types__="ti/targets/arm/elf/std.h" -Dxdc_target_name__=M4F -Dxdc_cfg__xheader__="\"C:/Users/askillorin/Documents/ece3849_lab3_starter/.config/xconfig_rtos/package/cfg/rtos_pem4f.h\""
|
1
.config/xconfig_rtos/compiler.opt.defs
Normal file
1
.config/xconfig_rtos/compiler.opt.defs
Normal file
|
@ -0,0 +1 @@
|
|||
-I"C:/ti/ccs1271/tirtos_tivac_2_16_01_14/packages" -I"C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/tidrivers_tivac_2_16_01_13/packages" -I"C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/bios_6_45_02_31/packages" -I"C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/ndk_2_25_00_09/packages" -I"C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/uia_2_00_05_50/packages" -I"C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/ns_1_11_00_10/packages" -I"C:/ti/ccs1271/ccs/ccs_base" -I"C:/Users/askillorin/Documents/ece3849_lab3_starter/.config" -I"C:/ti/ccs1271/xdctools_3_32_00_06_core/packages" -I"C:/Users/askillorin/Documents/ece3849_lab3_starter/.config/xconfig_rtos/.." -IC:/ti/ccs1271/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/include/rts -IC:/ti/ccs1271/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/include -Dxdc_target_types__="ti/targets/arm/elf/std.h" -Dxdc_target_name__=M4F -Dxdc_cfg__xheader__="\"C:/Users/askillorin/Documents/ece3849_lab3_starter/.config/xconfig_rtos/package/cfg/rtos_pem4f.h\""
|
24
.config/xconfig_rtos/config.bld
Normal file
24
.config/xconfig_rtos/config.bld
Normal file
|
@ -0,0 +1,24 @@
|
|||
/* THIS IS A GENERATED FILE -- DO NOT EDIT */
|
||||
|
||||
var target; /* the target used for this build */
|
||||
|
||||
/* configuro was passed the target's name explicitly */
|
||||
try {
|
||||
target = xdc.module('ti.targets.arm.elf.M4F');
|
||||
}
|
||||
catch (e) {
|
||||
throw new Error("Can't find the target named '" + 'ti.targets.arm.elf.M4F'
|
||||
+ "' along the path '" + environment["xdc.path"]
|
||||
+ "': please check the spelling of the target's name and that it exists along this path.");
|
||||
}
|
||||
if (!(target instanceof xdc.module("xdc.bld.ITarget").Module)) {
|
||||
throw new Error("The module named 'ti.targets.arm.elf.M4F' exists but it's not a target: please check the spelling of the target's name");
|
||||
}
|
||||
|
||||
/* configuro was passed compiler options explicitly */
|
||||
target.ccOpts.prefix = unescape("-mv7M4%20--code_state%3D16%20--float_support%3DFPv4SPD16%20-me%20-O1%20--opt_for_speed%3D2%20--include_path%3D%22C%3A/Users/askillorin/Documents/ece3849_lab3_starter%22%20--include_path%3D%22C%3A/Users/askillorin/Documents/ece3849_lab3_starter%22%20--include_path%3D%22C%3A/ti/ccs1271/tirtos_tivac_2_16_01_14/products/TivaWare_C_Series-2.1.1.71b%22%20--include_path%3D%22C%3A/ti/ccs1271/tirtos_tivac_2_16_01_14/products/bios_6_45_01_29/packages/ti/sysbios/posix%22%20--include_path%3D%22C%3A/ti/ccs1271/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/include%22%20--define%3Dccs%3D%22ccs%22%20--define%3DPART_TM4C1294NCPDT%20--define%3Dccs%20--define%3DTIVAWARE%20-g%20--gcc%20--diag_warning%3D225%20--diag_warning%3D255%20--diag_wrap%3Doff%20--display_error_number%20--gen_func_subsections%3Don%20--abi%3Deabi%20%20%20") + target.ccOpts.prefix;
|
||||
|
||||
/* configuro was passed the target's rootDir explicitly */
|
||||
target.rootDir = 'C:/ti/ccs1271/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS';
|
||||
|
||||
Build.targets = [target];
|
11
.config/xconfig_rtos/custom.mak
Normal file
11
.config/xconfig_rtos/custom.mak
Normal file
|
@ -0,0 +1,11 @@
|
|||
## THIS IS A GENERATED FILE -- DO NOT EDIT
|
||||
.configuro: .libraries,em4f linker.cmd package/cfg/rtos_pem4f.oem4f
|
||||
|
||||
# To simplify configuro usage in makefiles:
|
||||
# o create a generic linker command file name
|
||||
# o set modification times of compiler.opt* files to be greater than
|
||||
# or equal to the generated config header
|
||||
#
|
||||
linker.cmd: package/cfg/rtos_pem4f.xdl
|
||||
$(SED) 's"^\"\(package/cfg/rtos_pem4fcfg.cmd\)\"$""\"C:/Users/askillorin/Documents/ece3849_lab3_starter/.config/xconfig_rtos/\1\""' package/cfg/rtos_pem4f.xdl > $@
|
||||
-$(SETDATE) -r:max package/cfg/rtos_pem4f.h compiler.opt compiler.opt.defs
|
78
.config/xconfig_rtos/package.bld
Normal file
78
.config/xconfig_rtos/package.bld
Normal file
|
@ -0,0 +1,78 @@
|
|||
/* THIS IS A GENERATED FILE -- DO NOT EDIT */
|
||||
|
||||
var targ = xdc.module('ti.targets.arm.elf.M4F');
|
||||
/* configuro was told the platform explicitly */
|
||||
var platform = 'ti.platforms.tiva:TM4C1294NCPDT';
|
||||
|
||||
/* decide whether to make an assembly or an executable */
|
||||
var makeAssembly = false;
|
||||
|
||||
|
||||
var Executable = xdc.module('xdc.bld.Executable');
|
||||
|
||||
var exeOpts = new Executable.Attrs({
|
||||
cfgScript: 'C:/Users/askillorin/Documents/ece3849_lab3_starter/rtos.cfg',
|
||||
profile: 'release',
|
||||
cfgHome: 'xconfig_rtos',
|
||||
});
|
||||
|
||||
exeOpts.cfgArgs = 'null';
|
||||
exeOpts.cfgArgsEncoded = true;
|
||||
|
||||
var exe = Pkg[makeAssembly ? 'addAssembly': 'addExecutable'](
|
||||
'rtos',
|
||||
targ,
|
||||
platform,
|
||||
exeOpts
|
||||
);
|
||||
|
||||
/*
|
||||
* Generate the compiler.opt file
|
||||
* Do this here instead of during the initial creation of the configuro
|
||||
* package, because the contents of any config.bld script are unknown
|
||||
* at that time. Config.bld can't be executed until the XDC build phase.
|
||||
*/
|
||||
if (makeAssembly) {
|
||||
var suffix = targ.dllExt || '.p' + targ.suffix;
|
||||
}
|
||||
else {
|
||||
var suffix = '.p' + targ.suffix;
|
||||
}
|
||||
|
||||
var thisObj = {
|
||||
cfg: 'C:/Users/askillorin/Documents/ece3849_lab3_starter/rtos.cfg',
|
||||
outputPath: 'C:/Users/askillorin/Documents/ece3849_lab3_starter/.config/xconfig_rtos',
|
||||
exeName: 'rtos' + suffix,
|
||||
exeIntName: 'rtos' + suffix.replace('.', '_'),
|
||||
targ: targ,
|
||||
linkerCommandFile: 'linker.cmd',
|
||||
compilerOptFile: 'compiler.opt',
|
||||
compilerDefsFile: 'compiler.opt' + ".defs",
|
||||
makeAssembly: makeAssembly
|
||||
};
|
||||
var tmpl = xdc.loadTemplate('xdc/tools/configuro/template/compiler.opt.xdt');
|
||||
tmpl.genFile('compiler.opt', thisObj, [], false);
|
||||
|
||||
/*
|
||||
* Generate the custom makefile.
|
||||
*/
|
||||
var tmpl = xdc.loadTemplate('xdc/tools/configuro/template/' +
|
||||
(makeAssembly? 'custom.mak.asm.xdt' : 'custom.mak.exe.xdt'));
|
||||
tmpl.genFile('custom.mak', thisObj, [], false);
|
||||
Pkg.makeEpilogue = "include custom.mak";
|
||||
|
||||
/*
|
||||
* Generate the package script.
|
||||
*/
|
||||
var tmpl = xdc.loadTemplate('xdc/tools/configuro/template/package.xs.xdt');
|
||||
tmpl.genFile('package.xs', thisObj, [], false);
|
||||
|
||||
if (makeAssembly) {
|
||||
/*
|
||||
* Generate the linker options into a staging file, so that the presence or
|
||||
* age of the advertised linker command file can be the makefile trigger to
|
||||
* rebuild the package from the user's config script.
|
||||
*/
|
||||
var tmpl = xdc.loadTemplate('xdc/tools/configuro/template/linker.cmd.asm.xdt');
|
||||
tmpl.genFile('linker.cmd.cp', thisObj, [], false);
|
||||
}
|
256
.config/xconfig_rtos/package.mak
Normal file
256
.config/xconfig_rtos/package.mak
Normal file
|
@ -0,0 +1,256 @@
|
|||
#
|
||||
# Do not edit this file. This file is generated from
|
||||
# package.bld. Any modifications to this file will be
|
||||
# overwritten whenever makefiles are re-generated.
|
||||
#
|
||||
|
||||
unexport MAKEFILE_LIST
|
||||
MK_NOGENDEPS := $(filter clean,$(MAKECMDGOALS))
|
||||
override PKGDIR = xconfig_rtos
|
||||
XDCINCS = -I. -I$(strip $(subst ;, -I,$(subst $(space),\$(space),$(XPKGPATH))))
|
||||
XDCCFGDIR = package/cfg/
|
||||
|
||||
#
|
||||
# The following dependencies ensure package.mak is rebuilt
|
||||
# in the event that some included BOM script changes.
|
||||
#
|
||||
ifneq (clean,$(MAKECMDGOALS))
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/utils.js:
|
||||
package.mak: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/utils.js
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/xdc.tci:
|
||||
package.mak: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/xdc.tci
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/template.xs:
|
||||
package.mak: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/template.xs
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/om2.xs:
|
||||
package.mak: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/om2.xs
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/xmlgen.xs:
|
||||
package.mak: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/xmlgen.xs
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/xmlgen2.xs:
|
||||
package.mak: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/xmlgen2.xs
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/Warnings.xs:
|
||||
package.mak: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/Warnings.xs
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/IPackage.xs:
|
||||
package.mak: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/IPackage.xs
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/package.xs:
|
||||
package.mak: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/package.xs
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/services/global/Clock.xs:
|
||||
package.mak: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/services/global/Clock.xs
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/services/global/Trace.xs:
|
||||
package.mak: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/services/global/Trace.xs
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/bld/bld.js:
|
||||
package.mak: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/bld/bld.js
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/bld/BuildEnvironment.xs:
|
||||
package.mak: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/bld/BuildEnvironment.xs
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/bld/PackageContents.xs:
|
||||
package.mak: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/bld/PackageContents.xs
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/bld/_gen.xs:
|
||||
package.mak: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/bld/_gen.xs
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/bld/Library.xs:
|
||||
package.mak: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/bld/Library.xs
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/bld/Executable.xs:
|
||||
package.mak: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/bld/Executable.xs
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/bld/Repository.xs:
|
||||
package.mak: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/bld/Repository.xs
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/bld/Configuration.xs:
|
||||
package.mak: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/bld/Configuration.xs
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/bld/Script.xs:
|
||||
package.mak: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/bld/Script.xs
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/bld/Manifest.xs:
|
||||
package.mak: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/bld/Manifest.xs
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/bld/Utils.xs:
|
||||
package.mak: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/bld/Utils.xs
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/bld/ITarget.xs:
|
||||
package.mak: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/bld/ITarget.xs
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/bld/ITarget2.xs:
|
||||
package.mak: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/bld/ITarget2.xs
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/bld/ITarget3.xs:
|
||||
package.mak: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/bld/ITarget3.xs
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/bld/ITargetFilter.xs:
|
||||
package.mak: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/bld/ITargetFilter.xs
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/bld/package.xs:
|
||||
package.mak: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/bld/package.xs
|
||||
package.mak: config.bld
|
||||
C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/bios_6_45_02_31/packages/ti/targets/ITarget.xs:
|
||||
package.mak: C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/bios_6_45_02_31/packages/ti/targets/ITarget.xs
|
||||
C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/bios_6_45_02_31/packages/ti/targets/C28_large.xs:
|
||||
package.mak: C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/bios_6_45_02_31/packages/ti/targets/C28_large.xs
|
||||
C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/bios_6_45_02_31/packages/ti/targets/C28_float.xs:
|
||||
package.mak: C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/bios_6_45_02_31/packages/ti/targets/C28_float.xs
|
||||
C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/bios_6_45_02_31/packages/ti/targets/package.xs:
|
||||
package.mak: C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/bios_6_45_02_31/packages/ti/targets/package.xs
|
||||
C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/bios_6_45_02_31/packages/ti/targets/arm/elf/IArm.xs:
|
||||
package.mak: C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/bios_6_45_02_31/packages/ti/targets/arm/elf/IArm.xs
|
||||
C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/bios_6_45_02_31/packages/ti/targets/arm/elf/package.xs:
|
||||
package.mak: C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/bios_6_45_02_31/packages/ti/targets/arm/elf/package.xs
|
||||
package.mak: package.bld
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/tools/configuro/template/compiler.opt.xdt:
|
||||
package.mak: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/tools/configuro/template/compiler.opt.xdt
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/services/io/File.xs:
|
||||
package.mak: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/services/io/File.xs
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/services/io/package.xs:
|
||||
package.mak: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/services/io/package.xs
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/tools/configuro/template/compiler.defs.xdt:
|
||||
package.mak: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/tools/configuro/template/compiler.defs.xdt
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/tools/configuro/template/custom.mak.exe.xdt:
|
||||
package.mak: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/tools/configuro/template/custom.mak.exe.xdt
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/tools/configuro/template/package.xs.xdt:
|
||||
package.mak: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/tools/configuro/template/package.xs.xdt
|
||||
endif
|
||||
|
||||
ti.targets.arm.elf.M4F.rootDir ?= C:/ti/ccs1271/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS
|
||||
ti.targets.arm.elf.packageBase ?= C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/bios_6_45_02_31/packages/ti/targets/arm/elf/
|
||||
.PRECIOUS: $(XDCCFGDIR)/%.oem4f
|
||||
.PHONY: all,em4f .dlls,em4f .executables,em4f test,em4f
|
||||
all,em4f: .executables,em4f
|
||||
.executables,em4f: .libraries,em4f
|
||||
.executables,em4f: .dlls,em4f
|
||||
.dlls,em4f: .libraries,em4f
|
||||
.libraries,em4f: .interfaces
|
||||
@$(RM) $@
|
||||
@$(TOUCH) "$@"
|
||||
|
||||
.help::
|
||||
@$(ECHO) xdc test,em4f
|
||||
@$(ECHO) xdc .executables,em4f
|
||||
@$(ECHO) xdc .libraries,em4f
|
||||
@$(ECHO) xdc .dlls,em4f
|
||||
|
||||
|
||||
all: .executables
|
||||
.executables: .libraries .dlls
|
||||
.libraries: .interfaces
|
||||
|
||||
PKGCFGS := $(wildcard package.xs) package/build.cfg
|
||||
.interfaces: package/package.xdc.inc package/package.defs.h package.xdc $(PKGCFGS)
|
||||
|
||||
-include package/package.xdc.dep
|
||||
package/%.xdc.inc package/%_xconfig_rtos.c package/%.defs.h: %.xdc $(PKGCFGS)
|
||||
@$(MSG) generating interfaces for package xconfig_rtos" (because $@ is older than $(firstword $?))" ...
|
||||
$(XSRUN) -f xdc/services/intern/cmd/build.xs $(MK_IDLOPTS) -m package/package.xdc.dep -i package/package.xdc.inc package.xdc
|
||||
|
||||
.dlls,em4f .dlls: rtos.pem4f
|
||||
|
||||
-include package/cfg/rtos_pem4f.mak
|
||||
-include package/cfg/rtos_pem4f.cfg.mak
|
||||
ifeq (,$(MK_NOGENDEPS))
|
||||
-include package/cfg/rtos_pem4f.dep
|
||||
endif
|
||||
rtos.pem4f: package/cfg/rtos_pem4f.xdl
|
||||
@
|
||||
|
||||
|
||||
ifeq (,$(wildcard .libraries,em4f))
|
||||
rtos.pem4f package/cfg/rtos_pem4f.c: .libraries,em4f
|
||||
endif
|
||||
|
||||
package/cfg/rtos_pem4f.c package/cfg/rtos_pem4f.h package/cfg/rtos_pem4f.xdl: override _PROG_NAME := rtos.xem4f
|
||||
package/cfg/rtos_pem4f.c: package/cfg/rtos_pem4f.cfg
|
||||
package/cfg/rtos_pem4f.xdc.inc: package/cfg/rtos_pem4f.xdl
|
||||
package/cfg/rtos_pem4f.xdl package/cfg/rtos_pem4f.c: .interfaces
|
||||
|
||||
clean:: clean,em4f
|
||||
-$(RM) package/cfg/rtos_pem4f.cfg
|
||||
-$(RM) package/cfg/rtos_pem4f.dep
|
||||
-$(RM) package/cfg/rtos_pem4f.c
|
||||
-$(RM) package/cfg/rtos_pem4f.xdc.inc
|
||||
|
||||
clean,em4f::
|
||||
-$(RM) rtos.pem4f
|
||||
.executables,em4f .executables: rtos.xem4f
|
||||
|
||||
rtos.xem4f: |rtos.pem4f
|
||||
|
||||
-include package/cfg/rtos.xem4f.mak
|
||||
rtos.xem4f: package/cfg/rtos_pem4f.oem4f
|
||||
$(RM) $@
|
||||
@$(MSG) lnkem4f $@ ...
|
||||
$(RM) $(XDCCFGDIR)/$@.map
|
||||
$(ti.targets.arm.elf.M4F.rootDir)/bin/armcl -fs $(XDCCFGDIR)$(dir $@). -q -u _c_int00 --silicon_version=7M4 -z --strict_compatibility=on -o $@ package/cfg/rtos_pem4f.oem4f package/cfg/rtos_pem4f.xdl -w -c -m $(XDCCFGDIR)/$@.map -l $(ti.targets.arm.elf.M4F.rootDir)/lib/libc.a
|
||||
|
||||
rtos.xem4f: export C_DIR=
|
||||
rtos.xem4f: PATH:=$(ti.targets.arm.elf.M4F.rootDir)/bin/;$(PATH)
|
||||
rtos.xem4f: Path:=$(ti.targets.arm.elf.M4F.rootDir)/bin/;$(PATH)
|
||||
|
||||
rtos.test test,em4f test: rtos.xem4f.test
|
||||
|
||||
rtos.xem4f.test:: rtos.xem4f
|
||||
ifeq (,$(_TESTLEVEL))
|
||||
@$(MAKE) -R -r --no-print-directory -f $(XDCROOT)/packages/xdc/bld/xdc.mak _TESTLEVEL=1 rtos.xem4f.test
|
||||
else
|
||||
@$(MSG) running $< ...
|
||||
$(call EXEC.rtos.xem4f, )
|
||||
endif
|
||||
|
||||
clean,em4f::
|
||||
-$(RM) $(wildcard .tmp,rtos.xem4f,*)
|
||||
|
||||
|
||||
clean:: clean,em4f
|
||||
|
||||
clean,em4f::
|
||||
-$(RM) rtos.xem4f
|
||||
%,copy:
|
||||
@$(if $<,,$(MSG) don\'t know how to build $*; exit 1)
|
||||
@$(MSG) cp $< $@
|
||||
$(RM) $@
|
||||
$(CP) $< $@
|
||||
rtos_pem4f.oem4f,copy : package/cfg/rtos_pem4f.oem4f
|
||||
rtos_pem4f.sem4f,copy : package/cfg/rtos_pem4f.sem4f
|
||||
|
||||
$(XDCCFGDIR)%.c $(XDCCFGDIR)%.h $(XDCCFGDIR)%.xdl: $(XDCCFGDIR)%.cfg $(XDCROOT)/packages/xdc/cfg/Main.xs | .interfaces
|
||||
@$(MSG) "configuring $(_PROG_NAME) from $< ..."
|
||||
$(CONFIG) $(_PROG_XSOPTS) xdc.cfg $(_PROG_NAME) $(XDCCFGDIR)$*.cfg $(XDCCFGDIR)$*
|
||||
|
||||
.PHONY: release,xconfig_rtos
|
||||
ifeq (,$(MK_NOGENDEPS))
|
||||
-include package/rel/xconfig_rtos.tar.dep
|
||||
endif
|
||||
package/rel/xconfig_rtos/xconfig_rtos/package/package.rel.xml: package/package.bld.xml
|
||||
package/rel/xconfig_rtos/xconfig_rtos/package/package.rel.xml: package/build.cfg
|
||||
package/rel/xconfig_rtos/xconfig_rtos/package/package.rel.xml: package/package.xdc.inc
|
||||
package/rel/xconfig_rtos/xconfig_rtos/package/package.rel.xml: .force
|
||||
@$(MSG) generating external release references $@ ...
|
||||
$(XS) $(JSENV) -f $(XDCROOT)/packages/xdc/bld/rel.js $(MK_RELOPTS) . $@
|
||||
|
||||
xconfig_rtos.tar: package/rel/xconfig_rtos.xdc.inc package/rel/xconfig_rtos/xconfig_rtos/package/package.rel.xml
|
||||
@$(MSG) making release file $@ "(because of $(firstword $?))" ...
|
||||
-$(RM) $@
|
||||
$(call MKRELTAR,package/rel/xconfig_rtos.xdc.inc,package/rel/xconfig_rtos.tar.dep)
|
||||
|
||||
|
||||
release release,xconfig_rtos: all xconfig_rtos.tar
|
||||
clean:: .clean
|
||||
-$(RM) xconfig_rtos.tar
|
||||
-$(RM) package/rel/xconfig_rtos.xdc.inc
|
||||
-$(RM) package/rel/xconfig_rtos.tar.dep
|
||||
|
||||
clean:: .clean
|
||||
-$(RM) .libraries $(wildcard .libraries,*)
|
||||
clean::
|
||||
-$(RM) .dlls $(wildcard .dlls,*)
|
||||
#
|
||||
# The following clean rule removes user specified
|
||||
# generated files or directories.
|
||||
#
|
||||
|
||||
ifneq (clean,$(MAKECMDGOALS))
|
||||
ifeq (,$(wildcard package))
|
||||
$(shell $(MKDIR) package)
|
||||
endif
|
||||
ifeq (,$(wildcard package/cfg))
|
||||
$(shell $(MKDIR) package/cfg)
|
||||
endif
|
||||
ifeq (,$(wildcard package/lib))
|
||||
$(shell $(MKDIR) package/lib)
|
||||
endif
|
||||
ifeq (,$(wildcard package/rel))
|
||||
$(shell $(MKDIR) package/rel)
|
||||
endif
|
||||
ifeq (,$(wildcard package/internal))
|
||||
$(shell $(MKDIR) package/internal)
|
||||
endif
|
||||
endif
|
||||
clean::
|
||||
-$(RMDIR) package
|
||||
|
||||
include custom.mak
|
7
.config/xconfig_rtos/package.xdc
Normal file
7
.config/xconfig_rtos/package.xdc
Normal file
|
@ -0,0 +1,7 @@
|
|||
/*!
|
||||
* Package generated by xdc.tools.configuro
|
||||
*
|
||||
* @_nodoc
|
||||
*/
|
||||
package xconfig_rtos {
|
||||
}
|
20
.config/xconfig_rtos/package.xs
Normal file
20
.config/xconfig_rtos/package.xs
Normal file
|
@ -0,0 +1,20 @@
|
|||
/* THIS IS A GENERATED FILE -- DO NOT EDIT */
|
||||
|
||||
/* return the names of the generated config objects */
|
||||
function getLibs(prog) {
|
||||
/* for programs, push the generated config object file into the
|
||||
* generated linker command file.
|
||||
*/
|
||||
/* replace the last period in the name by an underscore */
|
||||
var name = "package/cfg/" + prog.name.replace(/\.([^.]*)$/, "_$1");
|
||||
/* base is a hack until we add cfgName to Program */
|
||||
var base = "package/cfg/" + prog.name.replace(/\.([^.]*)$/, "");
|
||||
var suffix = prog.build.target.suffix;
|
||||
|
||||
var libs = [
|
||||
// name + '.o' + suffix,
|
||||
base + '_p' + suffix + '.o' + suffix
|
||||
];
|
||||
|
||||
return libs.join(';');
|
||||
}
|
0
.config/xconfig_rtos/package/.vers_b160
Normal file
0
.config/xconfig_rtos/package/.vers_b160
Normal file
0
.config/xconfig_rtos/package/.vers_g180
Normal file
0
.config/xconfig_rtos/package/.vers_g180
Normal file
0
.config/xconfig_rtos/package/.vers_r170
Normal file
0
.config/xconfig_rtos/package/.vers_r170
Normal file
0
.config/xconfig_rtos/package/.xdc-B06
Normal file
0
.config/xconfig_rtos/package/.xdc-B06
Normal file
9
.config/xconfig_rtos/package/build.cfg
Normal file
9
.config/xconfig_rtos/package/build.cfg
Normal file
|
@ -0,0 +1,9 @@
|
|||
if (pkg.$vers.length >= 3) {
|
||||
pkg.$vers.push(Packages.xdc.services.global.Vers.getDate(xdc.csd() + '/..'));
|
||||
}
|
||||
|
||||
pkg.build.libraries = [
|
||||
];
|
||||
|
||||
pkg.build.libDesc = [
|
||||
];
|
11
.config/xconfig_rtos/package/cfg/rtos.xem4f.mak
Normal file
11
.config/xconfig_rtos/package/cfg/rtos.xem4f.mak
Normal file
|
@ -0,0 +1,11 @@
|
|||
#
|
||||
# Do not edit this file. This file is generated from
|
||||
# package.bld. Any modifications to this file will be
|
||||
# overwritten whenever makefiles are re-generated.
|
||||
#
|
||||
# target compatibility key = ti.targets.arm.elf.M4F{1,0,20.2,7
|
||||
#
|
||||
rtos.xem4f: package/cfg/rtos.xem4f.mak
|
||||
|
||||
clean::
|
||||
-$(RM) package/cfg/rtos.xem4f.mak
|
268
.config/xconfig_rtos/package/cfg/rtos_pem4f.cfg
Normal file
268
.config/xconfig_rtos/package/cfg/rtos_pem4f.cfg
Normal file
|
@ -0,0 +1,268 @@
|
|||
/*
|
||||
* ======== package/cfg/rtos_pem4f.cfg ========
|
||||
* This generated configuration script runs the user's configuration script
|
||||
* the context of a specific target and platform in order to generate
|
||||
* all the files necessary to create an executable; e.g., linker command
|
||||
* files, static C/C++ data structures, etc.
|
||||
*/
|
||||
|
||||
/*
|
||||
* ======== _applyChanges ========
|
||||
* Changes that bring the build target to the state at the end of the build
|
||||
* model
|
||||
*/
|
||||
function _applyChanges(obj, chgObj) {
|
||||
var wasSealed = false;
|
||||
if (obj.$sealed) {
|
||||
wasSealed = true;
|
||||
obj.$unseal();
|
||||
}
|
||||
for (var prop in chgObj) {
|
||||
if (typeof obj[prop] == 'object' && obj[prop] != undefined) {
|
||||
if ("$category" in obj[prop] && obj[prop].$category == "Vector") {
|
||||
obj[prop].length = chgObj[prop].length;
|
||||
for (var i = 0; i < chgObj[prop].length; i++) {
|
||||
if (obj[prop].length < i + 1) {
|
||||
obj[prop].length++;
|
||||
}
|
||||
obj[prop][i] = chgObj[prop][i];
|
||||
}
|
||||
}
|
||||
else {
|
||||
_applyChanges(obj[prop], chgObj[prop]);
|
||||
}
|
||||
}
|
||||
else {
|
||||
obj[prop] = chgObj[prop];
|
||||
}
|
||||
}
|
||||
if (wasSealed) {
|
||||
obj.$seal();
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* ======== _runescape ========
|
||||
* Recursive unescape to decode serialized strings
|
||||
*/
|
||||
function _runescape(obj) {
|
||||
for (var i in obj) {
|
||||
if (obj[i] != null) {
|
||||
if (typeof obj[i] == 'string') {
|
||||
obj[i] = unescape(obj[i]);
|
||||
}
|
||||
else if (typeof obj[i] == 'object') {
|
||||
_runescape(obj[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* ======== _getPlatCfg ========
|
||||
*/
|
||||
function _getPlatCfg() {
|
||||
var tmp = {};
|
||||
_runescape(tmp);
|
||||
return (tmp);
|
||||
}
|
||||
/*
|
||||
* ======== _cfginit ========
|
||||
*/
|
||||
function _cfginit() {
|
||||
xdc.loadPackage('xdc.services.intern.cmd');
|
||||
var prog = xdc.om['xdc.cfg.Program'];
|
||||
|
||||
/* initialize prog attrs from build model */
|
||||
var build = {
|
||||
profile: "release",
|
||||
cfgScript: "C%3A/Users/askillorin/Documents/ece3849_lab3_starter/rtos.cfg",
|
||||
cfgHome: "xconfig_rtos",
|
||||
cfgArgs: "null",
|
||||
cfgArgsEncoded: true,
|
||||
releases: {
|
||||
0: {
|
||||
name: "xconfig_rtos",
|
||||
attrs: {
|
||||
prefix: "",
|
||||
label: "default"
|
||||
},
|
||||
otherFiles: {},
|
||||
excludeDirs: {}
|
||||
}
|
||||
},
|
||||
prelink: false
|
||||
};
|
||||
_runescape(build);
|
||||
build.cfgArgs = null;
|
||||
build.target = xdc.module("ti.targets.arm.elf.M4F");
|
||||
var targChange = {
|
||||
platforms: [
|
||||
"ti.platforms.tiva%3ATM4C1294NCPDT%3A1"
|
||||
],
|
||||
version: "ti.targets.arm.elf.M4F%7B1%2C0%2C20.2%2C7",
|
||||
extensions: {
|
||||
".sem4fe": {
|
||||
suf: ".sem4fe",
|
||||
typ: "asm"
|
||||
},
|
||||
".sem4f": {
|
||||
suf: ".sem4f",
|
||||
typ: "asm"
|
||||
},
|
||||
".sv7M4": {
|
||||
suf: ".sv7M4",
|
||||
typ: "asm"
|
||||
},
|
||||
".sv7M": {
|
||||
suf: ".sv7M",
|
||||
typ: "asm"
|
||||
}
|
||||
},
|
||||
rootDir: "C%3A/ti/ccs1271/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS",
|
||||
ccOpts: {
|
||||
prefix: "-mv7M4%20--code_state%3D16%20--float_support%3DFPv4SPD16%20-me%20-O1%20--opt_for_speed%3D2%20--include_path%3D%22C%3A/Users/askillorin/Documents/ece3849_lab3_starter%22%20--include_path%3D%22C%3A/Users/askillorin/Documents/ece3849_lab3_starter%22%20--include_path%3D%22C%3A/ti/ccs1271/tirtos_tivac_2_16_01_14/products/TivaWare_C_Series-2.1.1.71b%22%20--include_path%3D%22C%3A/ti/ccs1271/tirtos_tivac_2_16_01_14/products/bios_6_45_01_29/packages/ti/sysbios/posix%22%20--include_path%3D%22C%3A/ti/ccs1271/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/include%22%20--define%3Dccs%3D%22ccs%22%20--define%3DPART_TM4C1294NCPDT%20--define%3Dccs%20--define%3DTIVAWARE%20-g%20--gcc%20--diag_warning%3D225%20--diag_warning%3D255%20--diag_wrap%3Doff%20--display_error_number%20--gen_func_subsections%3Don%20--abi%3Deabi%20%20%20-qq%20-pdsw225"
|
||||
},
|
||||
rawVersion: "20.2.7"
|
||||
};
|
||||
_runescape(targChange);
|
||||
_applyChanges(build.target, targChange);
|
||||
|
||||
prog.build = build;
|
||||
|
||||
prog.name = "rtos.xem4f";
|
||||
prog.cfgBase = "package/cfg/rtos_pem4f";
|
||||
|
||||
prog.endian = prog.build.target.model.endian;
|
||||
prog.codeModel = prog.build.target.model.codeModel;
|
||||
|
||||
/* use the platform package's Platform module */
|
||||
var Platform = xdc.useModule("ti.platforms.tiva.Platform");
|
||||
var platParams = _getPlatCfg();
|
||||
var invalidParams = [];
|
||||
for (var prop in platParams) {
|
||||
if (!(prop in Platform.PARAMS)) {
|
||||
delete platParams[prop];
|
||||
invalidParams.push(prop);
|
||||
}
|
||||
}
|
||||
prog.platformName = "ti.platforms.tiva:TM4C1294NCPDT";
|
||||
prog.platform = Platform.create("TM4C1294NCPDT", platParams);
|
||||
for (var i = 0; i < invalidParams.length; i++) {
|
||||
Platform.$logWarning("The parameter '" + invalidParams[i] + "' is " +
|
||||
"passed to this platform instance through Build.platformTable, " +
|
||||
"but the instance does not have a configuration parameter with " +
|
||||
"that name.", prog.platform, "TM4C1294NCPDT");
|
||||
}
|
||||
|
||||
/* record the executable's package name */
|
||||
prog.buildPackage = "xconfig_rtos";
|
||||
|
||||
/* record build-model information required during config generation */
|
||||
prog.$$bind("$$isasm", 0);
|
||||
prog.$$bind("$$isrom", 0);
|
||||
prog.$$bind("$$gentab", [
|
||||
]);
|
||||
|
||||
/* bind prog to an appropriate execution context */
|
||||
prog.cpu = prog.platform.getExeContext(prog);
|
||||
|
||||
/* import the target's run-time support pkg */
|
||||
xdc.loadPackage("ti.targets.arm.rtsarm");
|
||||
}
|
||||
|
||||
/* function to import the cfg script's package */
|
||||
function _userscript(script) {
|
||||
var home;
|
||||
var spath;
|
||||
home = xdc.loadPackage("xconfig_rtos");
|
||||
|
||||
xdc.om.$$bind('$homepkg', home);
|
||||
|
||||
var cfgScript = "C:/Users/askillorin/Documents/ece3849_lab3_starter/rtos.cfg";
|
||||
if (!script) {
|
||||
utils.loadCapsule(cfgScript, false, spath);
|
||||
}
|
||||
else {
|
||||
/* set up the same environment that loadCapsule would */
|
||||
var $saveCsd = utils.csd;
|
||||
var $cfgFile = utils.findFile(cfgScript, spath);
|
||||
var cname = cfgScript;
|
||||
if ($cfgFile) {
|
||||
$cfgFile = java.io.File($cfgFile);
|
||||
utils.csd = $cfgFile.getParentFile().getCanonicalPath();
|
||||
cname = "" + $cfgFile.getCanonicalPath();
|
||||
}
|
||||
|
||||
/* create the capsule object */
|
||||
var cap = {
|
||||
prototype: utils.global,
|
||||
$path: cname,
|
||||
$private: {path: cname},
|
||||
$capsule: undefined, /* set to cap below */
|
||||
};
|
||||
|
||||
/* 'this.$capsule' is always cap object */
|
||||
cap.$capsule = cap;
|
||||
|
||||
/* save the capsule object */
|
||||
utils.$$capmap[cname] = cap;
|
||||
|
||||
try {
|
||||
var cx =
|
||||
Packages.org.mozilla.javascript.Context.getCurrentContext();
|
||||
var rdr = new
|
||||
java.io.BufferedReader(new java.io.StringReader(script));
|
||||
Packages.config.Shell.evaluateLoad(cx, cap, rdr, cname, 1);
|
||||
}
|
||||
finally {
|
||||
rdr.close();
|
||||
utils.csd = $saveCsd;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function _postinit() {
|
||||
var cout = null;
|
||||
|
||||
var Program = xdc.om['xdc.cfg.Program'];
|
||||
/* get the exec command for this executable */
|
||||
if (Program.execCmd == null) {
|
||||
Program.execCmd = Program.platform.getExecCmd(Program,
|
||||
xdc.om["ti.platforms.tiva"].packageBase);
|
||||
}
|
||||
cout = "define EXEC." + Program.name + '\n\n';
|
||||
cout += Program.execCmd;
|
||||
cout += "\nendef\n\n";
|
||||
|
||||
/* if SourceDir generates a makefile, we need to run it */
|
||||
_genSourceDirMak("package/cfg/rtos_pem4f", "rtos.pem4f");
|
||||
|
||||
utils.genDep("package/cfg/rtos_pem4f", "xconfig_rtos", utils.loadedFiles, cout, null);
|
||||
}
|
||||
|
||||
function _genSourceDirMak(cfgBase, cfgName)
|
||||
{
|
||||
var SourceDir = xdc.om['xdc.cfg.SourceDir'];
|
||||
|
||||
if (SourceDir && SourceDir.$instances.length > 0) {
|
||||
/* construct rule to run SourceDir generated makefile */
|
||||
var make = "\t$(MAKE) -f "
|
||||
+ SourceDir.outputDir + "/" + SourceDir.makefileName;
|
||||
|
||||
/* this file is included by package.mak (if it exists) */
|
||||
var file = new java.io.File(cfgBase + ".cfg.mak");
|
||||
file["delete"]();
|
||||
var out = new java.io.BufferedWriter(new java.io.FileWriter(file));
|
||||
|
||||
/* add rules to run SourceDir generated makefile */
|
||||
out.write("# invoke SourceDir generated makefile for " + cfgName
|
||||
+ "\n" + cfgName + ": .libraries," + cfgName
|
||||
+ "\n.libraries," + cfgName + ": " + cfgBase + ".xdl\n"
|
||||
+ make + "\n\n"
|
||||
+ "clean::\n" + make + " clean\n\n"
|
||||
);
|
||||
out.close();
|
||||
out = null;
|
||||
}
|
||||
}
|
46
.config/xconfig_rtos/package/cfg/rtos_pem4f.mak
Normal file
46
.config/xconfig_rtos/package/cfg/rtos_pem4f.mak
Normal file
|
@ -0,0 +1,46 @@
|
|||
#
|
||||
# Do not edit this file. This file is generated from
|
||||
# package.bld. Any modifications to this file will be
|
||||
# overwritten whenever makefiles are re-generated.
|
||||
#
|
||||
# target compatibility key = ti.targets.arm.elf.M4F{1,0,20.2,7
|
||||
#
|
||||
ifeq (,$(MK_NOGENDEPS))
|
||||
-include package/cfg/rtos_pem4f.oem4f.dep
|
||||
package/cfg/rtos_pem4f.oem4f.dep: ;
|
||||
endif
|
||||
|
||||
package/cfg/rtos_pem4f.oem4f: | .interfaces
|
||||
package/cfg/rtos_pem4f.oem4f: package/cfg/rtos_pem4f.c package/cfg/rtos_pem4f.mak
|
||||
@$(RM) $@.dep
|
||||
$(RM) $@
|
||||
@$(MSG) clem4f $< ...
|
||||
$(ti.targets.arm.elf.M4F.rootDir)/bin/armcl -c -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me -O1 --opt_for_speed=2 --include_path="C:/Users/askillorin/Documents/ece3849_lab3_starter" --include_path="C:/Users/askillorin/Documents/ece3849_lab3_starter" --include_path="C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/TivaWare_C_Series-2.1.1.71b" --include_path="C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/bios_6_45_01_29/packages/ti/sysbios/posix" --include_path="C:/ti/ccs1271/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/include" --define=ccs="ccs" --define=PART_TM4C1294NCPDT --define=ccs --define=TIVAWARE -g --gcc --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi -qq -pdsw225 -ms --fp_mode=strict --endian=little -mv7M4 --abi=eabi --float_support=fpv4spd16 -eo.oem4f -ea.sem4f -Dxdc_cfg__xheader__='"xconfig_rtos/package/cfg/rtos_pem4f.h"' -Dxdc_target_name__=M4F -Dxdc_target_types__=ti/targets/arm/elf/std.h -Dxdc_bld__profile_release -Dxdc_bld__vers_1_0_20_2_7 -O2 $(XDCINCS) -I$(ti.targets.arm.elf.M4F.rootDir)/include/rts -I$(ti.targets.arm.elf.M4F.rootDir)/include -fs=./package/cfg -fr=./package/cfg -fc $<
|
||||
$(MKDEP) -a $@.dep -p package/cfg -s oem4f $< -C -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me -O1 --opt_for_speed=2 --include_path="C:/Users/askillorin/Documents/ece3849_lab3_starter" --include_path="C:/Users/askillorin/Documents/ece3849_lab3_starter" --include_path="C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/TivaWare_C_Series-2.1.1.71b" --include_path="C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/bios_6_45_01_29/packages/ti/sysbios/posix" --include_path="C:/ti/ccs1271/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/include" --define=ccs="ccs" --define=PART_TM4C1294NCPDT --define=ccs --define=TIVAWARE -g --gcc --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi -qq -pdsw225 -ms --fp_mode=strict --endian=little -mv7M4 --abi=eabi --float_support=fpv4spd16 -eo.oem4f -ea.sem4f -Dxdc_cfg__xheader__='"xconfig_rtos/package/cfg/rtos_pem4f.h"' -Dxdc_target_name__=M4F -Dxdc_target_types__=ti/targets/arm/elf/std.h -Dxdc_bld__profile_release -Dxdc_bld__vers_1_0_20_2_7 -O2 $(XDCINCS) -I$(ti.targets.arm.elf.M4F.rootDir)/include/rts -I$(ti.targets.arm.elf.M4F.rootDir)/include -fs=./package/cfg -fr=./package/cfg
|
||||
-@$(FIXDEP) $@.dep $@.dep
|
||||
|
||||
package/cfg/rtos_pem4f.oem4f: export C_DIR=
|
||||
package/cfg/rtos_pem4f.oem4f: PATH:=$(ti.targets.arm.elf.M4F.rootDir)/bin/;$(PATH)
|
||||
package/cfg/rtos_pem4f.oem4f: Path:=$(ti.targets.arm.elf.M4F.rootDir)/bin/;$(PATH)
|
||||
|
||||
package/cfg/rtos_pem4f.sem4f: | .interfaces
|
||||
package/cfg/rtos_pem4f.sem4f: package/cfg/rtos_pem4f.c package/cfg/rtos_pem4f.mak
|
||||
@$(RM) $@.dep
|
||||
$(RM) $@
|
||||
@$(MSG) clem4f -n $< ...
|
||||
$(ti.targets.arm.elf.M4F.rootDir)/bin/armcl -c -n -s --symdebug:none -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me -O1 --opt_for_speed=2 --include_path="C:/Users/askillorin/Documents/ece3849_lab3_starter" --include_path="C:/Users/askillorin/Documents/ece3849_lab3_starter" --include_path="C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/TivaWare_C_Series-2.1.1.71b" --include_path="C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/bios_6_45_01_29/packages/ti/sysbios/posix" --include_path="C:/ti/ccs1271/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/include" --define=ccs="ccs" --define=PART_TM4C1294NCPDT --define=ccs --define=TIVAWARE -g --gcc --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi -qq -pdsw225 --endian=little -mv7M4 --abi=eabi --float_support=fpv4spd16 -eo.oem4f -ea.sem4f -Dxdc_cfg__xheader__='"xconfig_rtos/package/cfg/rtos_pem4f.h"' -Dxdc_target_name__=M4F -Dxdc_target_types__=ti/targets/arm/elf/std.h -Dxdc_bld__profile_release -Dxdc_bld__vers_1_0_20_2_7 -O2 $(XDCINCS) -I$(ti.targets.arm.elf.M4F.rootDir)/include/rts -I$(ti.targets.arm.elf.M4F.rootDir)/include -fs=./package/cfg -fr=./package/cfg -fc $<
|
||||
$(MKDEP) -a $@.dep -p package/cfg -s oem4f $< -C -n -s --symdebug:none -mv7M4 --code_state=16 --float_support=FPv4SPD16 -me -O1 --opt_for_speed=2 --include_path="C:/Users/askillorin/Documents/ece3849_lab3_starter" --include_path="C:/Users/askillorin/Documents/ece3849_lab3_starter" --include_path="C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/TivaWare_C_Series-2.1.1.71b" --include_path="C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/bios_6_45_01_29/packages/ti/sysbios/posix" --include_path="C:/ti/ccs1271/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/include" --define=ccs="ccs" --define=PART_TM4C1294NCPDT --define=ccs --define=TIVAWARE -g --gcc --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi -qq -pdsw225 --endian=little -mv7M4 --abi=eabi --float_support=fpv4spd16 -eo.oem4f -ea.sem4f -Dxdc_cfg__xheader__='"xconfig_rtos/package/cfg/rtos_pem4f.h"' -Dxdc_target_name__=M4F -Dxdc_target_types__=ti/targets/arm/elf/std.h -Dxdc_bld__profile_release -Dxdc_bld__vers_1_0_20_2_7 -O2 $(XDCINCS) -I$(ti.targets.arm.elf.M4F.rootDir)/include/rts -I$(ti.targets.arm.elf.M4F.rootDir)/include -fs=./package/cfg -fr=./package/cfg
|
||||
-@$(FIXDEP) $@.dep $@.dep
|
||||
|
||||
package/cfg/rtos_pem4f.sem4f: export C_DIR=
|
||||
package/cfg/rtos_pem4f.sem4f: PATH:=$(ti.targets.arm.elf.M4F.rootDir)/bin/;$(PATH)
|
||||
package/cfg/rtos_pem4f.sem4f: Path:=$(ti.targets.arm.elf.M4F.rootDir)/bin/;$(PATH)
|
||||
|
||||
clean,em4f ::
|
||||
-$(RM) package/cfg/rtos_pem4f.oem4f
|
||||
-$(RM) package/cfg/rtos_pem4f.sem4f
|
||||
|
||||
rtos.pem4f: package/cfg/rtos_pem4f.oem4f package/cfg/rtos_pem4f.mak
|
||||
|
||||
clean::
|
||||
-$(RM) package/cfg/rtos_pem4f.mak
|
84
.config/xconfig_rtos/package/package.bld.xml
Normal file
84
.config/xconfig_rtos/package/package.bld.xml
Normal file
|
@ -0,0 +1,84 @@
|
|||
<?xml version="1.0" encoding="windows-1252"?>
|
||||
<!-- This file conforms to the DTD xdc/bld/build.dtd -->
|
||||
<package name="xconfig_rtos" version="" producerId="undefined">
|
||||
<units>
|
||||
</units>
|
||||
<sources>
|
||||
<srcFile name="package/cfg/rtos_pem4f.c"/>
|
||||
</sources>
|
||||
<configscripts>
|
||||
<srcFile name="C:/Users/askillorin/Documents/ece3849_lab3_starter/rtos.cfg"/>
|
||||
</configscripts>
|
||||
<makefiles>
|
||||
<srcFile name="package.mak" src="package.bld"/>
|
||||
<srcFile name="package/package.xdc.dep" src="package.xdc"/>
|
||||
<srcFile name="package/cfg/rtos_pem4f.mak" src="package.bld"/>
|
||||
<srcFile name="package/cfg/rtos_pem4f.oem4f.dep" src="package/cfg/rtos_pem4f.c"/>
|
||||
<srcFile name="package/cfg/rtos_pem4f.dep" src="package/cfg/rtos_pem4f.cfg"/>
|
||||
<srcFile name="package/cfg/rtos.xem4f.mak" src="package.bld"/>
|
||||
<srcFile name="package/rel/xconfig_rtos.tar.dep" src="package/rel/xconfig_rtos.xdc.inc"/>
|
||||
</makefiles>
|
||||
<targets>
|
||||
<target name="ti.targets.arm.elf.M4F"
|
||||
version="ti.targets.arm.elf.M4F{1,0,20.2,7"
|
||||
rawVersion="20.2.7"
|
||||
platform="ti.platforms.tiva:TM4C1294NCPDT:1"
|
||||
isa="v7M4"
|
||||
suffix="em4f"
|
||||
rootDir="C:/ti/ccs1271/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS"
|
||||
os="undefined"
|
||||
rts="ti.targets.arm.rtsarm">
|
||||
<model endian="little"
|
||||
codeModel="thumb2"
|
||||
dataModel="undefined"/>
|
||||
</target>
|
||||
</targets>
|
||||
<libraries>
|
||||
</libraries>
|
||||
<configurations>
|
||||
<configuration name="rtos"
|
||||
pname="rtos.pem4f"
|
||||
target="ti.targets.arm.elf.M4F"
|
||||
platform="ti.platforms.tiva:TM4C1294NCPDT"
|
||||
profile="release"
|
||||
isPartial="false"
|
||||
xCfgScript="package/cfg/rtos_pem4f.cfg"
|
||||
xCfgPrefix="package/cfg/rtos_pem4f"
|
||||
cfgScript="C:/Users/askillorin/Documents/ece3849_lab3_starter/rtos.cfg"
|
||||
cfgArgs="null"
|
||||
/>
|
||||
</configurations>
|
||||
<executables>
|
||||
<executable name="rtos"
|
||||
pname="rtos.xem4f"
|
||||
target="ti.targets.arm.elf.M4F"
|
||||
platform="ti.platforms.tiva:TM4C1294NCPDT"
|
||||
profile="release"
|
||||
xCfgScript="package/cfg/rtos_pem4f.cfg"
|
||||
xCfgPrefix="package/cfg/rtos_pem4f"
|
||||
cfgScript="C:/Users/askillorin/Documents/ece3849_lab3_starter/rtos.cfg"
|
||||
cfgArgs="null"
|
||||
/>
|
||||
</executables>
|
||||
<tests>
|
||||
<test exeName="rtos.xem4f"
|
||||
args=""
|
||||
groupName="rtos.xem4f"
|
||||
refOutput="undefined"
|
||||
refExitCode="0"
|
||||
execArgs=""
|
||||
/>
|
||||
</tests>
|
||||
<releases relDir="package/rel/">
|
||||
<release name="xconfig_rtos"
|
||||
pname="xconfig_rtos.tar"
|
||||
label="default"
|
||||
>
|
||||
<file name="package/package.bld.xml"/>
|
||||
<file name="package/build.cfg"/>
|
||||
<file name="package/package.xdc.inc"/>
|
||||
</release>
|
||||
</releases>
|
||||
<repositories>
|
||||
</repositories>
|
||||
</package>
|
13
.config/xconfig_rtos/package/package.defs.h
Normal file
13
.config/xconfig_rtos/package/package.defs.h
Normal file
|
@ -0,0 +1,13 @@
|
|||
/*
|
||||
* Do not modify this file; it is automatically
|
||||
* generated and any modifications will be overwritten.
|
||||
*
|
||||
* @(#) xdc-B06
|
||||
*/
|
||||
|
||||
#ifndef xconfig_rtos__
|
||||
#define xconfig_rtos__
|
||||
|
||||
|
||||
|
||||
#endif /* xconfig_rtos__ */
|
53
.config/xconfig_rtos/package/package.xdc.dep
Normal file
53
.config/xconfig_rtos/package/package.xdc.dep
Normal file
|
@ -0,0 +1,53 @@
|
|||
clean::
|
||||
$(RM) package/xconfig_rtos.sch
|
||||
$(RM) package/.vers_g180
|
||||
$(RM) package/.vers_r170
|
||||
$(RM) package/.vers_b160
|
||||
$(RM) package/.xdc-B06
|
||||
$(RM) package/xconfig_rtos.java
|
||||
$(RM) package/xconfig_rtos.class
|
||||
$(RM) package/package_xconfig_rtos.c
|
||||
$(RM) package/package.defs.h
|
||||
$(RM) package/xconfig_rtos.ccs
|
||||
|
||||
.interfaces: package/xconfig_rtos.sch package/.vers_g180 package/.vers_r170 package/.vers_b160 package/.xdc-B06 package/xconfig_rtos.java package/package_xconfig_rtos.c package/package.defs.h package/xconfig_rtos.ccs
|
||||
package/package.xdc.inc: package/.vers_g180
|
||||
package/.vers_g180:
|
||||
package/package.xdc.inc: package/.vers_r170
|
||||
package/.vers_r170:
|
||||
package/package.xdc.inc: package/.vers_b160
|
||||
package/.vers_b160:
|
||||
|
||||
.interfaces:
|
||||
|
||||
# schema include file dependencies
|
||||
package.xs:
|
||||
package/package.xdc.inc: package.xs
|
||||
|
||||
# schema update dependencies
|
||||
package/package.xdc.inc: xdc/IPackage.xdc
|
||||
xdc/IPackage.xdc:
|
||||
vpath xdc/IPackage.xdc $(XPKGVPATH)
|
||||
|
||||
ifneq (clean,$(MAKECMDGOALS))
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/shelf/java/antlr.jar:
|
||||
package/package.xdc.inc: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/shelf/java/antlr.jar
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/services/global/java/package.jar:
|
||||
package/package.xdc.inc: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/services/global/java/package.jar
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/shelf/java/ecj.jar:
|
||||
package/package.xdc.inc: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/shelf/java/ecj.jar
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/shelf/java/js.jar:
|
||||
package/package.xdc.inc: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/shelf/java/js.jar
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/services/intern/xsr/java/package.jar:
|
||||
package/package.xdc.inc: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/services/intern/xsr/java/package.jar
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/services/intern/gen/java/package.jar:
|
||||
package/package.xdc.inc: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/services/intern/gen/java/package.jar
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/services/spec/java/package.jar:
|
||||
package/package.xdc.inc: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/services/spec/java/package.jar
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/services/intern/cmd/java/package.jar:
|
||||
package/package.xdc.inc: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/services/intern/cmd/java/package.jar
|
||||
C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/shelf/java/tar.jar:
|
||||
package/package.xdc.inc: C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/xdc/shelf/java/tar.jar
|
||||
endif
|
||||
# goals for files generated during schema generation but unspecified by schema's pattern rule
|
||||
|
12
.config/xconfig_rtos/package/package.xdc.inc
Normal file
12
.config/xconfig_rtos/package/package.xdc.inc
Normal file
|
@ -0,0 +1,12 @@
|
|||
package.xdc
|
||||
package.xs
|
||||
package/xconfig_rtos.sch
|
||||
package/.vers_g180
|
||||
package/.vers_r170
|
||||
package/.vers_b160
|
||||
package/.xdc-B06
|
||||
package/xconfig_rtos.java
|
||||
package/xconfig_rtos.class
|
||||
package/package_xconfig_rtos.c
|
||||
package/package.defs.h
|
||||
package/xconfig_rtos.ccs
|
21
.config/xconfig_rtos/package/package_xconfig_rtos.c
Normal file
21
.config/xconfig_rtos/package/package_xconfig_rtos.c
Normal file
|
@ -0,0 +1,21 @@
|
|||
/*
|
||||
* Do not modify this file; it is automatically
|
||||
* generated and any modifications will be overwritten.
|
||||
*
|
||||
* @(#) xdc-B06
|
||||
*/
|
||||
|
||||
#include <xdc/std.h>
|
||||
|
||||
__FAR__ char xconfig_rtos__dummy__;
|
||||
|
||||
#define __xdc_PKGVERS null
|
||||
#define __xdc_PKGNAME xconfig_rtos
|
||||
#define __xdc_PKGPREFIX xconfig_rtos_
|
||||
|
||||
#ifdef __xdc_bld_pkg_c__
|
||||
#define __stringify(a) #a
|
||||
#define __local_include(a) __stringify(a)
|
||||
#include __local_include(__xdc_bld_pkg_c__)
|
||||
#endif
|
||||
|
3
.config/xconfig_rtos/package/rel/xconfig_rtos.xdc.inc
Normal file
3
.config/xconfig_rtos/package/rel/xconfig_rtos.xdc.inc
Normal file
|
@ -0,0 +1,3 @@
|
|||
package/package.bld.xml
|
||||
package/build.cfg
|
||||
package/package.xdc.inc
|
0
.config/xconfig_rtos/package/rel/xconfig_rtos.xdc.ninc
Normal file
0
.config/xconfig_rtos/package/rel/xconfig_rtos.xdc.ninc
Normal file
BIN
.config/xconfig_rtos/package/xconfig_rtos.ccs
Normal file
BIN
.config/xconfig_rtos/package/xconfig_rtos.ccs
Normal file
Binary file not shown.
BIN
.config/xconfig_rtos/package/xconfig_rtos.class
Normal file
BIN
.config/xconfig_rtos/package/xconfig_rtos.class
Normal file
Binary file not shown.
143
.config/xconfig_rtos/package/xconfig_rtos.java
Normal file
143
.config/xconfig_rtos/package/xconfig_rtos.java
Normal file
|
@ -0,0 +1,143 @@
|
|||
/*
|
||||
* Do not modify this file; it is automatically
|
||||
* generated and any modifications will be overwritten.
|
||||
*
|
||||
* @(#) xdc-B06
|
||||
*/
|
||||
import java.util.*;
|
||||
import org.mozilla.javascript.*;
|
||||
import xdc.services.intern.xsr.*;
|
||||
import xdc.services.spec.Session;
|
||||
|
||||
public class xconfig_rtos
|
||||
{
|
||||
static final String VERS = "@(#) xdc-B06\n";
|
||||
|
||||
static final Proto.Elm $$T_Bool = Proto.Elm.newBool();
|
||||
static final Proto.Elm $$T_Num = Proto.Elm.newNum();
|
||||
static final Proto.Elm $$T_Str = Proto.Elm.newStr();
|
||||
static final Proto.Elm $$T_Obj = Proto.Elm.newObj();
|
||||
|
||||
static final Proto.Fxn $$T_Met = new Proto.Fxn(null, null, 0, -1, false);
|
||||
static final Proto.Map $$T_Map = new Proto.Map($$T_Obj);
|
||||
static final Proto.Arr $$T_Vec = new Proto.Arr($$T_Obj);
|
||||
|
||||
static final XScriptO $$DEFAULT = Value.DEFAULT;
|
||||
static final Object $$UNDEF = Undefined.instance;
|
||||
|
||||
static final Proto.Obj $$Package = (Proto.Obj)Global.get("$$Package");
|
||||
static final Proto.Obj $$Module = (Proto.Obj)Global.get("$$Module");
|
||||
static final Proto.Obj $$Instance = (Proto.Obj)Global.get("$$Instance");
|
||||
static final Proto.Obj $$Params = (Proto.Obj)Global.get("$$Params");
|
||||
|
||||
static final Object $$objFldGet = Global.get("$$objFldGet");
|
||||
static final Object $$objFldSet = Global.get("$$objFldSet");
|
||||
static final Object $$proxyGet = Global.get("$$proxyGet");
|
||||
static final Object $$proxySet = Global.get("$$proxySet");
|
||||
static final Object $$delegGet = Global.get("$$delegGet");
|
||||
static final Object $$delegSet = Global.get("$$delegSet");
|
||||
|
||||
Scriptable xdcO;
|
||||
Session ses;
|
||||
Value.Obj om;
|
||||
|
||||
boolean isROV;
|
||||
boolean isCFG;
|
||||
|
||||
Proto.Obj pkgP;
|
||||
Value.Obj pkgV;
|
||||
|
||||
ArrayList<Object> imports = new ArrayList<Object>();
|
||||
ArrayList<Object> loggables = new ArrayList<Object>();
|
||||
ArrayList<Object> mcfgs = new ArrayList<Object>();
|
||||
ArrayList<Object> icfgs = new ArrayList<Object>();
|
||||
ArrayList<String> inherits = new ArrayList<String>();
|
||||
ArrayList<Object> proxies = new ArrayList<Object>();
|
||||
ArrayList<Object> sizes = new ArrayList<Object>();
|
||||
ArrayList<Object> tdefs = new ArrayList<Object>();
|
||||
|
||||
void $$IMPORTS()
|
||||
{
|
||||
Global.callFxn("loadPackage", xdcO, "xdc");
|
||||
Global.callFxn("loadPackage", xdcO, "xdc.corevers");
|
||||
}
|
||||
|
||||
void $$OBJECTS()
|
||||
{
|
||||
pkgP = (Proto.Obj)om.bind("xconfig_rtos.Package", new Proto.Obj());
|
||||
pkgV = (Value.Obj)om.bind("xconfig_rtos", new Value.Obj("xconfig_rtos", pkgP));
|
||||
}
|
||||
|
||||
void $$SINGLETONS()
|
||||
{
|
||||
pkgP.init("xconfig_rtos.Package", (Proto.Obj)om.findStrict("xdc.IPackage.Module", "xconfig_rtos"));
|
||||
Scriptable cap = (Scriptable)Global.callFxn("loadCapsule", xdcO, "xconfig_rtos/package.xs");
|
||||
om.bind("xdc.IPackage$$capsule", cap);
|
||||
Object fxn;
|
||||
fxn = Global.get(cap, "init");
|
||||
if (fxn != null) pkgP.addFxn("init", (Proto.Fxn)om.findStrict("xdc.IPackage$$init", "xconfig_rtos"), fxn);
|
||||
fxn = Global.get(cap, "close");
|
||||
if (fxn != null) pkgP.addFxn("close", (Proto.Fxn)om.findStrict("xdc.IPackage$$close", "xconfig_rtos"), fxn);
|
||||
fxn = Global.get(cap, "validate");
|
||||
if (fxn != null) pkgP.addFxn("validate", (Proto.Fxn)om.findStrict("xdc.IPackage$$validate", "xconfig_rtos"), fxn);
|
||||
fxn = Global.get(cap, "exit");
|
||||
if (fxn != null) pkgP.addFxn("exit", (Proto.Fxn)om.findStrict("xdc.IPackage$$exit", "xconfig_rtos"), fxn);
|
||||
fxn = Global.get(cap, "getLibs");
|
||||
if (fxn != null) pkgP.addFxn("getLibs", (Proto.Fxn)om.findStrict("xdc.IPackage$$getLibs", "xconfig_rtos"), fxn);
|
||||
fxn = Global.get(cap, "getSects");
|
||||
if (fxn != null) pkgP.addFxn("getSects", (Proto.Fxn)om.findStrict("xdc.IPackage$$getSects", "xconfig_rtos"), fxn);
|
||||
pkgP.bind("$capsule", cap);
|
||||
pkgV.init2(pkgP, "xconfig_rtos", Value.DEFAULT, false);
|
||||
pkgV.bind("$name", "xconfig_rtos");
|
||||
pkgV.bind("$category", "Package");
|
||||
pkgV.bind("$$qn", "xconfig_rtos.");
|
||||
pkgV.bind("$vers", Global.newArray());
|
||||
Value.Map atmap = (Value.Map)pkgV.getv("$attr");
|
||||
atmap.seal("length");
|
||||
imports.clear();
|
||||
pkgV.bind("$imports", imports);
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("var pkg = xdc.om['xconfig_rtos'];\n");
|
||||
sb.append("if (pkg.$vers.length >= 3) {\n");
|
||||
sb.append("pkg.$vers.push(Packages.xdc.services.global.Vers.getDate(xdc.csd() + '/..'));\n");
|
||||
sb.append("}\n");
|
||||
sb.append("if ('xconfig_rtos$$stat$base' in xdc.om) {\n");
|
||||
sb.append("pkg.packageBase = xdc.om['xconfig_rtos$$stat$base'];\n");
|
||||
sb.append("pkg.packageRepository = xdc.om['xconfig_rtos$$stat$root'];\n");
|
||||
sb.append("}\n");
|
||||
sb.append("pkg.build.libraries = [\n");
|
||||
sb.append("];\n");
|
||||
sb.append("pkg.build.libDesc = [\n");
|
||||
sb.append("];\n");
|
||||
Global.eval(sb.toString());
|
||||
}
|
||||
|
||||
void $$INITIALIZATION()
|
||||
{
|
||||
Value.Obj vo;
|
||||
|
||||
if (isCFG) {
|
||||
}//isCFG
|
||||
Global.callFxn("init", pkgV);
|
||||
((Value.Arr)om.findStrict("$packages", "xconfig_rtos")).add(pkgV);
|
||||
}
|
||||
|
||||
public void exec( Scriptable xdcO, Session ses )
|
||||
{
|
||||
this.xdcO = xdcO;
|
||||
this.ses = ses;
|
||||
om = (Value.Obj)xdcO.get("om", null);
|
||||
|
||||
Object o = om.geto("$name");
|
||||
String s = o instanceof String ? (String)o : null;
|
||||
isCFG = s != null && s.equals("cfg");
|
||||
isROV = s != null && s.equals("rov");
|
||||
|
||||
$$IMPORTS();
|
||||
$$OBJECTS();
|
||||
if (isROV) {
|
||||
}//isROV
|
||||
$$SINGLETONS();
|
||||
$$INITIALIZATION();
|
||||
}
|
||||
}
|
0
.config/xconfig_rtos/package/xconfig_rtos.sch
Normal file
0
.config/xconfig_rtos/package/xconfig_rtos.sch
Normal file
448
.cproject
448
.cproject
|
@ -1,205 +1,249 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
||||
<storageModule configRelations="2" moduleId="org.eclipse.cdt.core.settings">
|
||||
<cconfiguration id="com.ti.ccstudio.buildDefinitions.TMS470.Debug.811962802">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.TMS470.Debug.811962802" moduleId="org.eclipse.cdt.core.settings" name="Debug">
|
||||
<macros>
|
||||
<stringMacro name="SW_ROOT" type="VALUE_PATH_DIR" value="${COM_TI_RTSC_TIRTOSTIVAC__TIVAWARE_C_SERIES}"/>
|
||||
</macros>
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="com.ti.ccs.project.ErrorParser"/>
|
||||
<extension id="com.ti.ccs.errorparser.CompilerErrorParser_TI" point="com.ti.ccs.project.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.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.811962802" name="Debug" parent="com.ti.ccstudio.buildDefinitions.TMS470.Debug">
|
||||
<folderInfo id="com.ti.ccstudio.buildDefinitions.TMS470.Debug.811962802." name="/" resourcePath="">
|
||||
<toolChain id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exe.DebugToolchain.575859901" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exe.linkerDebug.752584841">
|
||||
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.214035546" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
|
||||
<listOptionValue value="DEVICE_CONFIGURATION_ID=Cortex M.TM4C1294NCPDT"/>
|
||||
<listOptionValue value="DEVICE_CORE_ID=CORTEX_M4_0"/>
|
||||
<listOptionValue value="DEVICE_ENDIANNESS=little"/>
|
||||
<listOptionValue value="OUTPUT_FORMAT=ELF"/>
|
||||
<listOptionValue value="LINKER_COMMAND_FILE=tm4c1294ncpdt.cmd"/>
|
||||
<listOptionValue value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
|
||||
<listOptionValue value="CCS_MBS_VERSION=6.1.3"/>
|
||||
<listOptionValue value="PRODUCTS=com.ti.rtsc.TIRTOStivac:2.16.1.14;"/>
|
||||
<listOptionValue value="PRODUCT_MACRO_IMPORTS={"com.ti.rtsc.TIRTOStivac":["${COM_TI_RTSC_TIRTOSTIVAC_INCLUDE_PATH}","${COM_TI_RTSC_TIRTOSTIVAC_LIBRARY_PATH}","${COM_TI_RTSC_TIRTOSTIVAC_LIBRARIES}","${COM_TI_RTSC_TIRTOSTIVAC_SYMBOLS}","${COM_TI_RTSC_TIRTOSTIVAC_SYSCONFIG_MANIFEST}"]}"/>
|
||||
<listOptionValue value="OUTPUT_TYPE=executable"/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.2008839504" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="20.2.6.LTS" valueType="string"/>
|
||||
<targetPlatform id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exe.targetPlatformDebug.476422421" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exe.targetPlatformDebug"/>
|
||||
<builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exe.builderDebug.1661104788" name="GNU Make.Debug" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exe.builderDebug"/>
|
||||
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exe.compilerDebug.455841075" name="Arm Compiler" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exe.compilerDebug">
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.SILICON_VERSION.938153531" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.SILICON_VERSION.7M4" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.CODE_STATE.1336234527" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.CODE_STATE" value="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.CODE_STATE.16" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.ABI.305863088" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.ABI.eabi" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.FLOAT_SUPPORT.643365834" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.FLOAT_SUPPORT" value="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.FLOAT_SUPPORT.FPv4SPD16" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.GCC.408813242" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.GCC" value="true" valueType="boolean"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DEFINE.2075147882" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DEFINE" valueType="definedSymbols">
|
||||
<listOptionValue value="${COM_TI_RTSC_TIRTOSTIVAC_SYMBOLS}"/>
|
||||
<listOptionValue value="ccs="ccs""/>
|
||||
<listOptionValue value="PART_TM4C1294NCPDT"/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.LITTLE_ENDIAN.510775202" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.LITTLE_ENDIAN" value="true" valueType="boolean"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.OPT_LEVEL.204267078" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.OPT_LEVEL" value="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.OPT_LEVEL.1" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.OPT_FOR_SPEED.1446579360" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.OPT_FOR_SPEED" value="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.OPT_FOR_SPEED.3" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.INCLUDE_PATH.755767810" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.INCLUDE_PATH" valueType="includePath">
|
||||
<listOptionValue value="${COM_TI_RTSC_TIRTOSTIVAC_INCLUDE_PATH}"/>
|
||||
<listOptionValue value="${PROJECT_ROOT}"/>
|
||||
<listOptionValue value="${SW_ROOT}"/>
|
||||
<listOptionValue value="${CG_TOOL_ROOT}/include"/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DEBUGGING_MODEL.438646144" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DIAG_WARNING.1333491972" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DIAG_WARNING" valueType="stringList">
|
||||
<listOptionValue value="225"/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DIAG_WRAP.838791632" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DIAG_WRAP.off" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DISPLAY_ERROR_NUMBER.2052754743" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compiler.inputType__C_SRCS.1313449152" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compiler.inputType__C_SRCS"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compiler.inputType__CPP_SRCS.1811794717" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compiler.inputType__CPP_SRCS"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compiler.inputType__ASM_SRCS.2066152744" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compiler.inputType__ASM_SRCS"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compiler.inputType__ASM2_SRCS.1867906598" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.compiler.inputType__ASM2_SRCS"/>
|
||||
</tool>
|
||||
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exe.linkerDebug.752584841" name="Arm Linker" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exe.linkerDebug">
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.MAP_FILE.718846502" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.MAP_FILE" value=""${ProjName}.map"" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.STACK_SIZE.460493740" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.STACK_SIZE" value="2048" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.HEAP_SIZE.1231903231" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.HEAP_SIZE" value="0" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.OUTPUT_FILE.917912725" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.OUTPUT_FILE" value="${ProjName}.out" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.LIBRARY.1471815798" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.LIBRARY" valueType="libs">
|
||||
<listOptionValue value="${COM_TI_RTSC_TIRTOSTIVAC_LIBRARIES}"/>
|
||||
<listOptionValue value="libc.a"/>
|
||||
<listOptionValue value="${SW_ROOT}/grlib/ccs/Debug/grlib.lib"/>
|
||||
<listOptionValue value="${SW_ROOT}/driverlib/ccs/Debug/driverlib.lib"/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.SEARCH_PATH.264691617" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.SEARCH_PATH" valueType="libPaths">
|
||||
<listOptionValue value="${COM_TI_RTSC_TIRTOSTIVAC_LIBRARY_PATH}"/>
|
||||
<listOptionValue value="${CG_TOOL_ROOT}/lib"/>
|
||||
<listOptionValue value="${CG_TOOL_ROOT}/include"/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.DIAG_WRAP.1422286035" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.DIAG_WRAP.off" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.DISPLAY_ERROR_NUMBER.816512582" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.XML_LINK_INFO.1317425332" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.linkerID.XML_LINK_INFO" value=""${ProjName}_linkInfo.xml"" valueType="string"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exeLinker.inputType__CMD_SRCS.1246232400" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exeLinker.inputType__CMD_SRCS"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exeLinker.inputType__CMD2_SRCS.2092984050" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exeLinker.inputType__CMD2_SRCS"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exeLinker.inputType__GEN_CMDS.355708276" name="Generated Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.exeLinker.inputType__GEN_CMDS"/>
|
||||
</tool>
|
||||
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_20.2.hex.2076379637" name="Arm Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.TMS470_20.2.hex"/>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
<cconfiguration id="com.ti.ccstudio.buildDefinitions.TMS470.Release.59565178">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.TMS470.Release.59565178" moduleId="org.eclipse.cdt.core.settings" name="Release">
|
||||
<macros>
|
||||
<stringMacro name="SW_ROOT" type="VALUE_PATH_ANY" value="${COM_TI_RTSC_TIRTOSTIVAC__TIVAWARE_C_SERIES}"/>
|
||||
</macros>
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="com.ti.ccs.project.ErrorParser"/>
|
||||
<extension id="com.ti.ccs.errorparser.CompilerErrorParser_TI" point="com.ti.ccs.project.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.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.Release.59565178" name="Release" parent="com.ti.ccstudio.buildDefinitions.TMS470.Release">
|
||||
<folderInfo id="com.ti.ccstudio.buildDefinitions.TMS470.Release.59565178." name="/" resourcePath="">
|
||||
<toolChain id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exe.ReleaseToolchain.1480371794" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exe.ReleaseToolchain" targetTool="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exe.linkerRelease.1172657692">
|
||||
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1615398067" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
|
||||
<listOptionValue value="DEVICE_CONFIGURATION_ID=Cortex M.TM4C1294NCPDT"/>
|
||||
<listOptionValue value="DEVICE_ENDIANNESS=little"/>
|
||||
<listOptionValue value="OUTPUT_FORMAT=ELF"/>
|
||||
<listOptionValue value="CCS_MBS_VERSION=70.0.0"/>
|
||||
<listOptionValue value="LINKER_COMMAND_FILE=tm4c1294ncpdt.cmd"/>
|
||||
<listOptionValue value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
|
||||
<listOptionValue value="OUTPUT_TYPE=executable"/>
|
||||
<listOptionValue value="PRODUCTS=com.ti.rtsc.TIRTOStivac:2.16.1.14;"/>
|
||||
<listOptionValue value="PRODUCT_MACRO_IMPORTS={"com.ti.rtsc.TIRTOStivac":["${COM_TI_RTSC_TIRTOSTIVAC_INCLUDE_PATH}","${COM_TI_RTSC_TIRTOSTIVAC_LIBRARY_PATH}","${COM_TI_RTSC_TIRTOSTIVAC_LIBRARIES}","${COM_TI_RTSC_TIRTOSTIVAC_SYMBOLS}","${COM_TI_RTSC_TIRTOSTIVAC_SYSCONFIG_MANIFEST}"]}"/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1423362229" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="16.9.4.LTS" valueType="string"/>
|
||||
<targetPlatform id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exe.targetPlatformRelease.1392823537" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exe.targetPlatformRelease"/>
|
||||
<builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exe.builderRelease.135615871" keepEnvironmentInBuildfile="false" name="GNU Make" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exe.builderRelease"/>
|
||||
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exe.compilerRelease.1935517766" name="ARM Compiler" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exe.compilerRelease">
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.SILICON_VERSION.126363828" name="Target processor version (--silicon_version, -mv)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.SILICON_VERSION.7M4" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.CODE_STATE.1785921174" name="Designate code state, 16-bit (thumb) or 32-bit (--code_state)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.CODE_STATE" value="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.CODE_STATE.16" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.ABI.1295861815" name="Application binary interface. (--abi)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.ABI.eabi" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.FLOAT_SUPPORT.1693417824" name="Specify floating point support (--float_support)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.FLOAT_SUPPORT" value="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.FLOAT_SUPPORT.FPv4SPD16" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.GCC.60553596" name="Enable support for GCC extensions (DEPRECATED) (--gcc)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.GCC" value="true" valueType="boolean"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.DEFINE.1889023535" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.DEFINE" valueType="definedSymbols">
|
||||
<listOptionValue value="${COM_TI_RTSC_TIRTOSTIVAC_SYMBOLS}"/>
|
||||
<listOptionValue value="ccs="ccs""/>
|
||||
<listOptionValue value="PART_TM4C1294NCPDT"/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.DIAG_WARNING.1539249686" name="Treat diagnostic <id> as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.DIAG_WARNING" valueType="stringList">
|
||||
<listOptionValue value="225"/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.DISPLAY_ERROR_NUMBER.1532519648" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.DIAG_WRAP.1907959056" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.DIAG_WRAP.off" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.INCLUDE_PATH.424572233" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.INCLUDE_PATH" valueType="includePath">
|
||||
<listOptionValue value="${COM_TI_RTSC_TIRTOSTIVAC_INCLUDE_PATH}"/>
|
||||
<listOptionValue value="${PROJECT_ROOT}"/>
|
||||
<listOptionValue value="${CG_TOOL_ROOT}/include"/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.LITTLE_ENDIAN.298413901" name="Little endian code [See 'General' page to edit] (--little_endian, -me)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.LITTLE_ENDIAN" value="true" valueType="boolean"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compiler.inputType__C_SRCS.2018554747" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compiler.inputType__C_SRCS"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compiler.inputType__CPP_SRCS.645820533" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compiler.inputType__CPP_SRCS"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compiler.inputType__ASM_SRCS.1702151644" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compiler.inputType__ASM_SRCS"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compiler.inputType__ASM2_SRCS.1949741964" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compiler.inputType__ASM2_SRCS"/>
|
||||
</tool>
|
||||
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exe.linkerRelease.1172657692" name="ARM Linker" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exe.linkerRelease">
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.MAP_FILE.1459176998" name="Link information (map) listed into <file> (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.MAP_FILE" value=""${ProjName}.map"" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.STACK_SIZE.56136748" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.STACK_SIZE" value="512" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.HEAP_SIZE.229645010" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.HEAP_SIZE" value="0" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.OUTPUT_FILE.1647725922" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.OUTPUT_FILE" value="${ProjName}.out" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.XML_LINK_INFO.1582865100" name="Detailed link information data-base into <file> (--xml_link_info, -xml_link_info)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.XML_LINK_INFO" value=""${ProjName}_linkInfo.xml"" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.DISPLAY_ERROR_NUMBER.1255379064" name="Emit diagnostic identifier numbers (--display_error_number)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.DIAG_WRAP.373405607" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.DIAG_WRAP.off" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.SEARCH_PATH.685671336" name="Add <dir> to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.SEARCH_PATH" valueType="libPaths">
|
||||
<listOptionValue value="${COM_TI_RTSC_TIRTOSTIVAC_LIBRARY_PATH}"/>
|
||||
<listOptionValue value="${CG_TOOL_ROOT}/lib"/>
|
||||
<listOptionValue value="${CG_TOOL_ROOT}/include"/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.LIBRARY.1074603645" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.LIBRARY" valueType="libs">
|
||||
<listOptionValue value="${COM_TI_RTSC_TIRTOSTIVAC_LIBRARIES}"/>
|
||||
<listOptionValue value="libc.a"/>
|
||||
</option>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exeLinker.inputType__CMD_SRCS.684749391" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exeLinker.inputType__CMD_SRCS"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exeLinker.inputType__CMD2_SRCS.1543943384" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exeLinker.inputType__CMD2_SRCS"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exeLinker.inputType__GEN_CMDS.1484098492" name="Generated Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exeLinker.inputType__GEN_CMDS"/>
|
||||
</tool>
|
||||
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.hex.1381686598" name="ARM Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.hex"/>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<project id="ece3849_b2017_lab0.com.ti.ccstudio.buildDefinitions.TMS470.ProjectType.197673397" name="ARM" projectType="com.ti.ccstudio.buildDefinitions.TMS470.ProjectType"/>
|
||||
</storageModule>
|
||||
<storageModule moduleId="scannerConfiguration"/>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.language.mapping">
|
||||
<project-mappings>
|
||||
<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.asmSource" language="com.ti.ccstudio.core.TIASMLanguage"/>
|
||||
<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cHeader" language="com.ti.ccstudio.core.TIGCCLanguage"/>
|
||||
<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cSource" language="com.ti.ccstudio.core.TIGCCLanguage"/>
|
||||
<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxHeader" language="com.ti.ccstudio.core.TIGPPLanguage"/>
|
||||
<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxSource" language="com.ti.ccstudio.core.TIGPPLanguage"/>
|
||||
</project-mappings>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
|
||||
<storageModule configRelations="2" moduleId="org.eclipse.cdt.core.settings">
|
||||
<cconfiguration id="com.ti.ccstudio.buildDefinitions.TMS470.Debug.971072997">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.TMS470.Debug.971072997" moduleId="org.eclipse.cdt.core.settings" name="Debug">
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.rtsc.xdctools.parsers.ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactExtension="out" artifactName="${ProjName}" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" errorParsers="org.eclipse.rtsc.xdctools.parsers.ErrorParser;org.eclipse.cdt.core.GmakeErrorParser;com.ti.ccstudio.errorparser.CoffErrorParser;com.ti.ccstudio.errorparser.AsmErrorParser;com.ti.ccstudio.errorparser.LinkErrorParser" id="com.ti.ccstudio.buildDefinitions.TMS470.Debug.971072997" name="Debug" parent="com.ti.ccstudio.buildDefinitions.TMS470.Debug">
|
||||
<folderInfo id="com.ti.ccstudio.buildDefinitions.TMS470.Debug.971072997." name="/" resourcePath="">
|
||||
<toolChain id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.exe.DebugToolchain.817433948" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.TMS470_18.12.exe.linkerDebug.565748307">
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.403700122" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=Cortex M.TM4C1294NCPDT"/>
|
||||
<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
|
||||
<listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
|
||||
<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=EK_TM4C1294XL.cmd"/>
|
||||
<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
|
||||
<listOptionValue builtIn="false" value="XDC_VERSION=3.32.0.06_core"/>
|
||||
<listOptionValue builtIn="false" value="INACTIVE_REPOS="/>
|
||||
<listOptionValue builtIn="false" value="EXPANDED_REPOS="/>
|
||||
<listOptionValue builtIn="false" value="CCS_MBS_VERSION=6.1.3"/>
|
||||
<listOptionValue builtIn="false" value="PRODUCTS=com.ti.rtsc.TIRTOStivac:2.16.1.14;"/>
|
||||
<listOptionValue builtIn="false" value="PRODUCT_MACRO_IMPORTS={"com.ti.rtsc.TIRTOStivac":["${COM_TI_RTSC_TIRTOSTIVAC_INCLUDE_PATH}","${COM_TI_RTSC_TIRTOSTIVAC_LIBRARY_PATH}","${COM_TI_RTSC_TIRTOSTIVAC_LIBRARIES}","${COM_TI_RTSC_TIRTOSTIVAC_SYMBOLS}","${COM_TI_RTSC_TIRTOSTIVAC_SYSCONFIG_MANIFEST}"]}"/>
|
||||
<listOptionValue builtIn="false" value="RTSC_MBS_VERSION=7.0.0"/>
|
||||
<listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.394015567" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="18.12.5.LTS" valueType="string"/>
|
||||
<targetPlatform id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.exe.targetPlatformDebug.1511123655" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.exe.targetPlatformDebug"/>
|
||||
<builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.exe.builderDebug.970121959" keepEnvironmentInBuildfile="false" name="GNU Make" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.exe.builderDebug"/>
|
||||
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.exe.compilerDebug.569047228" name="ARM Compiler" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.exe.compilerDebug">
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.SILICON_VERSION.1649783405" name="Target processor version (--silicon_version, -mv)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.SILICON_VERSION.7M4" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.CODE_STATE.992302470" name="Designate code state, 16-bit (thumb) or 32-bit (--code_state)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.CODE_STATE" value="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.CODE_STATE.16" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.ABI.2097519557" name="Application binary interface. (--abi)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.ABI.eabi" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.FLOAT_SUPPORT.1832592865" name="Specify floating point support (--float_support)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.FLOAT_SUPPORT" value="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.FLOAT_SUPPORT.FPv4SPD16" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.GCC.1467572135" name="Enable support for GCC extensions (DEPRECATED) (--gcc)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.GCC" value="true" valueType="boolean"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.DEFINE.1292862172" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.DEFINE" valueType="definedSymbols">
|
||||
<listOptionValue builtIn="false" value="${COM_TI_RTSC_TIRTOSTIVAC_SYMBOLS}"/>
|
||||
<listOptionValue builtIn="false" value="ccs="ccs""/>
|
||||
<listOptionValue builtIn="false" value="PART_TM4C1294NCPDT"/>
|
||||
<listOptionValue builtIn="false" value="ccs"/>
|
||||
<listOptionValue builtIn="false" value="TIVAWARE"/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.LITTLE_ENDIAN.873289858" name="Little endian code [See 'General' page to edit] (--little_endian, -me)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.LITTLE_ENDIAN" value="true" valueType="boolean"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.OPT_LEVEL.1730028286" name="Optimization level (--opt_level, -O)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.OPT_LEVEL" value="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.OPT_LEVEL.1" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.OPT_FOR_SPEED.563099282" name="Speed vs. size trade-offs (--opt_for_speed, -mf)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.OPT_FOR_SPEED" value="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.OPT_FOR_SPEED.2" valueType="enumerated"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.INCLUDE_PATH.358676023" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.INCLUDE_PATH" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value="${COM_TI_RTSC_TIRTOSTIVAC_INCLUDE_PATH}"/>
|
||||
<listOptionValue builtIn="false" value="${PROJECT_ROOT}"/>
|
||||
<listOptionValue builtIn="false" value="${workspace_loc:/${ProjName}}"/>
|
||||
<listOptionValue builtIn="false" value="${COM_TI_RTSC_TIRTOSTIVAC_INSTALL_DIR}/products/TivaWare_C_Series-2.1.1.71b"/>
|
||||
<listOptionValue builtIn="false" value="${COM_TI_RTSC_TIRTOSTIVAC_INSTALL_DIR}/products/bios_6_45_01_29/packages/ti/sysbios/posix"/>
|
||||
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/include"/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.DEBUGGING_MODEL.481028174" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.DIAG_WARNING.1685952376" name="Treat diagnostic <id> as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.DIAG_WARNING" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value="225"/>
|
||||
<listOptionValue builtIn="false" value="255"/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.DIAG_WRAP.2029304510" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.DIAG_WRAP.off" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.DISPLAY_ERROR_NUMBER.113258231" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.GEN_FUNC_SUBSECTIONS.1435872938" name="Place each function in a separate subsection (--gen_func_subsections, -ms)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.GEN_FUNC_SUBSECTIONS" value="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compilerID.GEN_FUNC_SUBSECTIONS.on" valueType="enumerated"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compiler.inputType__C_SRCS.1980151034" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compiler.inputType__C_SRCS"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compiler.inputType__CPP_SRCS.1284327672" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compiler.inputType__CPP_SRCS"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compiler.inputType__ASM_SRCS.1751839752" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compiler.inputType__ASM_SRCS"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compiler.inputType__ASM2_SRCS.780897449" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.compiler.inputType__ASM2_SRCS"/>
|
||||
</tool>
|
||||
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.exe.linkerDebug.565748307" name="ARM Linker" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.exe.linkerDebug">
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.linkerID.MAP_FILE.704560377" name="Link information (map) listed into <file> (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.linkerID.MAP_FILE" value=""${ProjName}.map"" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.linkerID.STACK_SIZE.159450502" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.linkerID.STACK_SIZE" value="512" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.linkerID.HEAP_SIZE.784555616" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.linkerID.HEAP_SIZE" value="0" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.linkerID.OUTPUT_FILE.555134230" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.linkerID.OUTPUT_FILE" value="${ProjName}.out" valueType="string"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.linkerID.LIBRARY.814910850" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.linkerID.LIBRARY" valueType="libs">
|
||||
<listOptionValue builtIn="false" value="${COM_TI_RTSC_TIRTOSTIVAC_LIBRARIES}"/>
|
||||
<listOptionValue builtIn="false" value="${COM_TI_RTSC_TIRTOSTIVAC_INSTALL_DIR}/products/TivaWare_C_Series-2.1.1.71b/grlib/ccs/Debug/grlib.lib"/>
|
||||
<listOptionValue builtIn="false" value="${COM_TI_RTSC_TIRTOSTIVAC_INSTALL_DIR}/products/TivaWare_C_Series-2.1.1.71b/usblib/ccs/Debug/usblib.lib"/>
|
||||
<listOptionValue builtIn="false" value="${COM_TI_RTSC_TIRTOSTIVAC_INSTALL_DIR}/products/TivaWare_C_Series-2.1.1.71b/driverlib/ccs/Debug/driverlib.lib"/>
|
||||
<listOptionValue builtIn="false" value="libc.a"/>
|
||||
</option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.linkerID.SEARCH_PATH.49394721" name="Add <dir> to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.linkerID.SEARCH_PATH" valueType="libPaths">
|
||||
<listOptionValue builtIn="false" value="${COM_TI_RTSC_TIRTOSTIVAC_LIBRARY_PATH}"/>
|
||||
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/lib"/>
|
||||
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/include"/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.linkerID.DIAG_WRAP.1861391613" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.linkerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.TMS470_18.12.linkerID.DIAG_WRAP.off" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.linkerID.DISPLAY_ERROR_NUMBER.384496210" name="Emit diagnostic identifier numbers (--display_error_number)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.linkerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.linkerID.XML_LINK_INFO.1295709986" name="Detailed link information data-base into <file> (--xml_link_info, -xml_link_info)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.linkerID.XML_LINK_INFO" value=""${ProjName}_linkInfo.xml"" valueType="string"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.exeLinker.inputType__CMD_SRCS.1955415640" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.exeLinker.inputType__CMD_SRCS"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.exeLinker.inputType__CMD2_SRCS.431275462" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.exeLinker.inputType__CMD2_SRCS"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.exeLinker.inputType__GEN_CMDS.1154742651" name="Generated Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.exeLinker.inputType__GEN_CMDS"/>
|
||||
</tool>
|
||||
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_18.12.hex.757315999" name="ARM Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.12.hex"/>
|
||||
<tool id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.364181016" name="XDCtools" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool">
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH.629512381" name="XDCpath package repositories (--xdcpath)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value="${COM_TI_RTSC_TIRTOSTIVAC_REPOS}"/>
|
||||
<listOptionValue builtIn="false" value="${TARGET_CONTENT_BASE}"/>
|
||||
</option>
|
||||
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.TARGET.1224371372" name="Target (-t)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.TARGET" value="ti.targets.arm.elf.M4F" valueType="string"/>
|
||||
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM.725035837" name="Platform (-p)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM" value="ti.platforms.tiva:TM4C1294NCPDT" valueType="string"/>
|
||||
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM_RAW.75820696" name="Platform (-p)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM_RAW" value="ti.platforms.tiva:TM4C1294NCPDT" valueType="string"/>
|
||||
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.BUILD_PROFILE.1660304315" name="Build-profile (-r)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.BUILD_PROFILE" value="release" valueType="string"/>
|
||||
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.CODEGEN_TOOL_DIR.424272628" name="Compiler tools directory (-c)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.CODEGEN_TOOL_DIR" value="${CG_TOOL_ROOT}" valueType="string"/>
|
||||
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.COMPILE_OPTIONS.1937764705" name="Additional compiler options (--compileOptions)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.COMPILE_OPTIONS" value=""${COMPILER_FLAGS} "" valueType="string"/>
|
||||
</tool>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<sourceEntries>
|
||||
<entry excluding="tm4c1294ncpdt.cmd|src" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
|
||||
</sourceEntries>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
<cconfiguration id="com.ti.ccstudio.buildDefinitions.TMS470.Release.539905707">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.TMS470.Release.539905707" moduleId="org.eclipse.cdt.core.settings" name="Release">
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="com.ti.ccstudio.errorparser.CoffErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.rtsc.xdctools.parsers.ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="com.ti.ccstudio.errorparser.AsmErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="com.ti.ccstudio.errorparser.LinkErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactExtension="out" artifactName="${ProjName}" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" errorParsers="org.eclipse.rtsc.xdctools.parsers.ErrorParser;org.eclipse.cdt.core.GmakeErrorParser;com.ti.ccstudio.errorparser.CoffErrorParser;com.ti.ccstudio.errorparser.AsmErrorParser;com.ti.ccstudio.errorparser.LinkErrorParser" id="com.ti.ccstudio.buildDefinitions.TMS470.Release.539905707" name="Release" parent="com.ti.ccstudio.buildDefinitions.TMS470.Release">
|
||||
<folderInfo id="com.ti.ccstudio.buildDefinitions.TMS470.Release.539905707." name="/" resourcePath="">
|
||||
<toolChain id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exe.ReleaseToolchain.235425975" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exe.ReleaseToolchain" targetTool="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exe.linkerRelease.1184958438">
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1628372400" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=Cortex M.TM4C1294NCPDT"/>
|
||||
<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
|
||||
<listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
|
||||
<listOptionValue builtIn="false" value="CCS_MBS_VERSION=6.1.3"/>
|
||||
<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
|
||||
<listOptionValue builtIn="false" value="RTSC_MBS_VERSION=7.0.0"/>
|
||||
<listOptionValue builtIn="false" value="XDC_VERSION=3.32.0.06_core"/>
|
||||
<listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
|
||||
<listOptionValue builtIn="false" value="PRODUCTS=com.ti.rtsc.TIRTOStivac:2.16.1.14;"/>
|
||||
<listOptionValue builtIn="false" value="PRODUCT_MACRO_IMPORTS={"com.ti.rtsc.TIRTOStivac":["${COM_TI_RTSC_TIRTOSTIVAC_INCLUDE_PATH}","${COM_TI_RTSC_TIRTOSTIVAC_LIBRARY_PATH}","${COM_TI_RTSC_TIRTOSTIVAC_LIBRARIES}","${COM_TI_RTSC_TIRTOSTIVAC_SYMBOLS}"]}"/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1621569581" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="16.9.4.LTS" valueType="string"/>
|
||||
<targetPlatform id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exe.targetPlatformRelease.1777925103" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exe.targetPlatformRelease"/>
|
||||
<builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exe.builderRelease.357014352" keepEnvironmentInBuildfile="false" name="GNU Make" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exe.builderRelease"/>
|
||||
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exe.compilerRelease.734306090" name="ARM Compiler" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exe.compilerRelease">
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.SILICON_VERSION.1571529524" name="Target processor version (--silicon_version, -mv)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.SILICON_VERSION" useByScannerDiscovery="false" value="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.SILICON_VERSION.7M4" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.CODE_STATE.287264619" name="Designate code state, 16-bit (thumb) or 32-bit (--code_state)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.CODE_STATE" useByScannerDiscovery="false" value="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.CODE_STATE.16" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.ABI.1933972374" name="Application binary interface. (--abi)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.ABI" useByScannerDiscovery="false" value="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.ABI.eabi" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.FLOAT_SUPPORT.1257727242" name="Specify floating point support (--float_support)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.FLOAT_SUPPORT" useByScannerDiscovery="false" value="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.FLOAT_SUPPORT.FPv4SPD16" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.GCC.1732861060" name="Enable support for GCC extensions (DEPRECATED) (--gcc)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.GCC" useByScannerDiscovery="false" value="true" valueType="boolean"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.DEFINE.587034227" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.DEFINE" valueType="definedSymbols">
|
||||
<listOptionValue builtIn="false" value="${COM_TI_RTSC_TIRTOSTIVAC_SYMBOLS}"/>
|
||||
<listOptionValue builtIn="false" value="ccs="ccs""/>
|
||||
<listOptionValue builtIn="false" value="PART_TM4C1294NCPDT"/>
|
||||
<listOptionValue builtIn="false" value="ccs"/>
|
||||
<listOptionValue builtIn="false" value="TIVAWARE"/>
|
||||
</option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.DIAG_WARNING.657736688" name="Treat diagnostic <id> as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.DIAG_WARNING" useByScannerDiscovery="false" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value="225"/>
|
||||
<listOptionValue builtIn="false" value="255"/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.DISPLAY_ERROR_NUMBER.1942528499" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.DISPLAY_ERROR_NUMBER" useByScannerDiscovery="false" value="true" valueType="boolean"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.DIAG_WRAP.1736785344" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.DIAG_WRAP" useByScannerDiscovery="false" value="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.DIAG_WRAP.off" valueType="enumerated"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.INCLUDE_PATH.760258376" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.INCLUDE_PATH" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${COM_TI_RTSC_TIRTOSTIVAC_INCLUDE_PATH}""/>
|
||||
<listOptionValue builtIn="false" value=""${PROJECT_ROOT}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}}""/>
|
||||
<listOptionValue builtIn="false" value=""${COM_TI_RTSC_TIRTOSTIVAC_INSTALL_DIR}/products/TivaWare_C_Series-2.1.1.71b""/>
|
||||
<listOptionValue builtIn="false" value=""${COM_TI_RTSC_TIRTOSTIVAC_INSTALL_DIR}/products/bios_6_45_01_29/packages/ti/sysbios/posix""/>
|
||||
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.LITTLE_ENDIAN.139129556" name="Little endian code [See 'General' page to edit] (--little_endian, -me)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.LITTLE_ENDIAN" useByScannerDiscovery="false" value="true" valueType="boolean"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.DEBUGGING_MODEL.1126483226" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.DEBUGGING_MODEL" useByScannerDiscovery="false" value="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.GEN_FUNC_SUBSECTIONS.528670875" name="Place each function in a separate subsection (--gen_func_subsections, -ms)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.GEN_FUNC_SUBSECTIONS" useByScannerDiscovery="false" value="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compilerID.GEN_FUNC_SUBSECTIONS.on" valueType="enumerated"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compiler.inputType__C_SRCS.1087230795" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compiler.inputType__C_SRCS"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compiler.inputType__CPP_SRCS.128381171" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compiler.inputType__CPP_SRCS"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compiler.inputType__ASM_SRCS.1454597078" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compiler.inputType__ASM_SRCS"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compiler.inputType__ASM2_SRCS.803664145" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.compiler.inputType__ASM2_SRCS"/>
|
||||
</tool>
|
||||
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exe.linkerRelease.1184958438" name="ARM Linker" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exe.linkerRelease">
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.MAP_FILE.907168433" name="Link information (map) listed into <file> (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.MAP_FILE" useByScannerDiscovery="false" value=""${ProjName}.map"" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.STACK_SIZE.708532390" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.STACK_SIZE" useByScannerDiscovery="false" value="512" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.HEAP_SIZE.392873872" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.HEAP_SIZE" useByScannerDiscovery="false" value="0" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.OUTPUT_FILE.755902895" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.OUTPUT_FILE" useByScannerDiscovery="false" value="${ProjName}.out" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.XML_LINK_INFO.81591694" name="Detailed link information data-base into <file> (--xml_link_info, -xml_link_info)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.XML_LINK_INFO" useByScannerDiscovery="false" value=""${ProjName}_linkInfo.xml"" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.DISPLAY_ERROR_NUMBER.1343655109" name="Emit diagnostic identifier numbers (--display_error_number)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.DISPLAY_ERROR_NUMBER" useByScannerDiscovery="false" value="true" valueType="boolean"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.DIAG_WRAP.1119116807" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.DIAG_WRAP" useByScannerDiscovery="false" value="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.DIAG_WRAP.off" valueType="enumerated"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.SEARCH_PATH.927500359" name="Add <dir> to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.SEARCH_PATH" valueType="libPaths">
|
||||
<listOptionValue builtIn="false" value=""${COM_TI_RTSC_TIRTOSTIVAC_LIBRARY_PATH}""/>
|
||||
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/lib""/>
|
||||
<listOptionValue builtIn="false" value=""${CG_TOOL_ROOT}/include""/>
|
||||
</option>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.LIBRARY.398074098" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.linkerID.LIBRARY" useByScannerDiscovery="false" valueType="libs">
|
||||
<listOptionValue builtIn="false" value="${COM_TI_RTSC_TIRTOSTIVAC_LIBRARIES}"/>
|
||||
<listOptionValue builtIn="false" value=""${COM_TI_RTSC_TIRTOSTIVAC_INSTALL_DIR}/products/TivaWare_C_Series-2.1.1.71b/grlib/ccs/Debug/grlib.lib""/>
|
||||
<listOptionValue builtIn="false" value=""${COM_TI_RTSC_TIRTOSTIVAC_INSTALL_DIR}/products/TivaWare_C_Series-2.1.1.71b/usblib/ccs/Debug/usblib.lib""/>
|
||||
<listOptionValue builtIn="false" value=""${COM_TI_RTSC_TIRTOSTIVAC_INSTALL_DIR}/products/TivaWare_C_Series-2.1.1.71b/driverlib/ccs/Debug/driverlib.lib""/>
|
||||
<listOptionValue builtIn="false" value="libc.a"/>
|
||||
</option>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exeLinker.inputType__CMD_SRCS.1762516270" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exeLinker.inputType__CMD_SRCS"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exeLinker.inputType__CMD2_SRCS.761661671" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exeLinker.inputType__CMD2_SRCS"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exeLinker.inputType__GEN_CMDS.471324788" name="Generated Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.exeLinker.inputType__GEN_CMDS"/>
|
||||
</tool>
|
||||
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_16.9.hex.1266147362" name="ARM Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.TMS470_16.9.hex"/>
|
||||
<tool id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.718360883" name="XDCtools" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool">
|
||||
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.CODEGEN_TOOL_DIR.1717613467" name="Compiler tools directory (-c)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.CODEGEN_TOOL_DIR" value=""${CG_TOOL_ROOT}"" valueType="string"/>
|
||||
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.TARGET.215347131" name="Target (-t)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.TARGET" value="ti.targets.arm.elf.M4F" valueType="string"/>
|
||||
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM.59104844" name="Platform (-p)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM" value="ti.platforms.tiva:TM4C1294NCPDT" valueType="string"/>
|
||||
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM_RAW.1642449615" name="Platform (-p)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM_RAW" value="ti.platforms.tiva:TM4C1294NCPDT" valueType="string"/>
|
||||
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.BUILD_PROFILE.1308536409" name="Build-profile (-r)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.BUILD_PROFILE" value="release" valueType="string"/>
|
||||
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH.533470830" name="XDCpath package repositories (--xdcpath)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH" valueType="stringList">
|
||||
<listOptionValue builtIn="false" value="${COM_TI_RTSC_TIRTOSTIVAC_REPOS}"/>
|
||||
<listOptionValue builtIn="false" value="${TARGET_CONTENT_BASE}"/>
|
||||
</option>
|
||||
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.COMPILE_OPTIONS.1220261627" name="Additional compiler options (--compileOptions)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.COMPILE_OPTIONS" useByScannerDiscovery="false" value=""${COMPILER_FLAGS} "" valueType="string"/>
|
||||
</tool>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<sourceEntries>
|
||||
<entry excluding="EK_TM4C1294XL.cmd|src" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
|
||||
</sourceEntries>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<project id="empty_EK_TM4C1294XL_TI.com.ti.ccstudio.buildDefinitions.TMS470.ProjectType.94890813" name="ARM" projectType="com.ti.ccstudio.buildDefinitions.TMS470.ProjectType"/>
|
||||
</storageModule>
|
||||
<storageModule moduleId="scannerConfiguration"/>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.language.mapping">
|
||||
<project-mappings>
|
||||
<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.asmSource" language="com.ti.ccstudio.core.TIASMLanguage"/>
|
||||
<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cHeader" language="com.ti.ccstudio.core.TIGCCLanguage"/>
|
||||
<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cSource" language="com.ti.ccstudio.core.TIGCCLanguage"/>
|
||||
<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxHeader" language="com.ti.ccstudio.core.TIGPPLanguage"/>
|
||||
<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxSource" language="com.ti.ccstudio.core.TIGPPLanguage"/>
|
||||
</project-mappings>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
|
||||
</cproject>
|
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -1 +1,3 @@
|
|||
/Debug/
|
||||
Debug/
|
||||
/.metadata/
|
||||
.jxbrowser.userdata/
|
|
@ -1,16 +1,16 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="com.ti.ccstudio.debug.launchType.device.debugging">
|
||||
<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_DEBUGGER_PROPERTIES.Tiva TM4C1294NCPDT.ccxml.Stellaris In-Circuit Debug Interface/CORTEX_M4_0" value="<?xml version="1.0" encoding="UTF-8" standalone="no" ?> <PropertyValues> <property id="ConnectOnStartup"> <curValue>1</curValue> </property> <property id="EnableInstalledBreakpoint"> <curValue>1</curValue> </property> <property id="IgnoreSoftLaunchFailures"> <curValue>0</curValue> </property> </PropertyValues> "/>
|
||||
<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_PROGRAM.Tiva TM4C1294NCPDT.ccxml.Stellaris In-Circuit Debug Interface/CORTEX_M4_0" value="${build_artifact:ece3849_lab0_starter}"/>
|
||||
<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_PROJECT.Tiva TM4C1294NCPDT.ccxml.Stellaris In-Circuit Debug Interface/CORTEX_M4_0" value="ece3849_lab0_starter"/>
|
||||
<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_TARGET_CONFIG" value="${target_config_active_default:ece3849_lab0_starter}"/>
|
||||
<stringAttribute key="com.ti.ccstudio.debug.debugModel.MRU_PROGRAM.Tiva TM4C1294NCPDT.ccxml.Stellaris In-Circuit Debug Interface/CORTEX_M4_0" value="${build_artifact:ece3849_lab0_starter}"/>
|
||||
<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_PROGRAM.Tiva TM4C1294NCPDT.ccxml.Stellaris In-Circuit Debug Interface/CORTEX_M4_0" value="${build_artifact:ece3849_lab3_starter}"/>
|
||||
<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_PROJECT.Tiva TM4C1294NCPDT.ccxml.Stellaris In-Circuit Debug Interface/CORTEX_M4_0" value="ece3849_lab3_starter"/>
|
||||
<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_TARGET_CONFIG" value="${target_config_active_default:ece3849_lab3_starter}"/>
|
||||
<stringAttribute key="com.ti.ccstudio.debug.debugModel.MRU_PROGRAM.Tiva TM4C1294NCPDT.ccxml.Stellaris In-Circuit Debug Interface/CORTEX_M4_0" value="${build_artifact:ece3849_lab3_starter}"/>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/ece3849_lab0_starter"/>
|
||||
<listEntry value="/ece3849_lab3_starter"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||
<listEntry value="4"/>
|
||||
</listAttribute>
|
||||
<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="com.ti.ccstudio.debug.sourceLocator"/>
|
||||
<stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <sourceLookupDirector> <sourceContainers duplicates="false"> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;default/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.default"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;cpuSpecificContainer cpuName=&quot;Stellaris In-Circuit Debug Interface/CORTEX_M4_0&quot;&gt;&#13;&#10; &lt;childContainerEntry childMemento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;project name=&amp;quot;ece3849_lab0_starter&amp;quot; referencedProjects=&amp;quot;true&amp;quot;/&amp;gt;&amp;#13;&amp;#10;&quot; childType=&quot;org.eclipse.debug.core.containerType.project&quot;/&gt;&#13;&#10; &lt;childContainerEntry childMemento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;default/&amp;gt;&amp;#13;&amp;#10;&quot; childType=&quot;org.eclipse.debug.core.containerType.default&quot;/&gt;&#13;&#10; &lt;childContainerEntry childMemento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;productsSource/&amp;gt;&amp;#13;&amp;#10;&quot; childType=&quot;com.ti.ccstudio.debug.containerType.products.source&quot;/&gt;&#13;&#10; &lt;childContainerEntry childMemento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;deviceLibrarySource/&amp;gt;&amp;#13;&amp;#10;&quot; childType=&quot;com.ti.ccstudio.debug.containerType.device.library.source&quot;/&gt;&#13;&#10; &lt;childContainerEntry childMemento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;librarySource/&amp;gt;&amp;#13;&amp;#10;&quot; childType=&quot;com.ti.ccstudio.debug.containerType.library.source&quot;/&gt;&#13;&#10;&lt;/cpuSpecificContainer&gt;&#13;&#10;" typeId="com.ti.ccstudio.debug.containerType.cpu.specific"/> </sourceContainers> </sourceLookupDirector> "/>
|
||||
<stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <sourceLookupDirector> <sourceContainers duplicates="false"> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;default/&gt;&#13;&#10;" typeId="org.eclipse.debug.core.containerType.default"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;cpuSpecificContainer cpuName=&quot;Stellaris In-Circuit Debug Interface/CORTEX_M4_0&quot;&gt;&#13;&#10; &lt;childContainerEntry childMemento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;project name=&amp;quot;ece3849_lab3_starter&amp;quot; referencedProjects=&amp;quot;true&amp;quot;/&amp;gt;&amp;#13;&amp;#10;&quot; childType=&quot;org.eclipse.debug.core.containerType.project&quot;/&gt;&#13;&#10; &lt;childContainerEntry childMemento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;default/&amp;gt;&amp;#13;&amp;#10;&quot; childType=&quot;org.eclipse.debug.core.containerType.default&quot;/&gt;&#13;&#10; &lt;childContainerEntry childMemento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;productsSource/&amp;gt;&amp;#13;&amp;#10;&quot; childType=&quot;com.ti.ccstudio.debug.containerType.products.source&quot;/&gt;&#13;&#10; &lt;childContainerEntry childMemento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;deviceLibrarySource/&amp;gt;&amp;#13;&amp;#10;&quot; childType=&quot;com.ti.ccstudio.debug.containerType.device.library.source&quot;/&gt;&#13;&#10; &lt;childContainerEntry childMemento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#13;&amp;#10;&amp;lt;librarySource/&amp;gt;&amp;#13;&amp;#10;&quot; childType=&quot;com.ti.ccstudio.debug.containerType.library.source&quot;/&gt;&#13;&#10;&lt;/cpuSpecificContainer&gt;&#13;&#10;" typeId="com.ti.ccstudio.debug.containerType.cpu.specific"/> </sourceContainers> </sourceLookupDirector> "/>
|
||||
</launchConfiguration>
|
9
.project
9
.project
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>ece3849_lab0_starter</name>
|
||||
<name>ece3849_lab3_starter</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
|
@ -18,16 +18,11 @@
|
|||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.rtsc.xdctools.buildDefinitions.XDC.xdcNature</nature>
|
||||
<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>
|
||||
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
||||
</natures>
|
||||
<variableList>
|
||||
<variable>
|
||||
<name>SW_ROOT</name>
|
||||
<value>$%7BCOM_TI_RTSC_TIRTOSTIVAC__TIVAWARE_C_SERIES%7D</value>
|
||||
</variable>
|
||||
</variableList>
|
||||
</projectDescription>
|
||||
|
|
0
.xdchelp
Normal file
0
.xdchelp
Normal file
57
EK_TM4C1294XL.cmd
Normal file
57
EK_TM4C1294XL.cmd
Normal file
|
@ -0,0 +1,57 @@
|
|||
/*
|
||||
* Copyright (c) 2016, 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.
|
||||
*/
|
||||
/*
|
||||
* ======== EK_TM4C1294XL.cmd ========
|
||||
* Define the memory block start/length for the EK_TM4C1294XL M4
|
||||
*/
|
||||
|
||||
MEMORY
|
||||
{
|
||||
FLASH (RX) : origin = 0x00000000, length = 0x00100000
|
||||
SRAM (RWX) : origin = 0x20000000, length = 0x00040000
|
||||
}
|
||||
|
||||
/* Section allocation in memory */
|
||||
|
||||
SECTIONS
|
||||
{
|
||||
.text : > FLASH
|
||||
.const : > FLASH
|
||||
.cinit : > FLASH
|
||||
.pinit : > FLASH
|
||||
.init_array : > FLASH
|
||||
|
||||
.data : > SRAM
|
||||
.bss : > SRAM
|
||||
.sysmem : > SRAM
|
||||
.stack : > SRAM
|
||||
}
|
12
RemoteSystemsTempFiles/.project
Normal file
12
RemoteSystemsTempFiles/.project
Normal file
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>RemoteSystemsTempFiles</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.rse.ui.remoteSystemsTempNature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
164
_kiss_fft_guts.h
Normal file
164
_kiss_fft_guts.h
Normal file
|
@ -0,0 +1,164 @@
|
|||
/*
|
||||
Copyright (c) 2003-2010, Mark Borgerding
|
||||
|
||||
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 author nor the names of any 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.
|
||||
*/
|
||||
|
||||
/* kiss_fft.h
|
||||
defines kiss_fft_scalar as either short or a float type
|
||||
and defines
|
||||
typedef struct { kiss_fft_scalar r; kiss_fft_scalar i; }kiss_fft_cpx; */
|
||||
#include "kiss_fft.h"
|
||||
#include <limits.h>
|
||||
|
||||
#define MAXFACTORS 32
|
||||
/* e.g. an fft of length 128 has 4 factors
|
||||
as far as kissfft is concerned
|
||||
4*4*4*2
|
||||
*/
|
||||
|
||||
struct kiss_fft_state{
|
||||
int nfft;
|
||||
int inverse;
|
||||
int factors[2*MAXFACTORS];
|
||||
kiss_fft_cpx twiddles[1];
|
||||
};
|
||||
|
||||
/*
|
||||
Explanation of macros dealing with complex math:
|
||||
|
||||
C_MUL(m,a,b) : m = a*b
|
||||
C_FIXDIV( c , div ) : if a fixed point impl., c /= div. noop otherwise
|
||||
C_SUB( res, a,b) : res = a - b
|
||||
C_SUBFROM( res , a) : res -= a
|
||||
C_ADDTO( res , a) : res += a
|
||||
* */
|
||||
#ifdef FIXED_POINT
|
||||
#if (FIXED_POINT==32)
|
||||
# define FRACBITS 31
|
||||
# define SAMPPROD int64_t
|
||||
#define SAMP_MAX 2147483647
|
||||
#else
|
||||
# define FRACBITS 15
|
||||
# define SAMPPROD int32_t
|
||||
#define SAMP_MAX 32767
|
||||
#endif
|
||||
|
||||
#define SAMP_MIN -SAMP_MAX
|
||||
|
||||
#if defined(CHECK_OVERFLOW)
|
||||
# define CHECK_OVERFLOW_OP(a,op,b) \
|
||||
if ( (SAMPPROD)(a) op (SAMPPROD)(b) > SAMP_MAX || (SAMPPROD)(a) op (SAMPPROD)(b) < SAMP_MIN ) { \
|
||||
fprintf(stderr,"WARNING:overflow @ " __FILE__ "(%d): (%d " #op" %d) = %ld\n",__LINE__,(a),(b),(SAMPPROD)(a) op (SAMPPROD)(b) ); }
|
||||
#endif
|
||||
|
||||
|
||||
# define smul(a,b) ( (SAMPPROD)(a)*(b) )
|
||||
# define sround( x ) (kiss_fft_scalar)( ( (x) + (1<<(FRACBITS-1)) ) >> FRACBITS )
|
||||
|
||||
# define S_MUL(a,b) sround( smul(a,b) )
|
||||
|
||||
# define C_MUL(m,a,b) \
|
||||
do{ (m).r = sround( smul((a).r,(b).r) - smul((a).i,(b).i) ); \
|
||||
(m).i = sround( smul((a).r,(b).i) + smul((a).i,(b).r) ); }while(0)
|
||||
|
||||
# define DIVSCALAR(x,k) \
|
||||
(x) = sround( smul( x, SAMP_MAX/k ) )
|
||||
|
||||
# define C_FIXDIV(c,div) \
|
||||
do { DIVSCALAR( (c).r , div); \
|
||||
DIVSCALAR( (c).i , div); }while (0)
|
||||
|
||||
# define C_MULBYSCALAR( c, s ) \
|
||||
do{ (c).r = sround( smul( (c).r , s ) ) ;\
|
||||
(c).i = sround( smul( (c).i , s ) ) ; }while(0)
|
||||
|
||||
#else /* not FIXED_POINT*/
|
||||
|
||||
# define S_MUL(a,b) ( (a)*(b) )
|
||||
#define C_MUL(m,a,b) \
|
||||
do{ (m).r = (a).r*(b).r - (a).i*(b).i;\
|
||||
(m).i = (a).r*(b).i + (a).i*(b).r; }while(0)
|
||||
# define C_FIXDIV(c,div) /* NOOP */
|
||||
# define C_MULBYSCALAR( c, s ) \
|
||||
do{ (c).r *= (s);\
|
||||
(c).i *= (s); }while(0)
|
||||
#endif
|
||||
|
||||
#ifndef CHECK_OVERFLOW_OP
|
||||
# define CHECK_OVERFLOW_OP(a,op,b) /* noop */
|
||||
#endif
|
||||
|
||||
#define C_ADD( res, a,b)\
|
||||
do { \
|
||||
CHECK_OVERFLOW_OP((a).r,+,(b).r)\
|
||||
CHECK_OVERFLOW_OP((a).i,+,(b).i)\
|
||||
(res).r=(a).r+(b).r; (res).i=(a).i+(b).i; \
|
||||
}while(0)
|
||||
#define C_SUB( res, a,b)\
|
||||
do { \
|
||||
CHECK_OVERFLOW_OP((a).r,-,(b).r)\
|
||||
CHECK_OVERFLOW_OP((a).i,-,(b).i)\
|
||||
(res).r=(a).r-(b).r; (res).i=(a).i-(b).i; \
|
||||
}while(0)
|
||||
#define C_ADDTO( res , a)\
|
||||
do { \
|
||||
CHECK_OVERFLOW_OP((res).r,+,(a).r)\
|
||||
CHECK_OVERFLOW_OP((res).i,+,(a).i)\
|
||||
(res).r += (a).r; (res).i += (a).i;\
|
||||
}while(0)
|
||||
|
||||
#define C_SUBFROM( res , a)\
|
||||
do {\
|
||||
CHECK_OVERFLOW_OP((res).r,-,(a).r)\
|
||||
CHECK_OVERFLOW_OP((res).i,-,(a).i)\
|
||||
(res).r -= (a).r; (res).i -= (a).i; \
|
||||
}while(0)
|
||||
|
||||
|
||||
#ifdef FIXED_POINT
|
||||
# define KISS_FFT_COS(phase) floor(.5+SAMP_MAX * cos (phase))
|
||||
# define KISS_FFT_SIN(phase) floor(.5+SAMP_MAX * sin (phase))
|
||||
# define HALF_OF(x) ((x)>>1)
|
||||
#elif defined(USE_SIMD)
|
||||
# define KISS_FFT_COS(phase) _mm_set1_ps( cos(phase) )
|
||||
# define KISS_FFT_SIN(phase) _mm_set1_ps( sin(phase) )
|
||||
# define HALF_OF(x) ((x)*_mm_set1_ps(.5))
|
||||
#else
|
||||
# define KISS_FFT_COS(phase) (kiss_fft_scalar) cos(phase)
|
||||
# define KISS_FFT_SIN(phase) (kiss_fft_scalar) sin(phase)
|
||||
# define HALF_OF(x) ((x)*.5)
|
||||
#endif
|
||||
|
||||
#define kf_cexp(x,phase) \
|
||||
do{ \
|
||||
(x)->r = KISS_FFT_COS(phase);\
|
||||
(x)->i = KISS_FFT_SIN(phase);\
|
||||
}while(0)
|
||||
|
||||
|
||||
/* a debugging function */
|
||||
#define pcpx(c)\
|
||||
fprintf(stderr,"%g + %gi\n",(double)((c)->r),(double)((c)->i) )
|
||||
|
||||
|
||||
#ifdef KISS_FFT_USE_ALLOCA
|
||||
// define this to allow use of alloca instead of malloc for temporary buffers
|
||||
// Temporary buffers are used in two case:
|
||||
// 1. FFT sizes that have "bad" factors. i.e. not 2,3 and 5
|
||||
// 2. "in-place" FFTs. Notice the quotes, since kissfft does not really do an in-place transform.
|
||||
#include <alloca.h>
|
||||
#define KISS_FFT_TMP_ALLOC(nbytes) alloca(nbytes)
|
||||
#define KISS_FFT_TMP_FREE(ptr)
|
||||
#else
|
||||
#define KISS_FFT_TMP_ALLOC(nbytes) KISS_FFT_MALLOC(nbytes)
|
||||
#define KISS_FFT_TMP_FREE(ptr) KISS_FFT_FREE(ptr)
|
||||
#endif
|
91
buttons.c
91
buttons.c
|
@ -6,6 +6,17 @@
|
|||
*
|
||||
* ECE 3849 Lab button handling
|
||||
*/
|
||||
|
||||
/* XDCtools Header files */
|
||||
#include <xdc/std.h>
|
||||
#include <xdc/runtime/System.h>
|
||||
#include <xdc/cfg/global.h>
|
||||
|
||||
/* BIOS Header files */
|
||||
#include <ti/sysbios/BIOS.h>
|
||||
#include <ti/sysbios/knl/Task.h>
|
||||
#include <ti/sysbios/knl/Semaphore.h>
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#include <math.h>
|
||||
|
@ -32,17 +43,6 @@ extern volatile uint32_t gTime; // time in hundredths of a second
|
|||
// initialize all button and joystick handling hardware
|
||||
void ButtonInit(void)
|
||||
{
|
||||
// initialize a general purpose timer for periodic interrupts
|
||||
SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0);
|
||||
TimerDisable(TIMER0_BASE, TIMER_BOTH);
|
||||
TimerConfigure(TIMER0_BASE, TIMER_CFG_PERIODIC);
|
||||
TimerLoadSet(TIMER0_BASE, TIMER_A, roundf((float)gSystemClock / BUTTON_SCAN_RATE) - 1);
|
||||
TimerIntEnable(TIMER0_BASE, TIMER_TIMA_TIMEOUT);
|
||||
TimerEnable(TIMER0_BASE, TIMER_BOTH);
|
||||
|
||||
// initialize interrupt controller to respond to timer interrupts
|
||||
IntPrioritySet(INT_TIMER0A, BUTTON_INT_PRIORITY);
|
||||
IntEnable(INT_TIMER0A);
|
||||
// GPIO PJ0 and PJ1 = EK-TM4C1294XL buttons 1 and 2
|
||||
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOJ);
|
||||
GPIOPinTypeGPIOInput(GPIO_PORTJ_BASE, GPIO_PIN_0 | GPIO_PIN_1);
|
||||
|
@ -153,9 +153,19 @@ uint32_t ButtonAutoRepeat(void)
|
|||
return presses;
|
||||
}
|
||||
|
||||
// ISR for scanning and debouncing buttons
|
||||
void ButtonISR(void) {
|
||||
TimerIntClear(TIMER0_BASE, TIMER_TIMA_TIMEOUT); // clear interrupt flag
|
||||
void clock_buttons(void) {
|
||||
Semaphore_post(button_clock_sem);
|
||||
}
|
||||
|
||||
void button_task(void) {
|
||||
while(1) {
|
||||
Semaphore_pend(button_clock_sem, BIOS_WAIT_FOREVER);
|
||||
handle_buttons();
|
||||
}
|
||||
}
|
||||
|
||||
// Task for scanning and debouncing buttons
|
||||
void handle_buttons(void) {
|
||||
// read hardware button state
|
||||
uint32_t gpio_buttons =
|
||||
~GPIOPinRead(GPIO_PORTJ_BASE, 0xff) & (GPIO_PIN_1 | GPIO_PIN_0); // EK-TM4C1294XL buttons in positions 0 and 1
|
||||
|
@ -181,25 +191,12 @@ void ButtonISR(void) {
|
|||
ButtonReadJoystick(); // Convert joystick state to button presses. The result is in gButtons.
|
||||
uint32_t presses = ~old_buttons & gButtons; // detect button presses (transitions from not pressed to pressed)
|
||||
presses |= ButtonAutoRepeat(); // autorepeat presses if a button is held long enough
|
||||
#ifdef DISPLAY_TIME
|
||||
static bool tic = false;
|
||||
static bool running = true;
|
||||
if (presses & 1) { // EK-TM4C1294XL button 1 pressed
|
||||
running = !running;
|
||||
}
|
||||
if (presses & 2) { // EK-TM4C1294XL button 2 pressed
|
||||
gTime = 0;
|
||||
}
|
||||
if (running) {
|
||||
if (tic) gTime++; // increment time every other ISR call
|
||||
tic = !tic;
|
||||
}
|
||||
#endif // DISPLAY_TIME
|
||||
|
||||
Button buttons[9];
|
||||
uint8_t length, i;
|
||||
length = buttons_from_mask(buttons, presses);
|
||||
for (i=0; i<length; i++) {
|
||||
fifo_put(buttons[i]);
|
||||
Mailbox_post(button_mailbox,buttons+i, BIOS_WAIT_FOREVER);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -217,39 +214,3 @@ uint8_t buttons_from_mask(Button *array, uint32_t buttons) {
|
|||
|
||||
return len;
|
||||
}
|
||||
|
||||
volatile DataType button_fifo[FIFO_SIZE]; // FIFO storage array
|
||||
volatile int fifo_head = 0; // index of the first item in the FIFO
|
||||
volatile int fifo_tail = 0; // index one step past the last item
|
||||
|
||||
// put data into the FIFO, skip if full
|
||||
// returns 1 on success, 0 if FIFO was full
|
||||
int fifo_put(DataType data)
|
||||
{
|
||||
int new_tail = fifo_tail + 1;
|
||||
if (new_tail >= FIFO_SIZE) new_tail = 0; // wrap around
|
||||
if (fifo_head != new_tail) { // if the FIFO is not full
|
||||
button_fifo[fifo_tail] = data; // store data into the FIFO
|
||||
fifo_tail = new_tail; // advance FIFO tail index
|
||||
return 1; // success
|
||||
}
|
||||
return 0; // full
|
||||
}
|
||||
|
||||
// get data from the FIFO
|
||||
// returns 1 on success, 0 if FIFO was empty
|
||||
int fifo_get(DataType *data)
|
||||
{
|
||||
if (fifo_head != fifo_tail) { // if the FIFO is not empty
|
||||
*data = button_fifo[fifo_head]; // read data from the FIFO
|
||||
|
||||
if (fifo_head >= FIFO_SIZE-1) {
|
||||
fifo_head = 0; // reset if past end
|
||||
} else {
|
||||
fifo_head++; // increment if within buffer
|
||||
}
|
||||
|
||||
return 1; // success
|
||||
}
|
||||
return 0; // empty
|
||||
}
|
||||
|
|
|
@ -21,9 +21,6 @@
|
|||
#define BUTTON_STATE_INCREMENT (BUTTON_PRESSED_STATE/BUTTON_SAMPLES_PRESSED)
|
||||
#define BUTTON_STATE_DECREMENT (BUTTON_PRESSED_STATE/BUTTON_SAMPLES_RELEASED)
|
||||
|
||||
#define BUTTON_SCAN_RATE 200 // [Hz] button scanning interrupt rate
|
||||
#define BUTTON_INT_PRIORITY 32 // button interrupt priority (higher number is lower priority)
|
||||
|
||||
#define BUTTON_AUTOREPEAT_INITIAL 100 // how many samples must read pressed before autorepeat starts
|
||||
#define BUTTON_AUTOREPEAT_NEXT 10 // how many samples must read pressed before the next repetition
|
||||
|
||||
|
@ -69,9 +66,6 @@ typedef enum {
|
|||
// returns length
|
||||
uint8_t buttons_from_mask(Button *array, uint32_t buttons);
|
||||
|
||||
#define FIFO_SIZE 11 // FIFO capacity is 1 item fewer
|
||||
typedef Button DataType; // FIFO data type
|
||||
int fifo_put(DataType data);
|
||||
int fifo_get(DataType *data);
|
||||
void handle_buttons(void);
|
||||
|
||||
#endif /* BUTTONS_H_ */
|
||||
|
|
77
frequency.c
Normal file
77
frequency.c
Normal file
|
@ -0,0 +1,77 @@
|
|||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#include "driverlib/sysctl.h"
|
||||
#include "driverlib/gpio.h"
|
||||
#include "driverlib/timer.h"
|
||||
#include "driverlib/pin_map.h"
|
||||
#include "inc/tm4c1294ncpdt.h"
|
||||
#include "driverlib/interrupt.h"
|
||||
#include "inc/hw_types.h"
|
||||
#include "inc/hw_memmap.h"
|
||||
#include "driverlib/fpu.h"
|
||||
#include <math.h>
|
||||
#include "driverlib/pwm.h"
|
||||
|
||||
#include "frequency.h"
|
||||
|
||||
// start a pwm test signal
|
||||
void start_signal() {
|
||||
// configure M0PWM2, at GPIO PF2, BoosterPack 1 header C1 pin 2
|
||||
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
|
||||
GPIOPinTypePWM(GPIO_PORTF_BASE, GPIO_PIN_2 | GPIO_PIN_3);
|
||||
GPIOPinConfigure(GPIO_PF2_M0PWM2);
|
||||
GPIOPinConfigure(GPIO_PF3_M0PWM3);
|
||||
GPIOPadConfigSet(GPIO_PORTF_BASE, GPIO_PIN_2 | GPIO_PIN_3, GPIO_STRENGTH_2MA,
|
||||
GPIO_PIN_TYPE_STD);
|
||||
// configure the PWM0 peripheral, gen 1, outputs 2 and 3
|
||||
SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM0);
|
||||
// use system clock without division
|
||||
PWMClockSet(PWM0_BASE, PWM_SYSCLK_DIV_1);
|
||||
PWMGenConfigure(PWM0_BASE, PWM_GEN_1,
|
||||
PWM_GEN_MODE_DOWN | PWM_GEN_MODE_NO_SYNC);
|
||||
gPWMPeriod = roundf((float)gSystemClock / PWM_FREQUENCY);
|
||||
set_pwm_period(gPWMPeriod);
|
||||
PWMOutputState(PWM0_BASE, PWM_OUT_2_BIT | PWM_OUT_3_BIT, true);
|
||||
PWMGenEnable(PWM0_BASE, PWM_GEN_1);
|
||||
}
|
||||
|
||||
void set_pwm_period(uint32_t period) {
|
||||
PWMGenPeriodSet(PWM0_BASE, PWM_GEN_1,
|
||||
gPWMPeriod);
|
||||
PWMPulseWidthSet(PWM0_BASE, PWM_OUT_2,
|
||||
roundf((float)gPWMPeriod * 0.4f));
|
||||
PWMPulseWidthSet(PWM0_BASE, PWM_OUT_3,
|
||||
roundf((float)gPWMPeriod * 0.4f));
|
||||
}
|
||||
|
||||
|
||||
|
||||
void start_frequency_scan() {
|
||||
// config GPIO PD0 as timer input T0CCP0 at BoosterPack Connector #1 pin 14
|
||||
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);
|
||||
GPIOPinTypeTimer(GPIO_PORTD_BASE, GPIO_PIN_0);
|
||||
GPIOPinConfigure(GPIO_PD0_T0CCP0);
|
||||
SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0);
|
||||
TimerDisable(TIMER0_BASE, TIMER_BOTH);
|
||||
TimerConfigure(TIMER0_BASE, TIMER_CFG_SPLIT_PAIR | TIMER_CFG_A_CAP_TIME_UP);
|
||||
TimerControlEvent(TIMER0_BASE, TIMER_A, TIMER_EVENT_POS_EDGE);
|
||||
// use maximum load value
|
||||
TimerLoadSet(TIMER0_BASE, TIMER_A, 0xffff);
|
||||
// use maximum prescale value
|
||||
TimerPrescaleSet(TIMER0_BASE, TIMER_A, 0xff);
|
||||
TimerIntEnable(TIMER0_BASE, TIMER_CAPA_EVENT);
|
||||
TimerEnable(TIMER0_BASE, TIMER_A);
|
||||
}
|
||||
|
||||
uint32_t previous;
|
||||
void capture_handler() {
|
||||
TimerIntClear(TIMER0_BASE, TIMER_CAPA_EVENT);
|
||||
|
||||
uint32_t current = TimerValueGet(TIMER0_BASE, TIMER_A);
|
||||
|
||||
uint32_t delta = current - previous;
|
||||
gPeriod = delta;
|
||||
|
||||
previous = current;
|
||||
}
|
12
frequency.h
Normal file
12
frequency.h
Normal file
|
@ -0,0 +1,12 @@
|
|||
#ifndef FREQUENCY_C
|
||||
#define FREQUENCY_C
|
||||
#define gSystemClock 120000000 // [Hz] system clock frequency
|
||||
|
||||
#define PWM_FREQUENCY 20000 // PWM frequency = 20 kHz
|
||||
|
||||
void start_frequency_scan(void);
|
||||
void set_pwm_period(uint32_t period);
|
||||
|
||||
uint32_t gPeriod;
|
||||
uint32_t gPWMPeriod;
|
||||
#endif
|
408
kiss_fft.c
Normal file
408
kiss_fft.c
Normal file
|
@ -0,0 +1,408 @@
|
|||
/*
|
||||
Copyright (c) 2003-2010, Mark Borgerding
|
||||
|
||||
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 author nor the names of any 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 "_kiss_fft_guts.h"
|
||||
/* The guts header contains all the multiplication and addition macros that are defined for
|
||||
fixed or floating point complex numbers. It also delares the kf_ internal functions.
|
||||
*/
|
||||
|
||||
static void kf_bfly2(
|
||||
kiss_fft_cpx * Fout,
|
||||
const size_t fstride,
|
||||
const kiss_fft_cfg st,
|
||||
int m
|
||||
)
|
||||
{
|
||||
kiss_fft_cpx * Fout2;
|
||||
kiss_fft_cpx * tw1 = st->twiddles;
|
||||
kiss_fft_cpx t;
|
||||
Fout2 = Fout + m;
|
||||
do{
|
||||
C_FIXDIV(*Fout,2); C_FIXDIV(*Fout2,2);
|
||||
|
||||
C_MUL (t, *Fout2 , *tw1);
|
||||
tw1 += fstride;
|
||||
C_SUB( *Fout2 , *Fout , t );
|
||||
C_ADDTO( *Fout , t );
|
||||
++Fout2;
|
||||
++Fout;
|
||||
}while (--m);
|
||||
}
|
||||
|
||||
static void kf_bfly4(
|
||||
kiss_fft_cpx * Fout,
|
||||
const size_t fstride,
|
||||
const kiss_fft_cfg st,
|
||||
const size_t m
|
||||
)
|
||||
{
|
||||
kiss_fft_cpx *tw1,*tw2,*tw3;
|
||||
kiss_fft_cpx scratch[6];
|
||||
size_t k=m;
|
||||
const size_t m2=2*m;
|
||||
const size_t m3=3*m;
|
||||
|
||||
|
||||
tw3 = tw2 = tw1 = st->twiddles;
|
||||
|
||||
do {
|
||||
C_FIXDIV(*Fout,4); C_FIXDIV(Fout[m],4); C_FIXDIV(Fout[m2],4); C_FIXDIV(Fout[m3],4);
|
||||
|
||||
C_MUL(scratch[0],Fout[m] , *tw1 );
|
||||
C_MUL(scratch[1],Fout[m2] , *tw2 );
|
||||
C_MUL(scratch[2],Fout[m3] , *tw3 );
|
||||
|
||||
C_SUB( scratch[5] , *Fout, scratch[1] );
|
||||
C_ADDTO(*Fout, scratch[1]);
|
||||
C_ADD( scratch[3] , scratch[0] , scratch[2] );
|
||||
C_SUB( scratch[4] , scratch[0] , scratch[2] );
|
||||
C_SUB( Fout[m2], *Fout, scratch[3] );
|
||||
tw1 += fstride;
|
||||
tw2 += fstride*2;
|
||||
tw3 += fstride*3;
|
||||
C_ADDTO( *Fout , scratch[3] );
|
||||
|
||||
if(st->inverse) {
|
||||
Fout[m].r = scratch[5].r - scratch[4].i;
|
||||
Fout[m].i = scratch[5].i + scratch[4].r;
|
||||
Fout[m3].r = scratch[5].r + scratch[4].i;
|
||||
Fout[m3].i = scratch[5].i - scratch[4].r;
|
||||
}else{
|
||||
Fout[m].r = scratch[5].r + scratch[4].i;
|
||||
Fout[m].i = scratch[5].i - scratch[4].r;
|
||||
Fout[m3].r = scratch[5].r - scratch[4].i;
|
||||
Fout[m3].i = scratch[5].i + scratch[4].r;
|
||||
}
|
||||
++Fout;
|
||||
}while(--k);
|
||||
}
|
||||
|
||||
static void kf_bfly3(
|
||||
kiss_fft_cpx * Fout,
|
||||
const size_t fstride,
|
||||
const kiss_fft_cfg st,
|
||||
size_t m
|
||||
)
|
||||
{
|
||||
size_t k=m;
|
||||
const size_t m2 = 2*m;
|
||||
kiss_fft_cpx *tw1,*tw2;
|
||||
kiss_fft_cpx scratch[5];
|
||||
kiss_fft_cpx epi3;
|
||||
epi3 = st->twiddles[fstride*m];
|
||||
|
||||
tw1=tw2=st->twiddles;
|
||||
|
||||
do{
|
||||
C_FIXDIV(*Fout,3); C_FIXDIV(Fout[m],3); C_FIXDIV(Fout[m2],3);
|
||||
|
||||
C_MUL(scratch[1],Fout[m] , *tw1);
|
||||
C_MUL(scratch[2],Fout[m2] , *tw2);
|
||||
|
||||
C_ADD(scratch[3],scratch[1],scratch[2]);
|
||||
C_SUB(scratch[0],scratch[1],scratch[2]);
|
||||
tw1 += fstride;
|
||||
tw2 += fstride*2;
|
||||
|
||||
Fout[m].r = Fout->r - HALF_OF(scratch[3].r);
|
||||
Fout[m].i = Fout->i - HALF_OF(scratch[3].i);
|
||||
|
||||
C_MULBYSCALAR( scratch[0] , epi3.i );
|
||||
|
||||
C_ADDTO(*Fout,scratch[3]);
|
||||
|
||||
Fout[m2].r = Fout[m].r + scratch[0].i;
|
||||
Fout[m2].i = Fout[m].i - scratch[0].r;
|
||||
|
||||
Fout[m].r -= scratch[0].i;
|
||||
Fout[m].i += scratch[0].r;
|
||||
|
||||
++Fout;
|
||||
}while(--k);
|
||||
}
|
||||
|
||||
static void kf_bfly5(
|
||||
kiss_fft_cpx * Fout,
|
||||
const size_t fstride,
|
||||
const kiss_fft_cfg st,
|
||||
int m
|
||||
)
|
||||
{
|
||||
kiss_fft_cpx *Fout0,*Fout1,*Fout2,*Fout3,*Fout4;
|
||||
int u;
|
||||
kiss_fft_cpx scratch[13];
|
||||
kiss_fft_cpx * twiddles = st->twiddles;
|
||||
kiss_fft_cpx *tw;
|
||||
kiss_fft_cpx ya,yb;
|
||||
ya = twiddles[fstride*m];
|
||||
yb = twiddles[fstride*2*m];
|
||||
|
||||
Fout0=Fout;
|
||||
Fout1=Fout0+m;
|
||||
Fout2=Fout0+2*m;
|
||||
Fout3=Fout0+3*m;
|
||||
Fout4=Fout0+4*m;
|
||||
|
||||
tw=st->twiddles;
|
||||
for ( u=0; u<m; ++u ) {
|
||||
C_FIXDIV( *Fout0,5); C_FIXDIV( *Fout1,5); C_FIXDIV( *Fout2,5); C_FIXDIV( *Fout3,5); C_FIXDIV( *Fout4,5);
|
||||
scratch[0] = *Fout0;
|
||||
|
||||
C_MUL(scratch[1] ,*Fout1, tw[u*fstride]);
|
||||
C_MUL(scratch[2] ,*Fout2, tw[2*u*fstride]);
|
||||
C_MUL(scratch[3] ,*Fout3, tw[3*u*fstride]);
|
||||
C_MUL(scratch[4] ,*Fout4, tw[4*u*fstride]);
|
||||
|
||||
C_ADD( scratch[7],scratch[1],scratch[4]);
|
||||
C_SUB( scratch[10],scratch[1],scratch[4]);
|
||||
C_ADD( scratch[8],scratch[2],scratch[3]);
|
||||
C_SUB( scratch[9],scratch[2],scratch[3]);
|
||||
|
||||
Fout0->r += scratch[7].r + scratch[8].r;
|
||||
Fout0->i += scratch[7].i + scratch[8].i;
|
||||
|
||||
scratch[5].r = scratch[0].r + S_MUL(scratch[7].r,ya.r) + S_MUL(scratch[8].r,yb.r);
|
||||
scratch[5].i = scratch[0].i + S_MUL(scratch[7].i,ya.r) + S_MUL(scratch[8].i,yb.r);
|
||||
|
||||
scratch[6].r = S_MUL(scratch[10].i,ya.i) + S_MUL(scratch[9].i,yb.i);
|
||||
scratch[6].i = -S_MUL(scratch[10].r,ya.i) - S_MUL(scratch[9].r,yb.i);
|
||||
|
||||
C_SUB(*Fout1,scratch[5],scratch[6]);
|
||||
C_ADD(*Fout4,scratch[5],scratch[6]);
|
||||
|
||||
scratch[11].r = scratch[0].r + S_MUL(scratch[7].r,yb.r) + S_MUL(scratch[8].r,ya.r);
|
||||
scratch[11].i = scratch[0].i + S_MUL(scratch[7].i,yb.r) + S_MUL(scratch[8].i,ya.r);
|
||||
scratch[12].r = - S_MUL(scratch[10].i,yb.i) + S_MUL(scratch[9].i,ya.i);
|
||||
scratch[12].i = S_MUL(scratch[10].r,yb.i) - S_MUL(scratch[9].r,ya.i);
|
||||
|
||||
C_ADD(*Fout2,scratch[11],scratch[12]);
|
||||
C_SUB(*Fout3,scratch[11],scratch[12]);
|
||||
|
||||
++Fout0;++Fout1;++Fout2;++Fout3;++Fout4;
|
||||
}
|
||||
}
|
||||
|
||||
/* perform the butterfly for one stage of a mixed radix FFT */
|
||||
static void kf_bfly_generic(
|
||||
kiss_fft_cpx * Fout,
|
||||
const size_t fstride,
|
||||
const kiss_fft_cfg st,
|
||||
int m,
|
||||
int p
|
||||
)
|
||||
{
|
||||
int u,k,q1,q;
|
||||
kiss_fft_cpx * twiddles = st->twiddles;
|
||||
kiss_fft_cpx t;
|
||||
int Norig = st->nfft;
|
||||
|
||||
kiss_fft_cpx * scratch = (kiss_fft_cpx*)KISS_FFT_TMP_ALLOC(sizeof(kiss_fft_cpx)*p);
|
||||
|
||||
for ( u=0; u<m; ++u ) {
|
||||
k=u;
|
||||
for ( q1=0 ; q1<p ; ++q1 ) {
|
||||
scratch[q1] = Fout[ k ];
|
||||
C_FIXDIV(scratch[q1],p);
|
||||
k += m;
|
||||
}
|
||||
|
||||
k=u;
|
||||
for ( q1=0 ; q1<p ; ++q1 ) {
|
||||
int twidx=0;
|
||||
Fout[ k ] = scratch[0];
|
||||
for (q=1;q<p;++q ) {
|
||||
twidx += fstride * k;
|
||||
if (twidx>=Norig) twidx-=Norig;
|
||||
C_MUL(t,scratch[q] , twiddles[twidx] );
|
||||
C_ADDTO( Fout[ k ] ,t);
|
||||
}
|
||||
k += m;
|
||||
}
|
||||
}
|
||||
KISS_FFT_TMP_FREE(scratch);
|
||||
}
|
||||
|
||||
static
|
||||
void kf_work(
|
||||
kiss_fft_cpx * Fout,
|
||||
const kiss_fft_cpx * f,
|
||||
const size_t fstride,
|
||||
int in_stride,
|
||||
int * factors,
|
||||
const kiss_fft_cfg st
|
||||
)
|
||||
{
|
||||
kiss_fft_cpx * Fout_beg=Fout;
|
||||
const int p=*factors++; /* the radix */
|
||||
const int m=*factors++; /* stage's fft length/p */
|
||||
const kiss_fft_cpx * Fout_end = Fout + p*m;
|
||||
|
||||
#ifdef _OPENMP
|
||||
// use openmp extensions at the
|
||||
// top-level (not recursive)
|
||||
if (fstride==1 && p<=5)
|
||||
{
|
||||
int k;
|
||||
|
||||
// execute the p different work units in different threads
|
||||
# pragma omp parallel for
|
||||
for (k=0;k<p;++k)
|
||||
kf_work( Fout +k*m, f+ fstride*in_stride*k,fstride*p,in_stride,factors,st);
|
||||
// all threads have joined by this point
|
||||
|
||||
switch (p) {
|
||||
case 2: kf_bfly2(Fout,fstride,st,m); break;
|
||||
case 3: kf_bfly3(Fout,fstride,st,m); break;
|
||||
case 4: kf_bfly4(Fout,fstride,st,m); break;
|
||||
case 5: kf_bfly5(Fout,fstride,st,m); break;
|
||||
default: kf_bfly_generic(Fout,fstride,st,m,p); break;
|
||||
}
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (m==1) {
|
||||
do{
|
||||
*Fout = *f;
|
||||
f += fstride*in_stride;
|
||||
}while(++Fout != Fout_end );
|
||||
}else{
|
||||
do{
|
||||
// recursive call:
|
||||
// DFT of size m*p performed by doing
|
||||
// p instances of smaller DFTs of size m,
|
||||
// each one takes a decimated version of the input
|
||||
kf_work( Fout , f, fstride*p, in_stride, factors,st);
|
||||
f += fstride*in_stride;
|
||||
}while( (Fout += m) != Fout_end );
|
||||
}
|
||||
|
||||
Fout=Fout_beg;
|
||||
|
||||
// recombine the p smaller DFTs
|
||||
switch (p) {
|
||||
case 2: kf_bfly2(Fout,fstride,st,m); break;
|
||||
case 3: kf_bfly3(Fout,fstride,st,m); break;
|
||||
case 4: kf_bfly4(Fout,fstride,st,m); break;
|
||||
case 5: kf_bfly5(Fout,fstride,st,m); break;
|
||||
default: kf_bfly_generic(Fout,fstride,st,m,p); break;
|
||||
}
|
||||
}
|
||||
|
||||
/* facbuf is populated by p1,m1,p2,m2, ...
|
||||
where
|
||||
p[i] * m[i] = m[i-1]
|
||||
m0 = n */
|
||||
static
|
||||
void kf_factor(int n,int * facbuf)
|
||||
{
|
||||
int p=4;
|
||||
double floor_sqrt;
|
||||
floor_sqrt = floor( sqrt((double)n) );
|
||||
|
||||
/*factor out powers of 4, powers of 2, then any remaining primes */
|
||||
do {
|
||||
while (n % p) {
|
||||
switch (p) {
|
||||
case 4: p = 2; break;
|
||||
case 2: p = 3; break;
|
||||
default: p += 2; break;
|
||||
}
|
||||
if (p > floor_sqrt)
|
||||
p = n; /* no more factors, skip to end */
|
||||
}
|
||||
n /= p;
|
||||
*facbuf++ = p;
|
||||
*facbuf++ = n;
|
||||
} while (n > 1);
|
||||
}
|
||||
|
||||
/*
|
||||
*
|
||||
* User-callable function to allocate all necessary storage space for the fft.
|
||||
*
|
||||
* The return value is a contiguous block of memory, allocated with malloc. As such,
|
||||
* It can be freed with free(), rather than a kiss_fft-specific function.
|
||||
* */
|
||||
kiss_fft_cfg kiss_fft_alloc(int nfft,int inverse_fft,void * mem,size_t * lenmem )
|
||||
{
|
||||
kiss_fft_cfg st=NULL;
|
||||
size_t memneeded = sizeof(struct kiss_fft_state)
|
||||
+ sizeof(kiss_fft_cpx)*(nfft-1); /* twiddle factors*/
|
||||
|
||||
if ( lenmem==NULL ) {
|
||||
st = ( kiss_fft_cfg)KISS_FFT_MALLOC( memneeded );
|
||||
}else{
|
||||
if (mem != NULL && *lenmem >= memneeded)
|
||||
st = (kiss_fft_cfg)mem;
|
||||
*lenmem = memneeded;
|
||||
}
|
||||
if (st) {
|
||||
int i;
|
||||
st->nfft=nfft;
|
||||
st->inverse = inverse_fft;
|
||||
|
||||
for (i=0;i<nfft;++i) {
|
||||
const double pi=3.141592653589793238462643383279502884197169399375105820974944;
|
||||
double phase = -2*pi*i / nfft;
|
||||
if (st->inverse)
|
||||
phase *= -1;
|
||||
kf_cexp(st->twiddles+i, phase );
|
||||
}
|
||||
|
||||
kf_factor(nfft,st->factors);
|
||||
}
|
||||
return st;
|
||||
}
|
||||
|
||||
|
||||
void kiss_fft_stride(kiss_fft_cfg st,const kiss_fft_cpx *fin,kiss_fft_cpx *fout,int in_stride)
|
||||
{
|
||||
if (fin == fout) {
|
||||
//NOTE: this is not really an in-place FFT algorithm.
|
||||
//It just performs an out-of-place FFT into a temp buffer
|
||||
kiss_fft_cpx * tmpbuf = (kiss_fft_cpx*)KISS_FFT_TMP_ALLOC( sizeof(kiss_fft_cpx)*st->nfft);
|
||||
kf_work(tmpbuf,fin,1,in_stride, st->factors,st);
|
||||
memcpy(fout,tmpbuf,sizeof(kiss_fft_cpx)*st->nfft);
|
||||
KISS_FFT_TMP_FREE(tmpbuf);
|
||||
}else{
|
||||
kf_work( fout, fin, 1,in_stride, st->factors,st );
|
||||
}
|
||||
}
|
||||
|
||||
void kiss_fft(kiss_fft_cfg cfg,const kiss_fft_cpx *fin,kiss_fft_cpx *fout)
|
||||
{
|
||||
kiss_fft_stride(cfg,fin,fout,1);
|
||||
}
|
||||
|
||||
|
||||
void kiss_fft_cleanup(void)
|
||||
{
|
||||
// nothing needed any more
|
||||
}
|
||||
|
||||
int kiss_fft_next_fast_size(int n)
|
||||
{
|
||||
while(1) {
|
||||
int m=n;
|
||||
while ( (m%2) == 0 ) m/=2;
|
||||
while ( (m%3) == 0 ) m/=3;
|
||||
while ( (m%5) == 0 ) m/=5;
|
||||
if (m<=1)
|
||||
break; /* n is completely factorable by twos, threes, and fives */
|
||||
n++;
|
||||
}
|
||||
return n;
|
||||
}
|
124
kiss_fft.h
Normal file
124
kiss_fft.h
Normal file
|
@ -0,0 +1,124 @@
|
|||
#ifndef KISS_FFT_H
|
||||
#define KISS_FFT_H
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <math.h>
|
||||
#include <string.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
ATTENTION!
|
||||
If you would like a :
|
||||
-- a utility that will handle the caching of fft objects
|
||||
-- real-only (no imaginary time component ) FFT
|
||||
-- a multi-dimensional FFT
|
||||
-- a command-line utility to perform ffts
|
||||
-- a command-line utility to perform fast-convolution filtering
|
||||
|
||||
Then see kfc.h kiss_fftr.h kiss_fftnd.h fftutil.c kiss_fastfir.c
|
||||
in the tools/ directory.
|
||||
*/
|
||||
|
||||
#ifdef USE_SIMD
|
||||
# include <xmmintrin.h>
|
||||
# define kiss_fft_scalar __m128
|
||||
#define KISS_FFT_MALLOC(nbytes) _mm_malloc(nbytes,16)
|
||||
#define KISS_FFT_FREE _mm_free
|
||||
#else
|
||||
#define KISS_FFT_MALLOC malloc
|
||||
#define KISS_FFT_FREE free
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef FIXED_POINT
|
||||
#include <sys/types.h>
|
||||
# if (FIXED_POINT == 32)
|
||||
# define kiss_fft_scalar int32_t
|
||||
# else
|
||||
# define kiss_fft_scalar int16_t
|
||||
# endif
|
||||
#else
|
||||
# ifndef kiss_fft_scalar
|
||||
/* default is float */
|
||||
# define kiss_fft_scalar float
|
||||
# endif
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
kiss_fft_scalar r;
|
||||
kiss_fft_scalar i;
|
||||
}kiss_fft_cpx;
|
||||
|
||||
typedef struct kiss_fft_state* kiss_fft_cfg;
|
||||
|
||||
/*
|
||||
* kiss_fft_alloc
|
||||
*
|
||||
* Initialize a FFT (or IFFT) algorithm's cfg/state buffer.
|
||||
*
|
||||
* typical usage: kiss_fft_cfg mycfg=kiss_fft_alloc(1024,0,NULL,NULL);
|
||||
*
|
||||
* The return value from fft_alloc is a cfg buffer used internally
|
||||
* by the fft routine or NULL.
|
||||
*
|
||||
* If lenmem is NULL, then kiss_fft_alloc will allocate a cfg buffer using malloc.
|
||||
* The returned value should be free()d when done to avoid memory leaks.
|
||||
*
|
||||
* The state can be placed in a user supplied buffer 'mem':
|
||||
* If lenmem is not NULL and mem is not NULL and *lenmem is large enough,
|
||||
* then the function places the cfg in mem and the size used in *lenmem
|
||||
* and returns mem.
|
||||
*
|
||||
* If lenmem is not NULL and ( mem is NULL or *lenmem is not large enough),
|
||||
* then the function returns NULL and places the minimum cfg
|
||||
* buffer size in *lenmem.
|
||||
* */
|
||||
|
||||
kiss_fft_cfg kiss_fft_alloc(int nfft,int inverse_fft,void * mem,size_t * lenmem);
|
||||
|
||||
/*
|
||||
* kiss_fft(cfg,in_out_buf)
|
||||
*
|
||||
* Perform an FFT on a complex input buffer.
|
||||
* for a forward FFT,
|
||||
* fin should be f[0] , f[1] , ... ,f[nfft-1]
|
||||
* fout will be F[0] , F[1] , ... ,F[nfft-1]
|
||||
* Note that each element is complex and can be accessed like
|
||||
f[k].r and f[k].i
|
||||
* */
|
||||
void kiss_fft(kiss_fft_cfg cfg,const kiss_fft_cpx *fin,kiss_fft_cpx *fout);
|
||||
|
||||
/*
|
||||
A more generic version of the above function. It reads its input from every Nth sample.
|
||||
* */
|
||||
void kiss_fft_stride(kiss_fft_cfg cfg,const kiss_fft_cpx *fin,kiss_fft_cpx *fout,int fin_stride);
|
||||
|
||||
/* If kiss_fft_alloc allocated a buffer, it is one contiguous
|
||||
buffer and can be simply free()d when no longer needed*/
|
||||
#define kiss_fft_free free
|
||||
|
||||
/*
|
||||
Cleans up some memory that gets managed internally. Not necessary to call, but it might clean up
|
||||
your compiler output to call this before you exit.
|
||||
*/
|
||||
void kiss_fft_cleanup(void);
|
||||
|
||||
|
||||
/*
|
||||
* Returns the smallest integer k, such that k>=n and k has only "fast" factors (2,3,5)
|
||||
*/
|
||||
int kiss_fft_next_fast_size(int n);
|
||||
|
||||
/* for real ffts, we need an even size */
|
||||
#define kiss_fftr_next_fast_size_real(n) \
|
||||
(kiss_fft_next_fast_size( ((n)+1)>>1)<<1)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
413
main.c
413
main.c
|
@ -1,12 +1,18 @@
|
|||
/**
|
||||
* main.c
|
||||
*
|
||||
* ECE 3849 Lab 0 Starter Project
|
||||
* Gene Bogdanov 10/18/2017
|
||||
*
|
||||
* This version is using the new hardware for B2017: the EK-TM4C1294XL LaunchPad with BOOSTXL-EDUMKII BoosterPack.
|
||||
|
||||
/*
|
||||
* ECE 3849 Lab2 starter project
|
||||
*
|
||||
* Gene Bogdanov 9/13/2017
|
||||
*/
|
||||
/* XDCtools Header files */
|
||||
#include <xdc/std.h>
|
||||
#include <xdc/runtime/System.h>
|
||||
#include <xdc/cfg/global.h>
|
||||
|
||||
/* BIOS Header files */
|
||||
#include <ti/sysbios/BIOS.h>
|
||||
#include <ti/sysbios/knl/Task.h>
|
||||
#include <ti/sysbios/knl/Semaphore.h>
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
|
@ -25,20 +31,54 @@
|
|||
#include "driverlib/pin_map.h"
|
||||
#include "sampling.h"
|
||||
#include "buttons.h"
|
||||
#define PWM_FREQUENCY 20000 // PWM frequency = 20 kHz
|
||||
#include "frequency.h"
|
||||
#include "kiss_fft.h"
|
||||
#include "_kiss_fft_guts.h"
|
||||
|
||||
uint32_t gSystemClock; // [Hz] system clock frequency
|
||||
volatile uint32_t gTime = 0; // time in hundredths of a second
|
||||
volatile uint8_t refresh = 1;
|
||||
|
||||
// assumming square lcd
|
||||
|
||||
#define PI 3.14159265358979f
|
||||
|
||||
tContext sContext;
|
||||
|
||||
uint32_t cputime_unloaded;
|
||||
|
||||
#define FFT_EN false
|
||||
|
||||
#define LOCAL_BUF_LEN 128
|
||||
uint16_t adc_buffer_sample[LOCAL_BUF_LEN]; // copy of g adc buffer
|
||||
uint8_t adc_buffer_processed[LOCAL_BUF_LEN]; // copy of g adc buffer
|
||||
|
||||
#define FFT_BUF_LEN 1024
|
||||
uint16_t adc_buffer_fft_sample[FFT_BUF_LEN]; // copy of g adc buffer
|
||||
uint8_t adc_buffer_fft_processed[FFT_BUF_LEN]; // copy of g adc buffer
|
||||
|
||||
kiss_fft_cfg cfg;
|
||||
static kiss_fft_cpx in[FFT_BUF_LEN], out[FFT_BUF_LEN];
|
||||
|
||||
typedef struct
|
||||
{
|
||||
bool fft;
|
||||
uint8_t voltage_scale;
|
||||
uint8_t time_scale;
|
||||
uint8_t trigger_mode;
|
||||
} Options;
|
||||
|
||||
Options options = {
|
||||
.fft = false, // oscilloscope mode
|
||||
.voltage_scale = 4, // 2v
|
||||
.time_scale = 5, // 20us
|
||||
.trigger_mode = 1, // rising
|
||||
};
|
||||
|
||||
// assuming square lcd
|
||||
#define HEIGHT LCD_VERTICAL_MAX
|
||||
#define WIDTH LCD_HORIZONTAL_MAX
|
||||
#define PIXELS_PER_DIV 20
|
||||
|
||||
#define VIN_RANGE 3.3 // volts
|
||||
#define ADC_BITS 12
|
||||
#define ADC_OFFSET 30
|
||||
#define ADC_OFFSET 100
|
||||
|
||||
#define VOLTAGE_SCALES 5
|
||||
const char * const gVoltageScaleStr[VOLTAGE_SCALES] = {
|
||||
|
@ -49,45 +89,9 @@ const float gVoltageScale[VOLTAGE_SCALES] = {
|
|||
0.1, 0.2, 0.5, 1., 2.
|
||||
};
|
||||
|
||||
#define TIME_SCALES 6
|
||||
const char * const gTimeScaleStr[TIME_SCALES] = {
|
||||
"100 ms", "50 ms", "20 ms", " 10 ms", "50 us", "20 us"
|
||||
};
|
||||
|
||||
const uint64_t gTImeScale[TIME_SCALES] = {
|
||||
100 * 1000 / PIXELS_PER_DIV,
|
||||
50 * 1000 / PIXELS_PER_DIV,
|
||||
20 * 1000 / PIXELS_PER_DIV,
|
||||
10 * 1000 / PIXELS_PER_DIV,
|
||||
50 / PIXELS_PER_DIV,
|
||||
20 / PIXELS_PER_DIV,
|
||||
};
|
||||
|
||||
uint32_t cputime_unloaded;
|
||||
|
||||
int Trigger(bool rising);
|
||||
|
||||
// start a pwm test signal
|
||||
void start_signal() {
|
||||
// configure M0PWM2, at GPIO PF2, BoosterPack 1 header C1 pin 2
|
||||
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
|
||||
GPIOPinTypePWM(GPIO_PORTF_BASE, GPIO_PIN_2);
|
||||
GPIOPinConfigure(GPIO_PF2_M0PWM2);
|
||||
GPIOPadConfigSet(GPIO_PORTF_BASE, GPIO_PIN_2, GPIO_STRENGTH_2MA,
|
||||
GPIO_PIN_TYPE_STD);
|
||||
// configure the PWM0 peripheral, gen 1, outputs 2 and 3
|
||||
SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM0);
|
||||
// use system clock without division
|
||||
PWMClockSet(PWM0_BASE, PWM_SYSCLK_DIV_1);
|
||||
PWMGenConfigure(PWM0_BASE, PWM_GEN_1,
|
||||
PWM_GEN_MODE_DOWN | PWM_GEN_MODE_NO_SYNC);
|
||||
PWMGenPeriodSet(PWM0_BASE, PWM_GEN_1,
|
||||
roundf((float)gSystemClock / PWM_FREQUENCY));
|
||||
PWMPulseWidthSet(PWM0_BASE, PWM_OUT_2,
|
||||
roundf((float)gSystemClock / PWM_FREQUENCY * 0.4f));
|
||||
PWMOutputState(PWM0_BASE, PWM_OUT_2_BIT, true);
|
||||
PWMGenEnable(PWM0_BASE, PWM_GEN_1);
|
||||
}
|
||||
|
||||
|
||||
uint32_t cpu_load_count(void)
|
||||
{
|
||||
|
@ -109,77 +113,174 @@ void start_cputimer() {
|
|||
cputime_unloaded = cpu_load_count();
|
||||
}
|
||||
|
||||
int main(void) {
|
||||
/*
|
||||
* ======== main ========
|
||||
*/
|
||||
int main(void)
|
||||
{
|
||||
IntMasterDisable();
|
||||
|
||||
// Enable the Floating Point Unit, and permit ISRs to use it
|
||||
FPUEnable();
|
||||
FPULazyStackingEnable();
|
||||
|
||||
// Initialize the system clock to 120 MHz
|
||||
gSystemClock = SysCtlClockFreqSet(SYSCTL_XTAL_25MHZ | SYSCTL_OSC_MAIN | SYSCTL_USE_PLL | SYSCTL_CFG_VCO_480, 120000000);
|
||||
// hardware initialization goes here
|
||||
start_signal();
|
||||
start_sampler();
|
||||
ButtonInit();
|
||||
start_cputimer();
|
||||
start_frequency_scan();
|
||||
|
||||
Crystalfontz128x128_Init(); // Initialize the LCD display driver
|
||||
Crystalfontz128x128_SetOrientation(LCD_ORIENTATION_UP); // set screen orientation
|
||||
|
||||
tContext sContext;
|
||||
GrContextInit(&sContext, &g_sCrystalfontz128x128); // Initialize the grlib graphics context
|
||||
GrContextFontSet(&sContext, &g_sFontFixed6x8); // select font
|
||||
|
||||
#ifdef DISPLAY_TIME
|
||||
uint32_t time; // local copy of gTime
|
||||
#endif // DISPLAY_TIME
|
||||
char str[50]; // string buffer
|
||||
#define KISS_FFT_CFG_SIZE (sizeof(struct kiss_fft_state)+sizeof(kiss_fft_cpx)*(FFT_BUF_LEN-1))
|
||||
static char kiss_fft_cfg_buffer[KISS_FFT_CFG_SIZE];
|
||||
size_t buffer_size = KISS_FFT_CFG_SIZE;
|
||||
cfg = kiss_fft_alloc(FFT_BUF_LEN, 0, kiss_fft_cfg_buffer, &buffer_size);
|
||||
|
||||
// full-screen rectangle
|
||||
/* Start BIOS */
|
||||
BIOS_start();
|
||||
|
||||
return (0);
|
||||
}
|
||||
|
||||
void capture_waveform(UArg arg1, UArg arg2)
|
||||
{
|
||||
IntMasterEnable();
|
||||
while(true) {
|
||||
Semaphore_pend(capture_sem, BIOS_WAIT_FOREVER);
|
||||
|
||||
int32_t adc_current_index;
|
||||
int32_t i;
|
||||
|
||||
if (options.fft) {
|
||||
adc_current_index = getADCBufferIndex();
|
||||
int32_t j = 0;
|
||||
for(i=adc_current_index-FFT_BUF_LEN; i<adc_current_index; i++) {
|
||||
adc_buffer_fft_sample[j++] = gADCBuffer[ADC_BUFFER_WRAP(adc_current_index + i)];
|
||||
}
|
||||
} else {
|
||||
// single read of options is atomic
|
||||
int32_t trigger_mode = options.trigger_mode;
|
||||
|
||||
int trigger;
|
||||
if (trigger_mode == 2) {
|
||||
trigger = getADCBufferIndex() - (WIDTH / 2); // show latest if trigger disabled
|
||||
} else {
|
||||
trigger = Trigger(trigger_mode);
|
||||
}
|
||||
|
||||
adc_current_index = trigger - (WIDTH / 2);
|
||||
for (i=0; i<LOCAL_BUF_LEN; i++) {
|
||||
adc_buffer_sample[i] = gADCBuffer[ADC_BUFFER_WRAP(adc_current_index + i)];
|
||||
}
|
||||
|
||||
}
|
||||
Semaphore_post(process_sem);
|
||||
}
|
||||
}
|
||||
|
||||
void process_waveform(UArg arg1, UArg arg2) {
|
||||
static float w[FFT_BUF_LEN];
|
||||
int i;
|
||||
for (i=0; i<FFT_BUF_LEN; i++) {
|
||||
w[i] = 0.42f
|
||||
- 0.5f * cosf(2*PI*i/(FFT_BUF_LEN-1))
|
||||
+ 0.08f * cosf(4*PI*i/(FFT_BUF_LEN-1));
|
||||
}
|
||||
while(true) {
|
||||
Semaphore_pend(process_sem, BIOS_WAIT_FOREVER);
|
||||
int i;
|
||||
|
||||
#define MIN(a,b) (((a)<(b))?(a):(b))
|
||||
#define MAX(a,b) (((a)>(b))?(a):(b))
|
||||
#define CONSTRAIN(x) MAX(MIN(HEIGHT - 1, x), 0)
|
||||
|
||||
if(options.fft) { // fft
|
||||
for(i=0; i<FFT_BUF_LEN; i++) {
|
||||
//in[i].r = sinf(20*PI*i/FFT_BUF_LEN);
|
||||
in[i].r = (float) adc_buffer_fft_sample[i] * w[i];
|
||||
in[i].i = 0;
|
||||
}
|
||||
|
||||
kiss_fft(cfg, in, out);
|
||||
|
||||
for(i=0; i<LOCAL_BUF_LEN; i++) {
|
||||
#define DB(out) 10 * log10f(out.r * out.r + out.i * out.i)
|
||||
|
||||
//adc_buffer_processed[i] = CONSTRAIN(HEIGHT- (int)roundf(0.5 * DB(out[i])));
|
||||
adc_buffer_processed[i] = CONSTRAIN(HEIGHT- (int) (DB(out[i])) );
|
||||
|
||||
}
|
||||
|
||||
} else {
|
||||
// single read of global options is atomic
|
||||
float fVoltsPerDiv = gVoltageScale[options.voltage_scale];
|
||||
float fScale = (VIN_RANGE * PIXELS_PER_DIV)/((1 << ADC_BITS) * fVoltsPerDiv);
|
||||
|
||||
for(i=0; i<LOCAL_BUF_LEN; i++) {
|
||||
#define TRANSPOSE(x) CONSTRAIN((HEIGHT/2) - (int)roundf(fScale * ((int)x - ADC_OFFSET)))
|
||||
adc_buffer_processed[i] = TRANSPOSE(adc_buffer_sample[i]);
|
||||
}
|
||||
}
|
||||
|
||||
Semaphore_post(display_sem);
|
||||
Semaphore_post(capture_sem);
|
||||
}
|
||||
}
|
||||
|
||||
void handle_user_input() {
|
||||
// handle buttons
|
||||
Button button = (Button) 0;
|
||||
Options local_options = options; // this is the only writer
|
||||
while (true) {
|
||||
Mailbox_pend(button_mailbox, &button, BIOS_WAIT_FOREVER);
|
||||
|
||||
switch (button) {
|
||||
case S1: // toggle edge
|
||||
local_options.trigger_mode = (local_options.trigger_mode + 1) % 3;
|
||||
break;
|
||||
case S2: // toggle fft
|
||||
local_options.fft ^= 1;
|
||||
break;
|
||||
case Up: // next scale
|
||||
local_options.voltage_scale = (local_options.voltage_scale + 1) % VOLTAGE_SCALES;
|
||||
break;
|
||||
case Down: // previous scale
|
||||
local_options.voltage_scale = (local_options.voltage_scale + VOLTAGE_SCALES - 1) % VOLTAGE_SCALES;
|
||||
break;
|
||||
case SW1:
|
||||
set_pwm_period(++gPWMPeriod);
|
||||
break;
|
||||
case SW2:
|
||||
set_pwm_period(--gPWMPeriod);
|
||||
break;
|
||||
}
|
||||
|
||||
Semaphore_pend(options_sem, BIOS_WAIT_FOREVER);
|
||||
options = local_options;
|
||||
Semaphore_post(options_sem);
|
||||
}
|
||||
}
|
||||
|
||||
void display_waveform(UArg arg1, UArg arg2)
|
||||
{
|
||||
char str[50]; // string buffer
|
||||
tRectangle rectFullScreen = {0, 0, GrContextDpyWidthGet(&sContext)-1, GrContextDpyHeightGet(&sContext)-1};
|
||||
|
||||
ButtonInit();
|
||||
while(1) {
|
||||
Semaphore_pend(display_sem, BIOS_WAIT_FOREVER);
|
||||
|
||||
start_cputimer();
|
||||
Semaphore_pend(options_sem, BIOS_WAIT_FOREVER);
|
||||
Options local_options = options;
|
||||
Semaphore_post(options_sem);
|
||||
|
||||
IntMasterEnable();
|
||||
|
||||
uint8_t voltage_scale = 0;
|
||||
uint8_t time_scale = 0;
|
||||
uint8_t rising = 1;
|
||||
|
||||
while (true) {
|
||||
// calculate cpu usage
|
||||
uint32_t cputime_loaded;
|
||||
cputime_loaded = cpu_load_count();
|
||||
float usage_percent;
|
||||
usage_percent = (1.0 - (float) cputime_loaded / (float) cputime_unloaded) * (float) 100.;
|
||||
|
||||
// handle buttons
|
||||
Button button = (Button) 0;
|
||||
while (fifo_get(&button)) {
|
||||
switch (button) {
|
||||
case S1: // toggle edge
|
||||
rising = !rising;
|
||||
break;
|
||||
case S2: // draw
|
||||
refresh = !refresh;
|
||||
break;
|
||||
case Up: // next scale
|
||||
voltage_scale = (voltage_scale + 1) % VOLTAGE_SCALES;
|
||||
break;
|
||||
case Down: // previous scale
|
||||
voltage_scale = (voltage_scale + VOLTAGE_SCALES - 1) % VOLTAGE_SCALES;
|
||||
break;
|
||||
case Right: // next scale
|
||||
time_scale = (time_scale + 1) % TIME_SCALES;
|
||||
set_frequency(gTImeScale[time_scale]);
|
||||
break;
|
||||
case Left: // previous scale
|
||||
time_scale = (time_scale + TIME_SCALES - 1) % TIME_SCALES;
|
||||
set_frequency(gTImeScale[time_scale]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
GrContextForegroundSet(&sContext, ClrBlack);
|
||||
GrRectFill(&sContext, &rectFullScreen); // fill screen with black
|
||||
|
||||
|
@ -198,96 +299,54 @@ int main(void) {
|
|||
|
||||
// info
|
||||
GrContextForegroundSet(&sContext, ClrWheat);
|
||||
GrStringDraw(&sContext, gVoltageScaleStr[voltage_scale], /*length*/ -1, /*x*/ 0, /*y*/ 0, /*opaque*/ false);
|
||||
GrStringDraw(&sContext, gTimeScaleStr[time_scale], /*length*/ -1, /*x*/ 60, /*y*/ 0, /*opaque*/ false);
|
||||
snprintf(str, sizeof(str), "CPU Load %.1f%%", usage_percent);
|
||||
GrStringDraw(&sContext, str, /*length*/ -1, /*x*/ 0, /*y*/ HEIGHT - 10, /*opaque*/ false);
|
||||
|
||||
if (rising) {
|
||||
GrStringDraw(&sContext, "^", /*length*/ -1, /*x*/ WIDTH - 10, /*y*/ 0, /*opaque*/ false);
|
||||
snprintf(str, sizeof(str), "CPU Load %.1f%%", usage_percent);
|
||||
GrStringDraw(&sContext, str, /*length*/ -1, /*x*/ 0, /*y*/ HEIGHT - 30, /*opaque*/ false);
|
||||
|
||||
uint32_t period = gPeriod;
|
||||
float frequency = (float) gSystemClock / (float) period;
|
||||
snprintf(str, sizeof(str), "f = %.1fhz", frequency);
|
||||
GrStringDraw(&sContext, str, /*length*/ -1, /*x*/ 0, /*y*/ HEIGHT - 10, /*opaque*/ false);
|
||||
snprintf(str, sizeof(str), "T = %dc", period);
|
||||
GrStringDraw(&sContext, str, /*length*/ -1, /*x*/ 0, /*y*/ HEIGHT - 20, /*opaque*/ false);
|
||||
|
||||
|
||||
if (local_options.fft) {
|
||||
GrStringDraw(&sContext, "20 dB" , /*length*/ -1, /*x*/ 0, /*y*/ 0, /*opaque*/ false);
|
||||
|
||||
} else {
|
||||
GrStringDraw(&sContext, "v", /*length*/ -1, /*x*/ WIDTH - 10, /*y*/ 0, /*opaque*/ false);
|
||||
GrStringDraw(&sContext, gVoltageScaleStr[local_options.voltage_scale], /*length*/ -1, /*x*/ 0, /*y*/ 0, /*opaque*/ false);
|
||||
|
||||
switch (local_options.trigger_mode) {
|
||||
case 1:
|
||||
GrStringDraw(&sContext, "^", /*length*/ -1, /*x*/ WIDTH - 10, /*y*/ 0, /*opaque*/ false);
|
||||
break;
|
||||
case 0:
|
||||
GrStringDraw(&sContext, "v", /*length*/ -1, /*x*/ WIDTH - 10, /*y*/ 0, /*opaque*/ false);
|
||||
break;
|
||||
case 2:
|
||||
GrStringDraw(&sContext, "-", /*length*/ -1, /*x*/ WIDTH - 10, /*y*/ 0, /*opaque*/ false);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// display graph
|
||||
#define LOCAL_BUF_LEN 128
|
||||
uint16_t local_adc_buffer[LOCAL_BUF_LEN]; // copy of adc buffer
|
||||
int32_t adc_current_index;
|
||||
int32_t j;
|
||||
if (refresh) {
|
||||
int trigger = Trigger(rising);
|
||||
|
||||
adc_current_index = trigger - (WIDTH / 2);
|
||||
for (j=0; j<LOCAL_BUF_LEN; j++) {
|
||||
local_adc_buffer[j] = gADCBuffer[ADC_BUFFER_WRAP(adc_current_index + j)];
|
||||
}
|
||||
GrContextForegroundSet(&sContext, ClrYellow);
|
||||
int j;
|
||||
for(j=1; j<LOCAL_BUF_LEN; j++) {
|
||||
GrLineDraw(&sContext, j-1, adc_buffer_processed[j-1], j, adc_buffer_processed[j]);
|
||||
}
|
||||
|
||||
float fVoltsPerDiv = gVoltageScale[voltage_scale];
|
||||
float fScale = (VIN_RANGE * PIXELS_PER_DIV)/((1 << ADC_BITS) * fVoltsPerDiv);
|
||||
|
||||
GrContextForegroundSet(&sContext, ClrPink);
|
||||
for(j=0; j<LOCAL_BUF_LEN; j++) {
|
||||
#define TRANSPOSE(x) (HEIGHT/2) - (int)roundf(fScale * ((int)x - ADC_OFFSET));
|
||||
uint32_t upper,lower, current, last;
|
||||
|
||||
if (j==0) {
|
||||
upper = TRANSPOSE(local_adc_buffer[j]);
|
||||
lower = upper;
|
||||
last = upper;
|
||||
} else {
|
||||
current = TRANSPOSE(local_adc_buffer[j]);
|
||||
|
||||
// couldn't find these anywhere
|
||||
#define MIN(a,b) (((a)<(b))?(a):(b))
|
||||
#define MAX(a,b) (((a)>(b))?(a):(b))
|
||||
|
||||
upper = MAX(current, last);
|
||||
lower = MIN(current, last);
|
||||
|
||||
last = current;
|
||||
}
|
||||
|
||||
GrLineDrawV(&sContext, j, lower, upper);
|
||||
}
|
||||
|
||||
#ifdef DISPLAY_TIME
|
||||
// display time
|
||||
time = gTime; // read shared global only once
|
||||
|
||||
uint32_t hundredths = time % 100;
|
||||
uint32_t seconds = (time / 100) % 60;
|
||||
uint32_t minutes = (time / (100 * 60));
|
||||
|
||||
snprintf(str, sizeof(str), "Time = %02u:%02u:%02u", minutes, seconds, hundredths); // convert time to string
|
||||
GrContextForegroundSet(&sContext, ClrYellow); // yellow text
|
||||
GrStringDraw(&sContext, str, /*length*/ -1, /*x*/ 0, /*y*/ 0, /*opaque*/ false);
|
||||
|
||||
// display button statuses
|
||||
char labels[9][7] = {"sw1", "sw2", "s1", "s2", "sel", "right", "left", "up", "down"};
|
||||
char statuses[2][15] = {"not pressed", "pressed"};
|
||||
int offset = 20;
|
||||
uint32_t buttons = gButtons;
|
||||
|
||||
uint8_t i;
|
||||
for (i = 0; i < 9; i++) {
|
||||
snprintf(str, sizeof(str), "%s: %s",
|
||||
labels[i],
|
||||
statuses[buttons & 1]
|
||||
);
|
||||
GrStringDraw(&sContext, str, /*length*/ -1, /*x*/ 0, /*y*/ offset, /*opaque*/ false);
|
||||
offset += 10;
|
||||
buttons >>= 1;
|
||||
}
|
||||
#endif // DISPLAY_TIME
|
||||
|
||||
GrFlush(&sContext); // flush the frame buffer to the LCD
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
int Trigger(bool rising) // search for edge trigger
|
||||
{
|
||||
int x = gADCBufferIndex - (WIDTH / 2); // half screen width
|
||||
int x = getADCBufferIndex() - (WIDTH / 2); // half screen width
|
||||
int x_stop = x - ADC_BUFFER_SIZE/2;
|
||||
for (; x > x_stop; x--) {
|
||||
if (rising) {
|
||||
|
@ -303,6 +362,6 @@ int Trigger(bool rising) // search for edge trigger
|
|||
}
|
||||
}
|
||||
if (x == x_stop) // for loop ran to the end
|
||||
x = x = gADCBufferIndex - (WIDTH / 2); // reset x back to how it was initialized
|
||||
x = getADCBufferIndex() - (WIDTH / 2); // reset x back to how it was initialized
|
||||
return x;
|
||||
}
|
||||
|
|
24
makefile.defs
Normal file
24
makefile.defs
Normal file
|
@ -0,0 +1,24 @@
|
|||
#File used to help "Clean Project" in CCS completely clean the kernel files
|
||||
CFG_SRCDIR = ../src
|
||||
|
||||
ifneq (,$(findstring :,$(WINDIR)$(windir)$(COMSPEC)$(comspec)))
|
||||
# if Windows, use copy to touch file dates
|
||||
TOUCH = copy /b $(subst /,\,$@)+,, $(subst /,\,$@)
|
||||
else
|
||||
TOUCH = touch $@
|
||||
endif
|
||||
|
||||
# include Config generated top-level makefile
|
||||
-include $(CFG_SRCDIR)/makefile.libs
|
||||
|
||||
ifneq (clean,$(MAKECMDGOALS))
|
||||
# ensure this file is reloaded when .cfg files change but after config runs
|
||||
$(CFG_SRCDIR)/makefile.libs: $(GEN_OPTS) $(CFG_SRCS)
|
||||
-@$(if $(wildcard $@),$(TOUCH),:)
|
||||
endif
|
||||
|
||||
#add generated makefile to list of files to delete during a clean
|
||||
GEN_MISC_FILES__QUOTED += "$(CFG_SRCDIR)/makefile.libs"
|
||||
|
||||
#add generated source dir to list of directories to delete during a clean
|
||||
#GEN_MISC_DIRS__QTD += "$(CFG_SRCDIR)"
|
603
rtos.cfg
Normal file
603
rtos.cfg
Normal file
|
@ -0,0 +1,603 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2016, 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.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/* ================ Clock configuration ================ */
|
||||
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
|
||||
var Mailbox = xdc.useModule('ti.sysbios.knl.Mailbox');
|
||||
var TimestampProvider = xdc.useModule('ti.sysbios.family.arm.lm4.TimestampProvider');
|
||||
var GateHwi = xdc.useModule('ti.sysbios.gates.GateHwi');
|
||||
/*
|
||||
* Default value is family dependent. For example, Linux systems often only
|
||||
* support a minimum period of 10000 us and multiples of 10000 us.
|
||||
* TI platforms have a default of 1000 us.
|
||||
*/
|
||||
Clock.tickPeriod = 1000;
|
||||
|
||||
|
||||
|
||||
/* ================ Defaults (module) configuration ================ */
|
||||
var Defaults = xdc.useModule('xdc.runtime.Defaults');
|
||||
/*
|
||||
* A flag to allow module names to be loaded on the target. Module name
|
||||
* strings are placed in the .const section for debugging purposes.
|
||||
*
|
||||
* Pick one:
|
||||
* - true (default)
|
||||
* Setting this parameter to true will include name strings in the .const
|
||||
* section so that Errors and Asserts are easier to debug.
|
||||
* - false
|
||||
* Setting this parameter to false will reduce footprint in the .const
|
||||
* section. As a result, Error and Assert messages will contain an
|
||||
* "unknown module" prefix instead of the actual module name.
|
||||
*/
|
||||
Defaults.common$.namedModule = true;
|
||||
//Defaults.common$.namedModule = false;
|
||||
|
||||
|
||||
|
||||
/* ================ Error configuration ================ */
|
||||
var Error = xdc.useModule('xdc.runtime.Error');
|
||||
/*
|
||||
* This function is called to handle all raised errors, but unlike
|
||||
* Error.raiseHook, this function is responsible for completely handling the
|
||||
* error with an appropriately initialized Error_Block.
|
||||
*
|
||||
* Pick one:
|
||||
* - Error.policyDefault (default)
|
||||
* Calls Error.raiseHook with an initialized Error_Block structure and logs
|
||||
* the error using the module's logger.
|
||||
* - Error.policySpin
|
||||
* Simple alternative that traps on a while(1) loop for minimized target
|
||||
* footprint.
|
||||
* Using Error.policySpin, the Error.raiseHook will NOT called.
|
||||
*/
|
||||
Error.policyFxn = Error.policyDefault;
|
||||
//Error.policyFxn = Error.policySpin;
|
||||
|
||||
/*
|
||||
* If Error.policyFxn is set to Error.policyDefault, this function is called
|
||||
* whenever an error is raised by the Error module.
|
||||
*
|
||||
* Pick one:
|
||||
* - Error.print (default)
|
||||
* Errors are formatted and output via System_printf() for easier
|
||||
* debugging.
|
||||
* - null
|
||||
* Errors are not formatted or logged. This option reduces code footprint.
|
||||
* - non-null function
|
||||
* Errors invoke custom user function. See the Error module documentation
|
||||
* for more details.
|
||||
*/
|
||||
Error.raiseHook = Error.print;
|
||||
//Error.raiseHook = null;
|
||||
//Error.raiseHook = "&myErrorFxn";
|
||||
|
||||
/*
|
||||
* If Error.policyFxn is set to Error.policyDefault, this option applies to the
|
||||
* maximum number of times the Error.raiseHook function can be recursively
|
||||
* invoked. This option limits the possibility of an infinite recursion that
|
||||
* could lead to a stack overflow.
|
||||
* The default value is 16.
|
||||
*/
|
||||
Error.maxDepth = 2;
|
||||
|
||||
|
||||
|
||||
/* ================ Hwi configuration ================ */
|
||||
var halHwi = xdc.useModule('ti.sysbios.hal.Hwi');
|
||||
var m3Hwi = xdc.useModule('ti.sysbios.family.arm.m3.Hwi');
|
||||
/*
|
||||
* Checks for Hwi (system) stack overruns while in the Idle loop.
|
||||
*
|
||||
* Pick one:
|
||||
* - true (default)
|
||||
* Checks the top word for system stack overflows during the idle loop and
|
||||
* raises an Error if one is detected.
|
||||
* - false
|
||||
* Disabling the runtime check improves runtime performance and yields a
|
||||
* reduced flash footprint.
|
||||
*/
|
||||
halHwi.checkStackFlag = true;
|
||||
//halHwi.checkStackFlag = false;
|
||||
|
||||
/*
|
||||
* The following options alter the system's behavior when a hardware exception
|
||||
* is detected.
|
||||
*
|
||||
* Pick one:
|
||||
* - Hwi.enableException = true
|
||||
* This option causes the default m3Hwi.excHandlerFunc function to fully
|
||||
* decode an exception and dump the registers to the system console.
|
||||
* This option raises errors in the Error module and displays the
|
||||
* exception in ROV.
|
||||
* - Hwi.enableException = false
|
||||
* This option reduces code footprint by not decoding or printing the
|
||||
* exception to the system console.
|
||||
* It however still raises errors in the Error module and displays the
|
||||
* exception in ROV.
|
||||
* - Hwi.excHandlerFunc = null
|
||||
* This is the most aggressive option for code footprint savings; but it
|
||||
* can difficult to debug exceptions. It reduces flash footprint by
|
||||
* plugging in a default while(1) trap when exception occur. This option
|
||||
* does not raise an error with the Error module.
|
||||
*/
|
||||
m3Hwi.enableException = true;
|
||||
//m3Hwi.enableException = false;
|
||||
//m3Hwi.excHandlerFunc = null;
|
||||
|
||||
/*
|
||||
* Enable hardware exception generation when dividing by zero.
|
||||
*
|
||||
* Pick one:
|
||||
* - 0 (default)
|
||||
* Disables hardware exceptions when dividing by zero
|
||||
* - 1
|
||||
* Enables hardware exceptions when dividing by zero
|
||||
*/
|
||||
m3Hwi.nvicCCR.DIV_0_TRP = 0;
|
||||
//m3Hwi.nvicCCR.DIV_0_TRP = 1;
|
||||
|
||||
/*
|
||||
* Enable hardware exception generation for invalid data alignment.
|
||||
*
|
||||
* Pick one:
|
||||
* - 0 (default)
|
||||
* Disables hardware exceptions for data alignment
|
||||
* - 1
|
||||
* Enables hardware exceptions for data alignment
|
||||
*/
|
||||
m3Hwi.nvicCCR.UNALIGN_TRP = 0;
|
||||
//m3Hwi.nvicCCR.UNALIGN_TRP = 1;
|
||||
|
||||
|
||||
|
||||
/* ================ Idle configuration ================ */
|
||||
var Idle = xdc.useModule('ti.sysbios.knl.Idle');
|
||||
/*
|
||||
* The Idle module is used to specify a list of functions to be called when no
|
||||
* other tasks are running in the system.
|
||||
*
|
||||
* Functions added here will be run continuously within the idle task.
|
||||
*
|
||||
* Function signature:
|
||||
* Void func(Void);
|
||||
*/
|
||||
//Idle.addFunc("&myIdleFunc");
|
||||
|
||||
|
||||
|
||||
/* ================ Kernel (SYS/BIOS) configuration ================ */
|
||||
var BIOS = xdc.useModule('ti.sysbios.BIOS');
|
||||
/*
|
||||
* Enable asserts in the BIOS library.
|
||||
*
|
||||
* Pick one:
|
||||
* - true (default)
|
||||
* Enables asserts for debugging purposes.
|
||||
* - false
|
||||
* Disables asserts for a reduced code footprint and better performance.
|
||||
*/
|
||||
BIOS.assertsEnabled = true;
|
||||
//BIOS.assertsEnabled = false;
|
||||
|
||||
/*
|
||||
* Specify default heap size for BIOS.
|
||||
*/
|
||||
BIOS.heapSize = 1024;
|
||||
|
||||
/*
|
||||
* A flag to determine if xdc.runtime sources are to be included in a custom
|
||||
* built BIOS library.
|
||||
*
|
||||
* Pick one:
|
||||
* - false (default)
|
||||
* The pre-built xdc.runtime library is provided by the respective target
|
||||
* used to build the application.
|
||||
* - true
|
||||
* xdc.runtime library sources are to be included in the custom BIOS
|
||||
* library. This option yields the most efficient library in both code
|
||||
* footprint and runtime performance.
|
||||
*/
|
||||
BIOS.includeXdcRuntime = false;
|
||||
//BIOS.includeXdcRuntime = true;
|
||||
|
||||
/*
|
||||
* The SYS/BIOS runtime is provided in the form of a library that is linked
|
||||
* with the application. Several forms of this library are provided with the
|
||||
* SYS/BIOS product.
|
||||
*
|
||||
* Pick one:
|
||||
* - BIOS.LibType_Custom
|
||||
* Custom built library that is highly optimized for code footprint and
|
||||
* runtime performance.
|
||||
* - BIOS.LibType_Debug
|
||||
* Custom built library that is non-optimized that can be used to
|
||||
* single-step through APIs with a debugger.
|
||||
*
|
||||
*/
|
||||
BIOS.libType = BIOS.LibType_Custom;
|
||||
//BIOS.libType = BIOS.LibType_Debug;
|
||||
|
||||
/*
|
||||
* Runtime instance creation enable flag.
|
||||
*
|
||||
* Pick one:
|
||||
* - true (default)
|
||||
* Allows Mod_create() and Mod_delete() to be called at runtime which
|
||||
* requires a default heap for dynamic memory allocation.
|
||||
* - false
|
||||
* Reduces code footprint by disallowing Mod_create() and Mod_delete() to
|
||||
* be called at runtime. Object instances are constructed via
|
||||
* Mod_construct() and destructed via Mod_destruct().
|
||||
*/
|
||||
BIOS.runtimeCreatesEnabled = true;
|
||||
//BIOS.runtimeCreatesEnabled = false;
|
||||
|
||||
/*
|
||||
* Enable logs in the BIOS library.
|
||||
*
|
||||
* Pick one:
|
||||
* - true (default)
|
||||
* Enables logs for debugging purposes.
|
||||
* - false
|
||||
* Disables logging for reduced code footprint and improved runtime
|
||||
* performance.
|
||||
*/
|
||||
//BIOS.logsEnabled = true;
|
||||
BIOS.logsEnabled = false;
|
||||
|
||||
|
||||
|
||||
/* ================ Memory configuration ================ */
|
||||
var Memory = xdc.useModule('xdc.runtime.Memory');
|
||||
/*
|
||||
* The Memory module itself simply provides a common interface for any
|
||||
* variety of system and application specific memory management policies
|
||||
* implemented by the IHeap modules(Ex. HeapMem, HeapBuf).
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/* ================ Program configuration ================ */
|
||||
/*
|
||||
* Program.stack is ignored with IAR. Use the project options in
|
||||
* IAR Embedded Workbench to alter the system stack size.
|
||||
*/
|
||||
if (!Program.build.target.$name.match(/iar/)) {
|
||||
/*
|
||||
* Reducing the system stack size (used by ISRs and Swis) to reduce
|
||||
* RAM usage.
|
||||
*/
|
||||
Program.stack = 768;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Enable Semihosting for GNU targets to print to CCS console
|
||||
*/
|
||||
if (Program.build.target.$name.match(/gnu/)) {
|
||||
var SemiHost = xdc.useModule('ti.sysbios.rts.gnu.SemiHostSupport');
|
||||
}
|
||||
/* ================ Semaphore configuration ================ */
|
||||
var Semaphore = xdc.useModule('ti.sysbios.knl.Semaphore');
|
||||
/*
|
||||
* Enables global support for Task priority pend queuing.
|
||||
*
|
||||
* Pick one:
|
||||
* - true (default)
|
||||
* This allows pending tasks to be serviced based on their task priority.
|
||||
* - false
|
||||
* Pending tasks are services based on first in, first out basis.
|
||||
*
|
||||
* When using BIOS in ROM:
|
||||
* This option must be set to false.
|
||||
*/
|
||||
//Semaphore.supportsPriority = true;
|
||||
Semaphore.supportsPriority = false;
|
||||
|
||||
/*
|
||||
* Allows for the implicit posting of events through the semaphore,
|
||||
* disable for additional code saving.
|
||||
*
|
||||
* Pick one:
|
||||
* - true
|
||||
* This allows the Semaphore module to post semaphores and events
|
||||
* simultaneously.
|
||||
* - false (default)
|
||||
* Events must be explicitly posted to unblock tasks.
|
||||
*
|
||||
*/
|
||||
//Semaphore.supportsEvents = true;
|
||||
Semaphore.supportsEvents = false;
|
||||
|
||||
|
||||
|
||||
/* ================ Swi configuration ================ */
|
||||
var Swi = xdc.useModule('ti.sysbios.knl.Swi');
|
||||
/*
|
||||
* A software interrupt is an object that encapsulates a function to be
|
||||
* executed and a priority. Software interrupts are prioritized, preempt tasks
|
||||
* and are preempted by hardware interrupt service routines.
|
||||
*
|
||||
* This module is included to allow Swi's in a users' application.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/* ================ System configuration ================ */
|
||||
var System = xdc.useModule('xdc.runtime.System');
|
||||
/*
|
||||
* The Abort handler is called when the system exits abnormally.
|
||||
*
|
||||
* Pick one:
|
||||
* - System.abortStd (default)
|
||||
* Call the ANSI C Standard 'abort()' to terminate the application.
|
||||
* - System.abortSpin
|
||||
* A lightweight abort function that loops indefinitely in a while(1) trap
|
||||
* function.
|
||||
* - A custom abort handler
|
||||
* A user-defined function. See the System module documentation for
|
||||
* details.
|
||||
*/
|
||||
System.abortFxn = System.abortStd;
|
||||
//System.abortFxn = System.abortSpin;
|
||||
//System.abortFxn = "&myAbortSystem";
|
||||
|
||||
/*
|
||||
* The Exit handler is called when the system exits normally.
|
||||
*
|
||||
* Pick one:
|
||||
* - System.exitStd (default)
|
||||
* Call the ANSI C Standard 'exit()' to terminate the application.
|
||||
* - System.exitSpin
|
||||
* A lightweight exit function that loops indefinitely in a while(1) trap
|
||||
* function.
|
||||
* - A custom exit function
|
||||
* A user-defined function. See the System module documentation for
|
||||
* details.
|
||||
*/
|
||||
System.exitFxn = System.exitStd;
|
||||
//System.exitFxn = System.exitSpin;
|
||||
//System.exitFxn = "&myExitSystem";
|
||||
|
||||
/*
|
||||
* Minimize exit handler array in the System module. The System module includes
|
||||
* an array of functions that are registered with System_atexit() which is
|
||||
* called by System_exit(). The default value is 8.
|
||||
*/
|
||||
System.maxAtexitHandlers = 2;
|
||||
|
||||
/*
|
||||
* The System.SupportProxy defines a low-level implementation of System
|
||||
* functions such as System_printf(), System_flush(), etc.
|
||||
*
|
||||
* Pick one pair:
|
||||
* - SysMin
|
||||
* This module maintains an internal configurable circular buffer that
|
||||
* stores the output until System_flush() is called.
|
||||
* The size of the circular buffer is set via SysMin.bufSize.
|
||||
* - SysCallback
|
||||
* SysCallback allows for user-defined implementations for System APIs.
|
||||
* The SysCallback support proxy has a smaller code footprint and can be
|
||||
* used to supply custom System_printf services.
|
||||
* The default SysCallback functions point to stub functions. See the
|
||||
* SysCallback module's documentation.
|
||||
*/
|
||||
var SysMin = xdc.useModule('xdc.runtime.SysMin');
|
||||
SysMin.bufSize = 128;
|
||||
System.SupportProxy = SysMin;
|
||||
//var SysCallback = xdc.useModule('xdc.runtime.SysCallback');
|
||||
//System.SupportProxy = SysCallback;
|
||||
//SysCallback.abortFxn = "&myUserAbort";
|
||||
//SysCallback.exitFxn = "&myUserExit";
|
||||
//SysCallback.flushFxn = "&myUserFlush";
|
||||
//SysCallback.putchFxn = "&myUserPutch";
|
||||
//SysCallback.readyFxn = "&myUserReady";
|
||||
|
||||
|
||||
|
||||
|
||||
/* ================ Task configuration ================ */
|
||||
var Task = xdc.useModule('ti.sysbios.knl.Task');
|
||||
/*
|
||||
* Check task stacks for overflow conditions.
|
||||
*
|
||||
* Pick one:
|
||||
* - true (default)
|
||||
* Enables runtime checks for task stack overflow conditions during
|
||||
* context switching ("from" and "to")
|
||||
* - false
|
||||
* Disables runtime checks for task stack overflow conditions.
|
||||
*/
|
||||
Task.checkStackFlag = true;
|
||||
//Task.checkStackFlag = false;
|
||||
|
||||
/*
|
||||
* Set the default task stack size when creating tasks.
|
||||
*
|
||||
* The default is dependent on the device being used. Reducing the default stack
|
||||
* size yields greater memory savings.
|
||||
*/
|
||||
Task.defaultStackSize = 512;
|
||||
|
||||
/*
|
||||
* Enables the idle task.
|
||||
*
|
||||
* Pick one:
|
||||
* - true (default)
|
||||
* Creates a task with priority of 0 which calls idle hook functions. This
|
||||
* option must be set to true to gain power savings provided by the Power
|
||||
* module.
|
||||
* - false
|
||||
* No idle task is created. This option consumes less memory as no
|
||||
* additional default task stack is needed.
|
||||
* To gain power savings by the Power module without having the idle task,
|
||||
* add Idle.run as the Task.allBlockedFunc.
|
||||
*/
|
||||
Task.enableIdleTask = true;
|
||||
//Task.enableIdleTask = false;
|
||||
//Task.allBlockedFunc = Idle.run;
|
||||
|
||||
/*
|
||||
* If Task.enableIdleTask is set to true, this option sets the idle task's
|
||||
* stack size.
|
||||
*
|
||||
* Reducing the idle stack size yields greater memory savings.
|
||||
*/
|
||||
Task.idleTaskStackSize = 512;
|
||||
|
||||
/*
|
||||
* Reduce the number of task priorities.
|
||||
* The default is 16.
|
||||
* Decreasing the number of task priorities yield memory savings.
|
||||
*/
|
||||
Task.numPriorities = 16;
|
||||
|
||||
|
||||
|
||||
/* ================ Text configuration ================ */
|
||||
var Text = xdc.useModule('xdc.runtime.Text');
|
||||
/*
|
||||
* These strings are placed in the .const section. Setting this parameter to
|
||||
* false will save space in the .const section. Error, Assert and Log messages
|
||||
* will print raw ids and args instead of a formatted message.
|
||||
*
|
||||
* Pick one:
|
||||
* - true (default)
|
||||
* This option loads test string into the .const for easier debugging.
|
||||
* - false
|
||||
* This option reduces the .const footprint.
|
||||
*/
|
||||
Text.isLoaded = true;
|
||||
//Text.isLoaded = false;
|
||||
|
||||
|
||||
|
||||
/* ================ Types configuration ================ */
|
||||
var Types = xdc.useModule('xdc.runtime.Types');
|
||||
/*
|
||||
* This module defines basic constants and types used throughout the
|
||||
* xdc.runtime package.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/* ================ TI-RTOS middleware configuration ================ */
|
||||
var mwConfig = xdc.useModule('ti.mw.Config');
|
||||
/*
|
||||
* Include TI-RTOS middleware libraries
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/* ================ TI-RTOS drivers' configuration ================ */
|
||||
var driversConfig = xdc.useModule('ti.drivers.Config');
|
||||
/*
|
||||
* Include TI-RTOS drivers
|
||||
*
|
||||
* Pick one:
|
||||
* - driversConfig.LibType_NonInstrumented (default)
|
||||
* Use TI-RTOS drivers library optimized for footprint and performance
|
||||
* without asserts or logs.
|
||||
* - driversConfig.LibType_Instrumented
|
||||
* Use TI-RTOS drivers library for debugging with asserts and logs enabled.
|
||||
*/
|
||||
driversConfig.libType = driversConfig.LibType_NonInstrumented;
|
||||
Clock.timerId = 2;
|
||||
TimestampProvider.useClockTimer = true;
|
||||
var m3Hwi0Params = new m3Hwi.Params();
|
||||
m3Hwi0Params.instance.name = "m3Hwi0";
|
||||
m3Hwi0Params.priority = 64;
|
||||
Program.global.m3Hwi0 = m3Hwi.create(62, "&ADC_ISR", m3Hwi0Params);
|
||||
var task1Params = new Task.Params();
|
||||
task1Params.instance.name = "waveform";
|
||||
task1Params.priority = 15;
|
||||
Program.global.waveform = Task.create("&capture_waveform", task1Params);
|
||||
var semaphore0Params = new Semaphore.Params();
|
||||
semaphore0Params.instance.name = "capture_sem";
|
||||
semaphore0Params.mode = Semaphore.Mode_BINARY;
|
||||
Program.global.capture_sem = Semaphore.create(1, semaphore0Params);
|
||||
var semaphore1Params = new Semaphore.Params();
|
||||
semaphore1Params.instance.name = "process_sem";
|
||||
semaphore1Params.mode = Semaphore.Mode_BINARY;
|
||||
Program.global.process_sem = Semaphore.create(null, semaphore1Params);
|
||||
var semaphore2Params = new Semaphore.Params();
|
||||
semaphore2Params.instance.name = "display";
|
||||
Program.global.display = Semaphore.create(null, semaphore2Params);
|
||||
var task2Params = new Task.Params();
|
||||
task2Params.instance.name = "processing";
|
||||
task2Params.stackSize = 1024;
|
||||
task2Params.priority = 2;
|
||||
Program.global.processing = Task.create("&process_waveform", task2Params);
|
||||
var task3Params = new Task.Params();
|
||||
task3Params.instance.name = "display";
|
||||
task3Params.priority = 5;
|
||||
task3Params.stackSize = 2048;
|
||||
Program.global.display = Task.create("&display_waveform", task3Params);
|
||||
var semaphore2Params0 = new Semaphore.Params();
|
||||
semaphore2Params0.instance.name = "display_sem";
|
||||
semaphore2Params0.mode = Semaphore.Mode_BINARY;
|
||||
Program.global.display_sem = Semaphore.create(null, semaphore2Params0);
|
||||
var clock0Params = new Clock.Params();
|
||||
clock0Params.instance.name = "button_clock";
|
||||
clock0Params.period = 5;
|
||||
clock0Params.startFlag = true;
|
||||
Program.global.button_clock = Clock.create("&clock_buttons", 1, clock0Params);
|
||||
var semaphore3Params = new Semaphore.Params();
|
||||
semaphore3Params.instance.name = "button_clock_sem";
|
||||
semaphore3Params.mode = Semaphore.Mode_BINARY;
|
||||
Program.global.button_clock_sem = Semaphore.create(null, semaphore3Params);
|
||||
var task4Params = new Task.Params();
|
||||
task4Params.instance.name = "button";
|
||||
task4Params.priority = 14;
|
||||
Program.global.button = Task.create("&button_task", task4Params);
|
||||
var mailbox0Params = new Mailbox.Params();
|
||||
mailbox0Params.instance.name = "button_mailbox";
|
||||
Program.global.button_mailbox = Mailbox.create(1, 9, mailbox0Params);
|
||||
var task5Params = new Task.Params();
|
||||
task5Params.instance.name = "user_input";
|
||||
task5Params.priority = 6;
|
||||
Program.global.user_input = Task.create("&handle_user_input", task5Params);
|
||||
var semaphore4Params = new Semaphore.Params();
|
||||
semaphore4Params.instance.name = "options_sem";
|
||||
semaphore4Params.mode = Semaphore.Mode_BINARY;
|
||||
Program.global.options_sem = Semaphore.create(1, semaphore4Params);
|
||||
var gateHwi0Params = new GateHwi.Params();
|
||||
gateHwi0Params.instance.name = "gateHwiDMA";
|
||||
Program.global.gateHwi0 = GateHwi.create(gateHwi0Params);
|
||||
var m3Hwi1Params = new m3Hwi.Params();
|
||||
m3Hwi1Params.instance.name = "m3Hwi1";
|
||||
m3Hwi1Params.priority = 4;
|
||||
Program.global.m3Hwi1 = m3Hwi.create(35, "&capture_handler", m3Hwi1Params);
|
133
sampling.c
133
sampling.c
|
@ -7,37 +7,111 @@
|
|||
#include "driverlib/sysctl.h"
|
||||
#include "driverlib/interrupt.h"
|
||||
#include "driverlib/timer.h"
|
||||
#include "driverlib/udma.h"
|
||||
#include "sysctl_pll.h"
|
||||
#include "inc/hw_types.h"
|
||||
#include "inc/hw_memmap.h"
|
||||
#include <math.h>
|
||||
#include "buttons.h"
|
||||
#include "sampling.h"
|
||||
#include <xdc/std.h>
|
||||
#include <xdc/runtime/System.h>
|
||||
#include <xdc/cfg/global.h>
|
||||
#include <ti/sysbios/gates/GateHwi.h>
|
||||
|
||||
|
||||
#define DMA
|
||||
|
||||
#ifdef DMA
|
||||
#pragma DATA_ALIGN(gDMAControlTable, 1024)
|
||||
tDMAControlTable gDMAControlTable[64]; // uDMA control table
|
||||
#endif
|
||||
|
||||
extern uint32_t gSystemClock; // [Hz] system clock frequency
|
||||
|
||||
// latest sample index
|
||||
void ADC_ISR(void)
|
||||
// is DMA occurring in the primary channel?
|
||||
volatile bool gDMAPrimary = true;
|
||||
void ADC_ISR(void) // DMA
|
||||
{
|
||||
// clear ADC1 sequence0 interrupt flag in the ADCISC register
|
||||
//HWREGBITW(ADC1_ISC_R, 1) = 1;
|
||||
ADC1_ISC_R |= 1;
|
||||
|
||||
// check for ADC FIFO overflow
|
||||
if(ADC1_OSTAT_R & ADC_OSTAT_OV0) {
|
||||
gADCErrors++; // count errors
|
||||
ADC1_OSTAT_R = ADC_OSTAT_OV0; // clear overflow condition
|
||||
ADCIntClearEx(ADC1_BASE, ADC_INT_DMA_SS0); // clear the ADC1 sequence 0 DMA interrupt flag
|
||||
// Check the primary DMA channel for end of transfer, and
|
||||
// restart if needed.
|
||||
if (uDMAChannelModeGet(UDMA_SEC_CHANNEL_ADC10 | UDMA_PRI_SELECT) ==
|
||||
UDMA_MODE_STOP) {
|
||||
// restart the primary channel (same as setup)
|
||||
uDMAChannelTransferSet(UDMA_SEC_CHANNEL_ADC10 | UDMA_PRI_SELECT,
|
||||
UDMA_MODE_PINGPONG, (void*)&ADC1_SSFIFO0_R,
|
||||
(void*)&gADCBuffer[0], ADC_BUFFER_SIZE/2);
|
||||
// DMA is currently occurring in the alternate buffer
|
||||
gDMAPrimary = false;
|
||||
}
|
||||
// Check the alternate DMA channel for end of transfer, and
|
||||
// restart if needed.
|
||||
// Also set the gDMAPrimary global.
|
||||
if (uDMAChannelModeGet(UDMA_SEC_CHANNEL_ADC10 | UDMA_ALT_SELECT) ==
|
||||
UDMA_MODE_STOP) {
|
||||
// restart the primary channel (same as setup)
|
||||
uDMAChannelTransferSet(UDMA_SEC_CHANNEL_ADC10 | UDMA_ALT_SELECT,
|
||||
UDMA_MODE_PINGPONG, (void*)&ADC1_SSFIFO0_R,
|
||||
(void*)&gADCBuffer[ADC_BUFFER_SIZE/2],
|
||||
ADC_BUFFER_SIZE/2);
|
||||
// DMA is currently occurring in the primary buffer
|
||||
gDMAPrimary = true;
|
||||
}
|
||||
// The DMA channel may be disabled if the CPU is paused by the debugger
|
||||
if (!uDMAChannelIsEnabled(UDMA_SEC_CHANNEL_ADC10)) {
|
||||
// re-enable the DMA channel
|
||||
uDMAChannelEnable(UDMA_SEC_CHANNEL_ADC10);
|
||||
}
|
||||
gADCBufferIndex = ADC_BUFFER_WRAP(gADCBufferIndex + 1);
|
||||
// read sample from the ADC1 sequence 0 FIFO
|
||||
gADCBuffer[gADCBufferIndex] = (ADC1_SSFIFO0_R & ADC_SSFIFO0_DATA_M);
|
||||
}
|
||||
|
||||
int32_t getADCBufferIndex(void)
|
||||
{
|
||||
int32_t index;
|
||||
uint32_t key = GateHwi_enter(gateHwi0);
|
||||
if (gDMAPrimary) { // DMA is currently in the primary channel
|
||||
index = ADC_BUFFER_SIZE/2 - 1 -
|
||||
uDMAChannelSizeGet(UDMA_SEC_CHANNEL_ADC10 |
|
||||
UDMA_PRI_SELECT);
|
||||
} else { // DMA is currently in the alternate channel
|
||||
index = ADC_BUFFER_SIZE - 1 -
|
||||
uDMAChannelSizeGet(UDMA_SEC_CHANNEL_ADC10 |
|
||||
UDMA_ALT_SELECT);
|
||||
}
|
||||
GateHwi_leave(gateHwi0, key);
|
||||
|
||||
return index;
|
||||
}
|
||||
|
||||
void start_sampler() {
|
||||
gADCBufferIndex = ADC_BUFFER_SIZE - 1;
|
||||
gADCErrors = 0;
|
||||
|
||||
// init DMA
|
||||
SysCtlPeripheralEnable(SYSCTL_PERIPH_UDMA);
|
||||
uDMAEnable();
|
||||
uDMAControlBaseSet(gDMAControlTable);
|
||||
// assign DMA channel 24 to ADC1 sequence 0
|
||||
uDMAChannelAssign(UDMA_CH24_ADC1_0);
|
||||
uDMAChannelAttributeDisable(UDMA_SEC_CHANNEL_ADC10, UDMA_ATTR_ALL);
|
||||
// primary DMA channel = first half of the ADC buffer
|
||||
uDMAChannelControlSet(UDMA_SEC_CHANNEL_ADC10 | UDMA_PRI_SELECT,
|
||||
UDMA_SIZE_16 | UDMA_SRC_INC_NONE | UDMA_DST_INC_16 |
|
||||
UDMA_ARB_4);
|
||||
uDMAChannelTransferSet(UDMA_SEC_CHANNEL_ADC10 | UDMA_PRI_SELECT,
|
||||
UDMA_MODE_PINGPONG, (void*)&ADC1_SSFIFO0_R,
|
||||
(void*)&gADCBuffer[0], ADC_BUFFER_SIZE/2);
|
||||
// alternate DMA channel = second half of the ADC buffer
|
||||
uDMAChannelControlSet(UDMA_SEC_CHANNEL_ADC10 | UDMA_ALT_SELECT,
|
||||
UDMA_SIZE_16 | UDMA_SRC_INC_NONE | UDMA_DST_INC_16 |
|
||||
UDMA_ARB_4);
|
||||
uDMAChannelTransferSet(UDMA_SEC_CHANNEL_ADC10 | UDMA_ALT_SELECT,
|
||||
UDMA_MODE_PINGPONG, (void*)&ADC1_SSFIFO0_R,
|
||||
(void*)&gADCBuffer[ADC_BUFFER_SIZE/2],
|
||||
ADC_BUFFER_SIZE/2);
|
||||
uDMAChannelEnable(UDMA_SEC_CHANNEL_ADC10);
|
||||
|
||||
|
||||
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE);
|
||||
GPIOPinTypeADC(GPIO_PORTE_BASE,
|
||||
GPIO_PIN_0); // GPIO setup for analog input AIN3
|
||||
|
@ -45,8 +119,6 @@ void start_sampler() {
|
|||
SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC0);
|
||||
SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC1);
|
||||
|
||||
// timer for low-speed
|
||||
SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER2);
|
||||
// ADC clock
|
||||
uint32_t pll_frequency = SysCtlFrequencyGet(CRYSTAL_FREQUENCY);
|
||||
uint32_t pll_divisor =
|
||||
|
@ -64,31 +136,10 @@ void start_sampler() {
|
|||
ADCSequenceStepConfigure(ADC1_BASE, 0, 0, ADC_CTL_CH3 | ADC_CTL_END | ADC_CTL_IE);
|
||||
// enable the sequence. it is now sampling
|
||||
ADCSequenceEnable(ADC1_BASE, 0);
|
||||
|
||||
// enable sequence 0 interrupt in the ADC1 peripheral
|
||||
ADCIntEnable(ADC1_BASE, 0); // INT_ADC1SS0
|
||||
IntPrioritySet(INT_ADC1SS0, 0); // set ADC1 sequence 0 interrupt priority
|
||||
// enable ADC1 sequence 0 interrupt in int. controller
|
||||
IntEnable(INT_ADC1SS0);
|
||||
}
|
||||
|
||||
void set_frequency(uint64_t microseconds) {
|
||||
if (microseconds == 1) {
|
||||
ADCSequenceDisable(ADC1_BASE, 0);
|
||||
// don't use a timer for high speed
|
||||
ADCSequenceConfigure(ADC1_BASE, 0, ADC_TRIGGER_ALWAYS, 0);
|
||||
ADCSequenceEnable(ADC1_BASE, 0);
|
||||
return;
|
||||
}
|
||||
|
||||
// initialize timer 2 in periodic mode
|
||||
TimerDisable(TIMER2_BASE, TIMER_BOTH);
|
||||
TimerConfigure(TIMER2_BASE, TIMER_CFG_PERIODIC);
|
||||
#define MICROSECONDS_PER_SECOND 1000000
|
||||
TimerLoadSet(TIMER2_BASE, TIMER_A, (uint32_t) ((uint64_t) gSystemClock * microseconds / MICROSECONDS_PER_SECOND) - 1);
|
||||
TimerControlTrigger(TIMER2_BASE, TIMER_A, true);
|
||||
TimerEnable(TIMER2_BASE, TIMER_A);
|
||||
|
||||
ADCSequenceDisable(ADC1_BASE, 0);
|
||||
ADCSequenceConfigure(ADC1_BASE, 0, ADC_TRIGGER_TIMER, 0);
|
||||
ADCSequenceEnable(ADC1_BASE, 0);
|
||||
//ADCIntEnable(ADC1_BASE, 0); // INT_ADC1SS0
|
||||
|
||||
ADCSequenceDMAEnable(ADC1_BASE, 0); // enable DMA for ADC1 sequence 0
|
||||
ADCIntEnableEx(ADC1_BASE, ADC_INT_DMA_SS0); // enable ADC1 sequence 0 DMA interrupt
|
||||
}
|
|
@ -17,4 +17,6 @@ void start_sampler(void);
|
|||
|
||||
void set_frequency(uint64_t microseconds);
|
||||
|
||||
int32_t getADCBufferIndex(void);
|
||||
|
||||
#endif /* SAMPLING_H_ */
|
||||
|
|
1
src/.exclude
Normal file
1
src/.exclude
Normal file
|
@ -0,0 +1 @@
|
|||
This file exists to prevent Eclipse/CDT from adding the C sources contained in this directory (or below) to any enclosing project.
|
62
src/makefile.libs
Normal file
62
src/makefile.libs
Normal file
|
@ -0,0 +1,62 @@
|
|||
#
|
||||
# This file was generated based on the configuration script:
|
||||
# C:\Users\askillorin\Documents\ece3849_lab3_starter\rtos.cfg
|
||||
#
|
||||
# This makefile may be included in other makefiles that need to build
|
||||
# the libraries containing the compiled source files generated as
|
||||
# part of the configuration step.
|
||||
|
||||
#
|
||||
# ======== GEN_SRC_DIR =========
|
||||
# The path to the sources generated during configuration
|
||||
#
|
||||
# This path must be either absolute or relative to the build directory.
|
||||
#
|
||||
# The absolute path to the generated source directory (at the time the
|
||||
# sources were generated) is:
|
||||
# C:\Users\askillorin\Documents\ece3849_lab3_starter\src
|
||||
#
|
||||
GEN_SRC_DIR ?= ../src
|
||||
|
||||
ifeq (,$(wildcard $(GEN_SRC_DIR)))
|
||||
$(error "ERROR: GEN_SRC_DIR must be set to the directory containing the generated sources")
|
||||
endif
|
||||
|
||||
#
|
||||
# ======== .force ========
|
||||
# The .force goal is used to force the build of any goal that names it as
|
||||
# a prerequisite
|
||||
#
|
||||
.PHONY: .force
|
||||
|
||||
#
|
||||
# ======== library macros ========
|
||||
#
|
||||
sysbios_SRC = $(GEN_SRC_DIR)/sysbios
|
||||
sysbios_LIB = $(GEN_SRC_DIR)/sysbios/sysbios.aem4f
|
||||
|
||||
#
|
||||
# ======== dependencies ========
|
||||
#
|
||||
all: $(sysbios_LIB)
|
||||
clean: .sysbios_clean
|
||||
|
||||
|
||||
# ======== convenient build goals ========
|
||||
.PHONY: sysbios
|
||||
sysbios: $(GEN_SRC_DIR)/sysbios/sysbios.aem4f
|
||||
|
||||
# CDT managed make executables depend on $(OBJS)
|
||||
OBJS += $(sysbios_LIB)
|
||||
|
||||
#
|
||||
# ======== rules ========
|
||||
#
|
||||
$(sysbios_LIB): .force
|
||||
@echo making $@ ...
|
||||
@$(MAKE) -C $(sysbios_SRC)
|
||||
|
||||
.sysbios_clean:
|
||||
@echo cleaning $(sysbios_SRC) ...
|
||||
-@$(MAKE) --no-print-directory -C $(sysbios_SRC) clean
|
||||
|
BIN
src/sysbios/BIOS.obj
Normal file
BIN
src/sysbios/BIOS.obj
Normal file
Binary file not shown.
BIN
src/sysbios/m3_Hwi_asm.obj
Normal file
BIN
src/sysbios/m3_Hwi_asm.obj
Normal file
Binary file not shown.
BIN
src/sysbios/m3_Hwi_asm_switch.obj
Normal file
BIN
src/sysbios/m3_Hwi_asm_switch.obj
Normal file
Binary file not shown.
BIN
src/sysbios/m3_IntrinsicsSupport_asm.obj
Normal file
BIN
src/sysbios/m3_IntrinsicsSupport_asm.obj
Normal file
Binary file not shown.
BIN
src/sysbios/m3_TaskSupport_asm.obj
Normal file
BIN
src/sysbios/m3_TaskSupport_asm.obj
Normal file
Binary file not shown.
90
src/sysbios/makefile
Normal file
90
src/sysbios/makefile
Normal file
|
@ -0,0 +1,90 @@
|
|||
|
||||
XOPTS = -I"C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/" -Dxdc_target_types__=C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/bios_6_45_02_31/packages/ti/targets/arm/elf/std.h -Dxdc_target_name__=M4F
|
||||
|
||||
vpath % C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/bios_6_45_02_31/packages/ti/sysbios/
|
||||
vpath %.c C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/
|
||||
|
||||
CCOPTS = --endian=little -mv7M4 --abi=eabi --float_support=fpv4spd16 -q -ms --opt_for_speed=2 --program_level_compile -o3 -g --optimize_with_debug -Dti_sysbios_knl_Task_minimizeLatency__D=FALSE -Dti_sysbios_knl_Clock_stopCheckNext__D=FALSE -Dti_sysbios_family_arm_m3_Hwi_enableException__D=TRUE -Dti_sysbios_family_arm_m3_Hwi_disablePriority__D=32U -Dti_sysbios_family_arm_m3_Hwi_numSparseInterrupts__D=0U
|
||||
|
||||
XDC_ROOT = C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/
|
||||
|
||||
BIOS_ROOT = C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/bios_6_45_02_31/packages/ti/sysbios/
|
||||
|
||||
BIOS_DEFS = -Dti_sysbios_BIOS_swiEnabled__D=TRUE -Dti_sysbios_BIOS_taskEnabled__D=TRUE -Dti_sysbios_BIOS_clockEnabled__D=TRUE -Dti_sysbios_BIOS_runtimeCreatesEnabled__D=TRUE -Dti_sysbios_hal_Hwi_DISABLE_ALL_HOOKS -Dti_sysbios_knl_Swi_DISABLE_ALL_HOOKS -Dti_sysbios_BIOS_smpEnabled__D=FALSE -Dti_sysbios_Build_useHwiMacros -Dti_sysbios_knl_Swi_numPriorities__D=16 -Dti_sysbios_knl_Task_deleteTerminatedTasks__D=FALSE -Dti_sysbios_knl_Task_numPriorities__D=16 -Dti_sysbios_knl_Task_checkStackFlag__D=TRUE -Dti_sysbios_knl_Task_initStackFlag__D=TRUE -Dti_sysbios_knl_Task_DISABLE_ALL_HOOKS -Dti_sysbios_knl_Clock_TICK_SOURCE=ti_sysbios_knl_Clock_TickSource_TIMER -Dti_sysbios_knl_Clock_TICK_MODE=ti_sysbios_knl_Clock_TickMode_PERIODIC -Dti_sysbios_hal_Core_delegate_getId=ti_sysbios_hal_CoreNull_getId__E -Dti_sysbios_hal_Core_delegate_interruptCore=ti_sysbios_hal_CoreNull_interruptCore__E -Dti_sysbios_hal_Core_delegate_lock=ti_sysbios_hal_CoreNull_lock__E -Dti_sysbios_hal_Core_delegate_unlock=ti_sysbios_hal_CoreNull_unlock__E -Dti_sysbios_hal_Core_numCores__D=1 -Dti_sysbios_hal_CoreNull_numCores__D=1 -Dti_sysbios_utils_Load_taskEnabled__D=TRUE -Dti_sysbios_utils_Load_swiEnabled__D=FALSE -Dti_sysbios_utils_Load_hwiEnabled__D=FALSE -Dti_sysbios_family_arm_m3_Hwi_dispatcherSwiSupport__D=TRUE -Dti_sysbios_family_arm_m3_Hwi_dispatcherTaskSupport__D=TRUE -Dti_sysbios_family_arm_m3_Hwi_dispatcherAutoNestingSupport__D=TRUE -Dti_sysbios_family_arm_m3_Hwi_dispatcherIrpTrackingSupport__D=TRUE -Dti_sysbios_knl_Semaphore_supportsEvents__D=FALSE -Dti_sysbios_knl_Semaphore_supportsPriority__D=FALSE -Dxdc_runtime_Log_DISABLE_ALL
|
||||
|
||||
BIOS_INC = -I"C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/bios_6_45_02_31/packages/"
|
||||
|
||||
TARGET_INC = -I"C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/bios_6_45_02_31/packages/"
|
||||
|
||||
INCS = $(BIOS_INC) $(TARGET_INC) --include_path="C:/Users/askillorin/Documents/ece3849_lab3_starter" --include_path="C:/Users/askillorin/Documents/ece3849_lab3_starter" --include_path="C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/TivaWare_C_Series-2.1.1.71b" --include_path="C:/ti/ccs1271/tirtos_tivac_2_16_01_14/products/bios_6_45_01_29/packages/ti/sysbios/posix" --include_path="C:/ti/ccs1271/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/include"
|
||||
|
||||
CC = C:/ti/ccs1271/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/bin/armcl -c $(CCOPTS) -I C:/ti/ccs1271/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/include
|
||||
ASM = C:/ti/ccs1271/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/bin/armcl -c $(CCOPTS) -I C:/ti/ccs1271/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/include
|
||||
AR = C:/ti/ccs1271/ccs/tools/compiler/ti-cgt-arm_20.2.7.LTS/bin/armar rq
|
||||
|
||||
DEL = C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/../bin/rm -f
|
||||
CP = C:/ti/ccs1271/xdctools_3_32_00_06_core/packages/../bin/cp -f
|
||||
|
||||
define RM
|
||||
$(if $(wildcard $1),$(DEL) $1,:)
|
||||
endef
|
||||
|
||||
define ASSEMBLE
|
||||
@echo asmem4f $< ...
|
||||
@$(ASM) $(BIOS_DEFS) $(XOPTS) $(INCS) $<
|
||||
endef
|
||||
|
||||
all: sysbios.aem4f
|
||||
|
||||
m3_Hwi_asm.obj: family/arm/m3/Hwi_asm.sv7M makefile
|
||||
@-$(call RM, $@)
|
||||
$(ASSEMBLE) --output_file=m3_Hwi_asm.obj
|
||||
|
||||
m3_Hwi_asm_switch.obj: family/arm/m3/Hwi_asm_switch.sv7M makefile
|
||||
@-$(call RM, $@)
|
||||
$(ASSEMBLE) --output_file=m3_Hwi_asm_switch.obj
|
||||
|
||||
m3_IntrinsicsSupport_asm.obj: family/arm/m3/IntrinsicsSupport_asm.sv7M makefile
|
||||
@-$(call RM, $@)
|
||||
$(ASSEMBLE) --output_file=m3_IntrinsicsSupport_asm.obj
|
||||
|
||||
m3_TaskSupport_asm.obj: family/arm/m3/TaskSupport_asm.sv7M makefile
|
||||
@-$(call RM, $@)
|
||||
$(ASSEMBLE) --output_file=m3_TaskSupport_asm.obj
|
||||
|
||||
|
||||
BIOS.obj: BIOS.c knl/Clock.c knl/Idle.c knl/Intrinsics.c knl/Event.c knl/Mailbox.c knl/Queue.c knl/Semaphore.c knl/Swi.c knl/Swi_andn.c knl/Task.c family/arm/m3/Hwi.c family/arm/m3/TaskSupport.c family/arm/lm4/TimestampProvider.c family/arm/lm4/Timer.c hal/Hwi.c hal/Hwi_stack.c hal/Hwi_startup.c gates/GateHwi.c gates/GateMutex.c heaps/HeapMem.c makefile
|
||||
@-$(call RM, $@)
|
||||
@echo clem4f $< ...
|
||||
@$(CC) $(BIOS_DEFS) $(XOPTS) $(INCS) \
|
||||
$(BIOS_ROOT)BIOS.c \
|
||||
$(BIOS_ROOT)knl/Clock.c \
|
||||
$(BIOS_ROOT)knl/Idle.c \
|
||||
$(BIOS_ROOT)knl/Intrinsics.c \
|
||||
$(BIOS_ROOT)knl/Event.c \
|
||||
$(BIOS_ROOT)knl/Mailbox.c \
|
||||
$(BIOS_ROOT)knl/Queue.c \
|
||||
$(BIOS_ROOT)knl/Semaphore.c \
|
||||
$(BIOS_ROOT)knl/Swi.c \
|
||||
$(BIOS_ROOT)knl/Swi_andn.c \
|
||||
$(BIOS_ROOT)knl/Task.c \
|
||||
$(BIOS_ROOT)family/arm/m3/Hwi.c \
|
||||
$(BIOS_ROOT)family/arm/m3/TaskSupport.c \
|
||||
$(BIOS_ROOT)family/arm/lm4/TimestampProvider.c \
|
||||
$(BIOS_ROOT)family/arm/lm4/Timer.c \
|
||||
$(BIOS_ROOT)hal/Hwi.c \
|
||||
$(BIOS_ROOT)hal/Hwi_stack.c \
|
||||
$(BIOS_ROOT)hal/Hwi_startup.c \
|
||||
$(BIOS_ROOT)gates/GateHwi.c \
|
||||
$(BIOS_ROOT)gates/GateMutex.c \
|
||||
$(BIOS_ROOT)heaps/HeapMem.c \
|
||||
|
||||
sysbios.aem4f: BIOS.obj m3_Hwi_asm.obj m3_Hwi_asm_switch.obj m3_IntrinsicsSupport_asm.obj m3_TaskSupport_asm.obj
|
||||
@-$(call RM, $@)
|
||||
@echo arem4f $^ ...
|
||||
@$(AR) $@ $^
|
||||
|
||||
|
||||
clean:
|
||||
@$(DEL) ..\makefile.libs
|
||||
@-$(call RM, *)
|
BIN
src/sysbios/sysbios.aem4f
Normal file
BIN
src/sysbios/sysbios.aem4f
Normal file
Binary file not shown.
|
@ -1,24 +1,13 @@
|
|||
<?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="Stellaris In-Circuit Debug Interface" href="connections/Stellaris_ICDI_Connection.xml" id="Stellaris In-Circuit Debug Interface" xml="Stellaris_ICDI_Connection.xml" xmlpath="connections"/>
|
||||
|
||||
<connection XML_version="1.2" id="Stellaris In-Circuit Debug Interface">
|
||||
|
||||
<instance XML_version="1.2" href="drivers/stellaris_cs_dap.xml" id="drivers" xml="stellaris_cs_dap.xml" xmlpath="drivers"/>
|
||||
|
||||
<instance XML_version="1.2" href="drivers/stellaris_cortex_m4.xml" id="drivers" xml="stellaris_cortex_m4.xml" xmlpath="drivers"/>
|
||||
|
||||
<platform XML_version="1.2" id="platform_0">
|
||||
|
||||
<instance XML_version="1.2" desc="Tiva TM4C1294NCPDT" href="devices/tm4c1294ncpdt.xml" id="Tiva TM4C1294NCPDT" xml="tm4c1294ncpdt.xml" xmlpath="devices"/>
|
||||
|
||||
</platform>
|
||||
|
||||
</connection>
|
||||
|
||||
</configuration>
|
||||
|
||||
</configurations>
|
||||
|
|
|
@ -1,45 +0,0 @@
|
|||
/******************************************************************************
|
||||
*
|
||||
* Default Linker Command file for the Texas Instruments TM4C1294NCPDT
|
||||
*
|
||||
* This is derived from revision 15071 of the TivaWare Library.
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
--retain=g_pfnVectors
|
||||
|
||||
MEMORY
|
||||
{
|
||||
FLASH (RX) : origin = 0x00000000, length = 0x00100000
|
||||
SRAM (RWX) : origin = 0x20000000, length = 0x00040000
|
||||
}
|
||||
|
||||
/* The following command line options are set as part of the CCS project. */
|
||||
/* If you are building using the command line, or for some reason want to */
|
||||
/* define them here, you can uncomment and modify these lines as needed. */
|
||||
/* If you are using CCS for building, it is probably better to make any such */
|
||||
/* modifications in your CCS project and leave this file alone. */
|
||||
/* */
|
||||
/* --heap_size=0 */
|
||||
/* --stack_size=256 */
|
||||
/* --library=rtsv7M4_T_le_eabi.lib */
|
||||
|
||||
/* Section allocation in memory */
|
||||
|
||||
SECTIONS
|
||||
{
|
||||
.intvecs: > 0x00000000
|
||||
.text : > FLASH
|
||||
.const : > FLASH
|
||||
.cinit : > FLASH
|
||||
.pinit : > FLASH
|
||||
.init_array : > FLASH
|
||||
|
||||
.vtable : > 0x20000000
|
||||
.data : > SRAM
|
||||
.bss : > SRAM
|
||||
.sysmem : > SRAM
|
||||
.stack : > SRAM
|
||||
}
|
||||
|
||||
__STACK_TOP = __stack + 512;
|
|
@ -1,278 +0,0 @@
|
|||
//*****************************************************************************
|
||||
//
|
||||
// Startup code for use with TI's Code Composer Studio.
|
||||
//
|
||||
// Copyright (c) 2011-2014 Texas Instruments Incorporated. All rights reserved.
|
||||
// Software License Agreement
|
||||
//
|
||||
// Software License Agreement
|
||||
//
|
||||
// Texas Instruments (TI) is supplying this software for use solely and
|
||||
// exclusively on TI's microcontroller products. The software is owned by
|
||||
// TI and/or its suppliers, and is protected under applicable copyright
|
||||
// laws. You may not combine this software with "viral" open-source
|
||||
// software in order to form a larger program.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED "AS IS" AND WITH ALL FAULTS.
|
||||
// NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT
|
||||
// NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. TI SHALL NOT, UNDER ANY
|
||||
// CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
|
||||
// DAMAGES, FOR ANY REASON WHATSOEVER.
|
||||
//
|
||||
//*****************************************************************************
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
//*****************************************************************************
|
||||
//
|
||||
// Forward declaration of the default fault handlers.
|
||||
//
|
||||
//*****************************************************************************
|
||||
void ResetISR(void);
|
||||
static void NmiSR(void);
|
||||
static void FaultISR(void);
|
||||
static void IntDefaultHandler(void);
|
||||
void ButtonISR(void);
|
||||
void ADC_ISR(void);
|
||||
|
||||
//*****************************************************************************
|
||||
//
|
||||
// External declaration for the reset handler that is to be called when the
|
||||
// processor is started
|
||||
//
|
||||
//*****************************************************************************
|
||||
extern void _c_int00(void);
|
||||
|
||||
//*****************************************************************************
|
||||
//
|
||||
// Linker variable that marks the top of the stack.
|
||||
//
|
||||
//*****************************************************************************
|
||||
extern uint32_t __STACK_TOP;
|
||||
|
||||
//*****************************************************************************
|
||||
//
|
||||
// External declarations for the interrupt handlers used by the application.
|
||||
//
|
||||
//*****************************************************************************
|
||||
// To be added by user
|
||||
|
||||
|
||||
//*****************************************************************************
|
||||
//
|
||||
// The vector table. Note that the proper constructs must be placed on this to
|
||||
// ensure that it ends up at physical address 0x0000.0000 or at the start of
|
||||
// the program if located at a start address other than 0.
|
||||
//
|
||||
//*****************************************************************************
|
||||
#pragma DATA_SECTION(g_pfnVectors, ".intvecs")
|
||||
void (* const g_pfnVectors[])(void) =
|
||||
{
|
||||
(void (*)(void))((uint32_t)&__STACK_TOP),
|
||||
// The initial stack pointer
|
||||
ResetISR, // The reset handler
|
||||
NmiSR, // The NMI handler
|
||||
FaultISR, // The hard fault handler
|
||||
IntDefaultHandler, // The MPU fault handler
|
||||
IntDefaultHandler, // The bus fault handler
|
||||
IntDefaultHandler, // The usage fault handler
|
||||
0, // Reserved
|
||||
0, // Reserved
|
||||
0, // Reserved
|
||||
0, // Reserved
|
||||
IntDefaultHandler, // SVCall handler
|
||||
IntDefaultHandler, // Debug monitor handler
|
||||
0, // Reserved
|
||||
IntDefaultHandler, // The PendSV handler
|
||||
IntDefaultHandler, // The SysTick handler
|
||||
IntDefaultHandler, // GPIO Port A
|
||||
IntDefaultHandler, // GPIO Port B
|
||||
IntDefaultHandler, // GPIO Port C
|
||||
IntDefaultHandler, // GPIO Port D
|
||||
IntDefaultHandler, // GPIO Port E
|
||||
IntDefaultHandler, // UART0 Rx and Tx
|
||||
IntDefaultHandler, // UART1 Rx and Tx
|
||||
IntDefaultHandler, // SSI0 Rx and Tx
|
||||
IntDefaultHandler, // I2C0 Master and Slave
|
||||
IntDefaultHandler, // PWM Fault
|
||||
IntDefaultHandler, // PWM Generator 0
|
||||
IntDefaultHandler, // PWM Generator 1
|
||||
IntDefaultHandler, // PWM Generator 2
|
||||
IntDefaultHandler, // Quadrature Encoder 0
|
||||
IntDefaultHandler, // ADC Sequence 0
|
||||
IntDefaultHandler, // ADC Sequence 1
|
||||
IntDefaultHandler, // ADC Sequence 2
|
||||
IntDefaultHandler, // ADC Sequence 3
|
||||
IntDefaultHandler, // Watchdog timer
|
||||
ButtonISR, // Timer 0 subtimer A
|
||||
IntDefaultHandler, // Timer 0 subtimer B
|
||||
IntDefaultHandler, // Timer 1 subtimer A
|
||||
IntDefaultHandler, // Timer 1 subtimer B
|
||||
IntDefaultHandler, // Timer 2 subtimer A
|
||||
IntDefaultHandler, // Timer 2 subtimer B
|
||||
IntDefaultHandler, // Analog Comparator 0
|
||||
IntDefaultHandler, // Analog Comparator 1
|
||||
IntDefaultHandler, // Analog Comparator 2
|
||||
IntDefaultHandler, // System Control (PLL, OSC, BO)
|
||||
IntDefaultHandler, // FLASH Control
|
||||
IntDefaultHandler, // GPIO Port F
|
||||
IntDefaultHandler, // GPIO Port G
|
||||
IntDefaultHandler, // GPIO Port H
|
||||
IntDefaultHandler, // UART2 Rx and Tx
|
||||
IntDefaultHandler, // SSI1 Rx and Tx
|
||||
IntDefaultHandler, // Timer 3 subtimer A
|
||||
IntDefaultHandler, // Timer 3 subtimer B
|
||||
IntDefaultHandler, // I2C1 Master and Slave
|
||||
IntDefaultHandler, // CAN0
|
||||
IntDefaultHandler, // CAN1
|
||||
IntDefaultHandler, // Ethernet
|
||||
IntDefaultHandler, // Hibernate
|
||||
IntDefaultHandler, // USB0
|
||||
IntDefaultHandler, // PWM Generator 3
|
||||
IntDefaultHandler, // uDMA Software Transfer
|
||||
IntDefaultHandler, // uDMA Error
|
||||
ADC_ISR, // ADC1 Sequence 0
|
||||
IntDefaultHandler, // ADC1 Sequence 1
|
||||
IntDefaultHandler, // ADC1 Sequence 2
|
||||
IntDefaultHandler, // ADC1 Sequence 3
|
||||
IntDefaultHandler, // External Bus Interface 0
|
||||
IntDefaultHandler, // GPIO Port J
|
||||
IntDefaultHandler, // GPIO Port K
|
||||
IntDefaultHandler, // GPIO Port L
|
||||
IntDefaultHandler, // SSI2 Rx and Tx
|
||||
IntDefaultHandler, // SSI3 Rx and Tx
|
||||
IntDefaultHandler, // UART3 Rx and Tx
|
||||
IntDefaultHandler, // UART4 Rx and Tx
|
||||
IntDefaultHandler, // UART5 Rx and Tx
|
||||
IntDefaultHandler, // UART6 Rx and Tx
|
||||
IntDefaultHandler, // UART7 Rx and Tx
|
||||
IntDefaultHandler, // I2C2 Master and Slave
|
||||
IntDefaultHandler, // I2C3 Master and Slave
|
||||
IntDefaultHandler, // Timer 4 subtimer A
|
||||
IntDefaultHandler, // Timer 4 subtimer B
|
||||
IntDefaultHandler, // Timer 5 subtimer A
|
||||
IntDefaultHandler, // Timer 5 subtimer B
|
||||
IntDefaultHandler, // FPU
|
||||
0, // Reserved
|
||||
0, // Reserved
|
||||
IntDefaultHandler, // I2C4 Master and Slave
|
||||
IntDefaultHandler, // I2C5 Master and Slave
|
||||
IntDefaultHandler, // GPIO Port M
|
||||
IntDefaultHandler, // GPIO Port N
|
||||
0, // Reserved
|
||||
IntDefaultHandler, // Tamper
|
||||
IntDefaultHandler, // GPIO Port P (Summary or P0)
|
||||
IntDefaultHandler, // GPIO Port P1
|
||||
IntDefaultHandler, // GPIO Port P2
|
||||
IntDefaultHandler, // GPIO Port P3
|
||||
IntDefaultHandler, // GPIO Port P4
|
||||
IntDefaultHandler, // GPIO Port P5
|
||||
IntDefaultHandler, // GPIO Port P6
|
||||
IntDefaultHandler, // GPIO Port P7
|
||||
IntDefaultHandler, // GPIO Port Q (Summary or Q0)
|
||||
IntDefaultHandler, // GPIO Port Q1
|
||||
IntDefaultHandler, // GPIO Port Q2
|
||||
IntDefaultHandler, // GPIO Port Q3
|
||||
IntDefaultHandler, // GPIO Port Q4
|
||||
IntDefaultHandler, // GPIO Port Q5
|
||||
IntDefaultHandler, // GPIO Port Q6
|
||||
IntDefaultHandler, // GPIO Port Q7
|
||||
IntDefaultHandler, // GPIO Port R
|
||||
IntDefaultHandler, // GPIO Port S
|
||||
IntDefaultHandler, // SHA/MD5 0
|
||||
IntDefaultHandler, // AES 0
|
||||
IntDefaultHandler, // DES3DES 0
|
||||
IntDefaultHandler, // LCD Controller 0
|
||||
IntDefaultHandler, // Timer 6 subtimer A
|
||||
IntDefaultHandler, // Timer 6 subtimer B
|
||||
IntDefaultHandler, // Timer 7 subtimer A
|
||||
IntDefaultHandler, // Timer 7 subtimer B
|
||||
IntDefaultHandler, // I2C6 Master and Slave
|
||||
IntDefaultHandler, // I2C7 Master and Slave
|
||||
IntDefaultHandler, // HIM Scan Matrix Keyboard 0
|
||||
IntDefaultHandler, // One Wire 0
|
||||
IntDefaultHandler, // HIM PS/2 0
|
||||
IntDefaultHandler, // HIM LED Sequencer 0
|
||||
IntDefaultHandler, // HIM Consumer IR 0
|
||||
IntDefaultHandler, // I2C8 Master and Slave
|
||||
IntDefaultHandler, // I2C9 Master and Slave
|
||||
IntDefaultHandler, // GPIO Port T
|
||||
IntDefaultHandler, // Fan 1
|
||||
0, // Reserved
|
||||
};
|
||||
|
||||
//*****************************************************************************
|
||||
//
|
||||
// This is the code that gets called when the processor first starts execution
|
||||
// following a reset event. Only the absolutely necessary set is performed,
|
||||
// after which the application supplied entry() routine is called. Any fancy
|
||||
// actions (such as making decisions based on the reset cause register, and
|
||||
// resetting the bits in that register) are left solely in the hands of the
|
||||
// application.
|
||||
//
|
||||
//*****************************************************************************
|
||||
void
|
||||
ResetISR(void)
|
||||
{
|
||||
//
|
||||
// Jump to the CCS C initialization routine. This will enable the
|
||||
// floating-point unit as well, so that does not need to be done here.
|
||||
//
|
||||
__asm(" .global _c_int00\n"
|
||||
" b.w _c_int00");
|
||||
}
|
||||
|
||||
//*****************************************************************************
|
||||
//
|
||||
// This is the code that gets called when the processor receives a NMI. This
|
||||
// simply enters an infinite loop, preserving the system state for examination
|
||||
// by a debugger.
|
||||
//
|
||||
//*****************************************************************************
|
||||
static void
|
||||
NmiSR(void)
|
||||
{
|
||||
//
|
||||
// Enter an infinite loop.
|
||||
//
|
||||
while(1)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
//*****************************************************************************
|
||||
//
|
||||
// This is the code that gets called when the processor receives a fault
|
||||
// interrupt. This simply enters an infinite loop, preserving the system state
|
||||
// for examination by a debugger.
|
||||
//
|
||||
//*****************************************************************************
|
||||
static void
|
||||
FaultISR(void)
|
||||
{
|
||||
//
|
||||
// Enter an infinite loop.
|
||||
//
|
||||
while(1)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
//*****************************************************************************
|
||||
//
|
||||
// This is the code that gets called when the processor receives an unexpected
|
||||
// interrupt. This simply enters an infinite loop, preserving the system state
|
||||
// for examination by a debugger.
|
||||
//
|
||||
//*****************************************************************************
|
||||
static void
|
||||
IntDefaultHandler(void)
|
||||
{
|
||||
//
|
||||
// Go into an infinite loop.
|
||||
//
|
||||
while(1)
|
||||
{
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue