- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!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