Eu uso o KEEProg_24xxx_03c para controlar um programador EEPROM via USB. Isso funcionou muito bem por anos.
No entanto, agora reclama:
$ mono ./KEEProg_03c.exe
WARNING: The runtime version supported by this application is unavailable.
Using default runtime: v4.0.30319
Unhandled Exception:
System.IO.FileNotFoundException: Could not load file or assembly 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies.
File name: 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
[ERROR] FATAL UNHANDLED EXCEPTION: System.IO.FileNotFoundException: Could not load file or assembly 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies.
File name: 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
É muito provável que eu tenha atualizado mono
desde a última vez que o usei.
Parece que mono
não suporta este antigo binário. Não tenho o código-fonte, então não posso vinculá-lo a uma versão mais recente.
wine
inicia o programa, mas o acesso USB não funciona ("Sobre" reclama: Dispositivo não encontrado).
Quais são minhas opções? Existe uma ferramenta GNU/Linux que pode controlar meu 24xxx? Posso fazer downgrade mono
ou instalar a versão antiga da biblioteca?
KEEProg se conecta via USB. O dispositivo USB é detectado como:
[1333363.114683] usb 3-2: new full-speed USB device number 33 using xhci_hcd
[1333363.248418] usb 3-2: New USB device found, idVendor=0403, idProduct=6001
[1333363.248423] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[1333363.248426] usb 3-2: Product: FT232R USB UART
[1333363.248428] usb 3-2: Manufacturer: FTDI
[1333363.248430] usb 3-2: SerialNumber: A700f2Je
[1333363.250897] ftdi_sio 3-2:1.0: FTDI USB Serial Device converter detected
[1333363.250948] usb 3-2: Detected FT232RL
[1333363.251171] usb 3-2: FTDI USB Serial Device converter now attached to ttyUSB0
O dispositivo se parece muito com este (não consigo encontrar nenhuma diferença visual): https://sigma-shop.com/product/31/usb-24xxx-i2c-e-eprom-programmer-microchip-atmel.html
O código pode ser encontrado aqui: https://info.kmtronic.com/software/KEEPROG/KEEProg_24xx/KEEProg_24xxx_03c.zip
Eu preciso do tempo de execução v2.0.50727:
Esta resposta: https://stackoverflow.com/questions/33508922/mono-on-macosx-the-runtime-version-supported-by-this-application-is-unavailab/33517383#33517383 sugere:
que funciona.