Programmer spi flash 25xx, i2c eeprom 24xx and microwire eeprom 93xx on arduino.
ΠΡΠΎΠ΅ΠΊΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΠ· arduino nano/uno (Π° ΠΏΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ - ΠΈΠ· Π»ΡΠ±ΠΎΠ³ΠΎ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, ΠΈΠΌΠ΅ΡΡΠ΅Π³ΠΎ Π½Π° Π±ΠΎΡΡΡ UART,SPI,I2C ΠΈ Ρ ΠΎΡΡ Π±Ρ 1ΠΠ± ΠΠΠ£) ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡ SPI-Flash 25-ΠΉ ΡΠ΅ΡΠΈΠΈ, I2C-EEPROM 24-ΠΉ ΡΠ΅ΡΠΈΠΈ ΠΈ Microwire EEPROM 93-ΠΉ ΡΠ΅ΡΠΈΠΈ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΡΠ΅ ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ ΠΏΡΡΠΌΠΎ ΠΊ Π½ΠΎΠΆΠΊΠ°ΠΌ Π°ΡΠ΄ΡΠΈΠ½Ρ ΠΏΡΠΎΠ²ΠΎΠ΄Π°ΠΌΠΈ (Π΄Π»Ρ 24Ρ Ρ Π΅Π΅ΠΏΡΠΎΠΌ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄ΡΡΠ½ΡΡΡ Π»ΠΈΠ½ΠΈΠΈ SCL, SDA ΠΊ ΠΏΠ»ΡΡΡ ΠΏΠΈΡΠ°Π½ΠΈΡ) ΡΠΌ. ΡΡ Π΅ΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ:
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π»Ρ ΠΠ Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° C# Π΄Π»Ρ Windows ΠΈ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°Π½Π° Π½Π° Qt Π΄Π»Ρ Linux ΠΈ Windows. ΠΠ½Π° ΠΈΠΌΠ΅Π΅Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ, ΡΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ. ΠΠ½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π½Π° Linux ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ Qt (qserialport, qt-base, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π½ΠΈΠ±ΡΠ΄Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΈΠ· ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°), ΡΠ°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ° Π΄Π»Ρ /dev/ttyUSB0 (chmod a+rw /dev/ttyUSB0). ΠΠ° Ubuntu Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ch340 USB-UART-ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ²Π°ΡΡ Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠΌ brltty, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ.
Π‘ΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ° Ρ ΠΎΠ±ΠΎΠΈΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ ΠΠΠΠ ΠΠ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΡΠΎΠΊΠ°Ρ, ΡΡΠ΅Π½ΠΈΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΡΠ΅ΠΊΡΠ½Π΄Ρ Π΄Π»Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠΌΠΊΠΎΠ³ΠΎ ΡΠΈΠΏΠ° 24Π‘256, Π° Π²ΠΎΡ ΡΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ»Π΅ΡΠΊΠ°ΠΌΠΈ 25Ρ Ρ ΡΠΈΠ»ΡΠ½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° UART-ΠΎΠΌ, ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΠ΅Π³Π°Π±Π°ΠΉΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΠΎΡ 1,5 ΠΌΠΈΠ½ΡΡ (ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ - ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΌ USB ΠΈ ΠΎΠ±ΠΌΠ΅Π½ΠΎΠΌ ΠΏΠΎ CDC, Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠ΅Π½ΠΈΠ΅ 1 ΠΠ΅Π³Π°Π±Π°ΠΉΡΠ° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΠ½Π΄). Π ΡΠΏΠΈΡΠΊΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ SPI-Flash 25-ΠΉ ΡΠ΅ΡΠΈΠΈ ΡΠΊΠ°Π·Π°Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅ΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Winbond, Π½ΠΎ ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ»Π΅ΡΠΊΠΈ ΡΠ°Π·Π½ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡΡΡΡ ΠΎΠ΄Π½ΠΎΡΠΈΠΏΠ½ΠΎ, ΠΏΡΠΎΡΡΠΎ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΡΠ»Π΅ΡΠΊΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΎΠ±ΡΡΠΌΠ°. Π Π΄Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Π±ΡΠ΄ΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ»Π΅ΡΠΊΠΈ Π΄ΠΎ 8 ΠΠ΅Π³Π°Π±Π°ΠΉΡ Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ (Ρ ΡΡΡΡ Π±Π°ΠΉΡΠ½ΠΎΠΉ Π°Π΄ΡΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ Π΄ΠΎ w25q64 Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ), w25q128 ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ», Π΄Π° ΠΈ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΊΠΎΠΉ ΡΠ»Π΅ΡΠΊΠΎΠΉ Π±ΡΠ΄Π΅Ρ Π½Π΅Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½ΠΎΠ΅. ΠΠ°ΡΠ°Π΅ΠΌΠΎ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π΅Π΅ΠΏΡΠΎΠΌ ΠΎΠ±ΠΎΠΈΡ ΡΠΈΠΏΠΎΠ² - Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π±Π΅Π· ΡΡΡΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ.
Π ΠΏΠ°ΠΏΠΊΠ΅ "source" Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΊΠΎΠ΄Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΄Π»Ρ atmega328p, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΠΏΠΎΠ΄ avr-gcc. ΠΡΠΎΠ΅ΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ ΠΏΠΎΠ΄ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ΅ΡΠΈΡΠ΅ΡΠΈΠΈ (GPIO, USART, SPI, I2C) ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΡΠΈΡΠΌΡ Π±Π°ΠΉΡΠ° ΠΏΠΎ USART.
HEX-ΡΠ°ΠΉΠ» ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Π² ΠΏΠ°ΠΏΠΊΠ΅ "firmware" ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ Π΄Π»Ρ atmega328p (arduino nano/uno), ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅ΠΉ ΠΎΡ ΠΊΠ²Π°ΡΡΠ° Π½Π° 16MHz. ΠΠ»Π°ΡΡ Π°ΡΠ΄ΡΠΈΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΡ ΡΠ΅ΡΠ΅Π· Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ USB Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ "ArduinoUploader" ΠΈ Π΅ΠΉ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌ.
Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΡΠΊΠΎΠΌΠΏΠΈΠ»Π»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Π΅ΡΡ Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΠ»Π°Ρ/ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² ΠΊΠ°ΠΊ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΡ , ΡΠ°ΠΊ ΠΈ ΡΠΊΠ·ΠΎΡΠΈΡΠ΅ΡΠΊΠΈΡ (ΡΡΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΡΠΎΠ»ΠΊΠΎΠΌ Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ»ΠΈΡΡ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ!). ΠΡΠ΅ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΡΠ½Π°Π±ΠΆΠ΅Π½Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ ΠΏΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΡΡ ΡΠΈΠΏΠΎΠ².