FPGA loader
On this page, you will find all the informations needed to use the FPGA loader driver.
Module compilation & installation
The first thing you have to do is to compile the driver. The only way to do that actually is to compile it as a module:
# cd target/linux/modules/fpga_devtools
Compile it:
# make ARCH=arm CROSS_COMPILE=/local/Armadeus/buildroot/build_arm_nofpu/staging_dir/bin/arm-linux-
When compiled, you will obtain 1 module and one progam:
- fpgaloader.ko: this is the driver.
- fpgaregs: this is a small tool which allows accessing the FPGA from the user space without driver. This is especially usefull during development phases.
Then, you have to:
- copy the module on your rootfs in /lib/modules/drivers/
After that you can launch:
# insmod /lib/modules/drivers/fpgaloader.ko
The default FPGA version is the spartan3 200k. The version can be changed when installing the module (insmod /lib/modules/drivers/fpgaloader.ko 0 or 1). These informations are given by the proc interface.
Driver usage
The FPGA loader driver is usable through 1 interface:
# use /proc/drivers/fpga/loader to read the available configurations
To upload a new firmware, write:
# dd if=fpga_test.bit of=/dev/fpga/loader
FPGARegs usage
Write to a FPGA address
- fpgareg addr value
ex: fpgaregs 0x1000 0xabcd this will write 0xabcd (16bits only interface) at the FPGA internal address 0x1000
Read a FPGA address
- fpgareg addr
ex: fpgaregs 0x1000 this will read the address 0x1000