Gast
#6100761
Guten Tag, leider bin ich im Umgang mit SoCs noch etwas unerfahren und hänge an einem Problem. Daher würde ich euch gerne um etwas Hilfe bitten. Vielleicht reicht bereits das eine oder andere Schlagwort, um weiter zu kommen. Die Hardware ist ein DE0-nano-SoC. Mit Hilfe des FPGA-Teils möchte ich ADUs und serielle Signale kontinuierlich erfassen. Hierfür sind bereits Schnittstellen implementiert. Die so gewonnenen Daten werden periodisch aus den entsprechenden FIFOs in 16Bit-Register abgelegt. Z.B. ADU1 und SER1. Nun möchte ich aus dem HPS-Teil, auf welchem Linux läuft, unter C++ auf diese Register zugreifen können. Doch deren virtuellen Speicheradressen sind mir(Linux) natürlich unbekannt. Zudem müsste ich vor dem Zugriff verhindern, dass die Register während des Zugriffs durch den FPGA beschrieben werden und somit schreibend den Refresh sperren. Wie kann ich also die Adressen von ADU1 und SER1 identifizieren/festlegen, um hierauf mit dem HPS-Teil lesend und schreibend zugreifen zu können? Läuft diese Kommunikation über die HPS2FPGA / LWHPS2FPGA Brücke? Leider ist das Thema offenbar recht komplex. Könntet Ihr mich daher auf Beispiele verweisen? Mit vielem Dank