sifive / freedom

Source files for SiFive's Freedom platforms
Apache License 2.0
1.11k stars 286 forks source link

vc707-iofpga and vc707-u500devkit architectural differences? #134

Open salmansheikh opened 5 years ago

salmansheikh commented 5 years ago

What is the difference between the two from an architectural SOC viewpoint? And how can I find the memory map for what peripherals are created for each file? Also how to

erikdanie commented 5 years ago

The vc707-u500devkit is a full devkit SoC built around the u500 core. This includes ips for peripherals like GPIO, SPI, UART etc, as well as xilinx ips like PLL, DDR and PCIe controllers. You can find the memory map in the .dts file that gets generated in the builds directory

The vc707-iofpga is a design that makes use of the vc707 as a hub for ios, mainly intended for use with the HiFive Unleashed board. It uses the FMC connector to connect to the board, and then contains a kind of empty shell that connects peripherals like ddr and pcie for the hifive unleashed to make use of, as if they were all peripherals on the same board.

salmansheikh commented 5 years ago

So, the u500devkit version is intended for booting Linux? I wanted to use bare-metal OS or put an RTOS on it (RTEMS or FreeRTOS) for my test application.

erikdanie commented 5 years ago

The u500devkit can be used to boot linux, and contains boot code that read in from the sd card on the vc707, expecting to find a linux bbl, loads it directly into ddr and begins executing from there. You can use this to put a bare metal OS, depending on its size, you may want to make use of this sd boot, or the code can be changed to boot straight to a location in memory