!Eclypse Z7再調査 あらためて情報収集. * スタートページ https://reference.digilentinc.com/reference/programmable-logic/eclypse-z7/start * Eclypse Z7 Hardware Reference Manual https://reference.digilentinc.com/reference/programmable-logic/eclypse-z7/reference-manual ** xdcファイル https://github.com/Digilent/digilent-xdc/blob/master/Eclypse-Z7-Master.xdc * Zmod DAC https://reference.digilentinc.com/reference/zmod/zmoddac/start ** RM https://reference.digilentinc.com/reference/zmod/zmoddac/reference-manual * Zmod ADC https://store.digilentinc.com/zmod-adc-1410-syzygy-compatible-dual-channel-14-bit-analog-to-digital-converter-module/ ** RM https://reference.digilentinc.com/reference/zmod/zmodadc/reference-manual * Zmod Base Library User Guide https://reference.digilentinc.com/reference/zmod/zmodbaselibraryuserguide ** GitHubのページ.ここからHW/SW/OSにリンク https://github.com/Digilent/Eclypse-Z7 *** ADC/DAC両方のブランチ https://github.com/Digilent/Eclypse-Z7/tree/zmod_adc_dac/master ** zmodlib https://github.com/Digilent/zmodlib * サンプルの使い方もzmodlibのページを参照 https://github.com/Digilent/zmodlib ** サンプルのリリースイメージは https://github.com/Digilent/Eclypse-Z7/releases にある *** Linux eclypse 4.19.0-xilinx-v2019.1 #1 SMP PREEMPT Mon Jan 13 11:17:41 UTC 2020 armv7l GNU/Linux ** xsdkでEclypse-Z7-SWを開く.ビルド時は環境変数のSYSROOTにrootfs展開先を指定する必要あり. *** tcfで実行するか,scpでelf送って実行する ***- サンプルのLinuxではtcf-agentが起動してる * bperez77/xilinx_axidma https://github.com/bperez77/xilinx_axidma eclypse@eclypse:~$ ls /dev/axidma* /dev/axidma /dev/axidma1 ** 武内先生のbperez77/xilinx_axidma情報 https://dora.bk.tsukuba.ac.jp/~takeuchi/?%E9%9B%BB%E6%B0%97%E5%9B%9E%E8%B7%AF%2Fzynq%2FDMA%E5%87%A6%E7%90%86 ** そのままだと自分で作ったLinux環境上ではビルドできなかった.patch https://github.com/miyo/build-eclypsez7-linux/blob/main/resources/xilinx_axidma.diff * libuio https://github.com/mitchellorsucci/libuio ** サンプルではlibuioを使っている,よね? eclypse@eclypse:~$ ldd ZmodADC1410_Demo_Linux.elf libuio.so.1.0 => /lib/libuio.so.1.0 (0xb6f4b000) libstdc++.so.6 => /lib/arm-linux-gnueabihf/libstdc++.so.6 (0xb6e40000) libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xb6dc5000) libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0xb6d9c000) libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb6ca2000) /lib/ld-linux-armhf.so.3 (0xb6f5d000) eclypse@eclypse:~$ ldd ZmodDAC1411_Demo_Linux.elf libuio.so.1.0 => /lib/libuio.so.1.0 (0xb6f02000) libstdc++.so.6 => /lib/arm-linux-gnueabihf/libstdc++.so.6 (0xb6df7000) libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xb6d7c000) libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0xb6d53000) libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb6c59000) /lib/ld-linux-armhf.so.3 (0xb6f14000) ** ついでに,こっちも覚えておこう https://github.com/mitchellorsucci/libgpio * FPGAのbitファイルはfpga loadbでロードしてる ** mmc_fpga=load mmc 0:1 $bit_addr $bit_name && fpga loadb $fdn $bit_addr $filesize; *** $bit_addr=0x10000000, $fdn=0 ** setenv bootargs console=ttyPS0,115200 earlyprintk cma=25M uio_pdrv_genirq.of_id=generic-uio root=/dev/mmcblk0p2 rw rootwait; ** {{ref zm-adc-dac.dts}} * Eclypse Platform MCU Specification - https://digilent.s3-us-west-2.amazonaws.com/resources/programmable-logic/eclypse/Eclypse-PMCU-Specification-Public.pdf ** sudo decutil getinfo とかすると情報がとれる *** man decutil https://reference.digilentinc.com/_media/reference/programmable-logic/eclypse-z7/decutil.1.pdf * デモプログラムは,DACでのこぎり波出力,ADCでデータ取得して標準出力/ファイル(buffer_data.csv)に出力 * PetaLinuxにZmodサンプル追加するガイド https://reference.digilentinc.com/reference/programmable-logic/eclypse-z7/customizing-zmods-os