Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ внСшний Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒ для всСх iOS-устройств, совмСстим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 Π΄ΠΎ 24:00 ΠΏΠ½-ΠΏΡ‚ | c 10:00 Π΄ΠΎ 18:00 сб
0 Comments

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Tigard β€” это ΠΏΠ»Π°Ρ‚Π° FT2232H с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ для Π²Π·Π»ΠΎΠΌΠ° оборудования (ΠΊΡ€Π°ΡƒΠ΄Ρ„Π°Π½Π΄ΠΈΠ½Π³)


БущСствуСт мноТСство Π΄Π΅ΡˆΠ΅Π²Ρ‹Ρ… ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚ USB Π½Π° TTL 5 Π’ ΠΈΠ»ΠΈ 3,3 Π’, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для доступа ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ консоли ΠΈ/ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ ΠΏΠ»Π°Ρ‚Π°ΠΌ, Π½ΠΎ аппаратная ΠΏΠ»Π°Ρ‚Π° с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ Tigard Π½Π° Π±Π°Π·Π΅ FTDI FT2232H Π΄Π΅Π»Π°Π΅Ρ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ нСсколько ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ², нСсколько напряТСний для Π²Π·Π»ΠΎΠΌ оборудования ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ°.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Tigard ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² качСствС прямой Π·Π°ΠΌΠ΅Π½Ρ‹ для дСсятков Π΄Ρ€ΡƒΠ³ΠΈΡ… Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… инструмСнтов Π½Π° Π±Π°Π·Π΅ Ρ‡ΠΈΠΏΠΎΠ² FTDI ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ OpenOCD, FlashROM ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

ВСхничСскиС характСристики ΠΏΠ»Π°Ρ‚Ρ‹ Tigard:

  • Основной Ρ‡ΠΈΠΏ β€” FTDI FT2232HQ, Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ высокоскоростной USB-ΠΏΠΎΡ€Ρ‚ для ΠΌΠ½ΠΎΠ³ΠΎΡ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ UART/FIFO IC
    • Основной ΠΏΠΎΡ€Ρ‚, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для UART, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ доступ ΠΊΠΎ всСм сигналам управлСния ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ
    • Π’Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚ совмСстно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Ρ€Π°Π·ΡŠΠ΅ΠΌΠ°ΠΌΠΈ для SWD, JTAG, SPI ΠΈ IΒ²C
  • USB – ΠΏΠΎΡ€Ρ‚ USB 2.0 Type-C (480 ΠœΠ±ΠΈΡ‚/с)
  • Π’Π²ΠΎΠ΄Ρ‹/Π²Ρ‹Π²ΠΎΠ΄Ρ‹
    • 9-ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½Ρ‹ΠΉ Ρ€Π°Π·ΡŠΠ΅ΠΌ UART
    • РазъСм Qwiic I2C
    • 8-ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½Ρ‹ΠΉ Ρ€Π°Π·ΡŠΠ΅ΠΌ SPI ΠΈ I2C
    • 8-ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½Ρ‹ΠΉ Ρ€Π°Π·ΡŠΠ΅ΠΌ JTAG
    • 10-ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½Ρ‹ΠΉ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹ΠΉ Ρ€Π°Π·ΡŠΠ΅ΠΌ Cortex
    • 14-ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½Ρ‹ΠΉ Ρ€Π°Π·ΡŠΠ΅ΠΌ логичСского Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° (LA) для наблюдСния Π·Π° сигналами Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ устройства
    • НаправлСнныС ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΠΈ уровня для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΡ‚ 1,8 Π΄ΠΎ 5,5 Π’
  • Π Π°Π·Π½ΠΎΠ΅
    • ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ встроСнными источниками питания vTarget 1,8 Π’, 3,3 Π’, 5,0 Π’ ΠΈ внСшними
    • ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ, для Π²Ρ‹Π±ΠΎΡ€Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅ΠΆΠΈΠΌΠ°ΠΌΠΈ SPI/JTAG ΠΈ IΒ²C/SWD.
    • Π‘Π²Π΅Ρ‚ΠΎΠ²Ρ‹Π΅ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ для облСгчСния ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ

НСт Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ нСобходимости Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… инструмСнтах для Tigard, ΠΈ ΠΏΠ»Π°Ρ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ со стандартными инструмСнтами ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡ€Ρ‚Π° USB, OpenOCD ΠΈ UrJTAG для JTAG, Flashrom, PyFtdi/PySpiFlash, LibMPSSE ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ инструмСнты для интСрфСйса SPI, Π° Ρ‚Π°ΠΊΠΆΠ΅ LibMPSSE ΠΈ PyFtdi / PyI2CFlash для интСрфСйсов I2C.

ΠŸΠ»Π°Ρ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒΡΡ со всСми Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ кабСлями (SPI, JTAG, Cortex, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ) с Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°ΠΌΠΈ. Π’Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π΄Π²Π° Π½Π°Π±ΠΎΡ€Π°, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΏΠ»Π°Ρ‚Ρƒ логичСского Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° Bitmagic для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ SigrokΒ /Β PulseView, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” Β«Applied Physical Attacks Online KitΒ», Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Π·Π°ΠΆΠΈΠΌΡ‹ ΠΈ Ρ€Π°Π·ΡŠΠ΅ΠΌΡ‹, простой ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Ρ‚Ρ€, сумочка-ΠΎΡ€Π³Π°Π½Π°ΠΉΠ·Π΅Ρ€, USB-микроскоп ΠΈ цСлСвая систСма (Π½Π΅Π½Π°Π·Π²Π°Π½Π½Ρ‹ΠΉ Wi-Fi-ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€ Π½Π° Π±Π°Π·Π΅ Linux).

На Github. Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Ρ„Π°ΠΉΠ»Ρ‹ проСктирования оборудования KiCAD ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ. Tigard ΡƒΠΆΠ΅ собрал Π±ΠΎΠ»Π΅Π΅ 20 000 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² Π½Π° Crowd Supply с Π²ΠΎΠ·Π½Π°Π³Ρ€Π°ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ ΠΎΡ‚ 39 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² Π·Π° ΠΏΠ»Π°Ρ‚Ρƒ ΠΈ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° ΠΈ Π΄ΠΎ 1337 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² Π·Π° ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅. Доставка Π² БША бСсплатна, Π° Π² ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ страны β€” ΠΎΡ‚ 10 Π΄ΠΎ 20 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ². ΠŸΠΎΡΡ‚Π°Π²ΠΊΠΈ планируСтся Π½Π°Ρ‡Π°Ρ‚ΡŒ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π΅ фСвраля 2021 Π³ΠΎΠ΄Π°.

Π’Ρ‹Ρ€Π°ΠΆΠ°Π΅ΠΌ свою Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π½ΠΎΡΡ‚ΡŒ источнику ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ взята ΠΈ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Π° ΡΡ‚Π°Ρ‚ΡŒΡ, сайту cnx-software.com.

ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π» ΡΡ‚Π°Ρ‚ΡŒΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΒ Π·Π΄Π΅ΡΡŒ.

Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ с openocd с использованиСм Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π° ft2232h для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ swd

Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ с OPENOCD с использованиСм Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π° FT2232H для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ SWD

Π£Π·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ Π»Π΅Π³ΠΊΠΎ ΠΌΠΈΠ³Π°Ρ‚ΡŒ ваш MCU Π½Π° основС ARM, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ OpenOCD с Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠΌ FT2232H.

Π‘Ρ‚Π°Ρ€Ρ‹Π΅ MCU ΠΎΡ‚ Ρ‚Π°ΠΊΠΈΡ… поставщиков, ΠΊΠ°ΠΊ ATMEL ΠΈ MICROCHIP, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ PIC16F ΠΈ сСмСйства Atmega, ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ интСрфСйс для программирования Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ Π²ΡΠΏΡ‹ΡˆΠΊΠΈ. НапримСр, Atmega использовала ΡˆΡ‚Ρ‹Ρ€ΡŒΠΊΠΈ SPI (MISO, MOSI, SCK) ΠΈ PIC использовали Π΄Π²Π° Π²Ρ‹Π²ΠΎΠ΄Π° (PGC, PGD) – ΠΎΠ΄ΠΈΠ½ ΠΊΠ°ΠΊ часы, Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠ°ΠΊ Π΄Π²ΡƒΠ½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΡƒΡŽ линию Π΄Π°Π½Π½Ρ‹Ρ….

НовыС MCU, особСнно с ядром ARM, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ JTAG / SWD Π² качСствС интСрфСйса программирования / ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Joint Test Action Group (JTAG) ΠΈ Serug Wire Debug (SWD) Β«text-align: center;Β»>

Π‘ΠΈΠ³Π½Π°Π»Ρ‹ интСрфСйса SWD

ΠžΠ±Π·ΠΎΡ€ OpenOCD

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ On-Chip Debugger (OpenOCD) – это бСсплатный ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, Ρ†Π΅Π»ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ являСтся прСдоставлСниС ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, внутрисистСмного программирования ΠΈ ΠΏΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π½ΠΎΠ³ΠΎ сканирования с использованиСм Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π° ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. АдаптСр – это Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обСспСчиваСт ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ сигналы для понимания Ρ†Π΅Π»ΠΈ.

ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ OpenOCD ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ мноТСство Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠ² ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Π²Π΅Π±-сайтС OpenOCD.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ OpenOCD, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΅Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Когда конфигурация Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π° ΠΈ установлСно соСдинСниС с Ρ†Π΅Π»ΡŒΡŽ, OpenOCD Π½Π°Ρ‡Π½Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π΄Π΅ΠΌΠΎΠ½. Daemon – это Ρ„ΠΎΠ½ΠΎΠ²Ρ‹ΠΉ процСсс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π½Π° запросы слуТб. OpenOCD Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΎΡ‚ GDB, Telnet ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠ°Π½Π°Π»ΠΎΠ² ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄.

Π‘Π»ΠΎΠΊ-схСма OpenOCD

ΠžΠ±Π·ΠΎΡ€ FT2232H

FT2232H – это Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ высокоскоростной USB-ΠΏΠΎΡ€Ρ‚ для ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΉ UART / FIFO IC. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ это ΠΎΠ΄Π½ΠΎΡ‡ΠΈΠΏΠΎΠ²Ρ‹ΠΉ USB с двумя ΠΏΠΎΡ€Ρ‚Π°ΠΌΠΈ.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚ оснащСн Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»Π΅ΠΌ, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌ Multi-Protocol Synchronous Serial Engine (MPSSE), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ синхронный ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» (ΠΎΡ‚ USB Π΄ΠΎ JTAG, I2C, SPI ΠΈΠ»ΠΈ Π±ΠΈΡ‚-Π±ΠΈΡ‚). Π­Ρ‚ΠΎ позволяСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°Π½Π°Π» с Π½ΡƒΠΆΠ½Ρ‹ΠΌ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠΌ. MPSSE доступны Π½Π° ΠΊΠ°Π½Π°Π»Π΅ A ΠΈ ΠΊΠ°Π½Π°Π»Π΅ B ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ настроСны для Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ любого синхронного ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°.

Π‘ΡƒΠ΄ΡŒΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ OpenOCD

Π’Ρ‹Π±ΠΎΡ€ OpenOCD Π² качСствС инструмСнта для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π°, Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ FT2232H, являСтся ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ, Ссли Ρƒ вас Π½Π΅Ρ‚ большого Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π° для Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Помимо бСсплатного ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ исходного ΠΊΠΎΠ΄Π°, OpenOCD Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ сообщСство ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ. НО, ΠΊΠ°ΠΊ ΠΈ Π² любом Π΄Ρ€ΡƒΠ³ΠΎΠΌ инструмСнтС с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ с ошибками, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΌ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ.

МнС ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ OpenOCD Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΌΠΎΠΉ MCU, ΠΈ я надСюсь, Ρ‡Ρ‚ΠΎ этот ΡƒΡ‡Π΅Π±Π½ΠΈΠΊ станСт Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΈ ΠΏΠΎΠ»Π½ΠΎΠΉ ссылкой.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, я ΡΠΎΠ²Π΅Ρ‚ΡƒΡŽ Π»ΡŽΠ±ΠΎΠΌΡƒ, ΠΊΡ‚ΠΎ ΠΈΡ‰Π΅Ρ‚ инструмСнты для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ с ΡƒΠΌΠΎΠΌ. НапримСр, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ простой инструмСнт, я Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ OpenOCD, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π΅ Π»ΡƒΡ‡ΡˆΠΈΠΉ Π²Ρ‹Π±ΠΎΡ€ для вас!

Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌΠΈ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ инструмСнтами ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

  • Segger J-Link
  • ULINK
  • ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, встроСнныС Π² ΠΎΡ†Π΅Π½ΠΎΡ‡Π½Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, STM32, EFM32 ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ сСмСйства MCU) поставщиками крСмния

Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Ссли Ρƒ вас Π½Π΅Ρ‚ большого Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π°, Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ тСрпСния, OpenOCD с FT2232H Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ для вас.

ВрСбования

Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ для Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ этого ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ°:

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΏΡŒΠ΅ΡΡƒ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π΅ΡˆΠ΅Π²Ρ‹ΠΉ ΠΎΡ‚ китайских поставщиков, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Taobao, Alibaba ΠΈ AliExpress. Π― Π·Π°ΠΊΠ°Π·Π°Π» Ρƒ мСня ΠΈΠ· Taobao ΠΎΠΊΠΎΠ»ΠΎ 14 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ².

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ FTDI, ΠΌΠΈΠ½ΠΈ-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ FT2232H.

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ FT2232H
  • ОБ Windows ΠΈΠ»ΠΈ Linux с Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠ΅ΠΉ OpenOCD:

Windows: Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ OpenOCD ΠΈΠ· Π½Π΅ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².

Linux: Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΈΠ· ΠΏΡƒΠ»Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² вашСго дистрибутива Linux, Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ debian package.

Или Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΈΠ· исходного ΠΊΠΎΠ΄Π°, Ρ‚Ρ€ΡƒΠ΄Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ! Π­Ρ‚ΠΎ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я Π²Ρ‹Π±Ρ€Π°Π», Π»ΠΈΡ‡Π½ΠΎ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ руководства ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‚ Dangerous Prototypes (для Windows) ΠΈΠ»ΠΈ eLinux (для Linux). Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ инструкции ΠΏΠΎ компиляции ΠΈΠ· исходного ΠΊΠΎΠ΄Π° OpenOCD (README.Windows ΠΈ README).

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. НСкотороС врСмя Π½Π°Π·Π°Π΄ ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² OpenOCD Ρ€Π΅ΡˆΠΈΠ»Π° большС Π½Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ². Они ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ исходный ΠΊΠΎΠ΄, оТидая, Ρ‡Ρ‚ΠΎ поставщик оборудования JTAG создаст Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π²Π°ΠΌΠΈ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ вашС ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ JTAG.

  • ЦСлСвая микросхСма:

Π― Π²Ρ‹Π±Ρ€Π°Π» ΠΌΠΎΠΉ ΠΏΡ€ΠΎΡ€Ρ‹Π² с EFM32G200F32, ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ ARM Cortex-M3 (MCU), Π½ΠΎ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ MCU Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

Моя доска объявлСний EFM32G200F32
Развязка EFM32G200F32

Как ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ OpenOCD

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ OpenOCD, Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ (.cfg), поставляСмый Π² OpenOCD. Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΠΌΠΈ для Jim-Tcl. Jim-Tcl – это язык программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обСспСчиваСт простой ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€.

Π€Π°ΠΉΠ» ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° OpenOCD ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠ°ΠΏΠΊΡƒ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ «скрипты». Π’ этой ΠΏΠ°ΠΏΠΊΠ΅ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΏΠ°ΠΏΠΊΠΈ Β«interfaceΒ», Β«boardΒ» ΠΈ Β«targetΒ».

И это Π² Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ стСпСни СдинствСнныС ΠΏΠ°ΠΏΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹.

  • Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ: Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ для Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Β«minimodule.cfgΒ».
  • Π‘ΠΎΠ²Π΅Ρ‚: Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ для ΠΎΠ±Ρ‰ΠΈΡ… ΠΏΠ»Π°Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Β«atmel_sam4s_xplained_pro.cfgΒ» – Β«olimex_stm32_h207.cfgΒ» – Β«stm32f4discovery.cfgΒ» ΠΈ Ρ‚. Π”. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ эти Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈΠ· интСрфСйса ΠΈ Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ.
  • ЦСль: Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ для микросхСм MCU.

