Linux From Scratch para Cubietruck – B: Hardware

Referencia:

1. CPU y la placa de referencia de diseño de Allwinner

http://dl.linux-sunxi.org/A20/

2. Diseño de PCB Cubietruck, configuración del sistema para, Wifi conductor

esquema PCB:

http://dl.cubieboard.org/hardware/

Wifi configuración

http://dl.cubieboard.org/docs/A20-ap6330-ap6210-android-port.pdf

A20 de configuración del sistema
http://dl.cubieboard.org/docs/A20_System_Configuration_V1.0.pdf

3. ARMv7-AR Technical Reference Manual

http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0406b/index.html
4. Cortex-A7 manuales de referencia

http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0406b/index.html
5.

Puntos clave en eys ingenieros de software ‘

1. fuente de alimentación

A20 demandas «5V 2A» fuente de alimentación externa. Si no va a conectar todos los pines de E / S al mismo tiempo, por lo general cubietruck puede ser alimentado por el puerto USB de su PC. La salida de potencia de serie en el puerto USB de la PC es «5V/500mA». En junta cubietruck, también se puede alimentar de corriente a cubietruck a través del puerto USB OTG.

2. salida del teclado / ratón y vídeo

Con la imagen de Android de valores, Cubietruck funciona bien con teclado inalámbrico USB, ratón. La salida HDMI también funciona como un encanto en mi televisor.

3. Bloque de CPU diagrama

A20 es un SoC muy potente, con gran cantidad de I E / S de la interfaz y la fuerte capacidad de video. Se suele utilizar para la tableta y televisores inteligentes.

4. Instrucción establece

Dos núcleos Cortex-A7, ARMv7-A la arquitectura.

Thumb-2
Jazeller RCT />
VPFV4 punto flotante
Large Physical Address Extension (LPAE) />
Hardware apoyo máquina virtual

5. Mapa de memoria

a. SRAM

A20 ofrece varios en los bancos de chips de SRAM, (A1-A4, B, C, D), y el controlador de memoria SRAM (0x01C0 0000 — 0x01C0 0FFF). Según el «Manual del usuario de A20: 1.7.3 Sistema de Registro de control», por defecto, C1 se asigna a VE (Video Engine), C3 asigna al ISP, C2 asigna a ACE, A3/A4 asigna a la CPU / DMA, D asigna a la CPU / DMA. Así que, básicamente, A1/A2/A3/A4 (48K en total) se podría utilizar de forma segura para cargar SPL (Second Program Loader), con la dirección que va desde 0x0000 a 0xBFFF.

b. rom en el chip de arranque (BROM)

A20 tiene BROM on-chip, que van desde 0xFFFF 0000-0xFFFF 7FFF, con el almacenamiento total de 32K. Procesador ARM tiene dos opciones para los vectores de reset: 0x00 y 0xFFFF 0000. Así se ejecutará código BROM tras el reinicio del sistema en la CPU A20. De acuerdo con la Guía del usuario del A20, el BROM tiene debajo de la lógica:


Por lo tanto, BROM arrancará SDC0 (tarjeta SD), NAND Flash, SDC2, SPI0, USB en una secuencia. En Cubietruck, tenemos SDC0 y NAND, USB. El pasador de BSP es en realidad el pin «FEL» en cubietruck. Cuando se pulsa durante el encendido, A20 entrará en el modo «FEL», y esperar a que la descarga del firmware desde el puerto USB OTG (USB0). Entonces usted puede «flash» NAND interna del lado del host utilizando las herramientas llamadas «LiveSuite» a través de la línea de OTG USB conectado.
Vamos a tener una investigación más a fondo en el código BROM más tarde.

c. DRAM

2G DDR dirección reside en el rango de 0x4000 0000 — 0xBFFF FFFF.

El chip DDR3 en Cubietruck PCB se marca como «H5TQ1G83BFR «. Aquí está su ficha técnica:

http://www.hynix.com/inc/pdfDownload.jsp?path=/datasheet/pdf/dram/DDR3_H5TQ1G4(8_6)3BFR(Rev1.1).pdf

Pero en el tablero cubietruck, el módulo DDR es 512MBx4, con la etiqueta de «GT8UB512M8EN-BG». La página de proveedor es:

http://gtmemory.com/en/pro.asp

Y la especificación DDR3 está aquí:

https://github.com/SoM-Boards/SoM-allwinnerA10/blob/master/docs/GT-DDR3-4Gbit-B-DIE-x8%20×16.pdf?raw=true

No hay información detallada sobre DRAM controlador de registro en «A20 Manual del usuario». La mejor referencia que puedo encontrar en la forma de inicializar DRAM en cubietruck es el código fuente de PROM gestor de arranque en A20 CPU:

https://github.com/hno/allwinner-boot
Este mensaje revela parte de la información:

http://linux-sunxi.org/DRAM_Controller

Allwinner también publicó una «configuración del sistema A20 «para el socio OEM.

http://dl.cubieboard.org/docs/A20_System_Configuration_V1.0.pdf

En este manual, podemos ver la configuración típica para DRAM en la sección «SDRAM»:

Educado adivinar en estos parámetros:

dram_baseaddr: 0x4000 0000 (emparejado con Manual A20 del usuario)

