/* * ======== 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; } }