主题中讨论的其他器件:SysConfig
是否可以在 syscfg 文件中添加条件语句?
可表示为:
#if 定义的调试
XYZ .addr = 0x1000
#else
XYZ。addr = 0x5000
#endif
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.
是否可以在 syscfg 文件中添加条件语句?
可表示为:
#if 定义的调试
XYZ .addr = 0x1000
#else
XYZ。addr = 0x5000
#endif
尊敬的 Manoj:
在文本编辑器中修改 SysConfig 文件时、可以添加条件语句。 下面是一个 openthread 示例 和我自己的基本示例:
if(0) gpio.$name = "CONFIG_GPIO_LED_0"; else gpio.$name = "CONFIG_GPIO_LED_HI";
其中、仅仅将0更改为1会使 GPIO 名称从 CONFIG_GPIO_LED_HI 更改为 CONFIG_GPIO_LED_0。
此致、
瑞安
您可能已将调试定义为预定义的编译器符号、但 SysConfig 会在编译器编译工程之前运行。 由于 SysConfig 环境不需要预定义、因此您可以直接在文件中设置常量值、而是:
// @cliArgs --board /ti/boards/CC26X2R1_LAUNCHXL --rtos tirtos7 const DEBUG = 0; /* * empty.syscfg */ var Power = scripting.addModule("/ti/drivers/Power"); /* ======== Kernel Configuration ======== */ system.getScript("kernel_config_release.syscfg.js"); /* ======== GPIO ======== */ var GPIO = scripting.addModule("/ti/drivers/GPIO"); var gpio = GPIO.addInstance(); gpio.$hardware = system.deviceData.board.components.LED0; if(DEBUG==0) gpio.$name = "CONFIG_GPIO_LED_0"; else gpio.$name = "CONFIG_GPIO_LED_HI";
此致、
瑞安
尊敬的 Manoj:
与 SysConfig 开发团队交谈后、最好的解决方案是向"Project Properties"-> CCS Build -> SysConfig -> Miscellaneous"中添加一个 scriptArgs 标志:
--scriptArgs DEBUG
得到的 SysConfig 代码配置如下所示:
// @cliArgs --board /ti/boards/CC26X2R1_LAUNCHXL --rtos tirtos7 console.log(argv); /* * empty.syscfg */ var Power = scripting.addModule("/ti/drivers/Power"); /* ======== Kernel Configuration ======== */ system.getScript("kernel_config_release.syscfg.js"); /* ======== GPIO ======== */ var GPIO = scripting.addModule("/ti/drivers/GPIO"); var gpio = GPIO.addInstance(); gpio.$hardware = system.deviceData.board.components.LED0; if(argv[1]==="DEBUG") gpio.$name = "CONFIG_GPIO_LED_0"; else gpio.$name = "CONFIG_GPIO_LED_HI";
此致、
瑞安