Однако Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свои собствСнныС Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ собираСмся ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π² этом ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ΅.

Когда ΠΌΡ‹ запускаСм OpenOCD, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΅ΠΌΡƒ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, сколько Ρ…ΠΎΡ‚ΠΈΠΌ:

openocd -f config1.cfg -f config2.cfg -f config3.cfg

ПониманиС основ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π°

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ OpenOCD Ρ‚ΠΈΠΏ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π°, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ интСрфСйса .

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ список интСрфСйсов, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… вашСй вСрсиСй OpenOCD, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

> openocd -c interface_list

Π’ нашСм ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ с Ρ‡ΠΈΠΏΠΎΠΌ FT2232H, поэтому ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ интСрфСйса FTDI:

интСрфСйс ftdi

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ OpenOCD Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π΅ (интСрфСйсС). НапримСр, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ VID / PID, сСрийный Π½ΠΎΠΌΠ΅Ρ€ ΠΈΠ»ΠΈ Π½ΠΎΠΌΠ΅Ρ€ ΠΊΠ°Π½Π°Π»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для FT2232H, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° ΠΊΠ°Π½Π°Π»Π°.

ftdi_vid_pid 0x0403 0x6010

ftdi_channel 1

ftdi_serial “FTZ7O8O0”

АдаптСр ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ транспортного ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°, поэтому OpenOCD позволяСт Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ транспортный ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»:

транспорт Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ swd

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ OpenOCD исходныС значСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ рСгистров направлСния FTDI GPIO Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ftdi_layout_init . Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ сначала ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ значСния 16 ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² ΠΊΠ°Π½Π°Π»Π°, Π° Π·Π°Ρ‚Π΅ΠΌ направлСния. Зная, Ρ‡Ρ‚ΠΎ Β«1Β» ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для Π²Ρ‹Π±ΠΎΡ€Π° направлСния Π² качСствС Π²Ρ‹Ρ…ΠΎΠ΄Π°, Π° Β«0Β» – для Π²Π²ΠΎΠ΄Π°, Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ°Π½Π°Π» Π² ft2232H ΠΈΠΌΠ΅Π΅Ρ‚ 16 ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ².

ftdi_layout_init 0x0018 0x05fb

Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚:

НизкиС Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ = 0x18 // 0001 1000

НизкоС Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ = 0xfb // 1111 1011

ВысокоС Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ = 0x05 // 0000 0101

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π°, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ руководству OpenOCD.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ†Π΅Π»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π°

БущСствуСт Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ swd-resistor-hack.cfg, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит схСму ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ:

ΠŸΡ€ΠΎΠ²ΠΎΠ΄ΠΊΠ° FT2232H с Ρ†Π΅Π»Π΅Π²Ρ‹ΠΌ

Π€Π°ΠΉΠ» содСрТит ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:

Β«ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ TDI ΠΊ SWDIO Ρ‡Π΅Ρ€Π΅Π· подходящий ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ рСзистор (220-470 Ом ΠΈΠ»ΠΈ ΠΎΠΊΠΎΠ»ΠΎ Ρ‚ΠΎΠ³ΠΎ Π² зависимости ΠΎΡ‚ возмоТностСй ΠΏΡ€ΠΈΠ²ΠΎΠ΄Π° для Ρ†Π΅Π»ΠΈ ΠΈ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π°) ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ TDO Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΊ SWDIOΒ».

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π±Π΅Π· ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ этого рСзистора соСдинСниС Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ установлСно.

Π Π°Π·Π±ΠΈΠ²ΠΊΠ° FT2232H

ВсС вмСстС

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ соСдинСниС ΠΌΠ΅ΠΆΠ΄Ρƒ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠΌ ΠΈ мишСнью с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ OpenOCD.

Π§Π°ΡΡ‚ΡŒ 1: созданиС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½Ρ‹Ρ… соСдинСний

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ FT2232H с Ρ†Π΅Π»ΡŒΡŽ

Π§Π°ΡΡ‚ΡŒ 2: ЗапуститС OpenOCD

Π‘Π½Π°Ρ‡Π°Π»Π° сдСлайтС ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ для нашСго Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π°. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ txt-Ρ„Π°ΠΉΠ» (ANYNAME.cfg). НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ VID / PID ΠΈ сСрийный Π½ΠΎΠΌΠ΅Ρ€ Π² соотвСтствии с вашим Ρ‡ΠΈΠΏΠΎΠΌ:

 #This configuration file is created for a tutorial: #”Getting Started with OPENOCD Using FT2232H Adapter for SWD Debugging” #Written by:Yahya Tawil - yahya.tawil_at_gmail.com #Pulished on: //www.allaboutcircuits.com #Version of OpenOCD:0.9.0 interface ftdi transport select swd ftdi_vid_pid 0x0403 0x6010 #ftdi_device_desc "USB Serial Converter A" #ftdi_device_desc "FT2232H 开发板" ftdi_serial "FTZ7O8O0" #adapter_khz 8 ftdi_layout_init 0x0018 0x05fb ftdi_layout_signal SWD_EN -data 0 ftdi_layout_signal nSRST -data 0x0010 

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ сигнала SWD_EN Π²Π°ΠΆΠ½ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с OpenOCD, Π΄Π°ΠΆΠ΅ Ссли ΠΌΡ‹ физичСски Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π΅Π³ΠΎ. Если ΠΌΡ‹ этого Π½Π΅ сдСлаСм, появится ошибка:

Ошибка: Ρ€Π΅ΠΆΠΈΠΌ SWD Π°ΠΊΡ‚ΠΈΠ²Π΅Π½, Π½ΠΎ сигнал SWD_EN Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½

Окна:

ПослС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΊΠΎΠΏΠΈΠΈ OpenOCD, ΠΊΠ°ΠΊ описано Π²Ρ‹ΡˆΠ΅, запуститС консоль CMD, Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ присутствуСт OpenOCD. НапримСр:

cd Desktop \ openocd-0.9.0 \ bin

ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅: Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ (я Π½Π°Π·Π²Π°Π» Π΅Π³ΠΎ SWD_FT.cfg), ΠΈ Ρ†Π΅Π»ΡŒ являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Ρ‡ΠΈΠΏΠΎΠ² EFM32.

Π—Π°Ρ‚Π΅ΠΌ Π² CMD Π²Π²Π΅Π΄ΠΈΡ‚Π΅:

openocd -f interface / ftdi / SWD_FT.cfg -f target / efm32.cfg

Linux:

Π’ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ Π²Π²Π΅Π΄ΠΈΡ‚Π΅:

Sudo openocd -f interface / ftdi / SWD_FT.cfg -f target / efm32.cfg

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅:

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ: Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ FTDI SWD

ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π°: 1000 ΠΊΠ“Ρ†

cortex_m reset_config sysresetreq

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ: тактовая частота 1000 ΠΊΠ“Ρ†

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ: SWD IDCODE 0x2ba01477

Info: efm32.cpu: Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ΅ обСспСчСниС ΠΈΠΌΠ΅Π΅Ρ‚ 6 Ρ‚ΠΎΡ‡Π΅ΠΊ останова, 4 Ρ‚ΠΎΡ‡ΠΊΠΈ наблюдСния

Если Ρƒ вас Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с Ρ€Π°Π·Π΄Π΅Π»ΠΎΠΌ устранСния Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ – это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ плохая ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΊΠ° ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠΌ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Windows.

Π§Π°ΡΡ‚ΡŒ 4: ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ соСдинСниС Telnet

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ CMD ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅:

telnet localhost 4444

Π§Π°ΡΡ‚ΡŒ 5: ΠžΠ±Ρ‰Π΅Π½ΠΈΠ΅ с Ρ†Π΅Π»ΡŒΡŽ

НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ свою Ρ†Π΅Π»ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ Π»ΡŽΠ±Ρ‹ΠΌΠΈ опСрациями ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ:

> сброс остановки

Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅:

Ρ†Π΅Π»Π΅Π²ΠΎΠ΅ состояниС: остановлСно

Ρ†Π΅Π»ΡŒ остановлСна ​​из-Π·Π° ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠ³ΠΎ запроса, Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ: ΠΏΠΎΡ‚ΠΎΠΊ

xPSR: 0x01000000 ΡˆΡ‚.: 0x00000bbc msp: 0x20002000

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ рСгистры ΠΈΠ· нашСго Ρ‡ΠΈΠΏΠ°, Π²Π²Π΅Π΄ΠΈΡ‚Π΅:

> Ρ€

ΠžΡ‚Π²Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ reg

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡˆΠΈΠ²Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ Π²ΡΠΏΡ‹ΡˆΠΊΡƒ, Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ Ρ„Π»ΡΡˆ-Π±Π°Π½ΠΊΠΈ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Π±Π°Π½ΠΊ, ΠΊΠ°ΠΊ наша Π½Ρ‹Π½Π΅ΡˆΠ½ΡΡ Ρ†Π΅Π»ΡŒ, Β«efm32.cfgΒ» для нас. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

> ЀлСш-информация 0

Или

> flash список

> Ρ„Π»Π΅Ρˆ-Π±Π°Π½ΠΊΠΈ

Он Π²Π΅Ρ€Π½Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

# 0: efm32.flash (efm32) ΠΏΡ€ΠΈ 0x00000000, Ρ€Π°Π·ΠΌΠ΅Ρ€ 0x00008000, ΡˆΠΈΡ€ΠΈΠ½Π° ΡˆΠΈΠ½Ρ‹ 0, ΡˆΠΈΡ€ΠΈΠ½Π° ΡˆΠΈΠ½Ρ‹ 0

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ flash write_image .

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ bin (Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅), ihex (Intel hex), elf (Ρ„Π°ΠΉΠ»Ρ‹ ELF), s19 (Motorola s19), mem ΠΈΠ»ΠΈ builder.

> flash write_image erase “Desktop / FirstApp.hex”

Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅:

автоматичСскоС стираниС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ

написал 1536 Π±Π°ΠΉΡ‚ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° Desktop / FirstApp.hex Π² 0.124740s (12.025 KiB / s)

Π’Π΅ΠΏΠ΅Ρ€ΡŒ сдСлайтС свою Ρ†Π΅Π»ΡŒ снова Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

> ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°

Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· Telnet-ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, просто Π²Π²Π΅Π΄ΠΈΡ‚Π΅:

> Π²Ρ‹Ρ…ΠΎΠ΄

ΠŸΡ€ΠΎΡ‡Ρ‚ΠΈΡ‚Π΅ руководство OpenOCD, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ ΠΌΠΈΠ³Π°ΡŽΡ‰Π΅ΠΉ памяти с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ OpenOCD.

Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ошибки 1:

  • Ошибка: Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ устройство ftdi: usb_open () Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ

Π­Ρ‚Π° ошибка ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Π° использованиСм Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° libusb Π² Windows, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π² Π½ΠΎΠ²Ρ‹Ρ… вСрсиях OpenOCD ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ WinUSB.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ остановили Windows ΠΎΡ‚ установки Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° автоматичСски:

Π—Π°Ρ‚Π΅ΠΌ ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ FTDI ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ инструмСнт ΠΈΠ· FTDI ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ CDM Uninstaller xx – Windows Device Driver Uninstaller: просто Π²Π²Π΅Π΄ΠΈΡ‚Π΅ свой VID ΠΈ PID.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ поставщика FTDI ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ – 0x0403. Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ:

  • ΠžΠ΄Π½ΠΎΠΊΠ°Π½Π°Π»ΡŒΠ½Ρ‹Π΅ устройства (R Chips): 0x6001
  • Π”Π²ΡƒΡ…ΠΊΠ°Π½Π°Π»ΡŒΠ½Ρ‹Π΅ устройства (2232C / D / H Chips): 0x6010
  • Π§Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…ΠΊΠ°Π½Π°Π»ΡŒΠ½Ρ‹Π΅ устройства (Ρ‡ΠΈΠΏΡ‹ 4232H): 0x6011

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ здСсь.

НаконСц, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Zadig Tool для установки Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° WinUSB.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ошибки 2:

  • Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ: тактовая частота 1000 ΠΊΠ“Ρ†
    Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ ‘init’
    Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ ‘ocd_bouncer’

Π­Ρ‚Π° ошибка Π²Ρ‹Π·Π²Π°Π½Π° Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΊΠΎΠΉ ΠΈΠ»ΠΈ отсутствиСм рСзистора ΠΌΠ΅ΠΆΠ΄Ρƒ TDI ΠΈ TDO Π² Β«swd-resistor-hack.cfgΒ», ΠΊΠ°ΠΊ ΠΌΡ‹ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΈ Π²Ρ‹ΡˆΠ΅.

Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½ΠΎ ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ftdi_layout_init ΠΈΠ· Ρ„Π°ΠΉΠ»Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ:

ftdi_layout_init 0x0018 0x05fb

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ошибки 3:

  • Ошибка: libusb_open () Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ LIBUSB_ERROR_ACCESS
    Ошибка: устройство Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ
    Ошибка: Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ftdi-устройство с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ vid 0403, pid 6010, описаниС ‘*’ ΠΈ сСрийный ‘FTZ7O8O0’

ПодобноС сообщСниС ΠΎΠ± ошибкС появится ΠΏΡ€ΠΈ запускС OpenOCD Π² Linux Π±Π΅Π· Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ запускаСтС OpenOCD с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ sudo, Β«sudo opeocdΒ».

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ:

(1) ИспользованиС OpenOCD Π² качСствС Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎΠ³ΠΎ FLASH-программиста (простой ΡƒΡ‡Π΅Π±Π½ΠΈΠΊ) – Olimex

(2) ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ Π²ΡΠΏΡ‹ΡˆΠΊΠΈ – Руководство ΠΏΠΎ OpenOCD

(3) ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π° ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ – Руководство ΠΏΠΎ OpenOCD

(4) Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ с компилятором ARM GCC для Windows, Ρ‡Π°ΡΡ‚ΡŒ 5: ΠžΡ‚Π»Π°Π΄ΠΊΠ° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ OpenOCD

(5) Настройка OpenOCD для AT91SAM7S

(6) ΠžΠ±Ρ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ – Руководство ΠΏΠΎ OpenOCD

(7) OpenOCD – eLinux

(8) FT2232H DataSheet (PDF)

Записи ΠΏΠΎ Ρ‚Π΅Π³Ρƒ “FT2232H” ⋆ Π–ΡƒΡ€Π½Π°Π» Π­ΠΌΠ±Π΅Π΄Π΄Π΅Π΄-Π˜Π½ΠΆΠ΅Π½Π΅Ρ€Π°

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Β  Β Π—Π°Π΄Π°Ρ‡Π° состояла Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ· ΠΏΠΎΠ΄ дСсктопного линукса ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с SPI-интСрфСйсом Π²Π½Π΅ΡˆΠ½ΠΈΡ… Ρ‡ΠΈΠΏΠΎΠ², ΠΏΡ€ΠΈΡ‚ΠΎΠΌ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ это Π΄Π΅Π»Π°Ρ‚ΡŒ стандартным ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ Ρ‡Π΅Ρ€Π΅Π· устройство /dev/spiΠ₯, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту Π·Π°Π΄Π°Ρ‡Ρƒ максимально бСспроблСмно Π±Π΅Π· свистопляски с пСрСсбором ядра ΠΈ Π΄Ρ€ΠΎΠ², Π° ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ, Ссли это Π½Π΅ SBC (Single Board Computer), Π° дСсктопноС Π΄Π΅Ρ‚ΠΈΡ‰Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ x86 Π±Π΅Π· Π½Π°Π±ΠΎΡ€Ρ‚Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° SPI Master, Ρ‚ΠΎ ΠΎΡ‚ соблазна ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ· ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π΅Ρ€ΠΎΠ² SPI-to-USB Π½ΠΈΠΊΡƒΠ΄Π° Π½Π΅ Π΄Π΅Ρ‚ΡŒΡΡ, Π° ΠΈΡ… сущСствуСт Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ количСство.

ΠšΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Ρ‹Β USB-to-SPIΒ 

β€’Β  CP2130 ΠΎΡ‚ Silicon Labs

β€’Β  MCP2210 ΠΎΡ‚ ΠœΠΈΠΊΡ€ΠΎΡ‡ΠΈΠΏΠ°

β€’Β  FT232H ΠΎΡ‚ FTDI (ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ½ΠΎΠ΅ подходящСС ΠΎΡ‚ FTDI)Β 

Β  Β Π’ ΠΈΡ‚ΠΎΠ³Π΅ Π³ΠΎΠ½ΠΊΡƒ Π²Ρ‹ΠΈΠ³Ρ€Π°Π»Β MCP2210, хотя ΠΏΠΎΠ΄Β CP2130 Ρ‚ΠΎΠΆΠ΅ имСлись ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ:Β  https://www.silabs.com/documents/public/software/CP2130_SDK_Linux.zip ΠΈΒ Β https://github.com/Henneberg-Systemdesign/cp2130 .

MCP2210

Β   НСкто Daniel Santos Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π» линукс-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ для этого моста, Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉΡΡ Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя Π½Π° Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½Π΅ΠΌ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ https://github.com/MathewKing/mcp2210-linux ΠΎΡ‚ Mathew King. На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ΡƒΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° настроСчных ΠΊΠΎΠΌΠ°Π½Π΄ (настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΡˆΠΈΠ½Ρ‹ SPI, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ‡ΠΈΠΏΠΎΠΌ, ΠΈ Ρ‚. Π΄.), чтСния/записи ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ EEPROM ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ/ΠΏΡ€ΠΈΠ΅ΠΌΠ° нСпосрСдствСнно сообщСний SPI. Однако Π½Π°Π΄ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Ρ‡Π΅Ρ€Π΅Π· ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ устройства spidev ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹ Ρ‡Π΅Ρ€Π΅Π· ioctl Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΈ Π·Π°Ρ…Π°Ρ€Π΄ΠΊΠΎΠΆΠ΅Π½Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ fake_config().

Β  Β Π‘Π΅Π· знания Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΏΠ»Π°Ρ‚Ρ‹ (схСмотСхники) с Ρ‡ΠΈΠΏΠΎΠΌ MCP2210 автонастройка SPI Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°. MCP2210 ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сконфигурирована ΠΏΡ€ΠΈ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ запускС скрипта настройки (ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Π°Ρ настройка ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°), для хранСния этих настроСк Π½Π° сторонС устройства идСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ EEPROM Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 256 Π±Π°ΠΉΡ‚. БистСма Π°Π²Ρ‚ΠΎ-ΠΊΠΎΠ½Ρ„ΠΈΠ³Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π° Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Creek, всС настройки Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠΌΠ΅Π½ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ… строковых ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ для хранСния 5 Π±Π°ΠΉΡ‚ EEPROM. ΠœΠΈΠ½ΠΎΡ€Π½Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» настроСк Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Ρ‡Π΅Ρ€Π΅Π· Π²Ρ‹Π·ΠΎΠ²Ρ‹ ioctl ΠΈΠ· ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ окруТСния.

Установка

Π¨Π°Π³ 1

Установка ядра 4.15 (ядро называСтся kernel-ml, доступно Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚Π°Ρ€ΠΈΠΈΒ elrepo-kernel) Π½Π° CentOS 7.

Π¨Π°Π³ 2

Π‘Π±ΠΎΡ€ΠΊΠ° ΠΈ установка Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° mcp2210 ΠΏΠΎΠ΄ linux:

git clone https://github.com/iDoka/mcp2210-linux.git

cd mcp2210-linux

Β 

make all

sudo make modules_install

 Установка ΠΏΡ€Π°Π²ΠΈΠ» UDEVΒ ΠΈ скрипта, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ пСрСпривязываСт ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ устройству Π½ΠΎΠ²Ρ‹ΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€:

sudo cp udev/99_mcp2210.rules /etc/udev/rules.d

sudo udevadm control –reload-rules

Β 

sudo cp udev/rebind_sysfs_driver.sh /usr/local/sbin/

sudo chmod 0755 /usr/local/sbin/rebind_sysfs_driver.sh

Β Π¨Π°Π³ 3

ВСст Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°:

sudo modprobe mcp2210

lsmod | grep mcp2210

cd user/

LD_LIBRARY_PATH=`pwd` ./mcp2210-util –help

Β Π‘Ρ‡ΠΈΡ‚Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³Π°:

Β LD_LIBRARY_PATH=`pwd` . /mcp2210-util -d /dev/usb2spi_bridge0 get config > creek.dat

Β ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹

ВсС измСнСния Π² udev-rules, ΡΠΎΠ·Π΄Π°ΡŽΡ‰ΠΈΠ΅ дСвайс, доступный ΠΈΠ·-ΠΏΠΎΠ΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, доступны Π² ΠΌΠΎΡ‘ΠΌ Ρ„ΠΎΡ€ΠΊΠ΅:Β https://github.com/iDoka/mcp2210-linux

Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ…

РКБ ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ – Π ΠΠ”Π˜ΠžΠœΠΠ“

РКБ ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ – Π ΠΠ”Π˜ΠžΠœΠΠ“

ΠΠžΠ’ΠžΠ‘Π’Π˜

ΠŸΠΎΠ»Π½Ρ‹ΠΉ список  смотритС  по ссылкС.

02/04/2021

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ ΠΈ влаТности, ВСстСр Смкости аккумулятора, ВСстСр ΠΏΠΎΠ»ΡƒΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠΎΠ²,Β ΠšΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΉ ΡƒΡΠΈΠ»ΠΈΡ‚Π΅Π»ΡŒ мощности,Β 

Bluetooth Π°ΡƒΠ΄ΠΈΠΎΠΌΠΎΠ΄ΡƒΠ»ΡŒ ,Π¦Π²Π΅Ρ‚Π½ΠΎΠΉ USB тСстСр (Π²ΠΎΠ»ΡŒΡ‚ΠΌΠ΅Ρ‚Ρ€, Π°ΠΌΠΏΠ΅Ρ€ΠΌΠ΅Ρ‚Ρ€, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ заряда),Β Π¦ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠΎΡ€Ρ‚Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ осциллограф,Β 
Двухсторонняя клСйкая, акриловая Π»Π΅Π½Ρ‚Π°, АнтистатичСскиС ΠΏΠΈΠ½Ρ†Π΅Ρ‚Ρ‹


ΠŸΠΎΠ»Π½Ρ‹ΠΉ список поставки смотритС ΠΏΠΎ ссылкС

Β 

02/04/2021

ПополнСниС склада ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ассортимСнту от производитСля Hantek Electronics.


Π˜Π·ΠΌΠ΅Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠ±ΠΎΡ€Ρ‹
АксСссуары для инструмСнта ΠΈ оборудования

01/04/2021

ПополнСниС склада ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ассортимСнту от производитСля LiitoKala.


Аккумуляторы ΠΈ Π±Π°Ρ‚Π°Ρ€Π΅ΠΉΠΊΠΈ
Π‘Π»ΠΎΠΊΠΈ питания, сСтСвыС Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Ρ‹, зарядныС устройства

01/04/2021

Π‘ 30.03 Π΄ΠΎ 05.04.2021 ΠΌΠ°Π³Π°Π·ΠΈΠ½ Π Π°Π΄ΠΈΠΎΠΌΠ°Π³ Π² Π³. Π₯Π°Ρ€ΡŒΠΊΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒΒ  Π·Π°ΠΊΠ°Π·Ρ‹ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π½Ρ‹Π΅ Ρ‡Ρ€Π΅Π· сайт ΠΈ ΠΏΠΎ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Ρƒ.

ΠŸΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ²Π°Ρ€Π° Π² Ρ‚ΠΎΡ€Π³ΠΎΠ²ΠΎΠΌ Π·Π°Π»Π΅ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π½ΠΎΠ²ΠΎΠΉ ΠΏΠΎΡ‡Ρ‚ΠΎΠΉ Π½Π΅ доступны.Β 

30/03/2021

Π’ связи с Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ усилСнного ΠΊΠ°Ρ€Π°Π½Ρ‚ΠΈΠ½Π°.

Π² Π³. Π›ΡŒΠ²ΠΎΠ² с 19.03.2021


в г. КиСв с 20.03.2021
в г. ОдСсса с 23.03.2021

ΠŸΠΎΡΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΡ€Π³ΠΎΠ²ΠΎΠ³ΠΎ Π·Π°Π»Π° ΠΌΠ°Π³Π°Π·ΠΈΠ½ΠΎΠ² Π Π°Π΄ΠΈΠΎΠΌΠ°Π³ ΠΈ ΠΎΡ‚Π΄Π΅Π»Π° ΠΏΡ€ΠΎΠ΄Π°ΠΆ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
Π—Π°ΠΊΠ°Π·Ρ‹ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· сайт ΠΈ Π² Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅.

ΠžΡ‚Π³Ρ€ΡƒΠ·ΠΊΠ° Π·Π°ΠΊΠ°Π·ΠΎΠ² Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΠΎΠ²ΠΎΠΉ ΠΏΠΎΡ‡Ρ‚ΠΎΠΉ, возмоТности самовывоза Π½Π΅Ρ‚.

18/03/2021

Π Π°ΡΡˆΠΈΡ€Π΅Π½ ассортимСнт Ρ€Π°Π΄ΠΈΠΎΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ с интСрфСйсами:Β UART,Β UART/IO,Β IO,Β Β USB,Β SPI.

ΠŸΠΎΠ»Π½Ρ‹ΠΉ список поставки ΠΏΠΎ ссылкС HOPE RF

26/11/2020

ПаяльноС ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ YIHUAΒ ΠΈ AOYUE Π½Π° складС, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² сСти ΠΌΠ°Π³Π°Π·ΠΈΠ½ΠΎΠ² Π ΠΠ”Π˜ΠžΠœΠΠ“
На нашСм складС обновился ассортимСнт Ρ‚Π°ΠΊΠΈΡ… Ρ‚ΠΎΠ²Π°Ρ€Π½Ρ‹Ρ… Π³Ρ€ΡƒΠΏΠΏ ΠΊΠ°ΠΊ: ΠΏΠ°ΡΠ»ΡŒΠ½Ρ‹Π΅ станции, паяльники, Ρ„Π΅Π½Ρ‹, ΠΆΠ°Π»Π°, насадки Π½Π° Ρ„Π΅Π½, ΡƒΠ»ΠΎΠ²ΠΈΡ‚Π΅Π»ΡŒ Π΄Ρ‹ΠΌΠ°.

ΠŸΠΎΠ»Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒΒ ΠΏΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ смотритС ΠΏΠΎ ссылкС, Π»ΠΈΠ±ΠΎ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅
ПаяльноС ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅, расходныС для ΠΏΠ°ΠΉΠΊΠΈ

24/11/2020

ΠŸΡ€ΠΎΡΠΈΠΌ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅.


Магазин Π Π°Π΄ΠΈΠΎΠΌΠ°Π³ Π² ΠšΠΈΠ΅Π²Π΅Β ΠΌΠ΅Π½ΡΠ΅Ρ‚ свой Π³Ρ€Π°Ρ„ΠΈΠΊ Ρ€Π°Π±ΠΎΡ‚Ρ‹:
Пн. – Π‘Π±. Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Β  9:00-16:00
Вс. – Π’Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ

23/11/2020

Π Π°ΡΡˆΠΈΡ€Π΅Π½ складской запас энкодСров

ΠŸΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ поставки смотритС ΠΏΠΎ ссылкС Π»ΠΈΠ±ΠΎ Π² раздСлС сайта.

01/11/2020

goods index

ΠœΠ°ΠΊΠ΅Ρ‚Π½Π°Ρ ΠΏΠ»Π°Ρ‚Π° FT2232HL, ΠΌΠΎΠ΄ΡƒΠ»ΡŒ обучСния FT2232H MINI FT4232H UM232H, макСтная ΠΏΠ»Π°Ρ‚Π° USB Π² SPI, Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚|Π˜Π½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½Ρ‹Π΅ схСмы|

информация ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π΅

Π₯арактСристики Ρ‚ΠΎΠ²Π°Ρ€Π°

  • НазваниС Π±Ρ€Π΅Π½Π΄Π°: diymore
  • ΠŸΡ€ΠΎΠΈΡΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅: ΠšΠΈΡ‚Π°ΠΉ
  • БостояниС: Новый
  • Π’ΠΈΠΏ: РСгулятор напряТСния
  • НомСр ΠΌΠΎΠ΄Π΅Π»ΠΈ: FT2232HL
  • ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅: ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€
  • Π£ΠΏΠ°ΠΊΠΎΠ²ΠΊΠ°: SMD
  • Π˜Π½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ·Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ΠΈΠ΅: Π”Π°

FT2232H MINI MDL ΠΎΡ‚ 2972 Ρ€ΡƒΠ±Π»Π΅ΠΉ Π² Π½Π°Π»ΠΈΡ‡ΠΈΠΈ 20 ΡˆΡ‚ производства FT2232HQ-MODULE

Главная ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ ΠŸΠΎΠ»ΡƒΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠΈ ΠœΠΎΠ΄ΡƒΠ»ΠΈ связи ΠœΠΎΠ΄ΡƒΠ»ΠΈ USB всСго Π² Π½Π°Π»ΠΈΡ‡ΠΈΠΈ 20 ΡˆΡ‚
ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎΠ¦Π΅Π½Π° β‚½/ΡˆΡ‚
+1 00000″> 3 582
+10 3 224
+50 2 972
Минимально 1 ΡˆΡ‚ ΠΈ ΠΊΡ€Π°Ρ‚Π½ΠΎ 1 ΡˆΡ‚

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ Ρƒ нас любоС количСство FT2232H MINI MDL, просто ΠΎΡ‚ΠΏΡ€Π°Π²ΡŒΡ‚Π΅ Π½Π°ΠΌ запрос Π½Π° поставку.
ΠœΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с частными ΠΈ ΡŽΡ€ΠΈΠ΄ΠΈΡ‡Π΅ΡΠΊΠΈΠΌΠΈ Π»ΠΈΡ†Π°ΠΌΠΈ.

ΠšΡƒΠΏΠΈΡ‚ΡŒ FT2232H MINI MDL ΠΎΡ‚ 1 ΡˆΡ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ банковской ΠΊΠ°Ρ€Ρ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ прямо сСйчас Π½Π° нашСм сайтС.
Π Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с частными ΠΈ ΡŽΡ€ΠΈΠ΄ΠΈΡ‡Π΅ΡΠΊΠΈΠΌΠΈ Π»ΠΈΡ†Π°ΠΌΠΈ.

FT2232HQ-MODULE описаниС ΠΈ характСристики

ΠœΠΎΠ΄ΡƒΠ»ΡŒ: USB; FIFO x2,MPSSE x2,UART x2; USB B mini,ΡˆΡ‚Ρ‹Ρ€Π΅Π²ΠΎΠΉ

БСсплатная доставка
Π·Π°ΠΊΠ°Π·ΠΎΠ² ΠΎΡ‚ 5000 β‚½

Доставим прямо Π² Ρ€ΡƒΠΊΠΈ ΠΈΠ»ΠΈ Π² блиТайший ΠΏΡƒΠ½ΠΊΡ‚ Π²Ρ‹Π΄Π°Ρ‡ΠΈ


Π‘ΠΌΠ΅ΠΆΠ½Ρ‹Π΅ Ρ‚ΠΎΠ²Π°Ρ€Ρ‹

Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ с OPENOCD с использованиСм Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π° FT2232H для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ SWD

Π£Π·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΡƒ MCU Π½Π° Π±Π°Π·Π΅ ARM с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° OpenOCD с Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠΌ FT2232H.

