Comments (4)
So, the firmware update side of things needs work at the moment. Even if you had an image in the proper format for the exablaze firmware updater to load it onto the card, you wouldn't be able to change it afterwards. There is support for flash access in many of the corundum designs, but the userspace tool mqnic-fw is incomplete and there is currently no support in the FPGA design to reset the FPGA to load the new image. These things are on the to-do list. Currently, the recommended way to load corundum onto the card is via JTAG (and you'll need to have JTAG access anyway if you want to use tools like the ILA).
For the ExaNIC X10, they have an edge connector for JTAG (J3). Mating part is Sullins RBB10DHHN, and the pinout is as follows:
[FPGA side] [Back side]
____________________ _________________________
TDI --######### \ / #########== GND TP11 o
TDO --######### | | #########== GND 2 o
######### | | #########== GND 1
TMS --######### | | #########== GND P o
TCK --######### | | #########== GND T TP9
######### | | #########== GND o
J3 ######### | | #########== GND TP10
######### | | #########== 12V
######### | | #########== 12V
1V8 ==######### / \ #########== 12V
(_____________ _____________)
\ / Patents: www.exablaze.com/...
L7 [inductor] | |
Warning: the pinout is poorly designed and and the connector is not keyed! Connecting the connector backwards will connect 12V to the JTAG TDI and TDO pins. So triple check before plugging in and/or powering on.
from corundum.
So.. looks like I will need to plug a JTAG after the lockdown is removed.
Thanks again!
from corundum.
Actually, is firmware updates a feature you might be interested in working on? I can look in to setting up some sort of remote access to an X10 with a JTAG cable connected and get my partial mqnic-fw code into the repo, as well as the icap code for triggering an FPGA reload. A lot of it is already written including flash access for both BPI and QSPI flash devices, it just needs some polish, and the ability to parse bit files and hex files. And I have not looked at the ExaNIC fw format at all, that might also be a good thing to implement (both generating and parsing) to ease switching between ExaNIC and corundum firmware.
from corundum.
Yes. I think this is a good idea. But if I understand it correctly, whether we have this mqnic-fw
or not we still a JTAG to be plugged.
I think your second idea that providing a tool for switching between ExaNIC and corundum firmware is more attractive since ExaNIC users can simply follow the instructions from ExaNIC to implement corundum on the NIC.
from corundum.
Related Issues (20)
- Why is distributed RAM used to store packages on the chip, and why is it divided into segment?
- Missing prerequisite in makefile HOT 1
- Document needs to be updated
- Custom App Ports HOT 2
- Cocotb with icarus verilog gets frozen stuck at some point during simulation: How to debug? HOT 2
- port to zc706 HOT 1
- insmod mqnic.ko error HOT 2
- Does corundum support two devices in a server? HOT 3
- Accelerating PPPOE
- petalinux compile error for mqnic module HOT 8
- nic
- Error "Device needs to be reset" when insmod mqnic.ko HOT 1
- AU50 working with DAC but not Optical HOT 3
- issues in doc HOT 1
- Porting PCIe example to zu7cg HOT 7
- mqnic is not compilent from modern kernel HOT 1
- Weird bugs meet with fb2CG and Vivado 2023.2 HOT 3
- Inquiry on Round-Trip Latency
- problem while building the driver HOT 7
- Troubleshooting Interface Configuration Issue with mqnic Driver HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from corundum.