Calificación:
  • 1 voto(s) - 5 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Introduccion básica a como funcionan rk3188 y rk3066.
#1
Muchas veces nos gusta enterarnos como funcionan nuestros dispositivos android, pues básicamente vamos a tratar de explicar de que partes constan y como funcionan estos cacharros que usamos como centros multimedia, plataformas de juegos, navegar por la red, leer nuestros emails, etc..

Esto no pretende ser excesivamente técnico y lo que quiero es daros unas ideas básicas, para que os sea mas fácil identificar muchos problemas y resolverlos por nosotros mismos. Mucho me temo que va a salir un tocho largo, pero creo que saciará la curiosidad de muchos.

Estos dispositivos físicamente tienen:

Procesador: ejecutan las instrucciones que nos dan los programas o aplicaciones, formados por 2 (RK3166) o 4 (RK3188) procesadores (CPU), dentro tienen también nuestra GPU (chip graficos) que se dedican a dibujar en la pantalla nuestros gráficos (en rockchip son mali). Las CPU y GPU tienen una determinada frecuencia de reloj que van desde un mínimo a un máximo, que van variando en función de la carga que le damos, por ejemplo, un juego 3D los tendrán a tope, a máxima velocidad, y al navegar por la web o estar sin hacer nada en el escritorio CPU y GPU bajaran su frecuencia con lo que nos dan menos consumo y calor.

RAM: Memoria volátil en la que se ejecutan los programas, es muy rápida y la CPU y GPU cogen los datos desde ahí y en ella se guardan las aplicaciones que tenemos en ejecución para tener un rápido acceso a ella. En rk3066 es de 1Gb en rk3188 usan 2Gb (normalmente, hay algunas excepciones)

NAND: Espacio de almacenamiento interno Es una memoria algo mas lenta que la anterior y según el dispositivo varía desde los 4Gb a 16Gb, ahí dentro tenemos el sistema operativo (android), y nuestros datos guardados, por lo que si nuestra NAND es de 8Gb el sistema android consumirá una parte de ella y nos dejará el resto para guardar datos. No os están engañando si en vendedor dice que tiene 8Gb y vosotros veis solo 5Gb para guardar cosas Guiño Mas adelante entraremos mas profundamente sobre esta parte.

Chip wifi:
Para conectarnos a nuestra red.

BT: Bluetooth, tecnología inalámbrica para conectar dispositivos de entrada (teclados, ratones, mandos de la play, etc...) o de salida (auriculares BT, etc..) o simplemente para pasar archivos entre varios dispositivos.

Ambos dispositivos wifi y BT suelen venir en el mismo chip y compartir antena (2,4Ghz) aunque existen excepciones. Algunos ejemplos de chips usados por nuestros cacharros: AP6210, RTK8188CU, RTL8189es, etc...

PMU: Power manager unit, se encarga de alimentar los distintos componentes internos y proporcionar los correctos volt6ajes para cada uno de ellos. (procesador, memoria, chip wifi, etc...) y de darnos los recursos para activarlos y desactivarlos, meterlos en suspensión, etc...

Varios puertos USB 2.0: Para conectar todo tipo de dispositivos tales como teclados, mandos, discos externos, etc...; tienen al menos dos, y uno de ellos es OTG, este puerto es el que debemos usar para actualizar nuestro stick o box, meterle customs roms, conectarlo por adb, etc.., pero también puede ser usado para conectarle dispositivos como los normales.

Ranura para una MICROSD: Como medio de almacenamiento externo para guardar datos, actualizar nuestro cacharro o instalar linux en él Guiño

Salida HDMI: para conectarlos a nuestra tv.

Algunos dispositivos tienen otros extras como:

Salida AV: para usarlos con las teles de tubo, pierden bastante calidad y muchas veces resultan casi imposibles centrarlos bien.

Salida SPDIF: salida de audio para conectar a nuestro amplificador.

Puerto Ethernet: para usarlo en lugar del wifi y conectarlo a nuestra Red.

