User:Panta/translate

From Openmoko

< User:Panta
Revision as of 07:31, 13 May 2008 by Panta (Talk | contribs)

Jump to: navigation, search

Openmoko è una distribuzione creata per telefoni ed altri eventuali dispositivi mobili.

Si veda la Trademark Policy se si desidera ricevere informazioni sulla policy di utilizzo del marchio Openmoko.

Questo è il suo stack software:

Template:Ui img path/software_stack2007.png

Qui è disponibile una versione adatta alla stampa.


NOTE: Questo articolo dovrebbe essere aggiornato al fine di rifletterne più propriamente l'architettura attuale.


Contents

Kernel Space

Il Kernel Space consiste in Bootloader, Kernel, e Power Management.

Bootloader

Il Bootloader è u-boot. Esso dovrà rispondere ai seguenti requisiti:

  • Firmware Update – Occorre un programma che scarichi il codice eseguibile tramite USB DFU
  • RAM Loader – Un metodo per eseguire del codice direttamente dalla RAM del dispositivo
  • Secure Memory Interface – Qualcosa che renda sicura l'interfaccia di scrittura su RAM e FLASH. Serve per evitare che altri utenti finali modifichino il proprio cellulare, non per permettere ai rivenditori di bloccare il telefono.
  • Backup – Un metodo per effettuare il backup dei dati dalla FLASH. Dovrebbe poter permettere lo scambio delle immaginbi tra utenti.

Kernel

Il Kernel è basato sulla mainline 2.6.x ed utilizza il sistema di patch moko. E' previsto l'utilizzo delle patches di TomTom, dato che hanno fatto un lavoro molto esteso sul processore Samsung 2410 ed hanno aggiunto un gran supporto alle schede SD. Attualmente le loro patches permettono di supportare quasi tutti i fornitori di schede SD. Il lavoro sul Kernel è diviso tra i seguenti componenti:

Flash

La FLASH funziona come un MTD che utilizza accessi standard Linux. Farà girare il filesystem JFFS2 interamente in FLASH. Ci piacerebbe che i dati utente venissero crittografati. Potremmo configurarla sull'Interfaccia Utente, più avanti. Per il momento dovremmo solo costruire il framework di supporto.

Suono

Il driver audio per i codec utilizza Advanced Linux Sound Architecture (ALSA) con l'ASoC glue code. Questo è lo standard per le schede audio sotto Linux.

Luce di sfondo

E' un driver per luce di sfondo di classe LCD.

Tastiera / Pulsanti

Il driver per la tastiera utilizzerà il dispositivo di Input standard /dev/input.

Touch Screen

Il driver touch screen utilizza il dispositivo di Input standard /dev/input/touchscreen0.

Accelerometro (solo GTA02)

Stub: This is a stub. You can help OpenMokoWiki by expanding it.


USB

Occorrerà un supporto host / client USB per Linux, OS X, e Windows. Dovrebbe avere le seguenti funzioni:

  • Mass Storage – Per poterlo montare su altri dispositivi
  • Host Network – Per supportare il networking tramite USB
  • Linux USB Gadget – Metodo standard per far in modo che il dispositivo agisca come slave

NFS Root Support

Sarà uno dei metodi per sviluppare codice per il dispositivo. Ci permetterà di avere un filesystem più grande dell'attuale dimensione della FLASH. Per i dettagli su come settarlo, si veda la pagina Booting_from_NFS.

Bluetooth

Il supporto Bluetooth sarà basato sullo standard Linux chiamato BlueZ. Supporteremo i seguenti profili:

  • Cuffie – Per auricolari e cuffie senza fili
  • OBEX – Per il trasferimento dei file
  • HID – Sia per le tstiere Bluetooth che per gli emulatori di tastiera (ad esempio per i telecomandi)
  • Network Emulation – Per il supporto alla rete basato su Bluetooth

WiFi (solo GTA02)

Stub: This is a stub. You can help OpenMokoWiki by expanding it.


TS07.10

E' la parte dell'interfaccia per il GSM. Si basa sull'idea di creare dispositivi seriali multipli da un solo dispositivo seriale fisico. Questo codice si baserà sul funzionamento del progetto openEZX e dell'architettura originale Motorola. Dovrà fornire ipsec per le connessioni sicure su VPN.

Il diagramma seguente ne mostra l'architettura generale:

Template:Ui img path/gsm_interface.png

Qui troverete una versione adatta alla stampa.

modem GPRS

