View Full Version : sviluppare e testare un firmware
Ciao a tutti, ho scaricato i sorgenti GPL del firmware del mio router netgear.
Siccome studio informatica all'università, volevo provare ad aggiungere nuove features al router.
Ora anallizzando i sorgenti ho visto che utilizza kernel linux e busybox per le apps; quindi con il linguaggio C mi è "semplice"(devo prima capire su che hardware lavoro ecc..) inserire tutte le funzioni che voglio.
Il mio dubbio è: come faccio a fare il debug e la prova prima di metterlo sul router? esistono degli ambienti di sviluppo con compilatori/emulatori di determinati hardware? non credo che gli sviluppatori di netgear scrivano tutto a occhi chiusi e poi provino direttamente il codice sui router... avranno degli strumenti che gli permettono di testare il codice man mano che lo scrivono... qualcuno saprebbe aiutarmi??
Ciao a tutti, ho scaricato i sorgenti GPL del firmware del mio router netgear.
Siccome studio informatica all'università, volevo provare ad aggiungere nuove features al router.
Ora anallizzando i sorgenti ho visto che utilizza kernel linux e busybox per le apps; quindi con il linguaggio C mi è "semplice"(devo prima capire su che hardware lavoro ecc..) inserire tutte le funzioni che voglio.
Il mio dubbio è: come faccio a fare il debug e la prova prima di metterlo sul router? esistono degli ambienti di sviluppo con compilatori/emulatori di determinati hardware? non credo che gli sviluppatori di netgear scrivano tutto a occhi chiusi e poi provino direttamente il codice sui router... avranno degli strumenti che gli permettono di testare il codice man mano che lo scrivono... qualcuno saprebbe aiutarmi??
di solito lo sviluppo di un firmware viene fatto proprio sul device utilizzando di solito un ide apposito (dipendente dal micro ) e programmato di solito tramite un adattatore JTAG che permette di effettuare il debug :D
questo nel caso di sviluppo di un firmware generico ora avendo il tuo router un s.o. a bordo di solito si lavora in crosscompilazione, ovvero si sviluppa su x86 e si testa con un simulatore (generalmente proprietario e sviluppato in casa) e una volta sistemato il codice si crosscompila per il micro e si copia l'eseguibile sul dispositivo per il debug visto che di solito in questo modo non si lavora con ide generici si compila e si debugga da linea di comando
quindi mi serve un emulatore.... mmh credo che anche contattando netgear non me lo darebbe
quindi mi serve un emulatore.... mmh credo che anche contattando netgear non me lo darebbe
emulatore se vuoi testare, altrimenti crosscompili e testi sul device, dovresti provare a cercare qualche gruppo che crea rom homebrew per quel router e chiedere consigli li
però anche nel caso di test sul dispositivo, dovrei possere l'interfaccia JTAG(altrimenti non riuscirei a capire come si comporta il codice)... cmq grazie per la risposta e i consigli:)
Quale router per curiosità ?
Per quelli con usb la cosa è abbastanza semplice. Metti i file sulla chiavetta usb e sei a cavallo.
Per quelli senza usb ho ricompilato busybox per avere i comandi ftpput e ftpget ed ho aggiunto il nuovo busybox al firmware.
In questo modo con ftpget accedo al server ftp sul mio pc e scarico i file nella directory /tmp del router (unica directory su cui puoi scrivere, perché mappata in ram).
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.