Π‘Ρ‚Π°Ρ€Ρ‹Π΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ, ΠΊΠ°ΠΊ ATMEL ΠΈ MICROCHIP, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ сСмСйство PIC16F ΠΈ Atmega, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ интСрфСйс для программирования Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ Ρ„Π»ΡΡˆ-памяти. НапримСр, Atmega использовала Π²Ρ‹Π²ΠΎΠ΄Ρ‹ SPI (MISO, MOSI, SCK), Π° PIC использовала Π΄Π²Π° Π²Ρ‹Π²ΠΎΠ΄Π° (PGC, PGD) – ΠΎΠ΄ΠΈΠ½ ΠΊΠ°ΠΊ часы, Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠ°ΠΊ Π΄Π²ΡƒΠ½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΡƒΡŽ линию Π΄Π°Π½Π½Ρ‹Ρ….

НовыС ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹, особСнно с ядром ARM, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ JTAG / SWD Π² качСствС интСрфСйса программирования / ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Joint Test Action Group (JTAG) ΠΈ Serial Wire Debug (SWD)? ΠžΡ‚Π²Π΅Ρ‚ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ SWD Π±Ρ‹Π» создан ΠΊΠ°ΠΊ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° JTAG для сохранСния ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ MCU: SWD замСняСт 5-ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½Ρ‹ΠΉ интСрфСйс JTAG Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 2-ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½Ρ‹ΠΉ.

Для связи с нашим Ρ†Π΅Π»Π΅Π²Ρ‹ΠΌ Ρ‡ΠΈΠΏΠΎΠΌ Π½Π°ΠΌ Π½ΡƒΠΆΠ½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° хостС ΠΈ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π² качСствС моста ΠΌΠ΅ΠΆΠ΄Ρƒ хостом ΠΈ Ρ‡ΠΈΠΏΠΎΠΌ.Π’ этом руководствС ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ OpenOCD Π² качСствС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° хостС для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ связи с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ SWD. ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ FT2232H Π² качСствС моста для трансляции сигналов с ΠΏΠΎΡ€Ρ‚Π° USB Π½Π° интСрфСйс SWD.

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΠ½Ρ‹Π΅ сигналы SWD

ΠžΠ±Π·ΠΎΡ€ OpenOCD

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ Π½Π° кристаллС (OpenOCD) – это бСсплатный ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, Ρ†Π΅Π»ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ являСтся обСспСчСниС ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, внутрисистСмного программирования ΠΈ ΠΏΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π½ΠΎΠ³ΠΎ сканирования с использованиСм Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π° ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. АдаптСр – это Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обСспСчиваСт ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ сигналы для понимания Ρ†Π΅Π»ΠΈ.

ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ

OpenOCD ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ мноТСство Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠ² ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Π²Π΅Π±-сайтС OpenOCD.

Π§Ρ‚ΠΎΠ±Ρ‹ OpenOCD Ρ€Π°Π±ΠΎΡ‚Π°Π», Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Когда настройка Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π° ΠΈ соСдинСниС с Ρ†Π΅Π»ΡŒΡŽ установлСно, OpenOCD Π½Π°Ρ‡Π½Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π΄Π΅ΠΌΠΎΠ½. Π”Π΅ΠΌΠΎΠ½ – это Ρ„ΠΎΠ½ΠΎΠ²Ρ‹ΠΉ процСсс, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Π½Π° запросы услуг. OpenOCD Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΆΠ΄Π°Ρ‚ΡŒ соСдинСний ΠΎΡ‚ GDB, Telnet ΠΈΠ»ΠΈ любого Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π° ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Π‘Π»ΠΎΠΊ-схСма OpenOCD

ΠžΠ±Π·ΠΎΡ€ FT2232H

FT2232H – это Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ высокоскоростной USB-ΠΏΠΎΡ€Ρ‚ для ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΉ микросхСмы UART / FIFO. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ это ΠΎΠ΄Π½ΠΎΠΊΡ€ΠΈΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ USB-ΠΏΠΎΡ€Ρ‚ с двумя ΠΏΠΎΡ€Ρ‚Π°ΠΌΠΈ.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚ оснащСн ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌ Multi-Protocol Synchronous Serial Engine (MPSSE), для упрощСния проСктирования синхронного ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° (USB Π² JTAG, I2C, SPI ΠΈΠ»ΠΈ bit-bang). Π­Ρ‚ΠΎ позволяСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°Π½Π°Π» с ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹ΠΌ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠΌ. MPSSE доступны Π½Π° ΠΊΠ°Π½Π°Π»Π°Ρ… A ΠΈ B ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ настроСны для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ любого синхронного ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°.

Π‘ΡƒΠ΄ΡŒΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ OpenOCD

Π’Ρ‹Π±ΠΎΡ€ OpenOCD Π² качСствС инструмСнта ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ с Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠΌ, Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ FT2232H, являСтся ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° Ρƒ вас Π½Π΅Ρ‚ большого Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π° для Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Помимо бСсплатности ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ исходного ΠΊΠΎΠ΄Π°, OpenOCD Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ сообщСство ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ. НО, ΠΊΠ°ΠΊ ΠΈ Π² случаС с Π»ΡŽΠ±Ρ‹ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ инструмСнтом с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ с ошибками, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΌ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, придСтся ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ.

МнС ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ OpenOCD Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΡˆΠΈΡ‚ΡŒ ΠΌΠΎΠΉ MCU, ΠΈ я надСюсь, Ρ‡Ρ‚ΠΎ это руководство Π±ΡƒΠ΄Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ ΠΈ ΠΏΠΎΠ»Π½Ρ‹ΠΌ справочником.

Π’Π°ΠΊΠΆΠ΅ я ΡΠΎΠ²Π΅Ρ‚ΡƒΡŽ всСм, ΠΊΡ‚ΠΎ ΠΈΡ‰Π΅Ρ‚ инструмСнты для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ с ΡƒΠΌΠΎΠΌ. НапримСр, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ простой инструмСнт, я Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ OpenOCD ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Π»ΡƒΡ‡ΡˆΠΈΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ для вас!

Π”Ρ€ΡƒΠ³ΠΈΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ инструмСнты ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ:

  • Segger J-Link
  • Π£Π›Π˜ΠΠš
  • ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, встроСнныС Π² ΠΎΡ†Π΅Π½ΠΎΡ‡Π½Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, STM32, EFM32 ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ сСмСйства MCU) поставщиками микросхСм

Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Ссли Ρƒ вас ΠΌΠ°Π»ΠΎ Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π°, Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ тСрпСния, OpenOCD с FT2232H станСт для вас ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ.

ВрСбования

Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ понадобится для выполнСния этого руководства:

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Π΄Π΅Ρ‚Π°Π»ΡŒ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π΅ΡˆΠ΅Π²ΡƒΡŽ модСль Ρƒ китайских поставщиков, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Taobao, Alibaba ΠΈ AliExpress. Π― Π·Π°ΠΊΠ°Π·Π°Π» свою Π½Π° Taobao ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π·Π° 14 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ².

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ FTDI, ΠΌΠΈΠ½ΠΈ-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ FT2232H.

ΠšΠΎΠΌΠΌΡƒΡ‚Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ‹ FT2232H

  • ОБ Windows ΠΈΠ»ΠΈ Linux с Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΊΠΎΠΏΠΈΠ΅ΠΉ OpenOCD:

Windows: Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ OpenOCD ΠΈΠ· Π½Π΅ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².

Linux: Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΈΠ· ΠΏΡƒΠ»Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² вашСго дистрибутива Linux, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ°ΠΊΠ΅Ρ‚ debian.

Или Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΈΠ· исходного ΠΊΠΎΠ΄Π°, Ρ‚Ρ€ΡƒΠ΄Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ! Π― Π»ΠΈΡ‡Π½ΠΎ Π²Ρ‹Π±Ρ€Π°Π» этот ΠΏΡƒΡ‚ΡŒ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ руководства ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ· Dangerous Prototypes (для Windows) ΠΈΠ»ΠΈ eLinux (для Linux). Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ инструкции ΠΏΠΎ компиляции ΠΈΠ· исходного ΠΊΠΎΠ΄Π° OpenOCD (README.Windows ΠΈ README).

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: НСкотороС врСмя Π½Π°Π·Π°Π΄ ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² OpenOCD Ρ€Π΅ΡˆΠΈΠ»Π° большС Π½Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ².Они ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ исходный ΠΊΠΎΠ΄, оТидая, Ρ‡Ρ‚ΠΎ поставщик оборудования JTAG создаст Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π²Π°ΠΌΠΈ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ вашС ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ JTAG.

Π― Π²Ρ‹Π±Ρ€Π°Π» свой ΠΏΡ€ΠΎΡ€Ρ‹Π² с EFM32G200F32, ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ (MCU) Π½Π° Π±Π°Π·Π΅ ARM Cortex-M3, Π½ΠΎ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ MCU Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

Моя ΠΏΠ»Π°Ρ‚Π° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ EFM32G200F32

EFM32G200F32 распиновка

Как устроСн OpenOCD

Для запуска OpenOCD Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ (.cfg), поставляСмый Π² OpenOCD. Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ содСрТит ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΡΠ²Π»ΡΡŽΡ‰ΠΈΠ΅ΡΡ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΠΌΠΈ Jim-Tcl. Jim-Tcl – это язык программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСт простой ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄.

Π’ Ρ„Π°ΠΉΠ»Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° OpenOCD Π΅ΡΡ‚ΡŒ ΠΏΠ°ΠΏΠΊΠ° с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«scriptsΒ». Π’ этой ΠΏΠ°ΠΏΠΊΠ΅ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΏΠ°ΠΏΠΊΠΈ Β«interfaceΒ», Β«boardΒ» ΠΈ Β«targetΒ». И это практичСски СдинствСнныС ΠΏΠ°ΠΏΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹.

  • Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ: Π€Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ для Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, minimodule.cfg.
  • Board: Π€Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ для ΠΎΠ±Ρ‰ΠΈΡ… ΠΏΠ»Π°Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Β«atmel_sam4s_xplained_pro.cfgΒ» – Β«olimex_stm32_h207.cfgΒ» – Β«stm32f4discovery.cfgΒ» .. ΠΈ Ρ‚. Π”. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ эти Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈΠ· интСрфСйса ΠΈ Ρ†Π΅Π»ΠΈ.
  • ЦСль: Π€Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ для микросхСм MCU.

Однако Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свои собствСнныС Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΈ сдСлаСм Π² этом руководствС.

Когда ΠΌΡ‹ запускаСм OpenOCD, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΅ΠΌΡƒ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, сколько Π·Π°Ρ…ΠΎΡ‚ΠΈΠΌ:

openocd -f config1.cfg -f config2.cfg -f config3.cfg

ПониманиС основ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π°

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ OpenOCD Ρ‚ΠΈΠΏ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π°, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ interface .

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ список интСрфСйсов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ваша вСрсия OpenOCD, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

> openocd -c список_интСрфСйсов

Π’ нашСм руководствС ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ с микросхСмой FT2232H, поэтому ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ интСрфСйса FTDI:

interface ftdi

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ OpenOCD Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ вашСм Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π΅ (интСрфСйсС).НапримСр, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ VID / PID, сСрийный Π½ΠΎΠΌΠ΅Ρ€ ΠΈΠ»ΠΈ Π½ΠΎΠΌΠ΅Ρ€ ΠΊΠ°Π½Π°Π»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для FT2232H, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° ΠΊΠ°Π½Π°Π»Π°.

ftdi_vid_pid 0x0403 0x6010

ftdi_channel 1

ftdi_serial “FTZ7O8O0”

АдаптСр ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ транспортного ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°, поэтому OpenOCD позволяСт Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ транспортный ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»:

транспорт Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ swd

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ OpenOCD Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ значСния Π΄Π°Π½Π½Ρ‹Ρ… FTDI GPIO ΠΈ рСгистров направлСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ftdi_layout_init . Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ сначала ввСсти Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ значСния 16 ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² ΠΊΠ°Π½Π°Π»Π°, Π° Π·Π°Ρ‚Π΅ΠΌ направлСния. Зная, Ρ‡Ρ‚ΠΎ Β«1Β» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Ρ‹Π±ΠΎΡ€Π° направлСния Π² качСствС Π²Ρ‹Ρ…ΠΎΠ΄Π°, Π° Β«0Β» – для Π²Ρ…ΠΎΠ΄Π°, ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ°Π½Π°Π» Π² ft2232H ΠΈΠΌΠ΅Π΅Ρ‚ 16 ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ².

ftdi_layout_init 0x0018 0x05fb

Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚:

НизкиС Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ = 0x18 // 0001 1000

НизкоС Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ = 0xfb // 1111 1011

ВысокоС Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ = 0x05 // 0000 0101

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π°, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ руководству OpenOCD.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΊ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Ρƒ

БущСствуСт Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«swd-resistor-hack.cfgΒ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ схСму ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ:

FT2232H ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΊΠ° с Ρ†Π΅Π»ΡŒΡŽ

Π€Π°ΠΉΠ» содСрТит ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:

Β«ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ TDI ΠΊ SWDIO Ρ‡Π΅Ρ€Π΅Π· подходящий ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ рСзистор (220-470 Ом ΠΈΠ»ΠΈ ΠΎΠΊΠΎΠ»ΠΎ Ρ‚ΠΎΠ³ΠΎ, Π² зависимости ΠΎΡ‚ мощности ΠΏΡ€ΠΈΠ²ΠΎΠ΄Π° Ρ†Π΅Π»ΠΈ ΠΈ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π°), ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ TDO Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΊ SWDIOΒ».

Π‘Π΅Π· Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ рСзистора соСдинСниС Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ установлСно.

FT2232H распиновка

Π‘ΠΎΠ±ΠΈΡ€Π°Π΅ΠΌ всС вмСстС

Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ соСдинСниС ΠΌΠ΅ΠΆΠ΄Ρƒ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠΌ ΠΈ Ρ†Π΅Π»ΡŒΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ OpenOCD.

Π§Π°ΡΡ‚ΡŒ 1: Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½Ρ‹Π΅ соСдинСния

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ FT2232H ΠΊ Ρ†Π΅Π»ΠΈ

Π§Π°ΡΡ‚ΡŒ 2: Запуск OpenOCD

Π‘Π½Π°Ρ‡Π°Π»Π° создайтС ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ для нашСго Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π°. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ тСкстовый Ρ„Π°ΠΉΠ» (ANYNAME.cfg). НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ VID / PID ΠΈ сСрийный Π½ΠΎΠΌΠ΅Ρ€ Π² соотвСтствии с вашим Ρ‡ΠΈΠΏΠΎΠΌ:

  # Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ создан для ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ°:
# "Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ с OPENOCD с использованиСм Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π° FT2232H для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ SWD"
# Написал: Π―Ρ…ΡŒΡ Π’Π°Π²ΠΈΠ» - yahya.tawil_at_gmail.com
# ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΎ: http://www.allaboutcircuits.com
# ВСрсия OpenOCD: 0.9.0
интСрфСйс ftdi
транспорт Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ swd
ftdi_vid_pid 0x0403 0x6010
#ftdi_device_desc "ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ USB-ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ A"
#ftdi_device_desc "FT2232H 开发 板"
ftdi_serial "FTZ7O8O0"
#adapter_khz 8
ftdi_layout_init 0x0018 0x05fb
ftdi_layout_signal SWD_EN -Π΄Π°Π½Π½Ρ‹Π΅ 0
ftdi_layout_signal nSRST -data 0x0010  

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ сигнала SWD_EN Π²Π°ΠΆΠ½ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ OpenOCD, Π΄Π°ΠΆΠ΅ Ссли ΠΌΡ‹ Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ Π΅Π³ΠΎ физичСски. Если ΠΌΡ‹ этого Π½Π΅ сдСлаСм, появится ошибка:

Ошибка: Ρ€Π΅ΠΆΠΈΠΌ SWD Π°ΠΊΡ‚ΠΈΠ²Π΅Π½, Π½ΠΎ сигнал SWD_EN Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½

Окна:

ПослС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΊΠΎΠΏΠΈΠΈ OpenOCD, ΠΊΠ°ΠΊ ΠΌΡ‹ описали Ρ€Π°Π½Π΅Π΅, запуститС консоль CMD, Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находится OpenOCD. НапримСр:

cd Π Π°Π±ΠΎΡ‡ΠΈΠΉ стол \ openocd-0.9.0 \ bin

ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅: Π£ нас Π΅ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ (я Π½Π°Π·Π²Π°Π» Π΅Π³ΠΎ SWD_FT.cfg), ΠΈ Ρ†Π΅Π»ΡŒΡŽ являСтся ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ‡ΠΈΠΏΠΎΠ² EFM32.

Π—Π°Ρ‚Π΅ΠΌ Π² CMD Π²Π²Π΅Π΄ΠΈΡ‚Π΅:

openocd -f интСрфСйс / ftdi / SWD_FT.cfg -f target / efm32.cfg

Linux:

Π’ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ Π½Π°Π±Π΅Ρ€ΠΈΡ‚Π΅:

Sudo openocd -f интСрфСйс / ftdi / SWD_FT.cfg -f target / efm32.cfg

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ вас Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅:

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ: Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ FTDI SWD

ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π°: 1000 ΠΊΠ“Ρ†

cortex_m reset_config sysresetreq

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ: тактовая частота 1000 ΠΊΠ“Ρ†

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ: SWD IDCODE 0x2ba01477

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ: efm32.cpu: ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ 6 Ρ‚ΠΎΡ‡Π΅ΠΊ останова, 4 Ρ‚ΠΎΡ‡ΠΊΠΈ наблюдСния

Если Ρƒ вас Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Ρ€Π°Π·Π΄Π΅Π»Ρƒ устранСния Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ – это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ плохая ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΊΠ° ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠΌ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Windows.

Π§Π°ΡΡ‚ΡŒ 4: ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ΅ соСдинСниС Telnet

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ CMD ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅:

telnet localhost 4444


Π§Π°ΡΡ‚ΡŒ 5: Бвязь с Ρ†Π΅Π»ΡŒΡŽ

НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Π°ΡˆΡƒ Ρ†Π΅Π»ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ Π»ΡŽΠ±Ρ‹ΠΌΠΈ опСрациями ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ:

> остановка сброса

Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅:

Ρ†Π΅Π»Π΅Π²ΠΎΠ΅ состояниС: остановлСно

ЦСль

остановлСна ​​из-Π·Π° запроса ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ: ΠΏΠΎΡ‚ΠΎΠΊ

xPSR: 0x01000000 ПК: 0x00000bbc MSP: 0x20002000

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ рСгистры нашСго Ρ‡ΠΈΠΏΠ°, Π²Π²Π΅Π΄ΠΈΡ‚Π΅:

> Ρ€Π΅Π³.

ΠžΡ‚Π²Π΅Ρ‚ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ reg

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π· Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ Ρ„Π»ΡΡˆ-ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ Ρ„Π»ΡΡˆ-Π±Π°Π½ΠΊΠΈ.Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Π±Π°Π½ΠΊ, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ наша тСкущая Ρ†Π΅Π»ΡŒ, Β«efm32.cfgΒ». Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

> Ρ„Π»ΡΡˆ-информация 0

ΠΈΠ»ΠΈ

> Ρ„Π»ΡΡˆ-список

> Ρ„Π»ΡΡˆ-Π±Π°Π½ΠΊΠΈ

Он Π²Π΅Ρ€Π½Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

# 0: efm32.flash (efm32) ΠΏΠΎ адрСсу 0x00000000, Ρ€Π°Π·ΠΌΠ΅Ρ€ 0x00008000, ΡˆΠΈΡ€ΠΈΠ½Π° ΡˆΠΈΠ½Ρ‹ 0, пропускная ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ микросхСмы 0

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡˆΠΈΡ‚ΡŒ Π½Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ flash write_image .

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ bin (Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ), ihex (Intel hex), elf (Ρ„Π°ΠΉΠ» ELF), s19 (Motorola s19), mem ΠΈΠ»ΠΈ Builder.

> flash write_image erase “Desktop / FirstApp.hex”

Π£ вас Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅:

автоматичСскоС стираниС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ

записал 1536 Π±Π°ΠΉΡ‚ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° Desktop / FirstApp.hex Π·Π° 0,124740 с (12,025 ΠšΠΈΠ‘ / с)

Π’Π΅ΠΏΠ΅Ρ€ΡŒ снова запуститС Π²Π°ΡˆΡƒ Ρ†Π΅Π»ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

> ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π³

Для Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Telnet-соСдинСния просто Π²Π²Π΅Π΄ΠΈΡ‚Π΅:

> Π²Ρ‹Ρ…ΠΎΠ΄

ΠŸΡ€ΠΎΡ‡Ρ‚ΠΈΡ‚Π΅ руководство OpenOCD, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠ΅ памяти с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ OpenOCD.

УстранСниС Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ошибки 1:

  • Ошибка: Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ устройство ftdi: сбой usb_open ()

Π­Ρ‚Π° ошибка ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Π° использованиСм Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° libusb Π² Windows, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π½ΠΎΠ²Ρ‹Π΅ вСрсии OpenOCD ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ WinUSB.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Windows Π½Π΅ устанавливаСт Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ автоматичСски:

Π—Π°Ρ‚Π΅ΠΌ ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ FTDI ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ инструмСнт ΠΎΡ‚ FTDI ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ CDM Uninstaller x.x – ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° удалСния Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² устройств Windows: просто Π²Π²Π΅Π΄ΠΈΡ‚Π΅ VID ΠΈ PID.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ поставщика FTDI ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ – 0x0403. Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅:

  • ΠžΠ΄Π½ΠΎΠΊΠ°Π½Π°Π»ΡŒΠ½Ρ‹Π΅ устройства (R Chips): 0x6001
  • Π”Π²ΡƒΡ…ΠΊΠ°Π½Π°Π»ΡŒΠ½Ρ‹Π΅ устройства (микросхСмы 2232C / D / H): 0x6010
  • Π§Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…ΠΊΠ°Π½Π°Π»ΡŒΠ½Ρ‹Π΅ устройства (микросхСмы 4232H): 0x6011

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ здСсь.

НаконСц, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Zadig Tool для установки Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° WinUSB.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ошибки 2:

  • Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ: тактовая частота 1000 ΠΊΠ“Ρ†
    Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ init
    Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ ocd_bouncer

Π­Ρ‚Π° ошибка Π²Ρ‹Π·Π²Π°Π½Π° Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ отсутствиСм рСзистора ΠΌΠ΅ΠΆΠ΄Ρƒ TDI ΠΈ TDO Π² Β«swd-resistor-hack.cfg Β», ΠΊΠ°ΠΊ ΠΌΡ‹ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΈ Π²Ρ‹ΡˆΠ΅.

Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½ΠΎ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, отсутствиСм ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ftdi_layout_init Π² Ρ„Π°ΠΉΠ»Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ:

ftdi_layout_init 0x0018 0x05fb

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ошибки 3:

  • Ошибка: ошибка libusb_open () с LIBUSB_ERROR_ACCESS
    Ошибка: устройство Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ
    Ошибка: Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ устройство ftdi с vid 0403, pid 6010, описаниСм ‘*’ ΠΈ сСрийным Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ ‘FTZ7O8O0’


АналогичноС сообщСниС ΠΎΠ± ошибкС появится ΠΏΡ€ΠΈ запускС OpenOCD Π² Linux Π±Π΅Π· Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ запускаСтС OpenOCD с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ sudo, Β«sudo opeocdΒ».

Бсылки:

[1] ИспользованиС OpenOCD Π² качСствС Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π° FLASH (простоС руководство) – Olimex

[2] ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ Flash – Руководство OpenOCD

[3] ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π° ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ – Руководство ΠΏΠΎ OpenOCD

[4] Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ с компилятором ARM GCC Π² Windows, Ρ‡Π°ΡΡ‚ΡŒ 5: ΠžΡ‚Π»Π°Π΄ΠΊΠ° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ OpenOCD

[5] Настройка OpenOCD для AT91SAM7S

[6] ΠžΠ±Ρ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ – Руководство OpenOCD

[7] OpenOCD – eLinux

[8] FT2232H Лист Π΄Π°Π½Π½Ρ‹Ρ… (PDF)

ΠΊΡƒΠΏΠΈΡ‚ΡŒ ft2232h с бСсплатной доставкой Π½Π° AliExpress

ΠžΡ‚Π»ΠΈΡ‡Π½Ρ‹Π΅ новости !!! ft2232h Π²Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ Π² Π½ΡƒΠΆΠ½ΠΎΠΌ мСстС. К настоящСму Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π²Ρ‹ ΡƒΠΆΠ΅ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π²Ρ‹ Π½ΠΈ искали, Π²Ρ‹ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ это Π½Π° AliExpress. Π£ нас Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ Π΅ΡΡ‚ΡŒ тысячи ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² Π²ΠΎ всСх Ρ‚ΠΎΠ²Π°Ρ€Π½Ρ‹Ρ… катСгориях. Π˜Ρ‰Π΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ Ρ‚ΠΎΠ²Π°Ρ€Ρ‹ высокого класса ΠΈΠ»ΠΈ Π΄Π΅ΡˆΠ΅Π²Ρ‹Π΅ ΠΈ Π½Π΅Π΄ΠΎΡ€ΠΎΠ³ΠΈΠ΅ ΠΎΠΏΡ‚ΠΎΠ²Ρ‹Π΅ Π·Π°ΠΊΡƒΠΏΠΊΠΈ, ΠΌΡ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π΅ΡΡ‚ΡŒ Π½Π° AliExpress.

Π’Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°Π³Π°Π·ΠΈΠ½Ρ‹ Ρ‚ΠΎΡ€Π³ΠΎΠ²Ρ‹Ρ… ΠΌΠ°Ρ€ΠΎΠΊ наряду с нСбольшими нСзависимыми ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†Π°ΠΌΠΈ со скидками, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π±Ρ‹ΡΡ‚Ρ€ΡƒΡŽ доставку ΠΈ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Π΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΈ бСзопасныС способы ΠΎΠΏΠ»Π°Ρ‚Ρ‹, нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, сколько Π²Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚Π΅ ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ.

AliExpress Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ уступит ΠΏΠΎ Π²Ρ‹Π±ΠΎΡ€Ρƒ, качСству ΠΈ Ρ†Π΅Π½Π΅. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π½ΠΎΠ²Ρ‹Π΅ ΠΎΠ½Π»Π°ΠΉΠ½-прСдлоТСния, скидки Π² ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°Ρ… ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ Π΅Ρ‰Π΅ большС, собирая ΠΊΡƒΠΏΠΎΠ½Ρ‹. Но Π²Π°ΠΌ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, придСтся Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ быстро, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ этот Π»ΡƒΡ‡ΡˆΠΈΠΉ ft2232h вскорС станСт ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· самых вострСбованных бСстсСллСров. ΠŸΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ Π²Π°ΠΌ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π²ΠΈΠ΄ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ·ΡŒΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ скаТСтС ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΡƒΠΏΠΈΠ»ΠΈ ft2232h Π½Π° AliExpress.Благодаря самым Π½ΠΈΠ·ΠΊΠΈΠΌ Ρ†Π΅Π½Π°ΠΌ Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅, Π΄Π΅ΡˆΠ΅Π²Ρ‹ΠΌ Ρ‚Π°Ρ€ΠΈΡ„Π°ΠΌ Π½Π° доставку ΠΈ возмоТности получСния Π½Π° мСстС Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΅Ρ‰Π΅ большС ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ.

Если Π²Ρ‹ всС Π΅Ρ‰Π΅ Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Π² ft2232h ΠΈ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅ ΠΎ Π²Ρ‹Π±ΠΎΡ€Π΅ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠ²Π°Ρ€Π°, AliExpress – ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ мСсто для сравнСния Ρ†Π΅Π½ ΠΈ ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†ΠΎΠ². ΠœΡ‹ ΠΏΠΎΠΌΠΎΠΆΠ΅ΠΌ Π²Π°ΠΌ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, стоит Π»ΠΈ Π΄ΠΎΠΏΠ»Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Π·Π° Π²Ρ‹ΡΠΎΠΊΠΎΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΈΠ»ΠΈ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ ΡΡ‚ΠΎΠ»ΡŒ ΠΆΠ΅ Π²Ρ‹Π³ΠΎΠ΄Π½ΡƒΡŽ сдСлку, приобрСтая Π±ΠΎΠ»Π΅Π΅ Π΄Π΅ΡˆΠ΅Π²ΡƒΡŽ Π²Π΅Ρ‰ΡŒ.И, Ссли Π²Ρ‹ просто Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ±Π°Π»ΠΎΠ²Π°Ρ‚ΡŒ сСбя ΠΈ ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ Π½Π° ΡΠ°ΠΌΡƒΡŽ Π΄ΠΎΡ€ΠΎΠ³ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ, AliExpress всСгда позаботится ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π»ΡƒΡ‡ΡˆΡƒΡŽ Ρ†Π΅Π½Ρƒ Π·Π° свои дСньги, Π΄Π°ΠΆΠ΅ сообщая Π²Π°ΠΌ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΠ΅ Π΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒΡΡ Π½Π°Ρ‡Π°Π»Π° Ρ€Π΅ΠΊΠ»Π°ΠΌΠ½ΠΎΠΉ Π°ΠΊΡ†ΠΈΠΈ. ΠΈ оТидаСмая экономия.AliExpress гордится Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ вас всСгда Π΅ΡΡ‚ΡŒ осознанный Π²Ρ‹Π±ΠΎΡ€ ΠΏΡ€ΠΈ ΠΏΠΎΠΊΡƒΠΏΠΊΠ΅ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· сотСн ΠΌΠ°Π³Π°Π·ΠΈΠ½ΠΎΠ² ΠΈ ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†ΠΎΠ² Π½Π° нашСй ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅. Π Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΠΊΡƒΠΏΠ°Ρ‚Π΅Π»ΠΈ ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‚ качСство обслуТивания, Ρ†Π΅Π½Ρƒ ΠΈ качСство ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π° ΠΈ ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†Π°.ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π° ΠΈΠ»ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†ΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ Ρ†Π΅Π½Ρ‹, доставку ΠΈ скидки Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚, ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π² ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΈ ΠΎΡ‚Π·Ρ‹Π²Ρ‹, оставлСнныС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ. КаТдая ΠΏΠΎΠΊΡƒΠΏΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π²Π΅Π·Π΄Π½Ρ‹ΠΉ Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ ΠΈ часто ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, оставлСнныС ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΌΠΈ ΠΈΡ… ΠΎΠΏΡ‹Ρ‚ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ, поэтому Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΊΡƒΠΏΠ°Ρ‚ΡŒ с ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·. ΠšΠΎΡ€ΠΎΡ‡Π΅ говоря, Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π°ΠΌ Π½Π° слово – просто ΡΠ»ΡƒΡˆΠ°ΠΉΡ‚Π΅ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ Π½Π°ΡˆΠΈΡ… Π΄ΠΎΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ².

А Ссли Π²Ρ‹ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π½Π° AliExpress, ΠΌΡ‹ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ Π²Π°ΠΌ сСкрСт.НСпосрСдствСнно ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Π²Ρ‹ Π½Π°ΠΆΠΌΠ΅Ρ‚Π΅ Β«ΠΊΡƒΠΏΠΈΡ‚ΡŒ сСйчас» Π² процСссС Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ врСмя, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΊΡƒΠΏΠΎΠ½Ρ‹ – ΠΈ Π²Ρ‹ сэкономитС Π΅Ρ‰Π΅ большС. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ ΠΊΡƒΠΏΠΎΠ½Ρ‹ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°, ΠΊΡƒΠΏΠΎΠ½Ρ‹ AliExpress ΠΈΠ»ΠΈ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ ΠΊΡƒΠΏΠΎΠ½Ρ‹ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь, играя Π² ΠΈΠ³Ρ€Ρ‹ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ AliExpress. ВмСстС с бСсплатной доставкой, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†ΠΎΠ² Π½Π° нашСм сайтС, Π²Ρ‹ смоТСтС приобрСсти ft2232h ΠΏΠΎ самой Π²Ρ‹Π³ΠΎΠ΄Π½ΠΎΠΉ Ρ†Π΅Π½Π΅.

