Download the pre-built image for you setup:
FPGA Carrier | FMC Card | Download |
---|---|---|
A10GX (10AX115S2F45I1SG) | ADRV9009 | adrv9009_a10gx_2019_r2.zip |
A10GX (10AX115S2F45I1SG) | ADRV9371x | adrv9371x_a10gx_2019_r2.zip |
A10GX (10AX115S2F45I1SG) | FMCDAQ2 | daq2_a10gx_2019_r2.zip |
A10GX (10AX115S2F45I1SG) | FMCDAQ2 | daq2_a10gx_2018_r1.zip |
A10GX (10AX115S3F45E2SGE3) | FMCDAQ2 | a10gx_daq2_2016_r1.zip |
A10GX (10AX115S3F45E2SGE3) | FMCDAQ3 | a10gx_daq3_2016_r1.zip |
A5GT | FMCJESDADC1 | a5gt_fmcjesdadc1_2015_r2.zip |
A10GX (10AX115S2F45I2SG) | FMCDAQ2 | a10gx_daq2_2015_r2.zip |
A5GT | FMCJESDADC1 | a5gt_fmcjesdadc1_2015_r1.zip |
A10GX (10AX115S2F45I2SG) | FMCDAQ2 | a10gx_daq2_2015_r1.zip |
If you are using a Windows machine and Quartus II is installed, the easiest way of loading the design is to directly run program.bat script (make sure that the Quartus II path specified in the script match the one from your machine). It will program the board and will launch a nios2-terminal where the Linux console messages will be printed.
An example of Linux console messages that are printed by the target:
The IIO Oscilloscope application can be used to remotely connect to another platform that has a connected IIO device in order to configure the device and read data from it.
To install the application, please follow the instructions from here: Oscilloscope
Once the application is launched go to Settings → Connect and enter the IP address of the target in the popup window. Click Refresh and OK.
Note: The IP address of the target can be found by looking to the Linux console messages (Lease of 10.50.1.114 obtained, lease time 28800) or using the Linux ifconfig command (log in using user root and password analog):
Welcome to Buildroot buildroot login: root Password: # ifconfig eth0 Link encap:Ethernet HWaddr B2:94:3D:6E:11:8F inet addr:10.50.1.114 Bcast:10.50.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:47 errors:0 dropped:11 overruns:0 frame:0 TX packets:3 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:5386 (5.2 KiB) TX bytes:1026 (1.0 KiB) Memory:10181000-101813ff lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) #
Some examples of the IIO Oscilloscope running on Windows and connected remotely to a target that runs Linux:
We provide a script that does automates the build for Nios 2.
The script takes 4 parameters:
a10gx_adrv9371.dts
The script will:
wget https://raw.githubusercontent.com/analogdevicesinc/wiki-scripts/master/linux/build_nios2_kernel_image.sh && chmod +x build_nios2_kernel_image.sh && ./build_nios2_kernel_image.sh /home/<user>/intelFPGA/<version>/nios2eds/bin/gnu/H-x86_64-pc-linux-gnu/bin/nios2-elf-
user@pc:~/nios2$ git clone https://github.com/analogdevicesinc/linux.git Cloning into 'linux'... remote: Counting objects: 4331580, done. remote: Compressing objects: 100% (23/23), done. remote: Total 4331580 (delta 10), reused 5 (delta 5), pack-reused 4331552 Receiving objects: 100% (4331580/4331580), 1.27 GiB | 1.88 MiB/s, done. Resolving deltas: 100% (3598928/3598928), done. Checking connectivity... done. Checking out files: 100% (49759/49759), done. user@pc:~/nios2$
user@pc:~/nios2/linux$ wget https://swdownloads.analog.com/cse/nios2/rootfs/rootfs.cpio.gz -P arch/nios2/boot/rootfs.cpio.gz Resolving wiki.analog.com (wiki.analog.com)... 195.170.124.184 Connecting to wiki.analog.com (wiki.analog.com)|195.170.124.184|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 2786418 (2.7M) [application/octet-stream] Saving to: ‘arch/nios2/boot/rootfs.cpio.gz’ arch/nios2/boot/rootfs.cpi 100%[=========================================>] 2.66M 111KB/s in 20s 2015-07-21 09:30:40 (134 KB/s) - ‘arch/nios2/boot/rootfs.cpio.gz’ saved [2786418/2786418] user@pc:~/nios2/linux$
user@pc:~/nios2/linux$ export ARCH=nios2 user@pc:~/nios2/linux$ export CROSS_COMPILE=~/nios2/tools/bin/nios2-linux-gnu- user@pc:~/nios2/linux$
user@pc:~/nios2/linux$ make adi_nios2_defconfig # # configuration written to .config # user@pc:~/nios2/linux$
your_setup.dts is a generic file name - it should be replaced by the desired devicetree file name.
Valid options: a5gt_fmcjesdadc1.dts , a10gx_daq2.dts , a10gx_daq3.dts
user@pc:~/nios2/linux$ cp arch/nios2/boot/dts/your_setup.dts arch/nios2/boot/devicetree.dts user@pc:~/nios2/linux$
user@pc:~/nios2/linux$ make zImage scripts/kconfig/conf --silentoldconfig Kconfig CHK include/config/kernel.release WRAP arch/nios2/include/generated/asm/atomic.h ....... LD arch/nios2/boot/compressed/vmlinux OBJCOPY arch/nios2/boot/zImage Kernel: arch/nios2/boot/zImage is ready user@pc:~/nios2/linux$