Skip to content
Utilities for working with a Wishbone bridge
C Rust C++ Makefile Batchfile M4 Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ci
wishbone-tool
.gitattributes
.gitignore
.travis.yml
LICENSE
Makefile
README.md
etherbone.c
etherbone.h
litex-devmem2.c

README.md

Wishbone Utilities

A collection of utilities for working with Wishbone

Usage

To build the utilities, type make. Precompiled versions of wishbone-tool can be found in the releases/ section.

Utilities

  • wishbone-tool: All-in-one Wishbone binary, available for a variety of platforms.

  • litex-devmem2: An implementation of the classic devmem2 command for litex. Supports direct connections via Ethernet, or going through the litex_server binary to support PCIe and UART.

  • etherbone: A library that can be used for communicating with a remote device.

Wishbone Tool

wishbone-tool is useful for interacting with the internal Wishbone bridge on a device. Some of the things you can use wishbone-tool for:

  • Peeking and poking memory, such as with devmem2
  • Testing memory and bridge consistency
  • Exposing a Wishbone bridge to Ethernet
  • Attaching a GDB server to a softcore

Currently-supported Wishbone bridges include:

  • usb - For use with Valentyusb such as on Fomu
  • serial - Generic UART, nominally running at 115200

Wishbone Tool Usage

By default, wishbone-tool will communicate via USB, attempting to open a device with PID 0x5bf0. It will wait until it finds such a device. To use a serial device instead, specify wishbone-tool --serial /dev/ttyUSB0.

To read from an area of memory (such as 0x10000000), run:

$ wishbone-tool 0x10000000
INFO [wishbone_tool::usb_bridge] waiting for target device
INFO [wishbone_tool::usb_bridge] opened USB device device 019 on bus 001
Value at 00000000: 6f80106f
$

To write a value to memory, add an additional parameter:

$ wishbone-tool 0x10000000 0x12345678
INFO [wishbone_tool::usb_bridge] opened USB device device 019 on bus 001
$ wishbone-tool 0x10000000
INFO [wishbone_tool::usb_bridge] opened USB device device 019 on bus 001
Value at 00000000: 12345678
$

You can connect to a serial port by specifying the --serial argument:

$ wishbone-tool --serial COM4: 0
You can’t perform that action at this time.