问题现象
修改 empty.syscfg 后,ti_msp_dl_config.c 和 ti_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 的目录。
常见路径:
第三步:修改 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。