在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2612|回复: 0

[原创] 32bit spike pk could not open pk问题解决

[复制链接]
发表于 2022-5-8 19:43:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 arthur_wo 于 2022-5-8 19:50 编辑

首先有两点:
1.   spike是32bit和64bit结合体,目前是这样,以后不知道会不会分开,默认是64bit(rv64imafdc) ,32bit用--isa=rv32imafdc;
2.   pk是32bit和64bit分开的,默认是64bit,所以在安装32bit pk时需要加两个参数--with-isa=rv32imafdc --with-abi=ilp32d

我是装了32bit和64bit的静态工具链,which默认是32bit的




  1. $ which spike
  2. /opt/riscv-elf-32/bin/spike
  3. $ which pk
  4. /opt/riscv-elf-32/riscv32-unknown-elf/bin/pk



复制代码
如果我执行下面的命令




  1. $ spike pk hello


复制代码
当然hello是用riscv32-unknown-elf-gcc生成的,执行上面的命令会出现:




  1. terminate called after throwing an instance of 'std::runtime_error'
  2.   what():  could not open pk (did you misspell it? If VCS, did you forget +permissive/+permissive-off?)


复制代码
然后我执行下面的命令




  1. $ spike /opt/riscv-elf-32/riscv32-unknown-elf/bin/pk hello


复制代码
就会出现卡住,一直在执行没有任何输出,这个原因是,前面说过,spike默认时64bit,而hello是用32bit gcc生成的,
具体是怎么导致感兴趣的可以查查源码,现象只要是spike和gcc的bit不对齐,不一致就会出现卡住,没有任何输出的现象。

我继续执行




  1. $ spike --isa=rv32imafdc pk hello


复制代码
出现和上面spike pk hello一样的结果:




  1. terminate called after throwing an instance of 'std::runtime_error'
  2. what(): could not open pk (did you misspell it? If VCS, did you forget +permissive/+permissive-off?)


复制代码
虽然which pk是32bit路径下的,但找不到,我之前单独只装64bit gcc,pk不写路径是可以找到的,
现在同时有32bit和64bit,这里不清楚spike是怎么找pk,解决方法就是加上路径。



我继续执行




  1. $ spike --isa=rv32imafdc /opt/riscv-elf-32/riscv32-unknown-elf/bin/pk hello


复制代码
会出现




  1. bbl loader
  2. hello world



复制代码
这是正确执行的结果。

总结:

1. 如果安装了两个及以上的gcc以及相应的pk,pk需要指定路径(我这里是绝对路径,相对路径你们可以试试)。
2. spike默认是64bit,仿真32bit需要加--isa=rv32imafdc参数,具体所需模块依据个人而定。



您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-5-6 01:18 , Processed in 0.015437 second(s), 6 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表