Π£ нас всСгда Π΅ΡΡ‚ΡŒ новСйшиС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, новСйшиС Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΠΈ ΠΈ самыС обсуТдаСмыС Π»Π΅ΠΉΠ±Π»Ρ‹.На AliExpress ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ качСство, Ρ†Π΅Π½Π° ΠΈ сСрвис всСгда Π² стандартной ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π°Ρ†ΠΈΠΈ. НачнитС самый Π»ΡƒΡ‡ΡˆΠΈΠΉ шоппинг прямо здСсь.

ИспользованиС минимального модуля FT2232H для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΠ»Π°Ρ‚Ρ‹ ESP32 – ΠžΡ‚Π»Π°Π΄ΠΊΠ°

МнС ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ, поэтому я ΠΏΠΎΠ΄ΡƒΠΌΠ°Π», Ρ‡Ρ‚ΠΎ подСлюсь Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ нашСл, Π² Π½Π°Π΄Π΅ΠΆΠ΄Π΅, Ρ‡Ρ‚ΠΎ это Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для Π΄Ρ€ΡƒΠ³ΠΈΡ….

Π£ мСня Π΅ΡΡ‚ΡŒ Mac (OSX 10.13) с platformIO (Π² VSCode, Π½ΠΎ это Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ особого значСния), ΠΏΠ»Π°Ρ‚Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ESP (Lolin32 lite, ΠΈ это Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½ΠΎ, см. НиТС) ΠΈ ΠΌΠΈΠ½ΠΈ-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ FT2232H.Π”ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ всС Ρ…ΠΎΡ€ΠΎΡˆΠΎ для запуска ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° PlatformIO, Π½ΠΎ, ΠΊ соТалСнию, вся нСобходимая информация находится Π² Ρ€Π°Π·Π½Ρ‹Ρ… мСстах, Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Google Π²Ρ‹ часто Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π½Π΅Π²Π΅Ρ€Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ.

ΠŸΠ»Π°Ρ‚Π° esp32 Ρƒ вас ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ доступ ΠΊ GPIO12, GPIO13, GPIO14 ΠΈ GPIO15.

ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ слСдуСт ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρƒ MiniModule Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Ρ‚ΠΎΠ³ΠΎ, ΠΎΡ‚ Ρ‡Π΅Π³ΠΎ питаСтся FT2232H. Если Π²Ρ‹ Π½Π΅ установитС ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΡ‹Ρ‡ΠΊΠΈ питания, ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄ΡƒΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ странныС Π²Π΅Ρ‰ΠΈ (Ρƒ мСня ΠΈΠ½ΠΎΠ³Π΄Π° появлялись Π΄Ρ€ΡƒΠ³ΠΈΠ΅ VID ΠΈ PID Π½Π° шинС USB ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ описаниС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, PID 6012 вмСсто 6010 ΠΈΠ»ΠΈ описаниС Β«ES001HΒ» ΠΈΠ»ΠΈ Β«Dual RS-232-HSΒ» вмСсто Β«FT2232H MiniModuleΒ».

ΠŸΡ€ΠΎΡ‡Ρ‚ΠΈΡ‚Π΅ тСхничСскоС описаниС ΠΌΠΈΠ½ΠΈ-модуля, https://www.ftdichip.com/Support/Documents/DataSheets/Modules/DS_FT2232H_Mini_Module.pdf, особСнно Π±ΠΈΡ‚ Ρ€Π°Π·Π΄Π΅Π»Π° 3 Β«ΠŸΠΈΡ‚Π°Π½ΠΈΠ΅ ΠΎΡ‚ ΡˆΠΈΠ½Ρ‹ USBΒ». И Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ располоТСниС Ρ€Π°Π·ΡŠΠ΅ΠΌΠΎΠ² (CN1 ΠΈ CN3) ΠΈ ΠΈΡ… Π½ΠΎΠΌΠ΅Ρ€Π° ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ². Π’Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ 2 ΠΏΠ΅Ρ€Π΅ΠΌΡ‹Ρ‡ΠΊΠΈ Π² ΠΌΠΈΠ½ΠΈΠΌΠΎΠ΄ΡƒΠ»ΡŒ:

  • CN3, ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ 1 – CN3, ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ 3. Он слуТит для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ питания USB ΠΊ MiniModule VCC.
  • Π’Ρ‹Π²ΠΎΠ΄ 1 CN2 Π½Π° Π²Ρ‹Π²ΠΎΠ΄ 11 CN2 (Π½ΠΎ Π΅ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹). Π­Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ MiniModule 3.3 Π’ ΠΊ Π½Π°ΠΏΡ€ΡΠΆΠ΅Π½ΠΈΡŽ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° FT2232H.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Π±Ρ‹Π»ΠΎ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Minimodule Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ Π½Π° Mac, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π² зависимости ΠΎΡ‚ вСрсии OSX, которая Ρƒ вас Π΅ΡΡ‚ΡŒ, ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΅Π΅, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ USB, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°ΡŽΡ‚ Minimodule ΠΈ Π΄Π΅Π»Π°ΡŽΡ‚ Π΅Π³ΠΎ нСдоступным для ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° platformIO.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΠΌ придСтся ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ /Library/Extensions/FTDIUSBSerialDriver.kext . Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π² Google запрос Β«ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Mac ftdiΒ» ΠΈ посмотритС, какая ΠΈΠ· ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ Π²Π°ΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚.Если Π²Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚Π΅ MiniModule ΠΈ ls -l /dev/tty.* ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ появился Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚, Π²Ρ‹ Π΅Ρ‰Π΅ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡƒΠ΄Π°Π»ΠΈΠ»ΠΈ всС старыС Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹.

Если Π½Π° этом этапС всС Π² порядкС, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ MiniModule, Ссли Π·Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π² Apple Menu β†’ Об этом Mac β†’ БистСмный ΠΎΡ‚Ρ‡Π΅Ρ‚ β†’ USB . Он Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ ΠΊΠ°ΠΊ Β«FT2232H MiniModuleΒ», ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° 0x6010, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ поставщика 0x0403.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ MiniModule ΠΊ вашСй ΠΏΠ»Π°Ρ‚Π΅ esp32.Π’Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ GND (сигнальноС Π·Π°Π·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅), EN (Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ являСтся Π‘Π‘Π ΠžΠ‘ΠžΠœ, Π½ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ Π½ΠΈΠ·ΠΊΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ) ΠΈ 4 сигнала JTAG TCK , TDI , TDO ΠΈ TMS :

  • GND – это просто: ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ Minimodule CN2-2 ΠΊ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρƒ зазСмлСния Π½Π° вашСй ΠΏΠ»Π°Ρ‚Π΅ esp32.
  • EN Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π»Π΅Π³ΠΊΠΎ Π½Π°ΠΉΡ‚ΠΈ Π½Π° вашСй ΠΏΠ»Π°Ρ‚Π΅ esp32, Π½ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ RST ' ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π² этом Ρ€ΠΎΠ΄Π΅. Поиск ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΈΠ½Π° MiniModule для Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ большС усилий, Π° прСдлоТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π² Google ΠΈ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ PlatformIO, вводят Π² Π·Π°Π±Π»ΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅.ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ openocd minimodule (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ находится Π³Π΄Π΅-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ .platformio / packages / tool-openocd-esp32 / share / openocd / scripts / interface / ftdi / minimodule.cfg . Π’Ρ‹ ΠΈΡ‰Π΅Ρ‚Π΅ сигнал nSRST . На ΠΌΠΎΠ΅ΠΌ вСрсия platformio / openocd ΠΎΠ½ Π±Ρ‹Π» ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΊ FT2232H AD5, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠΌ MiniModule CN2-13.
  • MiniModule CN2-7 ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ GPIO13 (имя JTAG TCK , ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ FT2232H AD0 )
  • MiniModule CN2-10 ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ GPIO12 (имя JTAG TDI , ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ FT2232H AD1 )
  • MiniModule CN2-9 ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ GPIO15 (имя JTAG TDO , ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ FT2232H AD2 )
  • MiniModule CN2-12 ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ GPIO14 (имя JTAG TMS , ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ FT2232H AD3 )

А Π²ΠΎΡ‚ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ (Ссли Π½Π΅ Π²Ρ‹ΠΈΠ³Ρ€Π°Π΅Ρ‚Π΅ ΠΏΡ€ΠΈΠ·Ρ‹, Π½ΠΎ это ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сигналы):

Настройка ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ USB-прСобразоватСля FT2232H Π½Π° ΠΌΠΎΠ΄ΡƒΠ»Π΅ Saturn Spartan 6

ΠœΠΎΠ΄ΡƒΠ»ΡŒ

Saturn Spartan 6 FPGA ΠΈΠΌΠ΅Π΅Ρ‚ встроСнный FT2232H USB для ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ устройства для облСгчСния связи с хостом. FT2232H ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° ΠΊΠ°Π½Π°Π»Π° ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ называСтся ΠΊΠ°Π½Π°Π»ΠΎΠΌ A ΠΈ ΠΊΠ°Π½Π°Π»ΠΎΠΌ B. Π­Ρ‚ΠΈ ΠΊΠ°Π½Π°Π»Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ½ΠΎΠ³ΠΎΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ USB, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ нСзависимо Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΡ€Ρ‚Ρ‹ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ². Помимо ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ интСрфСйса Π² стилС RS232, FT2232H ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ I2C, SPI, JTAG ΠΈ Ρ‚. Π”.

Канал A FT2232H Π½Π° ΠΌΠΎΠ΄ΡƒΠ»Π΅ Saturn Spartan 6 FPGA ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для программирования Ρ„Π»ΡΡˆ-памяти SPI. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ваш Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π½Π° ΠΏΠ»Π°Ρ‚Ρƒ Π±Π΅Π· использования ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ кабСля JTAG. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π΄ΠΈΠ·Π°ΠΉΠ½ записываСтся нСпосрСдствСнно Π½Π° Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Ρ„Π»ΡΡˆ-ΠΏΠ°ΠΌΡΡ‚ΡŒ SPI, ΠΎΠ½Π° остаСтся Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π°ΠΆΠ΅ послС ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ питания.Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ настройки Π² настоящСС врСмя Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ SRAM FPGA Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ.

Канал B FT2232H ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΊ FPGA Ρ‡Π΅Ρ€Π΅Π· нСсколько Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π²Ρ…ΠΎΠ΄ΠΎΠ²-Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠ². Π­Ρ‚ΠΎ позволяСт ΠŸΠ›Π˜Π‘ Π»Π΅Π³ΠΊΠΎ ΠΈ эффСктивно ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ с Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ. Бвязь ΠΌΠ΅ΠΆΠ΄Ρƒ FPGA ΠΈ FT2232H ΠΈΠΌΠ΅Π΅Ρ‚ ΡˆΠΈΡ€ΠΈΠ½Ρƒ 13 Π±ΠΈΡ‚. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ любой ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² для связи FPGA <-> FT2232H.

  • ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚ Π² стилС RS232
  • Π‘ΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½Ρ‹ΠΉ 245 ΡΡ‚ΠΈΠ»ΡŒ FIFO
  • Асинхронный Ρ‚ΠΈΠΏ 245 FIFO
  • SPI
  • I2C
  • JTAG
  • И ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ с использованиСм интСрфСйса bit bang

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠ°Π½Π°Π» A ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для программирования SPI, Π½Π΅ рСкомСндуСтся ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π° этом ΠΊΠ°Π½Π°Π»Π΅.Но ΠΊΠ°Π½Π°Π» B ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π² соотвСтствии с вашими потрСбностями. Π’ этом ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠΌ руководствС Π²Ρ‹ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅ΡΡŒ с основами настройки FT2232H с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ FT_Prog. Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ ΠΈ установитС Ρ„ΠΎΡ€ΠΌΡƒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ FT_Prog здСсь.

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΌΡ‹ смоТСм Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π°Π΄ устройством FT2232H, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ систСму, ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ список всСх устройств FTDI ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ устройство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Saturn. Для этого запуститС ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ, Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡ΠΎΠΊ Π»ΡƒΠΏΡ‹ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов. Если Saturn ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΊ ПК, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ Π² Π΄Π΅Ρ€Π΅Π²Π΅ устройств Π² Π»Π΅Π²ΠΎΠΉ части ΠΎΠΊΠ½Π°. Если Π² спискС ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ устройства, Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ устройство ΠΈ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ ΠΎΠ΄Π½ΠΎ с описаниСм ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Β«ΠœΠΎΠ΄ΡƒΠ»ΡŒ Saturn Spartan 6 FPGAΒ», ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ Π½ΠΈΠΆΠ΅.

На этом этапС ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΊΠ°Π½Π°Π» B. ЕдинствСнноС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ здСсь, это Ρ‚ΠΈΠΏ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для этого ΠΊΠ°Π½Π°Π»Π°. Как Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ Π½ΠΈΠΆΠ΅, FT2232H ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с двумя Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ², Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ COM-ΠΏΠΎΡ€Ρ‚ΠΎΠΌ ΠΈ D2XX. Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ VCP сдСлаСт FT2232H ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌ Π½Π° стандартный ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΊ ПК, ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ-эмулятор ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°, Ρ‚Π°ΠΊΡƒΡŽ ​​как Teraterm ΠΈΠ»ΠΈ HyperTerminal, для связи с устройством.Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ запускС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ Linux Π½Π° Saturn. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях этот ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ интСрфСйс. Но нСдостатком являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ интСрфСйс Π² стилС RS232 для связи ΠΌΠ΅ΠΆΠ΄Ρƒ FT2232H ΠΈ FPGA, ΠΈ это ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ мСдлСнная Ρ„ΠΎΡ€ΠΌΠ° связи.

Для использования любого Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΊΠ°Π½Π°Π» для использования Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° D2XX. ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΊΠ°Π½Π°Π» настроСн для использования D2XX, ΠΊ Π½Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ D2XX API, прСдоставляСмого FTDI, ΠΊΠ°ΠΊ описано Π² РуководствС программиста D2XX.Π‘Π°ΠΌΡ‹ΠΉ быстрый Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ связи – ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ 245FIFO. Π­Ρ‚ΠΎΡ‚ интСрфСйс ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ 8 Π»ΠΈΠ½ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠ°Ρ€Ρƒ Π»ΠΈΠ½ΠΈΠΉ управлСния для пСрСмСщСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ FT2232H ΠΈ FPGA. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ FTDI для получСния Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± использовании Ρ€Π΅ΠΆΠΈΠΌΠ° 245FIFO. На ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅ΠΆΠΈΠΌΠ°ΠΌΠΈ VCP ΠΈ D2XX.

ПослС Π²Ρ‹Π±ΠΎΡ€Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠΉΡ‚Π΅ Π½ΠΎΠ²ΡƒΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ устройства, Ρ‰Π΅Π»ΠΊΠ½ΡƒΠ² нСбольшой Π·Π½Π°Ρ‡ΠΎΠΊ ΠΌΠΎΠ»Π½ΠΈΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π² XML-Ρ„Π°ΠΉΠ», Π½Π°ΠΆΠ°Π² ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒΒ» Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов.ΠŸΠ΅Ρ€Π΅Π΄ внСсСниСм ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ рСкомСндуСтся ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

FT2232H ΠΈ FT4232H – 5-Π΅ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅ USB-устройств FTDI | FTDI

Мини-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ FTDI FT2232H ΠΈ ΠΌΠΈΠ½ΠΈ-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ FT4232H – это ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€Π½Ρ‹Π΅ высокоскоростныС ΠΎΡ†Π΅Π½ΠΎΡ‡Π½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ USB 2.0, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π½ΠΎΠ²Ρ‹Π΅ высокоскоростныС устройства FT2232H ΠΈ FT4232H USB 2.0, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ настроСны Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ стандартныС ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ»ΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Π΅ интСрфСйсы. Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ UART ΠΈΠ»ΠΈ FIFO. Π Π°Π·ΠΌΠ΅Ρ€ ΠΏΠ΅Ρ‡Π°Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ‹ модуля составляСт всСго 36 ΠΌΠΌ (Π”) x 30 ΠΌΠΌ (Π¨) x 12 ΠΌΠΌ (Π’, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ Ρ€Π°Π·ΡŠΠ΅ΠΌΠ°).ΠœΠ½ΠΎΠ³ΠΎΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΡŒΠ½Ρ‹Π΅ синхронныС ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ (MPSSE) способны Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π΄ΠΎ 30 ΠœΠ±ΠΈΡ‚ / с ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π³ΠΈΠ±ΠΊΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ интСрфСйсов. Π’Π΅ΡΡŒ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» USB находится Π½Π° микросхСмС со встроСнным рСгулятором LDO ΠΈ PPL. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΈΠ½ΠΈ-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ FTDI обСспСчиваСт доступ ΠΊΠΎ всСм Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ сигналам Ρ‡Π΅Ρ€Π΅Π· Π΄Π²Π° 26-ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½Ρ‹Ρ… (2 ряда, шаг 0,1 дюйма) ΡˆΡ‚Π΅ΠΊΠ΅Ρ€Π½Ρ‹Ρ… Ρ€Π°Π·ΡŠΠ΅ΠΌΠΎΠ² Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 32,9 ΠΌΠΌ x 5,08 ΠΌΠΌ. Π”Π»ΠΈΠ½Π° Π²Ρ‹Π²ΠΎΠ΄Π° составляСт 6 ΠΌΠΌ. Π­Ρ‚ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ быстро ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ устройства FT2232H ΠΈ FT4232H. ΠΈ Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ собствСнному Π΄ΠΈΠ·Π°ΠΉΠ½Ρƒ.

Архивная ΡΡ‚Π°Ρ‚ΡŒΡ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° 21.05.2009. НСкоторая информация ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅ΠΉ ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΡΠ²ΡΠΆΠΈΡ‚Π΅ΡΡŒ с Π½Π°ΠΌΠΈ Π² случаС заинтСрСсованности.

Мини-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ FT2232H B
  • Π”Π²ΠΎΠΉΠ½ΠΎΠΉ высокоскоростной USB-ΠΏΠΎΡ€Ρ‚ для ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΉ микросхСмы UART / FIFO / MPSSE
  • ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ Π΄Π²Π° нСзависимых настраиваСмых интСрфСйса
  • 4K-Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΉ Π±ΡƒΡ„Π΅Ρ€ Π΄Π°Π½Π½Ρ‹Ρ… TX ΠΈ Rx Π½Π° интСрфСйс
  • Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (ΠΎΡ‚ -40ΒΊC Π΄ΠΎ + 85ΒΊC)

Мини-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ FT2232H – это ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ USB-to-serial / FIFO ΠΈΠ· Π»ΠΈΠ½Π΅ΠΉΠΊΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² FTDI, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ высокоскоростной Π΄Π²ΡƒΡ…ΠΏΠΎΡ€Ρ‚ΠΎΠ²Ρ‹ΠΉ мостовой Ρ‡ΠΈΠΏ FT2232H USB, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ всС сигналы ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ USB.Он идСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ†Π΅Π»Π΅ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ быстро ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ добавлСния USB Π² Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

FT2232H Π½Π° ΠΌΠΈΠ½ΠΈ-ΠΌΠΎΠ΄ΡƒΠ»Π΅ – это 5-Π΅ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅ USB-устройств FTDI. FT2232H – это высокоскоростной USB 2.0 (480 ΠœΠ±ΠΈΡ‚ / с) для UART / MPSSE IC. Устройство ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° интСрфСйса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ для асинхронного ΠΈΠ»ΠΈ синхронного ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ интСрфСйса FIFO. Π”Π²Π° ΠΊΠ°Π½Π°Π»Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ нСзависимо настроСны для использования ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° MPSSE. Π­Ρ‚ΠΎ позволяСт Π΄Π²ΡƒΠΌ ΠΏΠΎΡ€Ρ‚Π°ΠΌ FT2232H Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ нСзависимо ΠΊΠ°ΠΊ ΠΏΠΎΡ€Ρ‚Ρ‹ UART / Bit-Bang ΠΈΠ»ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ MPSSE, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ для эмуляции JTAG, SPI, I2C, Bit-bang ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… синхронных ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅ΠΆΠΈΠΌΠΎΠ².

Мини-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ FT2232H соСдиняСт сигналы микросхСмы FT2232H с двумя 26-ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½Ρ‹ΠΌΠΈ двухрядными Ρ€Π°Π·ΡŠΠ΅ΠΌΠ°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Ρ€Π°Π·ΡŠΠ΅ΠΌΡ‹ Ρ€Π°Π·ΡŠΠ΅ΠΌΠΎΠ² ΠΏΠ΅Ρ‡Π°Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ‹ ΠΈ Π»Π΅Π½Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ ΠΊΠ°Π±Π΅Π»ΠΈ.

Мини-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ FT4232H
  • Π§Π΅Ρ‚Ρ‹Ρ€Π΅ высокоскоростных ΠΏΠΎΡ€Ρ‚Π° USB для ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΉ микросхСмы UART / MPSSE
  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΊΠ°Π½Π°Π»Π°
  • Π‘ΡƒΡ„Π΅Ρ€ Π΄Π°Π½Π½Ρ‹Ρ… TX ΠΈ Rx Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 2 ΠšΠ±Π°ΠΉΡ‚
  • Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (ΠΎΡ‚ -40ΒΊC Π΄ΠΎ + 85ΒΊC)

Мини-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ FT4232H – это ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ USB-serial / MPSSE ΠΈΠ· Π»ΠΈΠ½Π΅ΠΉΠΊΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² FTDI, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ высокоскоростной Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…ΠΏΠΎΡ€Ρ‚ΠΎΠ²Ρ‹ΠΉ мостовой Ρ‡ΠΈΠΏ FT4232H USB, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ всС сигналы ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ USB.Он идСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ†Π΅Π»Π΅ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ быстро ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ добавлСния USB Π² Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

FT4232H Π½Π° ΠΌΠΈΠ½ΠΈ-ΠΌΠΎΠ΄ΡƒΠ»Π΅ – это 5-Π΅ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅ USB-устройств FTDI. FT4232H – это высокоскоростной USB 2.0 (480 ΠœΠ±ΠΈΡ‚ / с) для UART / MPSSE IC. Устройство ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ интСрфСйса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ для асинхронного ΠΈΠ»ΠΈ синхронного ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ интСрфСйса FIFO. Π”Π²Π° ΠΈΠ· Π½ΠΈΡ… ΠΈΠΌΠ΅ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ нСзависимо Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ MPSSE. Π­Ρ‚ΠΎ позволяСт FT4232H Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π΄Π²Π° ΠΏΠΎΡ€Ρ‚Π° UART / Bit-Bang плюс Π΄Π²Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° MPSSE, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для эмуляции JTAG, SPI, I2C, Bit-bang ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… синхронных ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅ΠΆΠΈΠΌΠΎΠ².

Мини-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ FT4232H соСдиняСт сигналы микросхСмы FT4232H с двумя 26-ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½Ρ‹ΠΌΠΈ двухрядными Ρ€Π°Π·ΡŠΠ΅ΠΌΠ°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Ρ€Π°Π·ΡŠΠ΅ΠΌΡ‹ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² ΠΏΠ΅Ρ‡Π°Ρ‚Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚ ΠΈ Π»Π΅Π½Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ ΠΊΠ°Π±Π΅Π»ΠΈ.

ΠžΠ±Π»Π°ΡΡ‚ΠΈ примСнСния
  • ΠžΠ΄Π½ΠΎΠΊΡ€ΠΈΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ USB-ΠΏΠΎΡ€Ρ‚ Π½Π° Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΊΠ°Π½Π°Π»Π° UART (RS232, RS422 ΠΈΠ»ΠΈ RS485) ΠΈΠ»ΠΈ интСрфСйсы Bit-Bang.
  • ΠžΠ΄Π½ΠΎΠΊΡ€ΠΈΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ USB Π½Π° 2 ΠΊΠ°Π½Π°Π»Π° JTAG плюс 2 UART.
  • ΠžΠ΄Π½ΠΎΠΊΡ€ΠΈΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ USB Π½Π° 1 ΠΊΠ°Π½Π°Π» JTAG плюс 3 UART.
  • ΠžΠ΄Π½ΠΎΠΊΡ€ΠΈΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ USB Π½Π° 1 ΠΊΠ°Π½Π°Π» SPI плюс 3 UART.
  • ΠžΠ΄Π½ΠΎΠΊΡ€ΠΈΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ USB Π½Π° 2 ΠΊΠ°Π½Π°Π»Π° SPI плюс 2 UART.
  • ΠžΠ΄Π½ΠΎΠΊΡ€ΠΈΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ USB Π½Π° 2 ΠΊΠ°Π½Π°Π»Π° Bit-Bang плюс 2 UART.
  • ΠžΠ΄Π½ΠΎΠΊΡ€ΠΈΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ USB Π½Π° 1 ΠΊΠ°Π½Π°Π» SPI, 1 ΠΊΠ°Π½Π°Π» JTAG ΠΈ 2 ΠΏΠΎΡ€Ρ‚Π° UART.
  • ΠžΠ΄Π½ΠΎΠΊΡ€ΠΈΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ USB Π½Π° 2 ΠΊΠ°Π½Π°Π»Π° I2C плюс 2 UART.
  • ΠœΠ½ΠΎΠ³ΠΎΡ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ 4 ΠΊΠ°Π½Π°Π»ΠΎΠ².
  • ОбновлСниС ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹Ρ… устройств Π΄ΠΎ USB.
  • USB-ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹, ΠΌΠΎΠ΄Π΅Ρ€Π½ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Π½Π° мСстС.
  • ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ с Π³Π°Π»ΡŒΠ²Π°Π½ΠΈΡ‡Π΅ΡΠΊΠΎΠΉ развязкой ΠΈ интСрфСйсом USB.
  • Π‘ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΈ бСспроводной Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ USB-ΠΊΠ°Π±Π΅Π»ΠΈ ΠΈ интСрфСйсы для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ….
  • ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² / PLD / FPGA ΠΊ USB.
  • USB-Π°ΡƒΠ΄ΠΈΠΎ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π²ΠΈΠ΄Π΅ΠΎΠ΄Π°Π½Π½Ρ‹Ρ… с Π½ΠΈΠ·ΠΊΠΎΠΉ пропускной ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒΡŽ.
  • КПК для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… USB.
  • USB-считыватСли смарт-ΠΊΠ°Ρ€Ρ‚.
  • USB-ΠΏΡ€ΠΈΠ±ΠΎΡ€Ρ‹.
  • ΠŸΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· USB.
  • Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ USB MP3-ΠΏΠ»Π΅Π΅Ρ€Π°.
  • Устройство чтСния / записи Ρ„Π»ΡΡˆ-ΠΊΠ°Ρ€Ρ‚ USB.
  • ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ приставка – интСрфСйс USB.
  • USB-интСрфСйс Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹.
  • USB-считыватСли ΡˆΡ‚Ρ€ΠΈΡ…-ΠΊΠΎΠ΄ΠΎΠ².

НС пропуститС эти ΡΡ‚Π°Ρ‚ΡŒΠΈ

Π’Π°ΠΌ нравятся наши ΡΡ‚Π°Ρ‚ΡŒΠΈ? НС пропуститС Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ…! Π’Π°ΠΌ Π½Π΅ ΠΎ Ρ‡Π΅ΠΌ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒΡΡ, ΠΌΡ‹ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΡƒΠ΅ΠΌ Π²Π°ΠΌ доставку.

МСня интСрСсуСт

Π”Π°Ρ‚Π° опубликования 21.05.2009.
ΠŸΡ€ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ ΡΡ‚Π°Ρ‚ΡŒΠΈ Π½Π° своСм Π²Π΅Π±-сайтС ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Π΅Π΅ источник: https://www.soselectronic.com/articles/ftdi/ftdi-ft2232h-and-ft4232h-ftdi-s-5th-generation-of-usb-devices- 711

I2C ΠΈ Π±ΠΎΠ»Π΅Π΅ с ΠΌΠΈΠ½ΠΈ-ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ FTDI FT2232H ΠΈ Arduino | by Ben Gillett

ВзаимодСйствуйтС с ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ I2C, SPI ΠΈΠ»ΠΈ bit-bang с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ модуля FTDI FT2232H Mini Π² Python3 ΠΈ протСстируйтС Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Arduino!

Иногда Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π» ΠΌΠ΅ΠΆΠ΄Ρƒ вашим ПК ΠΈ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΌ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌ устройством, Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΈΠ»ΠΈ FPGA. Π­Ρ‚ΠΈ устройства ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Β«Ρ€Π°Π·Π³ΠΎΠ²Π°Ρ€ΠΈΠ²Π°ΡŽΡ‚Β» ΠΏΠΎ Ρ‚Π°ΠΊΠΈΠΌ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌ, ΠΊΠ°ΠΊ I2C ΠΈ SPI, Π½ΠΎ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ситуациях Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°ΠΆΠ΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π±ΠΈΡ‚Ρ‹ (Ρ‚Π°ΠΊΠΆΠ΅ извСстныС ΠΊΠ°ΠΊ Β«Π±ΠΈΡ‚-бэнг»). НСкоторыС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ АЦП Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· I2C, Π½ΠΎ фактичСскиС Π΄Π°Π½Π½Ρ‹Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ Π½Π°Π±ΠΎΡ€ΠΎΠ² 8-Π±ΠΈΡ‚Π½Ρ‹Ρ… слов.

Π£ вас ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ соблазн Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Arduino) со встроСнной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ USB. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΊΡƒ, Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ логичСский ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ, Π° Π·Π°Ρ‚Π΅ΠΌ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΈΡ… ΠΏΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΊΠ°Π½Π°Π»Ρƒ, Π° Π·Π°Ρ‚Π΅ΠΌ Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ…. с Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны … ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ быстро ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΈΠ· 10-строчного быстрого Π²Ρ‹Π·ΠΎΠ²Π° Π² ΠΊΠΎΡˆΠΌΠ°Ρ€ с Ρ‡Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎ Ρ€Π°Π·Π²ΠΈΡ‚Ρ‹ΠΌ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ.

