您尚未登录。

楼主 # 2025-03-15 14:46:30

Xiagb
会员
注册时间: 2020-03-29
已发帖子: 22
积分: 36

rv32 cpu该怎么适配rust,试着模仿写了点但编译出错

项目地址:https://github.com/xiaguangbo/custom_rv32_rust
picorv32 + rust
各种适配要被搞麻了,所以打算都自己写

离线

楼主 #1 2025-03-15 14:50:13

Xiagb
会员
注册时间: 2020-03-29
已发帖子: 22
积分: 36

Re: rv32 cpu该怎么适配rust,试着模仿写了点但编译出错

出错代码:
program_picorv32ec/project/src/main.rs
```
#[picorv32asm::entry]
fn main() -> ! {
    loop {}
}
```

现在的错误:
```
$ cargo build
   Compiling picorv32asm v0.1.0 (/home/xiaguangbo/linux/project/custom_rv32_rust/program_picorv32ec/picorv32asm)
   Compiling project v0.1.0 (/home/xiaguangbo/linux/project/custom_rv32_rust/program_picorv32ec/project)
   Compiling picorv32entrymacro v0.1.0 (/home/xiaguangbo/linux/project/custom_rv32_rust/program_picorv32ec/picorv32asm/picorv32entrymacro)
error: unsafe attribute used without unsafe
--> src/main.rs:6:1
  |
6 | #[picorv32asm::entry]
  | ^^^^^^^^^^^^^^^^^^^^^ usage of unsafe attribute
  |
  = note: this error originates in the attribute macro `picorv32asm::entry` (in Nightly builds, run with -Z macro-backtrace for more info)
help: wrap the attribute in `unsafe(...)`
  |
6 | unsafe(#[picorv32asm::entry])
  | +++++++                     +

error: could not compile `project` (bin "project") due to 1 previous error
```

奇了怪了,我看别的项目也这么写就可以用,比如wch rust项目的

最近编辑记录 Xiagb (2025-03-15 15:03:55)

离线

楼主 #2 2025-03-17 11:50:57

Xiagb
会员
注册时间: 2020-03-29
已发帖子: 22
积分: 36

Re: rv32 cpu该怎么适配rust,试着模仿写了点但编译出错

删除`program_picorv32ec/picorv32asm/picorv32entrymacro/Cargo.toml`里的 `edition = 2024`

离线

楼主 #6 2025-03-19 12:31:59

Xiagb
会员
注册时间: 2020-03-29
已发帖子: 22
积分: 36

Re: rv32 cpu该怎么适配rust,试着模仿写了点但编译出错

仓库里的已经可以运行了,效果就是闪灯。正在进行下一步

离线

楼主 #7 2025-03-19 12:38:35

Xiagb
会员
注册时间: 2020-03-29
已发帖子: 22
积分: 36

Re: rv32 cpu该怎么适配rust,试着模仿写了点但编译出错

离线

楼主 #8 2025-03-19 13:43:49

Xiagb
会员
注册时间: 2020-03-29
已发帖子: 22
积分: 36

Re: rv32 cpu该怎么适配rust,试着模仿写了点但编译出错

此项目地址修改到:https://github.com/xiaguangbo/picorv32_and_rust

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn