To run an OS(such as Linux) or standalone program on PhenixPro developer's board,one should config the hardware(PS of Zynq at least) in vivado first.
Note board informations:
1. SoC: Zynq XC7Z020-1CLG400C or XC7Z020-1CLG484C
2. DDR: 512MB DDR3 1066,Micron MT41K128M16 JT-125
3. Oscillator: 33.333MHz
4. Flash: S25FL256
Follow these steps:
1. While creating a new project,select the chip xc7z020clg400-1 or xc7z020clg484-1,even zedboard will be ok.
2. Sketch the blocks like this
Minimun system to run linux
3. Select the Peripheral I/O Pins which our board supports.
4. Open MIO Configuration ->I/O peripherals,config the I/Os like this:
1st. Select the speed of SD 0 fast and I2C 0 slow.
2nd. Select IO type LVCMOS18 for SD 0 and LVCMOS33 for I2C 0,because we had powered bank0 of MIO by 3.3V voltage source and bank1 by 1.8V voltage source respectively.
3rd. Disable the pullup function to satisfy the bus protocols
5. Clock configuration -> Advanced Clocking,config the Phase Locked Loops (PLL) and Divisors as presented in fig 4.If you have select zedboard in fist step,just ignore it.
Why use a 33.333MHz active crystal ? Since we employ a grad -1 zynq device.It's highest CPU frequency is 667MHz and DDR3 frequency is 533Mhz. Applying a 33.333MHz crystal is easy to achieve these two goals simultaneously.The zedboard employs a 33.333333Mhz active crystal,however, we can neglect this error between zedboard and PhenixPro while we don't need precise clocking, such as a linux console (UART) with a baud rate 115200.
6. DDR configuration, just select the proper DDR3 chip, here we select the MT41K128M16 JT-125
Finish above steps, right click the design, click "Generate Output products",then export hardware and launch SDK,subsequent work will be developed in SDK. We shall discuss it later.