Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Nächste SlideShare
What to Upload to SlideShare
Weiter
Herunterladen, um offline zu lesen und im Vollbildmodus anzuzeigen.

0

Teilen

Herunterladen, um offline zu lesen

Pynquino技術資料

Herunterladen, um offline zu lesen

Pynquino+Zsprinterの設定に関する資料です

Ähnliche Bücher

Kostenlos mit einer 30-tägigen Testversion von Scribd

Alle anzeigen

Ähnliche Hörbücher

Kostenlos mit einer 30-tägigen Testversion von Scribd

Alle anzeigen
  • Gehören Sie zu den Ersten, denen das gefällt!

Pynquino技術資料

  1. 1. Pynquino • 1. Pynquino HW • 2. Pynquino BSP • 3. Pynquino Zsprinter • 4. PYNQ Z1 • 4.1 Linux • 4.2 Xilinx SDK • 5. Pynquino Blockly • 6. TeraTerm Last updated. Apr 2, 2019
  2. 2. • 1. SD • Windows Vivado/Xilinx SDK • Linux • 2. QSPI • • Xilinx SDK QSPI Flash Linux • 3. JTAG • • Vivado/Xilinx SDK
  3. 3. Pynquino-Zsprinter HW on Vivado Chapter 1
  4. 4. on Ubuntu • SDx2018.2 • SDx Vivado, Vivado HLS, Xilinx SDK • • Vivado HLx edition Update2018.2.1 2018.2.2
  5. 5. Vivado HW • $ git clone https://github.com/Xilinx/PYNQ.git • $ cd PYNQ/boards/Pynq-Z1/base • $ rm base.tcl vivado/constraints/base.xdc • $ wget https://raw.githubusercontent.com/shohei/Zsprinter- pynquino/master/vivado/base.xdc • $ wget https://raw.githubusercontent.com/shohei/Zsprinter- pynquino/master/vivado/base.tcl • $ mv base.xdc vivado/constraints/ • $ make • 1
  6. 6. PYNQ base system • $ git clone https://github.com/Xilinx/PYNQ.git • $ cd PYNQ/boards/Pynq-Z1/base • $ make • 1 • $ cd .. • cp base base-copy • cd base-copy • base-copy ※
  7. 7. Vivado HW • $ cd PYNQ/boards/Pynq-Z1/base-copy • $ vivado & • Open Block Design ※
  8. 8. Vivado HW • Vivado • 1. BRAM 64K 256K • 2. Arduino GPIO ADC • 3. PC uartlite • 4. uartlite Baudrate 9600->115200 ※
  9. 9. 1. BRAM • Address Editor 3 256K • ps7_0/Data/iop_arduino/mb_bram_ctrl • iop_arduino/mb/Data/iop_arduino/lmb/lmb_bram_if_cntlr • iop_arduino/mb/Instruction/iop_arduino/lmb/ lmb_bram_if_cntlr • Auto Assign Address ※
  10. 10. 2. Arduino GPIO(A5) • Zsprinter A5 • CK_A5(GPIO) CK_AN5_P/CK_AN5_N ? • • CK_A5 CK_A4 • ※CK_A4 • [ ] • Open Elaborated Design>I/O Ports A5[19],A4[18] T9,U9 ※
  11. 11. 3. Uartlite (1/10) Block designer AXI Uartlite ※
  12. 12. 3. Uartlite (2/10) Re-customize IP baud rate 38400 Musashi 9600/19200/38400 WHILL Type-CR 38400 ※
  13. 13. 3. Uartlite (3/10) uartlite UART Make External UART_0 ※
  14. 14. 3. Uartlite (4/10) intr_concat IP re-customize 6 7 uartelite interrupt intr_concat ※
  15. 15. 3. Uartlite (5/10) uartlite IP s_axi_aclk s_axi_aresetn uartelite ※
  16. 16. 3. Uartlite (6/10) 1. AXI interconnect 17 18 2. Master interface Enable Register Slice Outer ※
  17. 17. 3. Uartlite (7/10) 1. uartlite S_AXI M17_AXI 2. AXI interconnect M17_ACLK M08_ACLK 3. AXI interconnect M17_ARESETN M08_ARESETN A08 interconnect uartlite ※
  18. 18. 3. Uartlite (8/10) iop_arduino/gpio_subsystem/CK_gpio GPIO 16 14 Chipkit RX,TX ※
  19. 19. 3. Uartlite (9/10) base_wrapper.v85c85,87 < sws_2bits_tri_i); --- > sws_2bits_tri_i, > UART_0_rxd, > UART_0_txd); 158a161,162 > input UART_0_rxd; > output UART_0_txd; 312,313d315 < wire [14:14]ck_gpio_tri_i_14; < wire [15:15]ck_gpio_tri_i_15; 328,329d329 < wire [14:14]ck_gpio_tri_io_14; < wire [15:15]ck_gpio_tri_io_15; 344,345d343 < wire [14:14]ck_gpio_tri_o_14; < wire [15:15]ck_gpio_tri_o_15; 360,361d357 < wire [14:14]ck_gpio_tri_t_14; < wire [15:15]ck_gpio_tri_t_15; 662,664c658,660 < .ck_gpio_tri_i({ck_gpio_tri_i_15,ck_gpio_tri_i_14,… < .ck_gpio_tri_o({ck_gpio_tri_o_15,ck_gpio_tri_o_14,… < .ck_gpio_tri_t({ck_gpio_tri_t_15,ck_gpio_tri_t_14,… --- > .ck_gpio_tri_i({ck_gpio_tri_i_13,ck_gpio_tri_i_12,… > .ck_gpio_tri_o({ck_gpio_tri_o_13,ck_gpio_tri_o_12,… > .ck_gpio_tri_t({ck_gpio_tri_t_13,ck_gpio_tri_t_12,… 730,739d725 < IOBUF ck_gpio_tri_iobuf_14 < (.I(ck_gpio_tri_o_14), < .IO(ck_gpio_tri_io[14]), < .O(ck_gpio_tri_i_14), < .T(ck_gpio_tri_t_14)); < IOBUF ck_gpio_tri_iobuf_15 < (.I(ck_gpio_tri_o_15), < .IO(ck_gpio_tri_io[15]), < .O(ck_gpio_tri_i_15), < .T(ck_gpio_tri_t_15)); ※
  20. 20. 3. Uartlite (10/10) Open Elaborated Design>I/O Ports RX,TX (W9, Y9) ※
  21. 21. 4. uartlite baudrate 9600->115200 ※
  22. 22. 5. AXI Timer ( PWM) 1. AXI Timer 2. intr_concat 7 8 3. AXI Timer clk, reset 4. AXI Timer S_AXI microblaze_0_axi_periph 18 19 ※
  23. 23. Pynquino BSP Chapter 2
  24. 24. Pynquino BSP • 1. Pre-process • 2. Build • 3. Install • 4. Post-process https://github.com/shohei/pynquino-bsp-library
  25. 25. • mailbox_bram 1. Pre-process (1/5) pynq/boards/sw_repo/mailbox_bram/src/mailbox_io.c
  26. 26. 1. Pre-process (2/5) pynq/boards/sw_repo/pynqmb/src/circular_buffer.h • pynqmb
  27. 27. 1. Pre-process (3/5) • makefile pynq/boards/sw_repo/makefile base_copy X
  28. 28. 1. Pre-process (4/5) • uart pynq/boards/sw_repo/pynqmb/src/uart.c pynq/boards/sw_repo/pynqmb/src/uart.h
  29. 29. 1. Pre-process (5/5) • tcl. PYNQ/boards/sw_repo/build_xsdk.tcl
  30. 30. 2. Build • pynquino-bsp-library sw_repo • $ cd pynq/boards/sw_repo • $ git clone https://github.com/shohei/pynquino- bsp-library • $ make
  31. 31. 3. Post-process (1/3) pynq/boards/sw_repo/bsp_iop_arduino_mb/lscript.ld •
  32. 32. 3. Post-process (2/3) pynq/boards/sw_repo/bsp_iop_arduino_mb/.project • BSP
  33. 33. 3. Post-process (3/3) pynq/lib/arduino/bsp_iop_arduino/.sdkproject •
  34. 34. 3. Install • Copy bsp_iop_arduino_mb and rename to bsp_iop_arduino (remove _mb) • $ cp -r bsp_iop_arduino_mb ../../pynq/lib/arduino/ bsp_iop_arduino
  35. 35. Zsprinter-Pynquino (PYNQ Linux ) Chapter 3
  36. 36. PYNQ v2.3 image http://www.pynq.io/board.html
  37. 37. • 1. Zsprinter • arduino_zsprinter.bin • 2. Jupyter notebook Pynquino example.ipynb • arduino_zsprinter.bin
  38. 38. • $ git clone https://github.com/shohei/pynquino- install • $ cd pynquino-install • $ ./install.sh • xilinx
  39. 39. metakernel • git clone https://github.com/shohei/metakernel.git • cd metakernel • sudo python3.6 setup.py install • cp -r examples ~/jupyter_notebooks/ metakernel_examples ※
  40. 40. ntp • (sudo apt-get install ntp) • sudo service ntp start • git pip SSH ※
  41. 41. computer vision overlay • sudo -H pip3.6 install --upgrade git+https:// github.com/Xilinx/PYNQ-ComputerVision.git ※
  42. 42. Zsprinter( ) • cd ~/pynq/lib/arduino • git clone https://github.com/shohei/zsprinter- pynquino.git • cd zsprinter-pynquino • cp arduino_zsprinter.py python/constants.py .. • cd arduino_zsprinter/Debug • make mrproper && make • cp arduino_zsprinter.bin ../../../ ※
  43. 43. • ~/pynq/lib/__init__.py • from .arduino import Arduino_Zsprinter • ~/pynq/lib/arduino/__init__.py • from .arduino_zsprinter import Arduino_Zsprinter • ※
  44. 44. bitstream • cd ~/pynq/lib/arduino • cp zsprinter-pynquino/overlay/pynquino.* ~/pynq/ overlays/base/ • PYNQ PL ※
  45. 45. • cd ~/pynq/lib/arduino/zsprinter-pynquino/ arduino_zsprinter/src • nano • $ nano arduino_zsprinter.cpp • cd ../Debug • make update • Jupyter
  46. 46. PYNQ-Z1 (Linux ) Chapter 4.1
  47. 47. SD AC REG USB USB SD USB USB LAN
  48. 48. pynq IP 192.168.0.103 PYNQ Linux IP
  49. 49. xilinx Web IP Chrome
  50. 50. metakernel_examples
  51. 51. Pynquino_example.ipynb
  52. 52. “Run” Shift+Enter
  53. 53. ※ jigsaw Python --workspace
  54. 54. Run Run FPGA PYNQ
  55. 55. ※ TeraTerm • Python3.6 • sudo python3.6 • : xilinx • • from pynq.overlays.base import BaseOverlay • base = BaseOverlay(“/home/xilinx/pynq/overlays/ base/pynquino.bit”) • from pynq.lib.arduino import Arduino_Zsprinter • arduino = Arduino_Zsprinter(base.ARDUINO)
  56. 56. baudrate 115200 Connect
  57. 57. Tips • LAN • Micro USB USB PC
  58. 58. PYNQ-Z1 (Xilinx SDK ) Chapter 4.2
  59. 59. SD AC REG USB USB SD USB USB LAN
  60. 60. Zsprinter • cd PYNQ/boards/Pynq-Z1/base-copy/base/ base.sdk • git clone https://github.com/shohei/zsprinter- pynquino.git • cp -r zsprinter-pynquino/arduino_zsprinter . • ※Zsprinter • cp -r ../../../../sw_repo/bsp_iop_arduino_mb bsp_iop_arduino • ※BSP
  61. 61. Vivado Xilinx SDK BSP Zsprinter
  62. 62. Vivado Xilinx SDK BSP Zsprinter
  63. 63. Vivado Xilinx SDK BSP Zsprinter
  64. 64. BSP 1/2
  65. 65. BSP 2/2
  66. 66. system.mss • Application project test test_bsp/system.mss bsp_iop_arduino/ • test, test_bsp • Xilinx SDK system.mss
  67. 67. Pynquino Blockly Chapter 5
  68. 68. Blockly • • • • Blockly •
  69. 69. TeraTerm Chapter 6
  70. 70. Teraterm • SSH • 1. Linux • • 2. Linux micro USB • 3. Zsprinter microUSB • ➢ Simplify3D Teraterm
  71. 71. 1. SSH Linux 0/3 IP
  72. 72. 1. SSH Linux 1/3
  73. 73. 1. SSH Linux 2/3
  74. 74. 1. SSH Linux 3/3
  75. 75. 2. Linux 0/3 USB micro PROG UART
  76. 76. 2. Linux 1/4
  77. 77. 2. Linux 2/4
  78. 78. 2. Linux 3/4
  79. 79. 2. Linux 4/4

Pynquino+Zsprinterの設定に関する資料です

Aufrufe

Aufrufe insgesamt

114

Auf Slideshare

0

Aus Einbettungen

0

Anzahl der Einbettungen

7

Befehle

Downloads

2

Geteilt

0

Kommentare

0

Likes

0

×