Keil 中配置 SysConfig(MSPM0)

📅 2026/7/30 17:25:05
Keil 中配置 SysConfig(MSPM0)
Keil 中配置 SysConfigMSPM0本文使用下面的安装路径KeilD:\develop\Keil_v5 SysConfigD:\develop\ti\sysconfig_1.28.0 MSPM0 SDKD:\develop\ti\mspm0_sdk_2_11_00_07如果软件装在其他位置把文中的路径换成自己的实际路径即可。1. 确认文件存在先确认下面三个文件能够找到D:\develop\ti\sysconfig_1.28.0\sysconfig_gui.bat D:\develop\ti\mspm0_sdk_2_11_00_07\.metadata\product.json D:\develop\ti\mspm0_sdk_2_11_00_07\tools\keil\MSPM0_SDK_syscfg_menu_import.cfg2. 建立工程启动脚本在下面的目录中新建sysconfig_project_gui.batD:\develop\ti\mspm0_sdk_2_11_00_07\tools\keil这个批处理脚本是连接 Keil 工程与 SysConfig 图形界面的关键桥梁。它的核心功能是智能定位当前工程对应的.syscfg配置文件然后调用 SysConfig GUI 工具打开它。脚本设计原理文件内容如下echo off setlocal EnableExtensions rem 设置工具路径变量 set SYSCONFIG_GUID:\develop\ti\sysconfig_1.28.0\sysconfig_gui.bat set SDK_ROOTD:\develop\ti\mspm0_sdk_2_11_00_07 rem 参数检查和路径验证 if %~1 goto not_found if not exist %SYSCONFIG_GUI% goto not_found if not exist %SDK_ROOT%\.metadata\product.json goto not_found rem 获取并规范化搜索起始目录Keil 传入的工程目录 for %%D in (%~1) do set SEARCH_DIR%%~fD :search rem 在当前目录及其子目录中查找 .syscfg 文件 for %%F in ( %SEARCH_DIR%\*.syscfg %SEARCH_DIR%\libraries\sdk\ti_config\*.syscfg ) do ( if exist %%~fF ( set SYSCFG_FILE%%~fF goto open_sysconfig ) ) rem 如果当前目录未找到向上级目录递归搜索 for %%D in (%SEARCH_DIR%\..) do set PARENT_DIR%%~fD if /I %PARENT_DIR%%SEARCH_DIR% goto not_found set SEARCH_DIR%PARENT_DIR% goto search :open_sysconfig rem 找到文件后调用 SysConfig GUI 打开 call %SYSCONFIG_GUI% --compiler keil -s %SDK_ROOT%\.metadata\product.json %SYSCFG_FILE% exit /b 0 :not_found echo Could not find the SysConfig tool or a .syscfg file for this project. pause exit /b 1搜索逻辑详解脚本采用从近到远、逐级向上的搜索策略第一优先级当前 Keil 工程目录%SEARCH_DIR%下的*.syscfg第二优先级当前目录的libraries\sdk\ti_config\*.syscfg子目录如果未找到向上一级目录..移动重复上述搜索终止条件到达根目录父目录与当前目录相同仍未找到这种设计适应了多种项目组织结构独立工程.syscfg直接放在工程根目录共享配置.syscfg放在公共的libraries\sdk\ti_config目录如 SeekFree 示例嵌套项目工程位于深层子目录配置文件在上级公共目录错误处理机制脚本包含三层保护参数检查确保 Keil 传入了有效的工程路径%~1工具验证确认 SysConfig GUI 和 SDK 的product.json文件存在文件查找如果搜索失败显示明确错误信息并暂停避免窗口闪退使用场景说明这个搜索路径设计特别适合Coreboard/Motherboard 开发板配置文件通常放在工程目录或公共库目录开源库项目结构多个示例共享同一份配置减少重复文件团队协作保持配置文件的集中管理避免散落在各个工程中脚本会从当前 Keil 工程目录开始向上查找优先使用最近的*.syscfg libraries\sdk\ti_config\*.syscfg这适用于当前的 Coreboard、Motherboard 和开源库目录结构确保了配置文件的灵活定位和高效管理。3. 修改 Keil 菜单配置打开D:\develop\ti\mspm0_sdk_2_11_00_07\tools\keil\MSPM0_SDK_syscfg_menu_import.cfg将内容改为[Sysconfig v1.28.0 - MSPM0 SDK v2_11_00_07] CommandD:\develop\ti\mspm0_sdk_2_11_00_07\tools\keil\sysconfig_project_gui.bat Initial FolderD:\develop\ti\mspm0_sdk_2_11_00_07 Arguments$P Prompt for Arguments0 Run Minimized0 Run Independent-1$P表示 Keil 当前打开的工程目录。这里不使用#E因为#E取得的是当前编辑器文件容易把main.c误传给 SysConfig。4. 导入菜单打开 Keil。进入Tools - Customize Tools Menu。删除原来的 SysConfig 菜单项。点击Import选择修改后的MSPM0_SDK_syscfg_menu_import.cfg。确认菜单中出现Sysconfig v1.28.0 - MSPM0 SDK v2_11_00_07。修改.cfg后需要重新导入。Keil 不会自动更新已经导入的菜单配置。5. 使用方法在 Keil 中打开一个 MSPM0 工程。点击Tools - Sysconfig v1.28.0 - MSPM0 SDK v2_11_00_07。脚本会找到该工程对应的.syscfg随后打开图形配置界面。保存 SysConfig 配置前建议先备份.syscfg和生成的ti_msp_dl_config.c/.h。不同 SDK 版本首次打开旧配置时可能会提示迁移。6. 常见问题Missing argument: --board or --device must be specified通常是把main.c等普通源文件传给了 SysConfig。检查菜单参数是否仍为#E并确认已经改成Arguments$P和工程启动脚本。failed to execute检查Command、Initial Folder、SysConfig 安装路径和 MSPM0 SDK 路径是否真实存在。路径修改后需要重新导入菜单配置。找不到.syscfg先在工程目录附近查找*.syscfg。如果文件不在工程目录或上层的libraries\sdk\ti_config中需要把脚本的搜索路径补充为实际目录。工程中看不到.cfgMSPM0_SDK_syscfg_menu_import.cfg只是 Keil 工具菜单的导入文件不是芯片配置文件因此不会显示在工程树中。真正用于图形配置的是.syscfg。Keil 工程树只显示.uvprojx中明确加入的文件不会自动显示磁盘上的所有文件。当前 SeekFree 示例把.syscfg放在公共的libraries\sdk\ti_config目录中多个示例可能共用一份配置。如需在工程树中看到它可以右键工程分组选择Add Existing Files to Group文件类型选择All Files再加入对应的.syscfg。这一步不是启动图形界面的必要条件。