forked from luebbers/reconos
-
Notifications
You must be signed in to change notification settings - Fork 1
Linux and Partial Reconfiguration without Shared Memory
arkeller edited this page Aug 17, 2010
·
3 revisions
The reference design for partial reconfiguration with linux supports:
- 1 hardware thread
- No shared memory
- Ramfs root directory
- The XUP board
- PPC405_0
- Normal Makefile system
Files:
- support/refdesigns/9.2/xup/opb_eth_tft_cf_pr: reference design
- core/linux/drivers/xilinx_hwicap: hwicap driver (modified from the driver provided by xilinx)
How to use the driver:
- mknod /dev/hwicap c 254 0
- cp partial_bitfile.bit /dev/hwicap -> your FPGA should be reconfigured.
When doing a new hw design:
- copy the xilinx.dtx file (somewhere in edk-static/powerpc405/libsrc/) to arch/powerpc/boot/dts
- make a new initrd
When adding some files to the root file system:
- "cd arch/powerpc/boot/tmp"
- "gunzip ramfs.image.gz"
- "sudo mount ramdisk.image /mnt/rootfs/ -t ext2 -o loop=/dev/loop"
- copy the file to /mnt/ramfs/desired/path
- "umount /mnt/ramfs"
- "gzip -9 ramfs.image"
- "cp ramfs.image.gz ../."
- "make ARCH=powerpc CROSS_COMPILE=powerpc-405-linux-gnu- simpleImage.initrd.virtex405-xup-opb-eth-tft-cf_pr"
Brief example
- "demos/linux_partial_demo"
- "dow merges/prm0_add/base_routed_full.bit"
- "simpleImage.initrd.virtex405-xup-opb-eth-tft-cf_pr.elf"
- login with root
- "mknod /dev/icap c 254 0"
- "mknod /dev/osif0 c 252 0"
- execute "test_hw" -> you should see a value = 1 (press ENTER twice)
- "cp merges/prm0_sub/prm0_add_routed_partial.bit /dev/icap"
- execute "test_hw" -> you should see a value = 2 (press ENTER twice) (value = 1 or = 2 is set by the hw thread)