Commit bd64bd24 authored by Benoit Rat's avatar Benoit Rat

doc: improve etherbone section

parent feb9cf6f
......@@ -1567,26 +1567,98 @@ Please refer to *Writing EEPROM and calibration* Section of the [wrpc.pdf] docum
Manage standalone node using etherbone
----------------------------------------
You can also use SPEC card in standalone mode as we have seen before but... how can you configure spec card if you
do not use drivers? In wr-nic project, Etherbone core has been added to design and it allows to you configure
memory map with UDP/TCP packets. To ease this function, we have added a eb-mem script in scripts folder. This tool
uses Etherbone tools to connect with device and perform read/write operations.
You can also use SPEC card in standalone mode as we have seen before
but... how can you configure spec card if you do not use drivers?
In wr-nic project, Etherbone core has been added to design and it allows
to you access directly to the memory map (wishbone registers) using
UDP/TCP packets.
Thus in order to connect you to the [SPEC+FMCDIO] in standlone you must
configure it with a valid IP. This can be automatically (complex) using bootp protocol,
or manually (easy) through the WRC mini-USB UART.
### Set IP using BootP
This is the more complex way to do it because you need to create a BootP server
on your LAN, but then the IP of each standalone board can be automatically
asigned.
On Ubuntu the `dnsmasq` packet can be used as BootP deamon. The configuration
file should be something similar as:
~~~~~~~{.sh}
## Specified interfaces (10.10.10.1 is your IP)
interface=eth1
## DHCP setup
dhcp-range=10.10.10.1,10.10.1.15,12h
## BootP setup
dhcp-boot=pxe.0,tfpservname,10.10.10.1
## Set a specific IP for a MAC address
dhcp-host=08:00:30:0d:f8:23,targetsysname,10.10.10.10
~~~~~~~~~~~~
### Set IP through WRC UART
An easier way to set the IP of your standalone board is through the WRC Shell by
connecting the mini-USB UART to your PC.
Then you should just write in the terminal:
~~~~~~~{.sh}
wrc# ip set 10.10.10.10
~~~~~~~~~~~~
If you want this value to be kept the IP after a power cycle you must write it in the
init EEPROM script as explained [previously](#eeprom-boot-script)
### Access to the wishbone device
At this step, you need to connect the standalone device with your PC. If you
do not have any SFP interface on your PC you can use an SFP-RJ45 adapter
to perform this step.
You need to check that your interface is on the same LAN as the standalone
[SPEC+FMCDIO] board or set it manually if it is not the case:
~~~~~~~{.sh}
>:$ sudo ifconfig eth1 10.10.10.1
~~~~~~~~~~~~
Finally you can try the etherbone library to connect to your standalone
[SPEC+FMCDIO] board. Please check that you have compiled the library for
your platform by doing `make && sudo make install` in the main folder or by going to
`etherbone/api` and perform a `make clean && make && sudo make install`.
To ease this procedure, we have added the `eb-mem.sh` tool in scripts
folder that access the etherbone library to connect with the device and perform
read/write operations.
Below we display a quick example on how to use it.
~~~~~~{.sh}
## It shows you Device memory map
eb-mem.sh --scan --ip 10.10.10.10
>:$ scripts/eb-mem.sh --scan --ip 10.10.10.10
## Read a memory address
eb-mem.sh --read --ip 10.10.10.10 --address 0x62000
>:$ scripts/eb-mem.sh --read --ip 10.10.10.10 --address 0x62000
## Write a memory address
eb-mem.sh --write --ip 10.10.10.10 --address 0x62000 --value 0x01
>:$ scripts/eb-mem.sh --write --ip 10.10.10.10 --address 0x62000 --value 0x01
## Show help
eb-mem.sh --help
>:$ scripts/eb-mem.sh --help
~~~~~~~~~~~~~
TALK ABOUT CALOE
<!--TODO: Caloe -->
A library called CALoE (Configuration Abstraction Layer over Etherbone)
can also be used to ease the task of accesing to various register through
etherbone.
You can find more information on the following page
<https://github.com/klyone/caloe/wiki>
Quick Start Guide For Developers
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment