Hallo Leute,
ich habe ein Problem mit der dynamischen Konfiguration des Clocking
Wizards von Xilinx (vivado). Ich möchte gerne auf meinen MicroZed Board
den Clocking Wizard nutzen um die Taktrate für einen ADC vorzugeben. Bis
zur Software funktioniert alles super (Synthese, Implementierung,
Bitstream, Export in SDK). Leider komme ich im SDK aber gar nicht dazu
den Clocking Wizard zu bedienen. Ich finde im 'xparameters.h' File zwar
das "XPAR_CLK_WIZ_0_BASEADDR" define, jedoch kann ich von dieser und
auch der anderen im Datenblatt angegebenen Adressen weder lesen noch
darauf schreiben. Syntax müsste passen, ich habe einen Pointer den ich
diesen Wert zuweiße. Den Inhalt des Pointers lese ich dann im Variable -
Fenster aus und bekomme das Ergebnis n/a. Nach dem ersten Lesezugriff
auf die Adresse des Clocking Wizards kann ich auch auf den Speicher
nicht mehr zugreifen. Error: “Cannot access DDR; the controller is held
in reset.”
Pointerzuweißung:
1 | uint32_t* control = XPAR_CLK_WIZ_0_BASEADDR+4; //+4 weil auf die Adresse 0 kann nur geschrieben werden
|
Das Vivado Design(2014.4) ist wenig Komplex, Zynq System + Clocking
Wizard(mit Dynamic Reconfig angehakt) -> run Connection Automation.
Sitze schon eine ganze Weile an diesem Problem und komme nicht wirklich
weiter. Hat jemand von euch schon Erfahrung mit diesem Modul? Hat jemand
eine Idee was ich falsch mache?
Vielen Dank
Stephan