Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
W
White Rabbit Starting Kit
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Projects
White Rabbit Starting Kit
Commits
bd64bd24
Commit
bd64bd24
authored
Apr 02, 2014
by
Benoit Rat
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
doc: improve etherbone section
parent
feb9cf6f
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
81 additions
and
9 deletions
+81
-9
wr-starting-kit.md
doc/wr-starting-kit.md
+81
-9
No files found.
doc/wr-starting-kit.md
View file @
bd64bd24
...
...
@@ -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
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment