用Pycharm编写gem5配置脚本

问题描述 投票:4回答:1

为了用更方便的IDE开发复杂的gem5 python配置脚本,必须在项目中加入gem5库。然而,对于那些不是python和Pycharm专家的人(比如我自己)来说,会有一些困难。

对于那些不熟悉gem5的人,这里有一个简短的解释。

gem5是一个检查硬件架构的开源模拟器。它可以从github下载。链接到github. 安装过程描述如下 联系.

<gem5_installation_dir>/gem5/configs/learning_gem5/part1

在上面的路径里面,有一个基本的python脚本文件:simple.py 这个文件包含了一些导入。用Pycharm编辑这个文件需要一些依赖关系,这些依赖关系位于gem5安装目录中。问题是 1) 如何将gem5的那些依赖关系添加到Pycharm中? 2)如何用gem5执行命令配置Pycharm?

希望得到任何帮助。

python ide pycharm gem5
1个回答
1
投票

从我在gem5 d9cb548d83fa81858599807f54b52e5be35a6b03(2020年5月)下看到的几个要点。gem5/configs/learning_gem5/part1/two_level.py:

  • from common* 共同点在 configs/common 因为上述原因而被发现 m5.util.addToPath('../../') 呼叫 configs/ 到PYTHONPATH,如图所示。PyCharm和PYTHONPATH。

  • import m5 来自 src/python/m5 所以加 src/python 到上面的PYTHONPATH。

  • from caches import * 来自同胞 learning_gem5/part1/caches.py所以很可能PyCharm会自动找到这个目录。否则将该目录添加到PYTHONPATH中。

  • from m5.objects import *PYTHONPATH:这很可能是你真正感兴趣的目录,因为它包含了所有有趣的对象,但不幸的是,我相信PyCharm根本无法处理它,因为SimObjects是在启动时通过PyBind11本地模块+代码生成以一种非常复杂的方式动态添加到该命名空间的。

    更详细的工作原理描述 可以在这里找到但基本上每个SimObject类都要经过一些繁重的代码自动生成来实现这个功能,例如 src/cpu/simple/AtomicSimpleCPU.py 由于 SimObject('AtomicSimpleCPU.py')src/cpu/simple/SConscript.

    截至2017年,PyCharm表示,他们没有计划进行适当的原生CC++扩展设置。https:/intellij-support.jetbrains.comhcen-uscommunityposts206018984-Developing-Python-extension-in-C-using-PyCharm。

说到这里,我发现gem5的Python部分不值得使用IDE。这是因为Python往往是非常简单易懂的。与IPDB (或者说不可能设置一个IDE),而如果你只需要 grep 的东西,你往往很快就能猜到是怎么回事。不过对于C++来说,我确实建议设置Eclipse。如何为gem5开发设置Eclipse IDE?

相关内容。为PyCharm Linter添加自定义模块

© www.soinside.com 2019 - 2024. All rights reserved.