嵌入式技术william hill官网
直播中

万物死

8年用户 1271经验值
擅长:MEMS/传感技术
私信 关注
[问答]

请教一下RTT的软件包下载目录是否可以更改

1.jpg

如图:RTT的软件包下载目录目前是在工程目录下,请教一下这个目录是否可以更改(目的是为了多个工程共用)

回帖(2)

李鑫

2022-8-23 14:08:23
改是能改,但是改动太大。
在 env 环境,都在 cmd_package_update.py 文件里。
举报

李鑫

2022-8-23 14:08:33
补充一下啊,
一、继续用相对路径,目前可以认为是相对于当前目录的当前级目录。改成相对于当前目录的上一级目录,修改点儿如下(所有修改都在 “envtoolsscriptscmdscmd_packagecmd_package_update.py”):

修改 233 行 bsp_package_path = os.path.join(bsp_root, 'packages') -> bsp_package_path = os.path.join(bsp_root, '../packages')
382 行下面添加一行 repo_path = os.path.abspath(repo_path)
         repo_path = get_package_folder(repo_path, pkg['ver'])
         repo_path = os.path.abspath(repo_path)
修改 490 行(原 489 行) bsp_packages_path = os.path.join(bsp_root, 'packages') -> bsp_packages_path = os.path.join(bsp_root, '../packages')
修改 492 行(原 491 行) os.mkdir("packages") -> os.mkdir("../packages")
相对路径层数可以自行修改,这个对大多数 bsp 仓库是一样的。

二、换成绝对路径呢。我测试了一下直接改成绝对路径也能用,只是吧,只是上面修改的第 1 3 两条没有必要执行 os.path.join 函数了,可以直接改成 bsp_package_path = 'F:/packages'

以上,解决了 pkgs --update 下载包的问题。下面说生成项目涉及到的改动。

改每个 bsp 下的每一个包,每个 bsp 包项目目录下都有个 SConscript 文件。添加一句,修改成下面这样。这样是最直接,最容易找得到的地方。但是这样得要求每个项目目录下的 SConscript 文件都要做修改。
for d in list:
path = os.path.join(cwd, d)
if os.path.isfile(os.path.join(path, 'SConscript')):
     objs = objs + SConscript(os.path.join(d, 'SConscript'))
objs = objs + SConscript(os.path.join('D:/packages', 'SConscript'))
Return('objs')
修改 components 目录下的 SConscript 文件。方法同上,这种比较隐蔽,只修改这一个地方,所有的 bsp 都适用。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分