Accesso ad Internet a 2.5G (non EDGE).

Vibrazione

Utilizza l'interfaccia di classe LED. Potrebbe creare dei problemi durante il mainline merging, ma non ha molto senso inventare un nuovo sottosistema che sarebbe uguale al 100% all'interfaccia di classe LED.

Power Management

L'unità di Power Management si interfaccerà tramite l'interfaccia I2C standard del kernel. Le attuali power states transitions sono TBD.

User Space

NOTE: Per la prima versione del prodotto utilizzeremo glibc (non uClibC) e libX11 (completa, non allegerita). Le alternative utilizzerebbero meno spazio e sarebbero più ottimizzate, ma ci darebbero problemi di integrazione. riconsidereremo questa decisione nei rilasci successivi.


Linux Core Services

La maggior parte di questi core services includono un demone ed una libreria.

sshd

sshd abilita il login tramite rete ad una shell remota.

udev

udev è responsabile della gestione dei device nodes nel pseudo filesystem /dev .

bluez

bluez è il sottosistema Bluetooth Linuz.

dbus

dbus è un sottosistema di comunicazione tra processi.

GSM

  • GSM - gestisce la comunicazione con il modulo GSM.
  • gsmd - è responsabile della gestione del backend GSM.
  • libgsmd - comunicherà con gsmd ed esporterà una API per i programmi.

GPS

  • GPS - gestisce la comunicazione con il modulo.
  • gpsd - è il demone per la gestione del backend GPS. Esporterà l'interfaccia standard gpsd.

Linux User Interface

Matchbox

Un window manager leggero prodotto dal O-Hand

KDrive

KDrive-fbdev è un server X11leggero che gira direttamente su un FrameBuffer Linux.

libX11

La libreria X11.

GTK+

GTK+ è un GUI-Toolkit molto ricco. Sta alla base del progetto Gnome

Openmoko Application Framework

Main article: OpenMokoFramework


Programmi Nativi

Attualmente Inclusi

Qui trovate i programmi attualmente inclusi accessibili dal menu application, sia quelli Stylus-based che quelli Finger-based.

Programmi Finger-Based

Qui trovate le specifiche complete di tutti i programmi Finger-Based.

Programmi Stylus-Based

Qui trovate le specifiche complete di tutti i programmi Stylus-Based.

Personal tools

Openmoko è una distribuzione creata per telefoni ed altri eventuali dispositivi mobili.

Si veda la Trademark Policy se si desidera ricevere informazioni sulla policy di utilizzo del marchio Openmoko.

Questo è il suo stack software:

Template:Ui img path/software_stack2007.png

Qui è disponibile una versione adatta alla stampa.


NOTE: Questo articolo dovrebbe essere aggiornato al fine di rifletterne più propriamente l'architettura attuale.


Kernel Space

Il Kernel Space consiste in Bootloader, Kernel, e Power Management.

Bootloader

Il Bootloader è u-boot. Esso dovrà rispondere ai seguenti requisiti:

  • Firmware Update – Occorre un programma che scarichi il codice eseguibile tramite USB DFU
  • RAM Loader – Un metodo per eseguire del codice direttamente dalla RAM del dispositivo
  • Secure Memory Interface – Qualcosa che renda sicura l'interfaccia di scrittura su RAM e FLASH. Serve per evitare che altri utenti finali modifichino il proprio cellulare, non per permettere ai rivenditori di bloccare il telefono.
  • Backup – Un metodo per effettuare il backup dei dati dalla FLASH. Dovrebbe poter permettere lo scambio delle immaginbi tra utenti.

Kernel

Il Kernel è basato sulla mainline 2.6.x ed utilizza il sistema di patch moko. E' previsto l'utilizzo delle patches di TomTom, dato che hanno fatto un lavoro molto esteso sul processore Samsung 2410 ed hanno aggiunto un gran supporto alle schede SD. Attualmente le loro patches permettono di supportare quasi tutti i fornitori di schede SD. Il lavoro sul Kernel è diviso tra i seguenti componenti:

Flash

La FLASH funziona come un MTD che utilizza accessi standard Linux. Farà girare il filesystem JFFS2 interamente in FLASH. Ci piacerebbe che i dati utente venissero crittografati. Potremmo configurarla sull'Interfaccia Utente, più avanti. Per il momento dovremmo solo costruire il framework di supporto.

Suono

