Riparatore Forum Riparazioni Elettroniche per Riparatori ed Appassionati Powered by Forumgratis.com

  Per offrire una migliore esperienza di navigazione, per avere statistiche sull'uso dei nostri servizi da parte dell'utenza,
  e per farti visualizzare contenuti pubblicitari personalizzati, questo sito usa cookie anche di terze parti.
  Chi sceglie di proseguire nella navigazione esprime il consenso all'uso dei cookie. informativa e revoca consensi qui .
 





  Reply to this topic Apri una nuova discussione Start Poll

> Programmatore CH341 ch341a, Utilizzo in ambito linux
percoco2000
Inviato il: Nov 1 2018, 08:19 PM
Quote Post


Guru
***

Gruppo: Members
Messaggi: 1446
Utente Nr.: 656
Iscritto il: 6-April 05



Programmatore CH341 – Utilizzo con linux

In questo breve articolo voglio illustrare l'utilizzo di questo programmatore in ambiente Linux, a beneficio di chi usa il pinguino.
Il programmatore in questione e' basato sul Chip CH341A (da cui prende il nome) prodotto dalla Winchiphead, un IC che “emula” su porta Usb le interfacce I2C, SPI, RS232TTL, ed EPP/SPP.
Si trova su famosi siti di ecommerce per pochi € spedizione compresa. Il layout piu' usato e' quello visibile in figura :

Come vediamo ha uno zoccolo ZIF per alloggiare le eeprom , piu' due Header :

A destra la porta ICSP per la programmazione diretta su circuito ( ove prevista)

A sinistra la porta RS232/TTL + il jumper di configurazione.

Spostandolo si seleziona la modalita' programmatore, o la modalita' RS232.

Insieme al programmatore viene fornito un semplice software per windows che ne permette la gestione. Diverso e' il discorso per chi usa l'ambiente Open Source Gnu/Linux. Non esiste al momento un software come quello win, ma il programmatore e' supportato da due utility a riga di comando:

Flashrom → www.flashrom.org
Ch341eeprom → https://github.com/commandtab/ch341eeprom

Il primo e' un programma generico per la lettura/scrittura dei bios per PC e supporta diversi programmatori, il CH341 e' inserito a partire da versione 0.99. Viene costantemente aggiornato e supporta moltissimi chip SPI

Il secondo, invece, e' specifico per il CH341 e ne gestisce la parte I2C.
Mentre flashrom e', solitamente disponibile nei repository delle distribuzioni, ch341eeprom va compilato. La procedura e piuttosto semplice, e sicuramente molti utenti linux la conoscono. Sul sito e' comunque spiegato in maniera dettagliata. Consiglio, comunque, di compilare anche flashrom, per avere sempre l'ultima versione. Descrivo brevemente l'utilizzo dei due comandi sopracitati:

FLASHROM

flashrom -p ch341a_spi -w nomefile : Scrive la eeprom con il contenuto di nomefile
flashrom -p ch341a_spi -r nomefile : Legge la eeprom e salva il contenuto su nomefile
flashrom -p ch341a_spi -v nomefile : Confronta il contenuto della eeprom con nomefile

CH341EEPROM

ch341eeprom -s SIZE -w nomefile : Scrive la eeprom con il contenuto di nomefile
ch341eeprom -s SIZE -r nomefile : Legge la eeprom e salva il contenuto su nomefile

A differenza di flashrom che identifica automaticamente il tipo di chip, a ch341eeprom esso va indicato mediante il parametro SIZE che puo' assumere i valori da 24c01 a 24c1024.

Ambedue i comandi, per funzionare necessitano dei privilegi di root. Sulle distro UBUNTU e derivate basta far precedere il comando da 'sudo' ed inserire la password.

Per facilitare l'utilizzo del programmatore in ambiente linux ho scritto uno script shell, che fa' da interfaccia ai due comandi sopracitati, e prevede una modalita' di funzionamento interattivo che non obbliga a dover ricordare ogni volta tutti i parametri. Per funzionare, pero', e necessario che i due tool siano presenti (di solito in /usr/bin, o /usr/local/bin, on in altra locazione presente nel PATH) e che abbiano i bit SUID impostato (Ovvero che vengano sempre eseguiti con privilegi di root)

Per flashrom

sudo chown root /usr/local/bin/flashrom
sudo chmod u+s /usr/local/bin/flashrom

e
sudo chown root /usr/local/bin/ch341eeprom
sudo chown u+s /usr/local/bin/ch341eeprom

o il percorso completo ai files in caso di diversa collocazione.

Effettuata questa operazione sara' sufficiente scaricare lo script, copiarlo in /usr/local/bin, renderlo eseguibile con

sudo chmod +x /usr/local/bin/ch341.sh

e lanciarlo senza alcun parametro per avere un'help sommario.

Immagine Allegata
Immagine Allegata


--------------------
Slackware addicted ........

Member is OfflinePMEmail PosterAOLYahoo
Top
percoco2000
Inviato il: Nov 1 2018, 08:24 PM
Quote Post


Guru
***

Gruppo: Members
Messaggi: 1446
Utente Nr.: 656
Iscritto il: 6-April 05



In allegato lo script, pur avendolo testato a fondo, l'uso e' comunque a vostro rischio. Se non siete certi, non usatelo. Se avete dubbi o volete segnalarmi bug o altro potete contattarmi senza remore wink[2].gif

Casomai passasse qualche anglofono wink[2].gif

Attached here a simple bash script for linux for the CH341A programmer. It act as a frontend for flashrom and ch341eeprom. It can be used directly or in interactive mode. For the interactive mode it needs the dialog library.

File Allegato ( Numero di download: 25 )
File Allegato  ch341.zip


--------------------
Slackware addicted ........

Member is OfflinePMEmail PosterAOLYahoo
Top
Utenti totali che stanno leggendo la discussione: 1 (1 Visitatori e 0 Utenti Anonimi)
Gli utenti registrati sono 0 :

Topic Options Reply to this topic Apri una nuova discussione Start Poll

 




Provided by Forumgratis.com - Crea il tuo forum Gratis ora - Segnala Abuse

Coolnetwork Hosting Solution