Forum Discussion
Altera_Forum
Honored Contributor
12 years agoHi Jeff,
--- Quote Start --- Hi Dave - Always good to hear from you. I hope you're doing well. --- Quote End --- Sure. I always try to make time to help out others :) --- Quote Start --- The code you point me to looks like it may be just want I need. I think that if I have a Dev. Card plugged into a LINUX box, with the PCI Interface instantiated on the FPGA (via Qsys as an Avalon Bus Master), I can compile this code on the Linux box and it will support read/writes from the PC to the FPGA (sort of a simple System Console). - Great - Thanks! --- Quote End --- Yes. The code uses the already-existing PCI device nodes setup automatically by Linux. The only caveat is that to access those default device nodes you need to run the application as root. Not a big deal. --- Quote Start --- As to why I don't want to boot LINUX on the SoC card and essentially use -that- as the PC: It's a tail-wagging the dog solution. I'm not much of an embedded guy, and it's a lot of overhead to take on for a fairly simple/mundane purpose. (Although I understand that it's doable and is probably the recommended usage model). (so why do we have the SoC card? We plan to use it in future projects (where the SW load is sufficient to get some embedded help)> --- Quote End --- Yeah, I figured it might be something like that. However, given that Rocketboards.org has working Linux images, you could conceivably be "blind" to how they've implemented Linux, and just use it. --- Quote Start --- I'm not sure we're on the same page for the bottom part of your post. If I do this on my old Stratix-IV card, I can just plug it into a PCI slot on my LINUX box. --- Quote End --- Right, because its a PCIe peripheral board, you can plug it into a PC PCIe slot, or the stand-alone motherboard like I use (which saves me having to deal motherboard chipset issues). --- Quote Start --- If I use the SoC card, the problem is that I need to connect that card to a PC. Ideally there would be some sort of PCI-E Male to USB connector (so I could use a laptop) with a driver supplied. But more likely what I'd do is have some sort of Pci-E Male <-> Pci-E Male cable to tether the card to the LINUX box and use your code (above). I'm not clear on how the links you supplied (all card) help? --- Quote End --- Herein lies lots of potential issues; that slot will be designed as a PCIe root-complex slot, i.e., it looks like a motherboard PCIe slot as that is how it is supposed to act. You cannot just plug an adapter in and link it to your PC, since the clock from your PC needs to make it over to your Arria V board as the PCIe clock reference. Its possible the Arria V developers thought of operating the board in this mode, but you'd have to check the schematic. In some cases you have to remove the clock source on the development kit (eg., remove source terminations), and then figure out how to get the clock from the PCIe connector over to the Arria V clock pin. In that case, you'd be better off buying a PCIe cable solution from OneStopSystems, i.e., something that links a PCIe periperhal on your PC (or ExpressCard on your laptop) over to the PCIe slot on your Arria V kit. Still confused? Draw a block diagram of your PCIe link; each link has a master at one end (root-complex) and a slave (peripheral) at the other. Between those two devices are the transceiver lanes, the clock, the reset, and a few other control lines. Those "extra" signals come from the root-complex. You cannot connect two root-complex devices together directly, or two peripheral boards directly. Cheers, Dave