Il driver audio per i codec utilizza Advanced Linux Sound Architecture (ALSA) con l'ASoC glue code. Questo è lo standard per le schede audio sotto Linux.

Luce di sfondo

E' un driver per luce di sfondo di classe LCD.

Tastiera / Pulsanti

Il driver per la tastiera utilizzerà il dispositivo di Input standard /dev/input.

Touch Screen

Il driver touch screen utilizza il dispositivo di Input standard /dev/input/touchscreen0.

Accelerometro (solo GTA02)

Stub: This is a stub. You can help OpenMokoWiki by expanding it.


USB

Occorrerà un supporto host / client USB per Linux, OS X, e Windows. Dovrebbe avere le seguenti funzioni:

  • Mass Storage – Per poterlo montare su altri dispositivi
  • Host Network – Per supportare il networking tramite USB
  • Linux USB Gadget – Metodo standard per far in modo che il dispositivo agisca come slave

NFS Root Support

Sarà uno dei metodi per sviluppare codice per il dispositivo. Ci permetterà di avere un filesystem più grande dell'attuale dimensione della FLASH. Per i dettagli su come settarlo, si veda la pagina Booting_from_NFS.

Bluetooth

Il supporto Bluetooth sarà basato sullo standard Linux chiamato BlueZ. Supporteremo i seguenti profili:

  • Cuffie – Per auricolari e cuffie senza fili
  • OBEX – Per il trasferimento dei file
  • HID – Sia per le tstiere Bluetooth che per gli emulatori di tastiera (ad esempio per i telecomandi)
  • Network Emulation – Per il supporto alla rete basato su Bluetooth

WiFi (solo GTA02)

Stub: This is a stub. You can help OpenMokoWiki by expanding it.


TS07.10

E' la parte dell'interfaccia per il GSM. Si basa sull'idea di creare dispositivi seriali multipli da un solo dispositivo seriale fisico. Questo codice si baserà sul funzionamento del progetto openEZX e dell'architettura originale Motorola. Dovrà fornire ipsec per le connessioni sicure su VPN.

Il diagramma seguente ne mostra l'architettura generale:

Template:Ui img path/gsm_interface.png

Qui troverete una versione adatta alla stampa.

modem GPRS

Accesso ad Internet a 2.5G (non EDGE).

Vibrazione

Utilizza l'interfaccia di classe LED. Potrebbe creare dei problemi durante il mainline merging, ma non ha molto senso inventare un nuovo sottosistema che sarebbe uguale al 100% all'interfaccia di classe LED.

Power Management

L'unità di Power Management si interfaccerà tramite l'interfaccia I2C standard del kernel. Le attuali power states transitions sono TBD.

User Space

NOTE: Per la prima versione del prodotto utilizzeremo glibc (non uClibC) e libX11 (completa, non allegerita). Le alternative utilizzerebbero meno spazio e sarebbero più ottimizzate, ma ci darebbero problemi di integrazione. riconsidereremo questa decisione nei rilasci successivi.


Linux Core Services

La maggior parte di questi core services includono un demone ed una libreria.

sshd

sshd abilita il login tramite rete ad una shell remota.

udev

udev è responsabile della gestione dei device nodes nel pseudo filesystem /dev .

bluez

bluez è il sottosistema Bluetooth Linuz.

dbus

dbus è un sottosistema di comunicazione tra processi.

GSM

  • GSM - gestisce la comunicazione con il modulo GSM.
  • gsmd - è responsabile della gestione del backend GSM.
  • libgsmd - comunicherà con gsmd ed esporterà una API per i programmi.

GPS

  • GPS - gestisce la comunicazione con il modulo.
  • gpsd - è il demone per la gestione del backend GPS. Esporterà l'interfaccia standard gpsd.

Linux User Interface

Matchbox

Un window manager leggero prodotto dal O-Hand

KDrive

KDrive-fbdev è un server X11leggero che gira direttamente su un FrameBuffer Linux.

libX11

La libreria X11.

GTK+

GTK+ è un GUI-Toolkit molto ricco. Sta alla base del progetto Gnome

Openmoko Application Framework

Main article: OpenMokoFramework


Programmi Nativi

Attualmente Inclusi

Qui trovate i programmi attualmente inclusi accessibili dal menu application, sia quelli Stylus-based che quelli Finger-based.

Programmi Finger-Based

Qui trovate le specifiche complete di tutti i programmi Finger-Based.

Programmi Stylus-Based

Qui trovate le specifiche complete di tutti i programmi Stylus-Based.