Modifica hardware per flashiare la Sharp da JTAG by Geremia (www.astonokiateam.net) Questo documento nasce da studi che ho fatto quando mi sono trovato tra le mani un Digiquest P2000 con flash Sharp LH28F160BJHE. La foto rappresenta il Digiquest P2000, se la vostra scheda madre ha i componenti messi in maniera differente, resta a voi l interpretazione di questo documento e l adattamento. In ogni caso questo è un intervento che io ho fatto su questo P2000 in mia completa responsabilità e fiducioso nelle mie capacità, a voi le vostre responsabilità La flash Sharp a differenza di flash più comuni come la Toshiba, ha un paio di pin addetti alla protezione da scrittura/cancellazione dei blocchi di boot, blocchi parametri e blocchi data. Questi blocchi non sono da confondere col boot del decoder Aston, è la Sharp che li ha chiamati cosi, sono solamente zone della flash denominate cosi per eventuali utilizzi diversi da quelli che possono essere pura memorizzazione (Aston utilizza la flash per pura memorizzazione, ci si può mettere anche una flash non divisa a blocchi e andrebbe ugualmente). Questi pin sono il WP e il Vccw. Il WP (pin 14) serve a proteggere/sproteggere solo i blocchi di boot. Quando WP è a GND i blocchi sono protetti, quando è a 3,6v i blocchi di boot sono sprotetti.
Questo pin nell Aston è sempre tenuto a 3,6v, non c è bisogno di intervento qui. Il Vccw (pin 13) serve a proteggere da qualsiasi operazione di modifica dati/cancellazione/sprotezione blocchi protetti. Se tenuto a GND è attiva la protezione, se tenuto a 3,6v si può fare tutto tranne operare sui blocchi protetti, se tenuto a 12v di può fare tutto. La flash dell Aston non ha blocchi protetti, per cui bastano 3,6v. All accensione del decoder, viene tenuto a GND e il TMX lo porta a 3,6v quando deve cancellare/scrivere (ho misurato durante un flah da seriale). Da JTAG con flashpgm il discorso è complesso, credo che solo l Aston sappia quale pin del TMX è incaricato di operare sul pin Vccw della Sharp, non credo che flashpgm anche versione ultimissima riesca a farlo, magari mi posso sbagliare, comunque un intervento hardware risolve il problema definitivamente e permanentemente, lasciando inalterata la possibilità di flashiare da seriale. Nella foto si vede un piccolo transistor nominato Q108 (quella caccolina nera a 3piedini), riceve impulso (tramite la pista da tagliare) di portare o non portare 3,6v al pin Vccw della Sharp. Tagliando la pista (riga gialla) e immettendo a mano un segnale di 3,6v (collegando i 2 punti gialli) (basta anche meno di 3,6v, giusto per far switchare il transistor), il transistor switcherà fissi 3,6v al Vccw e la flash sarà sempre sprotetta. Ho voluto comunque mantenere la resistenza numero 167 prima del transistor per sicurezza.
Per il Simba non è facile arrivare a tagliare la pista, è forse piu semplice interrompere la pista togliendo la resistenza R167, poi riutilizzare la R167 per portare 3,6v da un piedino del transistor all altro. Il mio simba monta una Toshiba per cui non ho potuto provare di persona e non mi sento responsabile se qualcuno di voi nel provare fiammasse qualcosa.
Metto solo una foto di come io farei la modifica sul Simba. A questo punto c è da modificare il flash.ini di flashpgm perchè non è corretto (io uso flashpgm 2.2.3, ma anche la ultimissima 2.2.7 demo scaricata ha i soliti errori). La nostra flash (e anche le altre sharp immagino) hanno i blocchi messi all incontrario, poi l algoritmo di programmazione è differente (in effetti neanche si riesce a leggerla la nostra flash coi settaggi originali)
Cercare questa parte nel flash.ini [LH28F160BJB/E/HE] ManufacturersCode=$B0 DeviceID=$E9 ChipSize=2048 ChipWidthCount=2 ChipWidth1=8 ChipWidth2=16 FailMask=$30 SectorCount=39 SectorSize1=8192 SectorSize8=8192 SectorSize9=65536 SectorSize39=65536 CommandType=INTEL:P16 E cambiarla in questa maniera: [LH28F160BJB/E/HE] ManufacturersCode=$B0 DeviceID=$E9 ChipSize=2048 ChipWidthCount=2 ChipWidth1=8 ChipWidth2=16 FailMask=$30 SectorCount=39 SectorSize1=65536 SectorSize31=65536 SectorSize32=8192 SectorSize39=8192 CommandType=INTEL:8/16 A questo punto fate partire flashpgm, selezionate la flash LH28F160BJB/E/HE e buona flashiata.
Ah dimenticavo: un documento in lingua francese, pretende di sproteggere la Sharp mettendo il pin RP (pin 12) a GND. A mio avviso è impossibile : basta leggere il datasheet della Sharp per capire che non può andare a buon fine. Il pin RP (Reset Pin) se tenuto a GND inibisce qualsiasi operazione di scrittura. Serve solo durante l accensione della circuiteria per evitare non si sa mai che qualche segnale spurio assomigliante ad un comando write possa inavvertitamente modificare i dati. Il decoder ci pensa da solo a tenerlo a 3,6v per cui non c è bisogno di intervenire qui. Poi cortocircuitarlo direttamente a GND non è tanto elegante come sistema. Saluti Geremia by www.astonokiateam.net