Π€ΠΎΡ‚ΠΎ Π£ΠΌΠ±Π΅Ρ€Ρ‚ΠΎ Π½Π° Unsplash

К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, Π΅ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ чтСния Π΄Π°Π½Π½Ρ‹Ρ… прямо ΠΈΠ· этих Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Π’Π²Π΅Π΄ΠΈΡ‚Π΅ FTDI: (Future Technology Devices International). Π­Ρ‚Π° компания ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ нСсколько Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ для этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ (ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΎΠΆΠ΅). ΠœΠΈΠΊΡ€ΠΎΡΡ…Π΅ΠΌΡ‹ FTDI ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΠΎΡ‡Ρ‚ΠΈ Π²ΠΎ всСх ΠΏΠ»Π°Ρ‚Π°Ρ… Arduino (ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΈΠ»ΠΈ Π² Π²ΠΈΠ΄Π΅ ΠΊΠ»ΠΎΠ½ΠΎΠ²), Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΡ… устройствах. Π˜Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ простоС: ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΈ Π½Π°Π±ΠΎΡ€ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² для управлСния всСми вашими Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌΠΈ Π½Π° высоком ΡƒΡ€ΠΎΠ²Π½Π΅.Π₯отя этот ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π½Π΅ ΠΈΠ΄Π΅Π°Π»Π΅Π½ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ситуации, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ Π²Π°ΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, особСнно для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ: ΠΌΡ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΌΠΈΠ½ΠΈ-ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ FT2232H (доступСн ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡ€Ρ‹Π² – ΡƒΡ€Π°!) И смодСлируСм Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Arduino. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, вашС ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Ρ…ΡƒΠΆΠ΅, Ρ‡Π΅ΠΌ Arduino: Π½Π΅Ρ‚ лСгкодоступного USB-Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄Π°ΠΆΠ΅ Π½Π΅Ρ‚ доступа для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. Но ΠΌΡ‹ притворимся для этого ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°.