Nuestra memoria NAND.

normalmente esta dividida en varias particiones, en su interior (en dispositivos rockchip) están:

Bootloader: Pequeño binario que se encarga de gestionar el arranque.

Parameter: Fichero que suministra al bootloader información sobre tipo de dispositivo, las teclas físicas del aparato y tamaño de las demás particiones.

Boot.img: pequeño initramfs, es un sistema de archivos básico en el cual se montaran las demás particiones. Puede tener un kernel (el centro del sistema operativo, binario que comunica CPU, GPU, Nand, wifi y demás chips internos).

Kernel.img: Dentro está nuestro kernel, si tenemos otro kernel dentro del boot.img este no se usará. Importante asegurarnos si queremos cambiar nuestro kenel por otro asegurarnos que nuestro boot.img no tiene uno dentro Guiño

System.img: Aquí se encuentra nuestro entorno gráfico, las aplicaciones que vienen de fabrica, configuraciones de los dispositivos internos como wifi y BT y externos como teclados, ratones,... los binarios del sistema, etc...

Recovery.img: Es otro boot.img alternativo y puede ser usado como método alternativo de arranque, el recovery que viene de stock tiene nula o al menos muy limitada su funcionalidad Triste Sirve para hacer reset de fábrica, formatear las particiones en el primer inicio, instalar las actualizaciones oficiales y poco mas. Yo prefiero usar cwm recovery que es más completo y nos permite hacer backups de nuestras roms, restaurarlas, instalar customs y fixes, conexión adb a nuestro ordenador, etc... También se puede usar estar partición para arrancar linux, Usando para ello la ranura SD como sistema de almacenamiento interno en linux y así tener nuestro sistema android en NAND y linux en la SD.

Misc.img: pequeña partición que se encarga de informar al bootloader desde donde queremos arrancar en loader mode, normal o recovery.

Backup.img: Teóricamente esta partición almacena una copia de seguridad de la rom entera, en la practica no es usada en la gran mayoría de roms oficiales, y nunca en las customs, pero es necesario tenerla ahí, sin ella el equipo no arranca y la liamos, lo mejor dejarla tranquila y no tocarla Guiño

Estas son las particiones fundamentales que integran una rom, en las oficiales nos vienen en un solo archivo .img empaquetadas, y en las customs roms (cocinadas) normalmente nos vienen desempaquetadas y flasheables independientemente. Pero además de éstas, hay otras particiones que se crean en el primer arranque y nos sirven para guardas nuestras aplicaciones de usuario y datos:

User.img: Este es el espacio de la NAND que se queda para guardar nuestros datos, se monta en /sdcard/ y es la memoria de almacenamiento para películas, fotos, etc...

Userdata.img: partición /DATA/ donde se almacenan las aplicaciones que instalamos, y los datos de estas, como las configuraciones de programas y demás.

Cache: Pues es otra partición que se crea en el primer arranque y como su propio nombre indica guarda hace de cache del sistema y guarda algunos datos temporales de las aplicaciones, si nuestro dispositivo entra en bootloop (se queda en la animación de inicio y no termina de entrar en el entorno gráfico) algunas veces con formatear esta partición se nos soluciona el problema.

Init.d: Puede ser implementado en la Rom usando un truco desde boot.img, pero no es ninguna parte fundamental del stick en mi opinion

Nuestros dispositivos rk3188 (y rk3066 también) tienen 3 modos básico de arrancar el equipo:

Modo normal: Esto sucede cuando encendemos nuestro dispositivo y cargamos nuestro sistema android, es el modo por defecto y en este tipo de arranque si hay un kernel dentro de boot.img lo cargamos, si no nos vamos a nuestro kernel.img y lo cargamos desde allí, cargamos nuestra boot.img, un pequeño initramfs (sistema de archivos donde luego montaremos nuestro sistema android) luego montamos nuestro system.img donde está nuestro entorno gráfico, la cache, y nuestras unidades de almacenamiento, ya estamos listos para navegar por la red, ver nuestras películas, jugar, lo que sea.

