View Full Version : [Help] Programmare un firmware
ivanisevic82
23-03-2006, 15:52
Ciao ragazzi, avrei bisogno di un aiuto/parere.
Premetto che non so nulla di programmazione, vengo a chiedere in quest'area cercando qualcuno più esperto...
Nella sezione "mp3" da tempo alcuni si chiedono se non sia possibile modificare in parte alcuni dei firmware che fanno funzionare i lettori.
Ci sono ad esempio lettori molto sofisticati che consentono di visualizzare foto e anche testi (ad esempio i titoli delle canzoni) ma non di leggere un documento txt!
Oppure sarebbe interessante poter modificare alcune impostazioni video (ad esempio: il mio lettore ha due "skin" da poter scegliere, una ha come colore predominante il blu, l'altra il bianco...se volessi averne una sul verde??)
Alla stesso tempo consideravamo che tutto sommato, per noi ignoranti, un firmware non sembra un software di chissà quale complessità o dimensioni...solitamente sono un paio di Mb...
Ora, voi pensate che ci sia la possibilità di metterci mano in qualche modo?
Chiaramente questi firmware sono liberamente scaricabili da internet, non ci sarebbe nessuna modifica da fare direttamente sul lettore in fase di "lavorazione".
Il topic a cui ho fatto riferimento è questo: http://www.hwupgrade.it/forum/showthread.php?p=11748646#post11748646
Io ed altri ragazzi interessati restiamo in attesa di risposte, sperando che non si tratti solo di fantasie irrealizzabili!
Grazie mille, ciao!
sottovento
23-03-2006, 15:56
Chiaramente questi firmware sono liberamente scaricabili da internet
Ciao,
hai un indirizzo, tanto per capire di che si tratta?
High Flying
Sottovento
ivanisevic82
23-03-2006, 17:01
Ciao,
hai un indirizzo, tanto per capire di che si tratta?
High Flying
Sottovento
Allora, chiaramente i firmware sono diversi da lettore a lettere...ma dato che da quache parte si devo cominciare, prendiamo in esame il mio: Philips hdd1620.
Qui c'è un link al download delle versione inglese del software.
http://www.p4c.philips.com/cgi-bin/dcbint/cpindex.pl?scy=IT&slg=ITA&mid=Link_Software&sct=HDD_AUDIO_JUKEBOX_SU&cat=MP3_PLAYERS_CA&session=20060323113644_151.41.191.61&grp=PORTABLE_ENTERTAINMENT_GR&ctn=HDD1620/00&dct=FUS&did=AEN&file=/files/h/hdd1620_00/hdd1620_00_fur_aen.htm
Quella italiana non l'ho trovata come donwload, penso si possa solo aggiornando direttamente il lettore online.
Ti serve altro?
Grazie mille!
sottovento
23-03-2006, 17:22
Ciao,
ho dato un'occhiata. Puoi fare il download di un file .zip contenente il firmware. Immagino che poi tu abbia in dotazione un apposito software per caricarlo sul lettore (oppure che lo possa scaricare direttamente "vedendo" il lettore come disco USB o qualcosa del genere).
In linea di principio, quello che chiedi e' fattibile.
A determinate condizioni.
Generalmente il produttore del dispositivo mette a disposizione un ambiente di sviluppo con il quale sviluppare le proprie personalizzazioni, oppure fornisce le info necessarie per utilizzare gli ambienti standard con cui il dispositivo e' stato costruito (se, per es. il lettore ha WinCE o come lo vuoi chiamare, e' chiaro che con Embedded VC puoi scrivere il software che vuoi).
Inoltre fornisce le librerie per tutte le parti che non sono standard.
Non e' chiaramente un lavoretto da 10min, ma immagino che troverai degli appassionati che l'hanno fatto o vogliono farlo...
High Flying
Sottovento
ivanisevic82
23-03-2006, 18:13
Innanzitutto grazie!
Rispondo un pò punto per punto...
- Si, l'ho scaricato, ma non per caricarlo sul lettore (quella è in rete è l'ultima versione, ed era anche quella del mio lettore appena comprato, non ci sono stati ulteriori aggiornamenti) bensì per osservarne il contenuto, e ho visto che ci sono due file: FWimage.ebn (nella cartella fimware) e PhoenixFont.bin (nella cartella font).
Tutto questo chiaramente non so cosa vogia dire!
Ho molto curiosità...ad esempio: font è il tipo di carattere con cui vengono visualizzati i testi sul lettore? Oppure qualcos'altro?
Se fosse il carattere, sarebe possibile inserirne altri?
- Ho provato a collegare il lettore al pc e ad esplorare i contenuti delle cartelle relative al suo software, ho trovato questo:
. Una cartella "System" con dentro niente, vuota.
. Una cartella "tmp" con dentro 4 file di poco + di 1 mb ciascuno, chiamati "000057"; 000131"; "000169"; "000310".
. 3 file: DeviceDiversity.bin; DevIcon.fil; DevLogo.fil; WMPInfo,xml
Può esserti utile avere questi file? Io no ne ho davvero idea, scusa se faccio domande poco acute.
- Per avere le info relative all'ambiente di sviluppo ecc ecc...devo scrivere alla Philips o ci sono altri modi di avere queste informazioni?
- Hai idea di qualche utente di questo forum a cui potrei rivolgermi per farmi dare una mano per questo lavoro (o tentativo perlomeno!).
Grazie mille, ciao!
Ciao ragazzi, avrei bisogno di un aiuto/parere.
Premetto che non so nulla di programmazione, vengo a chiedere in quest'area cercando qualcuno più esperto...
Nella sezione "mp3" da tempo alcuni si chiedono se non sia possibile modificare in parte alcuni dei firmware che fanno funzionare i lettori.
Ci sono ad esempio lettori molto sofisticati che consentono di visualizzare foto e anche testi (ad esempio i titoli delle canzoni) ma non di leggere un documento txt!
Oppure sarebbe interessante poter modificare alcune impostazioni video (ad esempio: il mio lettore ha due "skin" da poter scegliere, una ha come colore predominante il blu, l'altra il bianco...se volessi averne una sul verde??)
Alla stesso tempo consideravamo che tutto sommato, per noi ignoranti, un firmware non sembra un software di chissà quale complessità o dimensioni...solitamente sono un paio di Mb...
Ora, voi pensate che ci sia la possibilità di metterci mano in qualche modo?
Chiaramente questi firmware sono liberamente scaricabili da internet, non ci sarebbe nessuna modifica da fare direttamente sul lettore in fase di "lavorazione".
Il topic a cui ho fatto riferimento è questo: http://www.hwupgrade.it/forum/showthread.php?p=11748646#post11748646
Io ed altri ragazzi interessati restiamo in attesa di risposte, sperando che non si tratti solo di fantasie irrealizzabili!
Grazie mille, ciao!
Se non sai nulla di programmazione temo che non potrai fare nulla, modificare il firmware richiede la conoscenza del chip del lettore, a livello di indirizzi I/O, di memoria, ecc.. Saputo questi, si deve conoscere il linguaggio assembly di quel chip, perchè tale linguaggio varia da architettura ad architettura.
ivanisevic82
23-03-2006, 22:49
Se non sai nulla di programmazione temo che non potrai fare nulla, modificare il firmware richiede la conoscenza del chip del lettore, a livello di indirizzi I/O, di memoria, ecc.. Saputo questi, si deve conoscere il linguaggio assembly di quel chip, perchè tale linguaggio varia da architettura ad architettura.
Ma infatti non voglio farlo io...cerco qualcuno che possa aiutarmi, chiaramente qualcuno che abbia la voglia o la passione per farlo! :D
sottovento
24-03-2006, 06:37
Se non sai nulla di programmazione temo che non potrai fare nulla, modificare il firmware richiede la conoscenza del chip del lettore, a livello di indirizzi I/O, di memoria, ecc.. Saputo questi, si deve conoscere il linguaggio assembly di quel chip, perchè tale linguaggio varia da architettura ad architettura.
Beh, se non conosci niente di piu' di quella macchina, probabilmente devi proprio fare cosi'. Pero' sinceramente dubito che qualche produttore non abbia il proprio kit di sviluppo per un linguaggio ad alto livello. Un po' come per i cellulari.....
High Flying
Sottovento
ivanisevic82
24-03-2006, 09:58
Beh, se non conosci niente di piu' di quella macchina, probabilmente devi proprio fare cosi'. Pero' sinceramente dubito che qualche produttore non abbia il proprio kit di sviluppo per un linguaggio ad alto livello. Un po' come per i cellulari.....
High Flying
Sottovento
Cioè...tu credi che lo abbia la Philips?
Se si tratta di chiederglielo a me non costa nulla!
Anche se mi sembra strano che possano dare in giro il kit di sviluppo del proprio software gratuitamente e senza problemi!
Beh, se non conosci niente di piu' di quella macchina, probabilmente devi proprio fare cosi'. Pero' sinceramente dubito che qualche produttore non abbia il proprio kit di sviluppo per un linguaggio ad alto livello. Un po' come per i cellulari.....
High Flying
Sottovento
Ma anche i kit di siluppo richiedono un minimo di conoscenze di programmazione
tomminno
24-03-2006, 10:28
Alla stesso tempo consideravamo che tutto sommato, per noi ignoranti, un firmware non sembra un software di chissà quale complessità o dimensioni...solitamente sono un paio di Mb...
Il firmware non sembrerà complesso a te, ma quando scrivi un programma e non hai al di sotto un OS che ti supporta tutta la gestione della memoria, le prospettive cambiano completamente. In quei 2 MB hai anche l'OS!
Senza una scheda di sviluppo non puoi sviluppare un firmware e gli ambienti di sviluppo sono costosi: dove lavoro io usano lo IAR, un ambiente di sviluppo decisamente pieno di problemi che costa qualche migliaio di euro.
E se vuoi modificare un firmware esistente devi andare di reverse engineering, chiaramente conoscendo l'assembly del micro usato.
sottovento
24-03-2006, 10:47
Il firmware non sembrerà complesso a te, ma quando scrivi un programma e non hai al di sotto un OS che ti supporta tutta la gestione della memoria, le prospettive cambiano completamente. In quei 2 MB hai anche l'OS!
Senza una scheda di sviluppo non puoi sviluppare un firmware e gli ambienti di sviluppo sono costosi: dove lavoro io usano lo IAR, un ambiente di sviluppo decisamente pieno di problemi che costa qualche migliaio di euro.
E se vuoi modificare un firmware esistente devi andare di reverse engineering, chiaramente conoscendo l'assembly del micro usato.
IAR non e' quello che permette di produrre codice C per implementare l'automazione mediante automi a stati finiti?
Comunque non la farei cosi' tragica: evidentemente, se usi quegli ambienti sei abituato a situazioni molto piu' "spinte" e difficili da gestire.
E' molto probabile, invece, che i lettori in questione abbiano un minimo di sistema operativo, magari incorporino una JVM.
E' altresi' probabile che non abbiano bisogno di una scheda di sviluppo, visto che spesso sono "visti" come dischi fissi usb. Addirittura spesso hai la possibilita' di debugging in remoto...
Se, per esempio, uno di questi aggeggi fosse basato su WinCE, e' chiaro che per sviluppare puoi fare il download di embedded VC, compilare e scaricare sul target. Se avesse una JVM faresti altrettanto con J2ME, ecc...
Purtroppo sono tanti "se"....
High Flying
Sottovento
La difficoltà di un programma non è mica data dalla sua grandezza in megabyte. Anche applicazioni da pochi kbyte di codice possono essere molto complesse.
sottovento
24-03-2006, 12:10
Sono d'accordo. Anzi, spesso e' proprio il contrario, visto che devi "spingere" un'applicazione in pochi Kb....
ivanisevic82
24-03-2006, 12:21
...mi sa che la faccenda si fa un pò troppo complicata... :D
Vabbè, io ci ho provato, ho capito che se non è impossibile, è troppo difficile per le mie conoscenze e il tempo che ho a disposizione per acquisirne di nuove (per non parlare di qualche migliaio di euro....:D)
Vi ringrazio comunque molto per la disponibilità, se a qualcuno dovesse interessate particolarmente la questione e avesse voglia di andare avanti, non esiti a contattarmi!
Dal canto mio non potrei far altro che dare il massimo supporto possibile!
Ciao e grazie!
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.