问题现象

修改 empty.syscfg 后,ti_msp_dl_config.cti_msp_dl_config.h 的内容不变,需要手动复制或修改,编译时也不会自动更新。

原因

SysConfig 生成的这两个文件由 syscfg.bat 负责更新。Keil 在 Build 前 会自动调用 syscfg.bat,但如果 syscfg.bat 里 SysConfig 的安装路径与实际不符,脚本会直接退出,导致文件不会更新。


修复步骤

第一步:确认 Keil 配置

在 Keil 菜单栏:Project → Options for Target → User 页签

检查 Run #1 Before Build 栏,确认填写了以下命令,且前面的复选框已勾选(☑):

 cmd.exe /C "$P../../syscfg.bat '$P' empty.syscfg"

如果没有,手动填入并勾选。

第二步:找到 SysConfig CLI 的实际位置

打开文件资源管理器,到 C:\ti\ 下查看,找到包含 sysconfig_cli.bat 的目录。

常见路径:

路径

说明

C:\ti\SYSCONFIG\sysconfig_cli.bat

默认安装路径(全大写)

C:\ti\sysconfig_1.21.1\sysconfig_cli.bat

带版本号的路径

第三步:修改 syscfg.bat

打开项目根目录下的 syscfg.bat,找到第 3 行:

 set SYSCFG_PATH="C:\ti\sysconfig_1.21.1\sysconfig_cli.bat"

将引号内的路径改为你电脑上的实际路径,例如:

 set SYSCFG_PATH="C:\ti\SYSCONFIG\sysconfig_cli.bat"

保存文件。

第四步:验证

在项目目录下打开命令提示符,运行:

 syscfg.bat

正常输出如下:

 Using Sysconfig Tool from "C:\ti\SYSCONFIG\sysconfig_cli.bat"
 Running script...
 Validating...
 Generating Code (empty.syscfg)...
 Unchanged ...\ti_msp_dl_config.c...
 Unchanged ...\ti_msp_dl_config.h...

如果看到 Couldn't find Sysconfig Tool 的错误,说明路径仍然不对,返回第二步检查。

第五步:确认自动更新生效

回到 Keil,按 F7(Build),观察 Build Output 窗口。如果看到上述 SysConfig 的打印信息,说明每次编译前都会自动更新 ti_msp_dl_config.c/.h