Modo recovery.
En lugar de usar nuestro boot.img usamos recovery.img, miramos si en nuestro recovery hay un kernel que arrancar, sino lo cogemos de la particion kernel.img, en recovery.img también hay un initramfs, mas completo que en boot img, y donde tenemos un toolbox básico (comandos tipo unix) y un binario (ejecutable) llamado recovery que lanza un modo de recuperación para instalar actualizaciones y algunas cosas mas.
Si nuestro recovery es cwm, tendremos un recovery mas completo con busybox desde allí tendremos acceso adb al dispositivo para ejecutar algunos comandos linux-unix, tomar logs, hacer backup y restaurar, formatear particiones, etc... Para mi es fundamental que cwm recovery tenga un kernel funcional insertado, no tiene que ser el mismo kernel q se encuentre en el sistema, pero así nos garantiza un sistema para poder recuperar de algún desastre nuestro dispositivo y dejarlo completamente funcional en apenas 5 minutos Guiño Sin tener que enchufarlo al pc, y con todas las aplicaciones que teníamos instaladas en el momento de hacer el backup Alegre
También como he mencionado anteriormente podemos tener aquí un kernel compatible con linux y arrancar linux desde la microsd.

Modo loader:
Deja el sistema a la espera para flashear desde el pc el dispositivo, desde windows podemos borrar la NAND entera (erase IDB) y cargar un nuevo bootloader y todas las demás particiones. Desde linux podemos flashear las particiones pero no borrar la nand entera ni flashear el bootloader Triste

Modo mascara: Se consigue cortocircuitando un par de pines del chip de la nand no está hecho para ser usado normalmente.
Es un recurso extra para aquellos que no consiguen recuperar su stick de ninguna manera, conyeva un mayor riesgo en mi opinion que los otros modos, pero tienes razon, gracias, lo referenciare en mi post.


Bueno pues eso es todo por hoy, menudo tocho os he soltado, si alguien tiene preguntas intentaré responderlas, si alguien puede completar esta información genial, y si veis algún error por favor avisad, que el tiene boca se equivoca Guiño

leolas
leolas

Por favor, leer y usar la búsqueda antes de preguntar, si no encuentras respuesta pregunta, que trataremos de ayudar en todo lo posible.

Si quieres invitarme a un café pulsa este botón! :)
Responder
#2
Muy interesante fiera, buena guía para conocer lo básico y un poco mas.
Responder
#3
Ahora estoy haciendo el tocho de cwm recovery. Menudos tochacos me están saliendo, pero espero que queden claritos Guiño
leolas

Por favor, leer y usar la búsqueda antes de preguntar, si no encuentras respuesta pregunta, que trataremos de ayudar en todo lo posible.

Si quieres invitarme a un café pulsa este botón! :)
Responder
#4
Me lo he leído enterito buen texto si señor.
Apadrina una ROM, invítame a una birra! :D

No se contestan dudas por privado, usad el foro para ello :)
Responder
#5
Currazo si señor!
Apadrina una ROM, invítame a una birra! :D  
Responder
#6
Fantástico documento leolas.

Gran trabajo!!!!
Responder
#7
(15-11-2013, 03:02 PM)fir3burn escribió: Fantástico documento leolas.

Gran trabajo!!!!

Gracias a ti, y encantado de verte por aquí también. Sonrisa

leolas.
leolas

Por favor, leer y usar la búsqueda antes de preguntar, si no encuentras respuesta pregunta, que trataremos de ayudar en todo lo posible.

Si quieres invitarme a un café pulsa este botón! :)
Responder
#8
Gran articulo, acabo de adquirir un mk908II y estoy aprendiendo mucho con vuestros post
Gracias por compartir vuestra sabiduria.
Responder
#9
good and useful.

LOL. Thank you for your post. I've just got my jxd s7800b and it's RK3188 2GB. Now i have a more clear knowledge about how the device works.
Responder


Salto de foro:


Usuarios navegando en este tema:
1 invitado(s)