rcore-os / zCore

Zircon microkernel reimplemented in Rust.
MIT License
1.71k stars 208 forks source link

硬件测试问题汇总 #376

Closed shzhxh closed 1 year ago

shzhxh commented 1 year ago

commit id : ea7324ff2e8c5fbbf95940d917e52b9f80a39bf5

D1

通过opensbi启动

:x: opensbi + 内存烧写,只进到opensbi无法进到zCore

通过rusbsbi启动

:x: rustsbi , 运行cargo bin --arch riscv64 --features "linux board-d1 link-user-img" --output z.bin编译出错

yfblock commented 1 year ago

尝试修复了 zCore/build.rs 中的错误 本地目前可以编译通过

错误原因是std::env::var("PLATFORM")Err(NotPresent)unwrap 导致报错

目前测试指令 cargo bin --arch riscv64 --features "linux board-d1 link-user-img" --output z.bincargo bin --arch riscv64 --features "linux board-visionfive link-user-img" --output z.bin 可以通过

zCore/build.rs

// let board = std::env::var("PLATFORM").unwrap();
// let kernel_base_addr: u64 = if board.contains("fu740") {
//     0xffffffe080200000
// } else {
//     0xffffffc080200000
// };
let board = std::env::var("PLATFORM");
let kernel_base_addr: u64 = if board.map_or(false, |x| x.contains("fu740")) {
0xffffffe080200000
} else {
0xffffffc080200000
};
shzhxh commented 1 year ago

尝试修复了 zCore/build.rs 中的错误 本地目前可以编译通过

错误原因是std::env::var("PLATFORM")Err(NotPresent)unwrap 导致报错

目前测试指令 cargo bin --arch riscv64 --features "linux board-d1 link-user-img" --output z.bincargo bin --arch riscv64 --features "linux board-visionfive link-user-img" --output z.bin 可以通过

zCore/build.rs

        // let board = std::env::var("PLATFORM").unwrap();
        // let kernel_base_addr: u64 = if board.contains("fu740") {
        //     0xffffffe080200000
        // } else {
        //     0xffffffc080200000
        // };
        let board = std::env::var("PLATFORM");
        let kernel_base_addr: u64 = if board.map_or(false, |x| x.contains("fu740")) {
            0xffffffe080200000
        } else {
            0xffffffc080200000
        };

D1 rustsbi启动,星光开发板启动都没问题了。:+1: