These are all projects for the EBAZ4205.
I want to write code to download a bitstream from my own "bare metal" standalone code. This involves turning a .bit file into some kind of C data structure that can be loaded into the Zynq PL. It also involves me writing my own driver for the devcfg section of the Zynq. To test this, I would like a bitstream that does something all on its own, namely blink an LED -- so as soon as the bitstream is properly loaded into the PL, I will see the LED start blinking.
It turns out that a .bit file has some header rubbish that I have to remove to get a plain .bin file which is destined for the PL. There are utilities to do this, but not included with Vivado (or so it seems). Somebody wrote a python program that claims to do this, but I will need to test it.
After a bit of fiddling, I discover that I can just ask Vivado to generate a .bin file for me. I can right click on "Generate Bitstream" to get a menu (with one entry "Bitstream options"). Then I select that entry and there is a box I can check to say I want a .bin file. Then I exit the menu and run Generate Bitstream (which takes a while) and voila! I see the bin file under
./ebaz_blink_2.runs/impl_1: -rw-r--r-- 1 tom tom 2083740 Jun 2 16:16 clocks_wrapper.bin -rw-r--r-- 1 tom tom 2083850 Jun 2 16:16 clocks_wrapper.bitNote that it is 110 bytes smaller than the ".bit" file.
Next I would like to work up my own custom AXI "thing" with the sole purpose of accessing the pair of LED on the ebaz. What I envision is 4 write only addresses, as follows: red-on, red-off, green-on, green-off. So, no gpio setup, just write to whichever address suits your purpose. The real goal here is learning to do the custom AXI thing, but this would also be a useful addition for the EBAZ. Done
On my EBAZ 4205 cards, the pins that connect to the XADC are not exposed, making it impossible to use the XADC on these cards to read external signals. I will need to use the Zedboard or Zybo. It is still possible to play with the XADC on the EBAZ though because it is connected to internal sensors (temperature and power supply voltages).
Apparently it is possible to access the XADC as a PS peripheral.
Tom's Computer Info / [email protected]