首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Pycharm编写gem5配置脚本

用Pycharm编写gem5配置脚本
EN

Stack Overflow用户
提问于 2018-08-23 09:40:07
回答 1查看 436关注 0票数 4

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

对于那些不熟悉gem5的人来说,这是一个简短的解释:

gem5是一个开放源码模拟器,用于检查硬件架构。它可以从github:指向github的链接下载。安装过程在下面的链接中描述。

代码语言:javascript
复制
<gem5_installation_dir>/gem5/configs/learning_gem5/part1

在上面的路径中,有一个基本的python脚本文件: simple.py --这个文件包含一些导入。使用Pycharm编辑此文件需要一些位于gem5安装目录中的依赖项。问题: 1)如何将gem5的依赖关系添加到Pycharm中?

2)如何使用gem5执行命令配置Pycharm?

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-07 11:12:00

我在gem5 d9cb548d83fa81858599807f54b52e5be35a6b03 (2020年5月)在gem5/configs/learning_gem5/part1/two_level.py下看到的几点建议

  • from commonconfigs/common是公共的,这是由于上面的m5.util.addToPath('../../')调用而找到的,所以将configs/添加到PYTHONPATH,如
  • import m5来自于src/python/m5,因此将src/python添加到PYTHONPATH,如下所示
  • from caches import *来自同级learning_gem5/part1/caches.py,因此PyCharm很可能会自动找到它。否则,将该目录添加到PYTHONPATH。
  • from m5.objects import *:这可能是您真正感兴趣的对象,因为它包含所有有趣的对象,但不幸的是,PyCharm无法处理它,因为在启动时,SimObjects是通过PyBind11本地模块+代码生成以非常复杂的方式动态添加到该名称空间的。 更详细地描述了可以在这里找到的工作原理,但基本上每个SimObject类都经历了一些繁重的代码自动生成来实现这一工作,例如,由于src/cpu/simple/SConscript中的SimObject('AtomicSimpleCPU.py')而产生的src/cpu/simple/AtomicSimpleCPU.py。 到2017年,PyCharm说他们没有计划建立一个适当的本地C/C++扩展设置:https://intellij-support.jetbrains.com/hc/en-us/community/posts/206018984-Developing-Python-extension-in-C-using-PyCharm

尽管如此,我发现为gem5的Python部分使用IDE是不值得的。这是因为Python往往很容易理解与IPDB (或者不可能为其设置IDE ),而且如果您只使用grep,那么您可能很快就会猜到发生了什么。不过,对于C++,我建议您设置Eclipse:如何为gem5开发设置Eclipse?

相关:向PyCharm链接器添加自定义模块

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51982735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档