dram_clk: 408 (clk MBUS debe ser 408MhZ)
en «A20 Manual de Usuario, 1,5 CCU», que SASY la SDRAM_CLK se burló del PLL. Desde A20 tiene un OSC24M, y 408/24 = 17, por lo que sólo hace 408M sentidos />



dram_chip_density: debe ser 512Mb x 8 = 4Gb
dram_io_width: debe ser 8
dram_bus_width: debería ser 32

El chip DRAM en cubietruck es de 512 MB , con 4 fichas en la placa. De acuerdo con JEDEC DDR3 especificación, es un chip x8 512Mb. Estos datos también coincide esquema PCB cubietruck

dram_cas: 9 (retardo CAS 9 CL)

dram_zq: ZQ es la resistencia de la impedancia, con valor 240ohm. no estoy seguro de lo que este párrafo es que,

dram_odt_en: si ODT está habilitada />
dram_tpr *: calendario parámetro registro (incierto)
dram_emr *: extendido. Modo de registro />
De acuerdo con JEDEC DDR spec (http://mermaja.act.uji.es/docencia/is37/data/DDR3.pdf), aquí está la decodificación de los registros emr:
EMR1 /> DLL permiten
impedancia de salida del controlador: RZQ / 6 = 40 ohm
Rtt_Nom = RZQ / 4 = 60 ohm
Aditivo Latencia: desactivado (¿no debería estar habilitado?)
TDQS: búfer de salida />



parcial Matriz Auto-refresh: Completo Matriz
CAS latencia de escritura (CWL): 7
Auto Auto-refresh: desactivar (manual)
gama templature Auto Rrefresh: Normal Rtt_WR gama de temperaturas de funcionamiento
: ODT dinámica off
dram_emr3 /> ubicación MPR: predefinido patrón
MPR: funcionamiento normal. lo que en realidad MPR no se utiliza.

De todos modos, supongo que es sólo adivinar. Es sólo que no entiendo por qué tantos vendedores de CPU no liberan los detalles del controlador de memoria DRAM. Podríamos lanzar algunas pruebas sobre estos registros de control de DRAM más tarde.

6. GPIO

Hay 10 puertos GPIO en A20, desde Port AI y Port S. Puerto S se dedica a la controladora de memoria. Otros puertos pueden ser configurados en diferentes modos

Puerto A (PA):. 18 puerto de entrada / salida
Puerto B (PB): 24 puerto de entrada / salida
Puerto C ( PC): 25 entradas / salidas de puerto
Port D (PD): 28 entradas / salidas de puerto
Puerto E (PE): 12 puertos de entrada / salida
Puerto F (PF): 6 entradas / salida del puerto
Puerto G (PG): 12 puertos de entrada / salida
Puerto H (PH): 28 entradas / salidas de puerto
Puerto I (PI): 22 puertos de entrada / salida
Port S (PS): 84 puerto de entrada / salida para DRAM

Hay 8 modo posible seleccionar para cada pin. Entre ellos, es 0b000 entrada GPIO, 0B001 se emite GPIO y 0b010-0x111 se corresponde con diferentes selecciona para diferentes pin. Puede hacer referencia a «A20 Hoja de datos: 4.2 FUNCIONES GPIO multiplexación.» Para obtener información detallada

En «guía A20 del usuario: 1.19 Controlador de puerto», se puede encontrar información detallada sobre la configuración de estos puertos a través de Configurar puerto / data / multi-driving / pull registros. />

7.. Memoria no volátil Externo />
A20 soporte para Flash NAND, SD / MMC, SPI, USB, SATA (2,6).
El chip NAND es «Hynix H27UCG8T2ATR-BC» ( 8192M x 8bit). En Cubietruck, la asignación de puertos GPIO son los siguientes:

NAND: (PC)

SDC0: (PF)

8. EMAC y GMAC (PA)

A20 apoyo EMAC y GMAC. Interfaz EMAC es MII, y la interfaz de GMAC es RGMII. Pasadores son multiplexados entre GMAC / EMAC en PA0-PA17, por lo que sólo se pueden permitir uno de ellos. 0x2 para EMAC y 0x5 para GMAC.

Cubietruck tiene una RTL8211E como PHY. Es un PHY 10/100/1000, de modo de interfaz GMAC debe utilizarse para aprovechar la capacidad de ancho de banda de 1G.

9. WIFI y Bluetooth

Cubietruck tiene un chip de wifi + bluetooth «AP6210». Por wifi, él uso el SDC3 interfaz SD. Uso de Bluetooth UART2.


De acuerdo con» A20 Wifi Android 4.2 de la migración «, AP6210 realidad es» Broadcom 4329/30 «chip <. br />
10. UART0 (consola) mapa />
puerto:

UART0_TX PB22 PB23 UART0_RX

11. Infrarrojos módulo />

IR0_TX PB3 IR0_RX PB4

12. JTAG
Hay dos puertos JTAG disponibles en cubietruck. Jtag0 se coloca en zócalo de la extensión CN8, multiplexado con SPI2; jtag1 se multiplexa con SDC0

No estoy seguro de la funcionalidad JTAG trabajará en A20, ¡pero nosotros sólo tendremos en cuenta ya veces podríamos darle una oportunidad.

Tanto es así para la lista de hardware. Deberíamos tener la lista de los componentes suficientes para que podamos comenzar nuestra retoques con Cubietruck. Antes de eso, necesitamos que nuestro «instrumento del comercio», la cadena de herramientas.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *