TRACE32通常使用PRACTICE脚本保存处理器选择、调试接口、程序装载和断点等操作,文件一般使用.cmm扩展名。工程换目录、升级TRACE32后,如果脚本不再自动执行或运行到中间停止,可以先确认脚本有没有被调用,再检查路径、命令和目标板状态。
一、TRACE32怎么配置启动脚本
启动脚本可以手工执行,也可以在PowerView启动时自动加载。项目脚本建议保存在工程目录,不要直接修改TRACE32自带的autostart.cmm。
1、创建并运行CMM脚本
①在工程目录建立【startup.cmm】。
②把CPU选择、接口连接、程序装载等命令按顺序写入脚本。
③打开PowerView,进入【File】→【Run Script】。
④选择【startup.cmm】执行,也可以在命令行使用【DO】调用。
⑤需要加载其他CMM文件时,再通过【DO】调用子脚本。
⑥执行后查看【AREA.view】,确认是否出现错误信息。
先手工把脚本跑通,再改成自动执行,可以把脚本内容问题和启动配置问题分开。
2、设置自动执行
①当前工程需要自动加载时,在工作目录建立【work-settings.cmm】。
②把调用工程启动脚本的命令写入该文件。
③个人通用设置可放入【user-settings.cmm】,系统范围设置可放入【system-settings.cmm】。
④需要指定完整启动脚本时,可通过PowerView启动参数或T32Start配置。
⑤重新启动TRACE32,检查脚本是否自动执行。
⑥不要修改【autostart.cmm】,该文件可能随软件更新被替换。
二、TRACE32启动脚本执行失败如何排查
脚本异常时,先分清完全没有执行,还是已经执行到某一行后停止。前者主要查启动路径,后者重点看PRACTICE错误与目标状态。
1、脚本完全没有执行
①在【startup.cmm】开头加入【PRINT】或【ECHO】提示。
②重新启动PowerView并查看【AREA.view】。
③没有输出时,检查【work-settings.cmm】所在目录和当前Working Directory。
④通过启动参数调用时,重新核对CMM文件路径。
⑤旧工程仍依赖【t32.cmm】时,检查当前版本采用的Autostart机制。
⑥需要排除其他自动脚本时,可用【--t32-safestart】启动后再手工运行目标脚本。
2、脚本执行到中间停止
①打开【AREA.view】,记录报错命令。
②执行【PLIST】查看当前活动脚本。
③使用【PSTEP】进入脚本调试。
④需要指定停止位置时,用【PBREAK.Set】设置断点。
⑤宏变量异常时,用【PMACRO.list】检查宏和值。
⑥修正后从脚本入口重新执行。
3、连接或装载阶段失败
①检查【SYStem.CPU】是否选择实际处理器。
②核对【SYStem.CONFIG】中的接口配置。
③【SYStem.Up】失败时,检查目标板供电、复位和调试连接。
④程序装载失败时,检查【Data.LOAD】使用的ELF或HEX文件路径。
⑤设置符号断点前,确认程序符号已经装载。
三、修改后怎么确认脚本恢复正常
脚本不再报错后,还要确认CPU连接、程序装载和断点设置都已经执行。可以把长脚本拆成几个阶段验证。
1、分段验证关键步骤
①先执行处理器选择和接口配置,确认【SYStem.Up】成功。
②加入【Data.LOAD】,检查程序和符号是否载入。
③再恢复寄存器初始化、断点等命令。
④关键位置加入【PRINT】,确认实际执行进度。
⑤完整执行后重新启动PowerView,再检查自动运行结果。
2、比较手工和自动执行
①通过【File】→【Run Script】手工执行同一脚本。
②手工执行正常后,关闭PowerView并重新启动。
③让自动启动配置调用该脚本。
④只有自动方式失败时,重点检查工作目录、启动参数和Autostart顺序。
⑤两种方式都在同一命令失败时,再检查该命令依赖的目标状态。
总结
TRACE32启动脚本失败时,应先确认脚本是否被调用,再根据AREA信息判断是路径、PRACTICE命令还是目标连接问题。长脚本分段验证后,再用PLIST、PSTEP和PBREAK定位停止位置,更容易找到具体异常。如需进一步了解TRACE32 PRACTICE启动脚本配置、自动执行与脚本异常排查方法,欢迎联系咨询。