View Full Version : realizzare firmware per lettore mp3
ciao a tutti,
ho un lettore mp3 (MP303) che monta un firmware che non funziona come vorrei e la casa madre pare essere ostile a realizzarne un aggiornamento...dunque...mi piacerebbe potermelo fare io su misura.
Qualcuno mi sa dire se è possibile? (o dovrei avere qualche compilatore che è esclusivamente nelle mani della casa produttrice?)
Dificile...moooooolto... Solitamente si possono modificare solo piccole cose...qualche stringa, qualche valore, ma anggiungere feature è trooooppo complicato ;)
difficile non vuol dire impossibile, in teoria di cosa avrei bisogno?
difficile non vuol dire impossibile, in teoria di cosa avrei bisogno?
Devi conoscere tutto il circuito del lettore, il suo processore e conoscere il suo codice assembly...
in tal caso è 'impossibile': quelle sono informazioni che non si trovano facilmente :( :(
Fenomeno85
12-10-2005, 20:11
in tal caso è 'impossibile': quelle sono informazioni che non si trovano facilmente :( :(
bhe non sempre ovvio però che i produttori mica ti buttano fuori un datasheet con anche tutte le istruzioni possibili :D
~§~ Sempre E Solo Lei ~§~
ciao a tutti,
ho un lettore mp3 (MP303) che monta un firmware che non funziona come vorrei e la casa madre pare essere ostile a realizzarne un aggiornamento...dunque...mi piacerebbe potermelo fare io su misura.
Qualcuno mi sa dire se è possibile? (o dovrei avere qualche compilatore che è esclusivamente nelle mani della casa produttrice?)
Molti Mp3 si basano su uno stesso progetto, quindi hanno circuiti e processore medesimi. Se riesci a trovare gli schemi in rete, bene, altrimenti non c'e' nulla da fare. Spero che tu questo lo voglia fare per pura passione di programmazione, non per avere un saltatraccie migliore.... :)
repne scasb
13-10-2005, 10:44
Se possiedi l'Oregon Scientific MP303, devi, per iniziare, scaricarti almeno il formware ed il software di aggiornamento:
http://www.oregonscientific.co.uk/files/software_pc/Install%20MP303_2.511.251_RC9_Updater.zip
Il tuo lettore MP3 e' basato su un MSCN prodotto da SigmaTel. Per la precisione dovrebbe essere STMP35xx. Qui: http://www.sigmatel.com/products/technical_docs.htm ulteriori informazioni.
In aaggiunta puoi scrivere a SigmaTel, qui: http://www.sigmatel.com/corporate/corp-contacts.htm i possibili contatti.
Buon divertimento.
Se possiedi l'Oregon Scientific MP303, devi, per iniziare, scaricarti almeno il formware ed il software di aggiornamento:
http://www.oregonscientific.co.uk/files/software_pc/Install%20MP303_2.511.251_RC9_Updater.zip
Il tuo lettore MP3 e' basato su un MSCN prodotto da SigmaTel. Per la precisione dovrebbe essere STMP35xx. Qui: http://www.sigmatel.com/products/technical_docs.htm ulteriori informazioni.
In aaggiunta puoi scrivere a SigmaTel, qui: http://www.sigmatel.com/corporate/corp-contacts.htm i possibili contatti.
Buon divertimento.
Grande, grazie delle indicazioni :) :)
per quanto riguarda il software d'aggiornamento ho il precedente: quello che c'è sul sito è buggato e si ostinano a non capirlo!
ok, il chip su cui si basa dev'essere quello (o l'STMP3410: entrambi potrebbero coincidere con le funzionalità del lettore), però mi servirebbe qualche altra indicazione su come procedere :help:
(ad esempio il file che in teoria si dovrebbe modificare è un .bin: con cosa va aperto? se uso blocco note non si ha che una serie di simboli e caratteri in ordine sparso, esclusione fatta per le indicazioni della versione presenti nel file)
In teoria lo dovresti disassemblare tramite l'istruction set (corrispondenza itruzione <-> codice macchina) del processore...o aprirlo con un editor esadecimale (HexEdit o XVI32 ad esempio) e modifciare il file direttamente in linguaggio macchina... Come ti dicevo non è una cosa semplice... Modificare una stringa o un parametro è banale... Aggiungere feature è quasi impossibile senza un disassemblatore per quel processore...a meno di conoscere a menadito l'assembly di quel processore...
In teoria lo dovresti disassemblare tramite l'istruction set (corrispondenza itruzione <-> codice macchina) del processore...o aprirlo con un editor esadecimale (HexEdit o XVI32 ad esempio) e modifciare il file direttamente in linguaggio macchina... Come ti dicevo non è una cosa semplice... Modificare una stringa o un parametro è banale... Aggiungere feature è quasi impossibile senza un disassemblatore per quel processore...a meno di conoscere a menadito l'assembly di quel processore...
Dunque, se non ho capito male se apro il file in questione con un editor esadecimale dovrei vederlo in linguaggio macchina, però il codice che mi appare è nel linguaggio specifico utilizzato dal sistema del lettore, oppure potrei utilizzare un disassemblatore che potrei (molto in teoria) costruirmi da solo conoscendo l'assembly del chip, ....innanzitutto....dove lo vado a prendere l'assembly di quel particolare processore? Conoscendone la sigla lo si troverà in rete? e, soprattutto, visto che "molti mp3 si basano su uno stesso pregetto" può darsi che esista, sempre in rete, già un disassemblatore che possa fare al caso mio?
Dunque, se non ho capito male se apro il file in questione con un editor esadecimale dovrei vederlo in linguaggio macchina, però il codice che mi appare è nel linguaggio specifico utilizzato dal sistema del lettore, oppure potrei utilizzare un disassemblatore che potrei (molto in teoria) costruirmi da solo conoscendo l'assembly del chip, ....innanzitutto....dove lo vado a prendere l'assembly di quel particolare processore? Conoscendone la sigla lo si troverà in rete? e, soprattutto, visto che "molti mp3 si basano su uno stesso pregetto" può darsi che esista, sempre in rete, già un disassemblatore che possa fare al caso mio?
Programmare in linguaggio macchina è praticamente impossibile. o meglio, è complicatissimo se si scrive un programma noi, ma capire cosa fa un programma già fatto non è una cosa fattibile, già è difficile con un linguaggio di alto livello, figuriamoci in linguaggio macchina..
Io ti consiglio di lasciar perdere, non perchè reputo scarse le tue conoscenze ( che trallaltro neanche conosco) ma perchè il gioco non vale davvero la candela. :)
Conoscendone la sigla lo si troverà in rete? e, soprattutto, visto che "molti mp3 si basano su uno stesso pregetto" può darsi che esista, sempre in rete, già un disassemblatore che possa fare al caso mio?
Credo che per ognuna di queste domande la risposta più corretta sia: lo spero per te :)
cdimauro
15-10-2005, 08:52
Quello che non trovi lo puoi creare tu.
In questo periodo mi sto dilettando nella scrittura di un assemblatore ARM/Thumb che mi faciliti il modding dei firmware dei lettori DivX. Ma ci vuole tempo.
Come disassemblatore di consiglio IRA, che supporta una notevole quantità di processori.
"IRA" non l'ho trovato, forse intendevi IDA?
Cmq non appena ho un pò di tempo lo provo.
jappilas
18-10-2005, 02:27
In questo periodo mi sto dilettando nella scrittura di un assemblatore ARM/Thumb che mi faciliti il modding dei firmware dei lettori DivX. Ma ci vuole tempo.
lettori con chip Mediatek? :)
inizializzazione dei codec, display, tastiera e menu sembrano gestiti da codice 8032 più che ARM ;)
cdimauro
18-10-2005, 10:11
"IRA" non l'ho trovato, forse intendevi IDA?
Cmq non appena ho un pò di tempo lo provo.
Sì, scusa, volevo dire IDA. Lapsus freudiano... :p
cdimauro
18-10-2005, 10:19
lettori con chip Mediatek? :)
"Casualmente", sì. :D
inizializzazione dei codec, display, tastiera e menu sembrano gestiti da codice 8032 più che ARM ;)
Sì, lo so. L'ARM è relegato a poche cose, anche se a volte delicate, come la gestione della visualizzazione delle scritte e dei sottotitoli in generale.
Purtroppo lo spazio del firmware per l'ARM è veramente ridotto all'osso, e ci sono pochi "buchi" rimasti liberi per infilarci qualche patch. Continuando così sarà necessario utilizzare lo spazio occupato dalle stringhe di debug... :p
Comunque finora ho fatto soltanto qualche piccola modifica. Sto forzando un mio amico, a cui interessano queste patch, a imparare a programmare l'ARM in Thumb in mode... :D
ho dato un'occhiata a IDA: dopo aver scelto il file da aprire (.bin) bisogna selezionare il processore da una lista in cui, quello che mi interessa, non c'è (mi sono sembrati tutti processori per pc o simili...), dunque, non v'è speranza o mi sbaglio? :(
cdimauro
19-10-2005, 10:32
In tal caso (e se altre ricerche non sono andate a buon fine). l'unica è quella di costruirsene uno ad hoc.
Comunque è un obiettivo decisamente più facile da raggiungere rispetto alla scrittura di un assemblatore. ;)
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.