Expand description
§Wishbone Bridges
Wishbone is an internal bus that runs on-chip. It provides memory-based interconnect between various hardware modules. Wishbone buses frequently contain memories such as RAM and ROM, as well as memory-mapped peripherals.
By accessing these memories remotely, a target device may be examined or tested by a host.
Wishbone may be bridged from a target to a host using a variety of protocols. This library supports different protocols depending on what features are enabled. By default, all supported protocols are enabled.
Creating a Wishbone Bridge
object involves first creating a configuration
struct that describes the connection mechanism, and then calling .create()
on that struct to create the Bridge
. For example, to create a USB Bridge
using the USB PID 0x1234
, peek memory at address 0, and poke the value
0x12345678
into address 0x20000000
, you would use a UsbBridge
like this:
use wishbone_bridge::UsbBridge;
let bridge = UsbBridge::new().pid(0x1234).create().unwrap();
println!("Memory at address 0: {:08x}", bridge.peek(0).unwrap());
bridge.poke(0x2000_0000, 0x1234_5678).unwrap();
Creating other bridges is done in a similar manner – see their individual pages for more information.
Structs§
- Bridge
- Bridges represent the actual connection to the device. You must create
a Bridge by constructing a configuration from the relevant
configuration type, and then calling
create()
. - Ethernet
Bridge - A builder to create a connection to a target via Ethernet, either using
TCP or UDP. The
EthernetBridge
struct also describes connections to proxy servers that relay Wishbone packets over Ethernet, such as remote USB-to-Ethernet bridges. - PCIe
Bridge - Describes a connection to a target via PCI Express.
- SpiBridge
- Describes a connection to a SPI bus. Note that not all platforms support SPI connections.
- Uart
Bridge - Describes a connection to a UART or serial port
- UsbBridge
- Connect to a target device via USB.
Enums§
- Bridge
Error - Errors that are generated while creating or using the Wishbone Bridge.
- Ethernet
Bridge Protocol - Indicates which Ethernet protocol to use for Wishbone when connecting via a network.