打开Trace32窗口时执行Shell脚本无效,如何配置及指定输出路径?
解决Trace32启动时执行Shell脚本并指定输出路径的问题
1. 用Trace32的SYSTEM命令调用Shell脚本
config.t32是Trace32的配置文件,仅识别Trace32原生命令,无法直接执行Shell脚本。你需要替换原有命令,使用SYSTEM指令触发外部脚本:
SYSTEM "./gen_cmm.sh file.h"
如果脚本不在Trace32的启动目录下,需填写绝对路径,例如:
SYSTEM "/home/user/tools/gen_cmm.sh file.h"
2. 指定output.cmm的输出位置
要将生成的文件定向到指定目录,可通过两种方式实现:
- 修改Shell脚本:在
gen_cmm.sh中直接指定输出路径,替换原生成命令。比如原命令是xxx > output.cmm,修改为:xxx > /your/target/path/output.cmm - 传递路径参数:在config.t32的调用命令中加入目标路径参数,再在脚本中接收使用:
首先修改config.t32:
然后在SYSTEM "./gen_cmm.sh file.h /your/target/path"gen_cmm.sh中处理参数:TARGET_DIR=$2 xxx > "${TARGET_DIR}/output.cmm"
3. 确保脚本具备执行权限
执行以下命令给脚本添加可执行权限:
chmod +x gen_cmm.sh
4. 调试执行问题
如果脚本仍未执行,可在config.t32中添加日志输出排查错误:
SYSTEM "./gen_cmm.sh file.h > /tmp/t32_script_debug.log 2>&1"
启动Trace32后查看/tmp/t32_script_debug.log,根据日志中的报错信息定位问题。
内容的提问来源于stack exchange,提问作者Priyajit Ghosh
相关产品推荐
相关产品推荐

