cadence-macb

Crates.iocadence-macb
lib.rscadence-macb
version0.1.0
sourcesrc
created_at2023-02-23 13:00:10.293072
updated_at2023-02-23 13:00:10.293072
descriptioncadence-macb ethernet rust driver on SiFive FU740 board.
homepagehttps://github.com/elliott10/cadence-macb.git
repositoryhttps://github.com/elliott10/cadence-macb.git
max_upload_size
id792729
size162,182
Luoyuan Xiao (elliott10)

documentation

https://github.com/elliott10/cadence-macb/blob/main/README.md

README

Cadence Macb ethernet driver

cadence-macb ethernet Rust driver on SiFive FU740 board.

Quick Start

Initialize ethernet driver

pub struct MEM;
impl MemMapping for MEM {
    fn dma_alloc_coherent(pages: usize) -> usize {
        ...
    }
    fn dma_free_coherent(paddr: usize, pages: usize) {
        ...
    }
}

let mut macb_device = cadence_macb::eth_macb::open::<MEM>(&mac).unwrap();

Sending network packets

cadence_macb::eth_macb_ops::macb_send(&mut macb_device, &packet);

Receiving network packets

cadence_macb::eth_macb_ops::macb_recv(&mut macb_device, &mut rx_buffer);

Reference

  • Linux and U-Boot C code
Commit count: 15

cargo fmt