НачнСм с простого ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.Наш Π²ΠΎΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹ΠΉ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ I2C IO, Π° Ρ‚Π°ΠΊΠΆΠ΅ нСсколько полос для прямого чтСния слов. Π― Π±ΡƒΠ΄Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Arduino Due, ΠΎΠ΄Π½Ρƒ ΠΈΠ· Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… шин I2C ΠΈ нСсколько Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π²Ρ‹Π²ΠΎΠ΄Π°. ΠœΠΎΠ΄ΡƒΠ»ΡŒ FTDI Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΊ I2C Π² соотвСтствии с Π΅Π³ΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π΅Π³ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² Π² качСствС Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… Π²Ρ…ΠΎΠ΄ΠΎΠ². Arduino Due Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ 5 Π’, Π° Ρ‡ΠΈΠΏ FTDI ΠΈΠΌΠ΅Π΅Ρ‚ Π»ΠΎΠ³ΠΈΠΊΡƒ 3,3 Π’, Π½ΠΎ устойчив ΠΊ 5 Π’, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ это Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ.

Π’ тСхничСском описании описано, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ микросхСму FTDI, Π½ΠΎ я ΠΈΠ·Π²Π»Π΅ΠΊ для вас Π²Π°ΠΆΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ здСсь.Π’Π°ΠΌ понадобится ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ ΠΎΡ‚ ΡˆΠΈΠ½Ρ‹ (ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ ΠΎΡ‚ USB). Нам понадобится 3 ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° для I2C: Π΄Π²Π° для Π΄Π°Π½Π½Ρ‹Ρ… ( SDA ) ΠΈ ΠΎΠ΄ΠΈΠ½ для часов ( SCL ). ΠœΠΈΠΊΡ€ΠΎΡΡ…Π΅ΠΌΠ° FTDI Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ «основноС» устройство Π½Π° шинС. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ любой ΠΈΠ· ΠΊΠ°Π½Π°Π»ΠΎΠ² FT2232H для I2C, Π½ΠΎ я Π²Ρ‹Π±Ρ€Π°Π» ΠΊΠ°Π½Π°Π» B – ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎΠ± этом скоро. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΌΠΈΠ½ΠΈ-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ FT2232H ΠΈ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΅Π³ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с I2C, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Power
FTDI CN3–1 β†’ FTDI CN3–3
(любой ΠΈΠ·) FTDI CN2–1, CN2–3 ΠΈ CN2–5 β†’ (всС) FTDI CN2–11, CN2–21, CN3–12 ΠΈ CN3–22
I2C
SDA: FTDI CN3–24 ΠΈ CN3–25 β†’ Arduino SDA (D20 Π² блиТайшСС врСмя). )
SCL: FTDI CN3–26 β†’ Arduino SCL (D21 Π² блиТайшСС врСмя)

ОбС Π»ΠΈΠ½ΠΈΠΈ I2C Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ установлСны Π½Π° высокий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ (3.3 Π’ Ρ‡Π΅Ρ€Π΅Π· рСзистор 2 кОм ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΉ), Π½ΠΎ Ρƒ Arduino Π΅ΡΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ подтяТки Π½Π° своСй шинС I2C, поэтому Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒΡΡ ΠΎΠ± этом. Π’Π°ΠΊΠΆΠ΅ рСкомСндуСтся провСсти Π·Π°Π·Π΅ΠΌΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя устройствами.

Мини-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ FT2232H

Для Π»ΠΈΠ½ΠΈΠΉ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡˆΠΈΠ½Ρƒ AD Π½Π° CN2. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ AD0 – AD7 ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹ΠΌ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π°ΠΌ Π½Π° Arduino (Π½Π° Due ΠΈΡ… ΠΌΠ½ΠΎΠ³ΠΎ). Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ я Π±ΡƒΠ΄Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ 2–9 Arduino. (ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΊΠ°ΠΊ Π·Π΅Ρ€ΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ для Ρ†Π΅Π»Π΅ΠΉ кодирования…) Π˜ΡΡ…ΠΎΠ΄Ρ ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… FT2232H, наши ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ для Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅:

FTDI AD0 = CN2–7 β†’ Arduino Pin 9
FTDI AD1 = CN2–10 β†’ Arduino Pin 8
FTDI AD2 = CN2–9 β†’ Π²Ρ‹Π²ΠΎΠ΄ 7 Arduino
FTDI AD3 = CN2–12 β†’ Π²Ρ‹Π²ΠΎΠ΄ 6 Arduino
FTDI AD4 = CN2–14 β†’ Π²Ρ‹Π²ΠΎΠ΄ 5 Arduino
FTDI AD5 = CN2–13 β†’ Π²Ρ‹Π²ΠΎΠ΄ 4 Arduino
FTDI AD6 = CN2 –16 β†’ Π’Ρ‹Π²ΠΎΠ΄ 3 Arduino
FTDI AD7 = CN2–15 β†’ Π’Ρ‹Π²ΠΎΠ΄ 2 Arduino

ΠŸΠΎΠ·Π°Π±ΠΎΡ‚ΠΈΠ²ΡˆΠΈΡΡŒ ΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΊΠ΅, ΠΌΡ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ Π²Π·Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΊΠΎΠ΄.Π’ ΠΌΠΈΡ€Π΅ Arduino ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΡƒΠΏΡ€ΠΎΡ‰Π°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ: Π΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒΡΡ Π±Π°ΠΉΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· I2C (ΠΊΠ°ΠΊ Β«Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½ΠΎΠ΅Β» устройство I2C), Π° ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π΅Π³ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ, ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π±Π°ΠΉΡ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΠΏΠΎ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹ΠΌ линиям, Ρ€Π°Π·Π±ΠΈΠ² Π±Π°ΠΉΡ‚ Π½Π° Π΅Π³ΠΎ Π±ΠΈΡ‚Ρ‹ ΠΈ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΡ… Π½Π° ΡˆΡ‚ΠΈΡ„Ρ‚Ρ‹.

Π§Ρ‚ΠΎ касаСтся ΠΊΠΎΠ΄Π° Python, всС Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ слоТнСС. Π”Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ FTDI Π±Ρ‹Π²Π°ΡŽΡ‚ Π΄Π²ΡƒΡ… Π²ΠΈΠ΄ΠΎΠ²: VCP (Β«Virtual Com PortΒ») ΠΈ D2XX. VCP – это Π±ΠΎΠ»Π΅Π΅ простой способ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ: устройства FTDI ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ устройства с ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠΎΡ€Ρ‚ΠΎΠΌ, Π° ОБ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ прСдоставляСт ΠΈΡ… ΠΊΠ°ΠΊ устройства COM / TTY.Π­Ρ‚ΠΎ Ρ€Π΅ΠΆΠΈΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Arduinos (Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв). Однако для выполнСния Π±ΠΎΠ»Π΅Π΅ слоТных Π²Π΅Ρ‰Π΅ΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ I2C ΠΈ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ², Π½Π°ΠΌ понадобятся Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ D2XX.

FTD2232H ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Β«ΠΊΠ°Π½Π°Π»Π°Β», A ΠΈ B , ΠΈ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ нСзависимо Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ… (ΠΏΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ). Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‚Π°ΠΊΠΈΡ… Π²Π΅Ρ‰Π΅ΠΉ, ΠΊΠ°ΠΊ SPI ΠΈ I2C, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ°Π½Π°Π» находился Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ MPSSE (Β«ΠœΠ½ΠΎΠ³ΠΎΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΡŒΠ½Ρ‹ΠΉ синхронный ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΒ»). Для ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ³ΠΎ Π²Π·Ρ€Ρ‹Π²Π° ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°Π½Π°Π» Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ³ΠΎ Π²Π·Ρ€Ρ‹Π²Π° . Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ… Π² устройствах FTDI ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с Руководством ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ FTDI D2XX.(Π’ частности, Π½Π° страницС 55). ΠœΡ‹ помСстим ΠΊΠ°Π½Π°Π» B Π² Ρ€Π΅ΠΆΠΈΠΌ MPSSE для I2C, Π° ΠΊΠ°Π½Π°Π» A Π² Ρ€Π΅ΠΆΠΈΠΌ Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ³ΠΎ Π²Π·Ρ€Ρ‹Π²Π° для Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ.

Π˜Ρ‚Π°ΠΊ, Π½Π°Ρ‡Π½Π΅ΠΌ с Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² D2XX ΠΈ MPSSE. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΡ… для своСй систСмы Π½Π° сайтС FTDI. Π•ΡΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ установщик, Π½ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ DLL, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ zip-Π°Ρ€Ρ…ΠΈΠ² ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚. Нам Ρ‚Π°ΠΊΠΆΠ΅ понадобится DLL Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° MPSSE ΠΎΡ‚ΡΡŽΠ΄Π°. Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ ΠΈΡ… ΠΈ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ ftd2xx.dll ΠΈ libMPSSE.dll (ΠΈΠ»ΠΈ эквивалСнтныС Ρ„Π°ΠΉΠ»Ρ‹ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для Linux / Mac, Ссли Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ UNIX).

ΠœΡ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠΌ эти Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ DLL Π² Python, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ctypes . ВсСгда ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚: fdt2xx.h ΠΈ libMPSSE_i2c.h ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· содСрТит ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ (находится Π² Π°Ρ€Ρ…ΠΈΠ²Π΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ). ΠžΡΡ‚Π΅Ρ€Π΅Π³Π°ΠΉΡ‚Π΅ΡΡŒ индСксов ΠΊΠ°Π½Π°Π»ΠΎΠ² Π½Π° FT2232H! На ΠΌΠΎΠ΅ΠΌ устройствС ΠΊΠ°Π½Π°Π» A – это индСкс 1 , Π° ΠΊΠ°Π½Π°Π» B – это индСкс 0 … yikes! Π£ FTDI Π΅ΡΡ‚ΡŒ нСсколько ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² (Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Β«Π·Π°ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ ΠΏΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡŽΒ»), ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΡ…, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ FT2232 ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ микросхСмы.ВзглянитС Π½Π° AN232R ΠΈ AN2232C.

Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ создадим нСсколько классов Python, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ. Π― ΠΈΠ·Π²Π»Π΅ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹ состояния ΠΈ константы Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ нСсколько структур, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΊΠ°Π½Π°Π»ΠΎΠ² MPSSE :

Π­Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ шаблонов. Но Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ€ классов, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ Тизнь. Для этого ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° оставим всС ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ рассмотрим ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСт Π·Π°Π±Π°Π²Π½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ:

Π‘ΠΎΠ±Ρ€Π°Π² всС вмСстС, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

 $ python3 test.py 
ЗагруТСнная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° MPSSE
ЗагруТСнная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° D2XX
Бписок каналов ...
НайдСно 2 ΠΊΠ°Π½Π°Π»Π° (статус FT_OK)
ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ для ΠΊΠ°Π½Π°Π»Π° с индСксом 0 ...
ОписаниС ΠΊΠ°Π½Π°Π»Π°: FT2232H MiniModule B (статус FT_OK)
Канал B ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ с дСскриптор: 0xfd9f58 (статус FT_OK)
InitChannel () B (статус FT_OK)
FT_Open () (статус FT_OK)
FT_SetBaudRate () (статус FT_OK)
FT_SetBitMode () (статус FT_OK) 90_201 статус (написано) )
FT_GetBitMode () (статус FT_OK)
Π‘Ρ‡ΠΈΡ‚Ρ‹Π²Π°Π½ΠΈΠ΅ Π±Π°ΠΉΡ‚Π°: 0x42 (0b01000010)
CloseChannel () B (статус FT_OK)
FT_Close () (статус FT_OK)

И Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ консоли Arduino IDE…

 ВСстированиС. .. 
ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ» 0x42

ΠšΡ€ΡƒΡ‚ΠΎ! ΠœΡ‹ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ»ΠΈ Π±Π°ΠΉΡ‚ (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС 0x42 ) Ρ‡Π΅Ρ€Π΅Π· I2C Π½Π° нашС Π·Π°Π³Π°Π΄ΠΎΡ‡Π½ΠΎΠ΅ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ΅ устройство (Arduino Due), ΠΈ ΠΎΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π±Π°ΠΉΡ‚ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ 8 Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ². Π­Ρ‚ΠΎ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΡΡ‚ΡŒ ΠΈ (ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ) простоту использования устройства FTDI для взаимодСйствия с вашим Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΌ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ вмСсто программирования ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сдСлаСт это Π·Π° вас.

Tigard – это ΠΏΠ»Π°Ρ‚Π° FT2232H с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ для Π²Π·Π»ΠΎΠΌΠ° оборудования (ΠΊΡ€Π°ΡƒΠ΄Ρ„Π°Π½Π΄ΠΈΠ½Π³)

Π•ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π΅ΡˆΠ΅Π²Ρ‹Ρ… 5V ΠΈΠ»ΠΈ 3.ΠžΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ‹ 3V USB Π² TTL, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ для доступа ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ консоли ΠΈ / ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ ΠΏΠ»Π°Ρ‚Π°ΠΌ, Π½ΠΎ аппаратная ΠΏΠ»Π°Ρ‚Π° с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ Tigard Π½Π° Π±Π°Π·Π΅ FTDI FT2232H Π΄Π΅Π»Π°Π΅Ρ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ нСсколько ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ², нСсколько напряТСний для Π²Π·Π»ΠΎΠΌΠ° оборудования ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Tigard ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ прямая Π·Π°ΠΌΠ΅Π½Π° для дСсятков Π΄Ρ€ΡƒΠ³ΠΈΡ… Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… инструмСнтов, основанных Π½Π° микросхСмах FTDI, ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ OpenOCD, FlashROM ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

ВСхничСскиС характСристики ΠΏΠ»Π°Ρ‚Ρ‹

Tigard:

  • Π“Π»Π°Π²Π½Ρ‹ΠΉ Ρ‡ΠΈΠΏ – FTDI FT2232HQ, Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ высокоскоростной USB-ΠΏΠΎΡ€Ρ‚ для ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΉ микросхСмы UART / FIFO
    • Основной ΠΏΠΎΡ€Ρ‚, Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ для UART, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ доступ ΠΊΠΎ всСм сигналам управлСния ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ
    • Π’Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚, совмСстно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°ΠΌΠΈ для SWD, JTAG, SPI ΠΈ IΒ²C
  • USB – USB 2.0 Type-C (480 ΠœΠ±ΠΈΡ‚ / с) ΠΏΠΎΡ€Ρ‚
  • Π²Π²ΠΎΠ΄Π° / Π²Ρ‹Π²ΠΎΠ΄Π°
    • 9-ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½Ρ‹ΠΉ Ρ€Π°Π·ΡŠΠ΅ΠΌ UART
    • РазъСм Qwiic I2C
    • 8-ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½Ρ‹ΠΉ Ρ€Π°Π·ΡŠΠ΅ΠΌ SPI ΠΈ I2C
    • 8-ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½Ρ‹ΠΉ Ρ€Π°Π·ΡŠΠ΅ΠΌ JTAG
    • 10-ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½Ρ‹ΠΉ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹ΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Cortex
    • 14-ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½Ρ‹ΠΉ Ρ€Π°Π·ΡŠΠ΅ΠΌ логичСского Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° (LA) для наблюдСния Π·Π° сигналами уровня устройства
    • НаправлСнныС ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΠΈ уровня для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΡ‚ 1,8 Π΄ΠΎ 5,5 Π’
  • Π Π°Π·Π½ΠΎΠ΅
    • ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ для Π²Ρ‹Π±ΠΎΡ€Π° ΠΌΠ΅ΠΆΠ΄Ρƒ встроСнным 1,8 Π’, 3,3 Π’, 5,0 Π’ ΠΈ внСшними источниками питания vTarget
    • ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ для Π²Ρ‹Π±ΠΎΡ€Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅ΠΆΠΈΠΌΠ°ΠΌΠΈ SPI / JTAG ΠΈ IΒ²C / SWD
    • Π‘Π²Π΅Ρ‚ΠΎΠ²Ρ‹Π΅ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ для облСгчСния ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ

НСт Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ нСобходимости Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… инструмСнтах для Tigard, ΠΈ ΠΏΠ»Π°Ρ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ со стандартными инструмСнтами ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡ€Ρ‚Π° USB, OpenOCD ΠΈ UrJTAG для JTAG, Flashrom, PyFtdi / PySpiFlash, LibMPSSE ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ инструмСнты для интСрфСйса SPI, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π° Ρ‚Π°ΠΊΠΆΠ΅ LibMPSSE ΠΈ PyFtdi / PyI2CFlash для интСрфСйсов I2C.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *