This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Difficulty to open a configuration file imported with an C200ware v4.01.00.00 Example project below, Error message "must have lower version SysConfig installed", that made no difference. Trying to open the same file in standalone SysConfig latest version download complains, "missing argument board or device must be specified."
Comment out the missing include board.h did not help to stop the CCS error messages or Desktop standalone SysConfig. Contrary to the function of SysConfig files are to help explain project details is puzzling that it seems to believe the project should have some other includes that were not part of the CCS import location. What can be done to remedy SysConfig error messages?
Hi,
I believe this is potentially due to an older version of CCS (Code Composer Studio) being used with the newer Sysconfig and C2000Ware. Can you provide your CCS version?
I will reach out to CCS team if the version of CCS is relatively newer.
Regards,
Vince
Hi Gl,
I believe this is likely caused by the older CCS version, but there is a way to get around the "missing argument board or device must be specified." issue:
1. Open the project properties window (right click project and choose properties)
2. Go to Build->Sysconfig->Basic Options
3. Make sure there is only one entry in the list, as shown below. Delete every other entry:
4. Go to Build->Sysconfig, then click "Edit Flags"
5. Ensure the flags looks like this (but with the device items updated for your device if below doesn't match your device):
-s "${C2000WARE_ROOT}/.metadata/sdk.json" -d "F28004x" -o "syscfg" --package "F28004x_100PZ" --part "F28004x_100PZ"
6. Make sure the same settings above are in the ".syscfg" file you have highlighted, in the @cliArgs section. You will need to right-click the .syscfg file and choose "Open With->Generic Text Editor". The below will likely work for your device (this is the whole header for the ".syscfg":
/** * These arguments were used when this file was generated. They will be automatically applied on subsequent loads * via the GUI or CLI. Run CLI with '--help' for additional information on how to override these arguments. * @cliArgs --device "F28004x" --package "F28004x_100PZ" --part "F28004x_100PZ" --context "system" --product "C2000WARE@4.02.00.00" * @versions {"tool":"1.0.0+dev"} */
Step #5 above can be a bit tricky, because sometimes the flags don't take properly. You have to make sure that once you click "Apply and Close" that you go back and check that none of the flags got duplicated. Sometimes, if a quote is missing, or a dash, it can duplicate the flags.
Let me know if this helps.
Regards,
Vince
Hi Vince,
I really didn't mean to put you through all the adjustments just to see the config file contents.
Were you able to open the config file in later CCS version with GUI look? If so, I might take the plunge to update similar since there are many example projects with an included config file now. The config file opens after I removed the manifest section from project properties build flags was not in the config file properties build flags. I also remove the -d from both flag sections, likely the device flag you don't show above flags.
It now opens in CCS now but is text only view and I don't see where to add generic text edit client arguments you lastly listed. Top of config file without the comments marks?
Clip of the file text contents:
/* Put flags here? */
@cliArgs --device "F28004x" --package "F28004x_100PZ" --part "F28004x_100PZ" --context "system" --product "C2000WARE@4.02.00.00"
@versions {"tool":"1.0.0+dev"}
/**
* Import the modules used in this configuration.
*/
const eqep = scripting.addModule("/driverlib/eqep.js", {}, false);
const eqep1 = eqep.addInstance();
const gpio = scripting.addModule("/driverlib/gpio.js", {}, false);
const gpio1 = gpio.addInstance();
/**
* Write custom configuration values to the imported modules.
*/
eqep1.$name = "myEQEP0";
eqep1.eqepResolution = "EQEP_CONFIG_1X_RESOLUTION";
eqep1.emulationMode = "EQEP_EMULATIONMODE_RUNFREE";
eqep1.positionCounterMax = 4294967295;
eqep1.enableUnitTimer = true;
eqep1.unitTimerPeriod = 1000000;
eqep1.latchPositionCounter = "EQEP_LATCH_UNIT_TIME_OUT";
eqep1.swPositionInit = true;
eqep1.enableModule = true;
eqep1.captureConfig = true;
eqep1.capPrescale = "EQEP_CAPTURE_CLK_DIV_64";
eqep1.evntPrescale = "EQEP_UNIT_POS_EVNT_DIV_32";
eqep1.enableCapture = true;
eqep1.eqep.$assign = "EQEP1";
eqep1.eqep.eqep_aPin.$assign = "GPIO6";
eqep1.eqep.eqep_bPin.$assign = "GPIO7";
eqep1.eqep.eqep_indexPin.$assign = "GPIO9";
gpio1.$name = "myGPIO0";
gpio1.direction = "GPIO_DIR_MODE_OUT";
gpio1.writeInitialValue = true;
gpio1.gpioPin.$assign = "GPIO4";
Hi,
Sorry for the confusion of the file, you are correct in the location of the flags, but they need to be enclosed in the comment tags. Here's a full .syscfg file example for your device and example:
/** * These arguments were used when this file was generated. They will be automatically applied on subsequent loads * via the GUI or CLI. Run CLI with '--help' for additional information on how to override these arguments. * @cliArgs --device "F28004x" --package "F28004x_100PZ" --part "F28004x_100PZ" --context "system" --product "C2000WARE@4.02.00.00" * @versions {"tool":"1.0.0+dev"} */ /** * Import the modules used in this configuration. */ const eqep = scripting.addModule("/driverlib/eqep.js", {}, false); const eqep1 = eqep.addInstance(); const gpio = scripting.addModule("/driverlib/gpio.js", {}, false); const gpio1 = gpio.addInstance(); /** * Write custom configuration values to the imported modules. */ eqep1.$name = "myEQEP0"; eqep1.eqepResolution = "EQEP_CONFIG_1X_RESOLUTION"; eqep1.emulationMode = "EQEP_EMULATIONMODE_RUNFREE"; eqep1.positionCounterMax = 4294967295; eqep1.enableUnitTimer = true; eqep1.unitTimerPeriod = 1000000; eqep1.latchPositionCounter = "EQEP_LATCH_UNIT_TIME_OUT"; eqep1.swPositionInit = true; eqep1.enableModule = true; eqep1.captureConfig = true; eqep1.capPrescale = "EQEP_CAPTURE_CLK_DIV_64"; eqep1.evntPrescale = "EQEP_UNIT_POS_EVNT_DIV_32"; eqep1.enableCapture = true; eqep1.eqep.$assign = "EQEP1"; eqep1.eqep.eqep_aPin.$assign = "GPIO6"; eqep1.eqep.eqep_bPin.$assign = "GPIO7"; eqep1.eqep.eqep_indexPin.$assign = "GPIO9"; gpio1.$name = "myGPIO0"; gpio1.direction = "GPIO_DIR_MODE_OUT"; gpio1.writeInitialValue = true; gpio1.gpioPin.$assign = "GPIO4";
And here's what the GUI view looks like with Sysconfig GUI opened:
One last thing to check, if it's only opening in the "text" view, then you'll need to choose "Open With->Sysconfig Editor". If that Sysconfig Editor option doesn't show up, then it is either the CCS version being out of date (I had thought 9.3 was supported, but maybe not), or the Sysconfig install did not occur correctly.
Please let me know if I'm misunderstanding the issue too, I think I am understanding most of the issue is that you're seeing, but I may be assuming things that I've seen in similar issues that don't apply here.
Regards,
Vince
Hi Vince,
Yes CCS 9.3 has the config editor but the alias (--context "system") is unrecognized trying to edit via CCS (Error unable to pars CLI arguments). First it complains --context unrecognized, removed it, then editor complains "system" unrecognized and removed that too. Now the editor complains unrecognized (*) but there is no (*) anywhere I can see.
I have both versions installed and it does start a new project and open existing ones I created some time ago in the cloud.
GI,
The release notes for C2000Ware 4.01 state that CCSv11 or later is required. So you could use CCSv11.0.0, 11.1.0 or 11.2.0. I have no idea if it was just tested with v11 or if the projects actually use features that are only present in CCSv11 or later. So I would certainly hesitate to use v9.3.0.
These daysSysConfig is generally pretty compatible across CCS versions but in CCSv9.3 CCS did not support switching SysConfig versions. So even though it is detecting the newer SysConfig installs on your machine it will actually be using the one that shipped with CCSv9.3, which I think is 1.3. The 1.3 version is not new enough for C2000.
You really should be using a newer CCS. If you really really really have to use 9.3 you could try replacing the SysConfig in the ccs/utils folder with one of the newer ones that you have installed. i.e rename the existing sysconfig folder to backup_sysconfig. Then copy in the folder for one of the newer ones and then rename it to sysconfig (without the version on the end).
However I will stress again that a newer CCS is required to be a supported environment.
Regards,
John
Hi John,
The 1.3 version is not new enough for C2000
Ok I will try to uninstall v1.3. from CCS. I've seen posts that CCS11 Eclipse IDE requires Windows 10 or later to work correctly. Honestly didn't know anything about SysConfig being embedded CCS9.3, the C2000 earlier projects did not have SysConfig files packed.
Thanks for the info :-)
CCSv11 still supports Windows 7. We are actually going to support Windows 7 with CCSv12 as well (that will be the last one).
John