Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
USAGE ===== server mode with PCIe card, transmit/receive on channel 2 ./spw_bridge -c 2 server mode with Brick MK II (channel is always 1), configure speed for link 2, send packets via route with id 2 (== link 2) to remote SpW device with node addr 0x14: ./spw_bridge -c 1 -n 2:14 -L 2 client mode, connect to localhost:1234, same configuration otherwise: ./spw_bridge -c 1 -n 2:14 -L 2 -r localhost:1234 USE in CHEOPS EGSE: =================== 1) real DPU connected to CrSem via ... ** BRICK Link 1: ./spw_bridge -c 1 -n 01:24:00:00:00 -d 4 -L 1 -p 5573 -P ** BRICK Link 2: ./spw_bridge -c 1 -n 02:24:00:00:00 -d 4 -L 2 -p 5573 -P Note, that the first byte in the route is used by the brick (link number). The next one is the address of the DPU (24) and the remaining 3 are eaten by the DPU. the -d 4 drops the 4 byte SpW address header, which is attached by the real DPU. GRESB protocol with grmon2 for RMAP access ========================================== 1) connect target spw link to a SpW port which supports RMAP on the target machine; in the GR712, only link 0 or link 1 support RMAP 2) start spw_bridge with gresb option, make sure to choose a proper divider for 10 MHz link speed; e.g. channel 1, base clock == 200 -> div =20 $ ./spw_bridge -c 1 -D 20 -G 3) the GRESB uses a base port number of 3000 + offset for tx/rx link selected grmon2 wants to use the interface in this manner, so we use socat to forward all packets to the actual port of spw_bridge (default 1234) $ socat tcp-l:3000,fork,reuseaddr tcp:127.0.0.1:1234 $ socat tcp-l:3001,fork,reuseaddr tcp:127.0.0.1:1234 4) start grmon with gresb target and IP of machine which runs spw_bridge, e.g. $ grmon -gresb 127.0.0.1 5) there's a caveat to this: the GRSPW2 SpW port may not be initialised if there is no boot prom present; for the GR712, you'll have to first connect via the JTAG or other debug interface and set up a core, e.g. GRSPW0: wmem 0x80100800 0xA0010006 wmem 0x8010080C 0x00000909 for detail refer to the user manual