Trace32中.men文件相对路径使用方法及~~~~失效问题咨询
Trace32 .men文件中使用相对路径的方法
相对路径支持说明
Trace32支持在.men文件中使用相对路径,但默认路径基准是Trace32的启动工作目录,而非.men文件所在目录。直接使用普通相对路径(如./subdir/file.cmm)会基于启动目录解析,而非菜单文件位置,这可能导致路径匹配错误。
实现相对于.men文件的相对路径的可行方法
要让路径基准指向.men文件所在目录,需借助Trace32的PATH.MENUDIR()命令获取当前菜单文件的目录,再拼接目标路径:
方法1:定义基准路径变量
在.men文件开头先定义变量存储当前菜单目录,后续所有相对路径基于该变量拼接:
LOCAL &MenuDir &MenuDir=PATH.MENUDIR()
调用脚本或加载文件时使用该变量:
DO &MenuDir/"scripts/init.cmm" DATA.LOAD.Elf &MenuDir/"bin/app.elf"
方法2:直接内嵌命令拼接路径
若无需定义变量,可直接在命令中使用PATH.MENUDIR():
DO PATH.MENUDIR()/"scripts/init.cmm"
关键注意点
PATH.MENUDIR()仅在.men文件执行时有效,返回当前菜单文件所在的绝对路径(不带末尾斜杠),因此拼接时需手动添加/"。- 你之前使用的
~~~~在Trace32中代表用户主目录,而非菜单文件目录,这是它无法达到预期效果的原因。
内容的提问来源于stack exchange,提问作者kutschkem
相关产品推荐
相关产品推荐

