I'm trying to integrate FMCOMMS4 with my Mini-ITX Z100 development board. My build system is CentOS 6.6 and I have several versions of Vivado/SDK installed (I prefer 2016.3). Of course the closest Analog reference design targets the Z045 version of the Mini-ITX, so I'm probably going to have difficulties. My goal is to eventually integrate my own HDL application into the fmcomms2 base project (as directed on the wiki) for sink/source of streaming data from/to the AD9364 transceiver aboard the FMCOMMS4. And I'm anticipating a bare-metal no-OS project for now. It would be nice to eventually get all this running with Linux, but I'll be happy with crawling at first...
What I've done so far:
- Grabbed the "hdl" and "no-OS" projects from github:
- Installed the older 2015.2 version of Vivado/SDK required for the build scripts to be happy
- Built the HDL reference design targeting the Mini-ITX Z045 via command line with "make fmcomms2.mitx045" executed from the 'hdl' directory. The resulting project directory is located at: hdl/projects/fmcomms2/mitx045/
- I didn't bother yet with changing the target device from xc7z045ffg900-2 to xc7z100ffg900-2 as I know that will cause Vivado to throw a fit about Analog's hdl cores. More on that later...
- Opened the project in Vivado 2015.2 and white-boarded the top level block diagram (attached jpg). As it was the bd itself wasn't much help in understanding how things are connected.
- Exported the hw design to SDK
- Launched SDK from Vivado and quickly found that there are some issues with the version of Eclipse used by SDK 2015.2 under Centos 6.6. (Eclipse Community Forums: Java Development Tools (JDT) » Eclipse crash with RHEL 2.6.32-504.el6.i686 ) Great. It crashes quite reliably for me now doing something as simple as opening main.c.
- Said goodbye to 2015.2 and opened the project in 2016.3. I let Vivado attempt to automatically update it for me. And of course got all kinds of warnings about IP version changes. But I wasn't interested in rebuilding the hardware just yet. I wanted to make sure SDK was okay.
- Launched SDK 2016.3 from Vivado 2016.3. All good. No crashes. Followed instructions for creating the blank project here: https://wiki.analog.com/resources/eval/user-guides/ad-fmcomms2-ebz/software/baremetal
- Copied the no-OS source from no-OS/ad9361/ to the src/ folder in new project as follows:
| |-- command.c
| |-- command.h
| |-- console.c
| |-- console.h
- Fixed the references to the files in the #includes so they matched above... all good. At least the software builds now with no crashes.
Now What? I need to get the HDL project rebuilt in 2016.3 for the z100 instead of 2015.2 / z045. So to see what I would be up against, I went back to Vivado 2016.3 and selected the xc7z100ffg900-2. The attached jpg shows my list of recommended block upgrades.
Since a lot of these cores are Analog's and were locked to the 2015.2 tools and the z045 part, I am probably in for a bit of surgery without guaranteed results. Any advice on how best to proceed?
Thanks in advance for any help!