Red de conocimiento informático - Conocimiento sistemático - Cómo jugar zynq7000 sin hardware

Cómo jugar zynq7000 sin hardware

El archivo ejecutable proporcionado por el sitio web oficial está basado en Linux de 64 bits: zynq_linux.tar.gz.

Para sistemas de 32 bits, debe compilarlo usted mismo. la solución es la siguiente:

1) Código de descarga: git clone git://git.xilinx.com/qemu-xarm.git

2) Configurar proyecto:

cd qemu-xarm

./configure --target-list=arm-softmmu --disable-werror --disable-kvm

3) Compilar: make

4) Resultado de la compilación:

[walt@zynq7k qemu-xarm]$ ls -l arm-softmmu/qemu-system-arm

-rwxrwxr-x. 1 walt walt 18428427 6 de noviembre 15: 27 arm-softmmu/qemu-system-arm

5) Compruebe si el entorno está bien. La prueba es la siguiente:

[walt@. zynq7k qemu-xarm]$ ./arm-softmmu/qemu -system-arm -h

Emulador QEMU versión 1.0.50, Copyright (c) 2003-2008 Fabrice Bellard

uso : qemu-system-arm [opciones] [disk_image]

'disk_image' es una imagen de disco duro sin formato para el disco duro IDE 0

Opciones estándar:

-h o -help muestra esta ayuda y sale

-version muestra información de la versión y sale

-machine [type=]name[,prop[=value][,... ]]

selecciona la máquina emulada ( -machine ? para la lista)

propiedad accel=accel1[:accel2[:...]] selecciona el acelerador

compatible los aceleradores son kvm, xen, tcg (predeterminado: tcg)

-cpu cpu seleccione CPU (-cpu ? para ver la lista)

…………

Nota : Si no se puede ejecutar, siga el mensaje /zynq-qemu para instalar la biblioteca dinámica faltante.

Reemplace los archivos en el paquete comprimido descargado oficialmente con el qemu-system-arm recién compilado. La prueba se ejecuta de la siguiente manera:

[walt@zynq7k zynq_linux]# ./start_qemu. .sh

tamaño de ram=40000000

error al leer el dispositivo de bloque QSPI

error sin unidad mtd para nand flash

a0mpcore_priv: smp_priv_base f8f00000

error sin unidad SD para el controlador sdhci (0)

error sin unidad SD para el controlador sdhci (1)

Número de NIC configuradas 0×1

ram_size 40000000, board_id d32, loader_start 0

Descomprimiendo Linux… listo, arrancando el kernel.

Arrancando Linux en CPU física 0

Linux versión 3.3.0-14.2-build1 (relman@xcobldal824) (gcc versión 4.6.1 (Sourcery CodeBench Lite 2011.09-50)) #1 SMP PREEMPT jueves 12 de julio 09:04:32 MDT 2012

CPU : Procesador ARMv7 [410fc090] revisión 0 (ARMv7), cr=10c5387d

CPU: caché de datos sin alias PIPT / VIPT, caché de instrucciones con alias VIPT

Máquina: plataforma Xilinx Zynq, modelo: Xilinx Zynq ZC702

consola de arranque [earlycon0] habilitada

Política de memoria: ECC deshabilitado, asignación de escritura de caché de datos

PERCPU: 7 páginas integradas/cpu @c190b000 s5696 r8192 d14784 u32768

p>

Construimos 1 listas de zonas en orden de zona, agrupación de movilidad en total de páginas: 255744

Línea de comando del kernel: console=ttyPS0, 115200 root=/dev/ram rw initrd=. 0×800000, 8M ip=:::::eth0:dhcp earlyprintk

Entradas de la tabla hash PID: 4096 (orden: 2, 16384 bytes)

Entradas de la tabla hash de caché Dentry: 131072 (orden: 7, 524288 bytes)

Inodo-c

entradas de la tabla hash de dolor: 65536 (orden: 6, 262144 bytes)

Memoria: 240 MB 768 MB = 1008 MB en total

Memoria: 1009280 k/1009280 k disponibles, 39296 k reservados, 270336 K de memoria alta

Disposición de la memoria del kernel virtual:

vector: 0xffff0000 – 0xffff1000 (4 kB)

fixmap: 0xfff00000 – 0xfffe0000 (896 kB)

vmalloc: 0xf0000000 – 0xff000000 (240 MB)

lowmem: 0xc0000000 – 0xef800000 (760 MB)

pkmap: 0xbfe00000 – 0xc0000000 (2 MB)

módulos: 0x bf000000 – 0xbfe00000 (14 MB)

.text: 0xc0008000 – 0xc040bdb0 (4112 kB)

.init: 0xc040c000 – 0xc0430640 (146 kB)

.datos: 0xc0432000 – 0xc045fd20 (184 kB)

.bss: 0xc045fd44 – 0xc0479f5c (105 kB)

Implementación de RCU jerárquica preferible.

La detección detallada de CPU detenidas está deshabilitada

NR_IRQS: 128

xlnx, ps7-ttc-1.00.a #0 at 0xf0000000, irq=43

Consola: dispositivo ficticio de color 80×30.

Calibración del bucle de retardo... 147,35 BogoMIPS (lpj=736768)

pid_max: predeterminado: 32768 mínimo: 301

Entradas de la tabla hash de caché de montaje: 512

CPU: Prueba de coherencia del búfer de escritura: ok

CPU0: subproceso -1, cpu 0, socket 0, mpidr 80000000

smp_twd: reloj no encontrado: -2< / p>

Calibración del temporizador local… 84,48 MHz.

Hw perfevents: habilitado con el controlador PMU ARMv7 Cortex-A9, 1 contador disponible

Configuración del mapa de identidad estático para 0x2f3000 – 0x2f3034

CPU1: proceso secundario iniciado

ssor

CPU1: hilo -1, cpu 1, socket 0, mpidr 80000001

Aparecieron 2 CPU

SMP: Total de 2 procesadores activados (271.66 BogoMIPS ).

devtmpfs: inicializado

NET: familia de protocolos registrados 16

Controlador de caché serie L2x0 habilitado

l2x0: 8 vías, CACHE_ID 0×00000000, AUX_CTRL 0×72060000, Tamaño de caché: 524288 B

registro del dispositivo de plataforma 'pl330′ id 0

registro del dispositivo de plataforma 'arm-pmu' id 0

hw-breakpoint: arquitectura de depuración 0×0 no compatible.

xslcr xslcr.0: en 0xF8000000 asignado a 0xF0008000

bio: crear losa en 0

gpiochip_add: GPIO registrados de 0 a 245 en el dispositivo: nuevo controlador de interfaz usbfs

usbcore: nuevo concentrador de controlador de interfaz registrado

usbcore: nuevo controlador de dispositivo registrado usb

Cambiando a clocksource xttcpss_timer1

NET: Familia de protocolos registrados 2

Entradas de la tabla hash de caché de ruta IP: 32768 (orden: 5, 131072 bytes)

Hash establecido TCP entradas de la tabla: 131072 (orden: 8, 1048576 bytes))

Entradas de la tabla hash de enlace TCP: 65536 (orden: 7, 786432 bytes)

TCP: tablas hash configuradas (establecidas 131072 bind 65536)

TCP reno registrado

Entradas de la tabla hash UDP: 512 (orden: 2, 16384 bytes)

Entradas de la tabla hash UDP-Lite: 512 ( orden: 2, 1638

4 bytes)

NET: Familia de protocolos registrados 1

RPC: Módulo de transporte de socket UNIX con nombre registrado.

RPC: Módulo de transporte udp registrado.

RPC: módulo de transporte tcp registrado.

RPC: módulo de transporte backchannel tcp NFSv4.1 registrado.

Intentando descomprimir la imagen de rootfs como initramfs…

la imagen de rootfs no es initramfs (la basura en el archivo comprimido parece un initrd

Liberando memoria initrd: 8192K

xscugtimer xscugtimer.0: ioremap fe00c200 a f000c200 con tamaño 400

pl330 dev 0 sonda exitosa

tamaño del grupo de rebote de memoria alta: 64 páginas

JFFS2 versión 2.2 (NAND) (RESUMEN) 2001-2006 Red Hat, Inc.<. /p>

msgmni se ha establecido en 1459

io planificador noop registrado

fecha límite del planificador io registrado

planificador io cfq registrado (predeterminado)

e0001000.uart: ttyPS0 en MMIO 0xe0001000 (irq = 82) es una consola xuartps

activada [ttyPS0], consola de arranque deshabilitada

consola [ttyPS0] habilitada, consola de arranque deshabilitado

e0000000.uart: ttyPS1 en MMIO 0xe0000000 (irq = 59) es un xuartps

xdevcfg f8007000.devcfg: ioremap f8007000 a f0060000 con tamaño 100

brd: módulo cargado

bucle: módulo cargado

GEM: BASEADDRESS hw: e000b000 virt: f0062000

Bus XEMACPS mii: sondeado

xemacps e000b000.eth: dirección no válida, use MAC asignado

actualizado d2:c4:43:31:6b:d0

eth0, pdev-gt;id -1, baseaddr 0xe000b000, irq 54

ehci_hcd: Controlador de host USB 2.0 'mejorado' (EHCI)

xusbps-ehci xusbps-ehci.0: Controlador de host Xilinx PS USB EHCI

xusbps -ehci xusbps-ehci.0: nuevo bus USB registrado, número de bus asignado 1

xusbps-ehci xusbps-ehci.0: irq 53, io mem 0×00000000

xusbps- ehci xusbps-ehci.0: USB 2.0 iniciado, EHCI 0.00

hub 1-0: 1.0: concentrador USB encontrado

hub 1-0: 1.0: 0 puertos detectados

Inicializando el controlador de almacenamiento masivo USB…

usbcore: nuevo controlador de interfaz registrado de almacenamiento USB

Soporte de almacenamiento masivo USB registrado.

Dispositivo USB Xilinx PS Controlador del controlador (01 de abril de 2011)

mousedev: dispositivo de mouse PS/2 común para todos los ratones

controlador de entradas i2c /dev

Interfaz de captura de video de Linux: v2.00

gspca_main: v2.14.0 registrado

uvcvideo: no se puede crear el directorio debugfs

usbcore: nuevo controlador de interfaz registrado uvcvideo

Controlador USB Video Class (1.1.1)

WDT OF probe

xwdtps f8005000.swdt: Temporizador de vigilancia Xilinx en 0xf0066000 con tiempo de espera de 10 segundos

sdhci: Controlador de interfaz de controlador de host Secure Digital

sdhci: Copyright(c) Pierre Ossman

sdhci-pltfm: plataforma SDHCI y asistente de controlador OF

mmc0: controlador SDHCI activado e0100000.sdhci [e0100000.sdhci] usando ADMA

usbcore: nuevo controlador de interfaz registrado usbhid

usbhid: controlador central USB HID

TCP cúbico registrado

NET: Protocolo registrado f

amily 17

Soporte VFP v0.3: implementador 41 arquitectura 3 parte 40 variante 0 rev 0

Registro del controlador de emulación SWP/SWPB

drivers/rtc/hctosys .c: no se puede abrir el dispositivo rtc (rtc0)

GEM: lp-gt; tx_bd ffdfb000 lp-gt; tx_bd_dma 2f2b2000 lp-gt; ;rx_bd ffdfc000 lp-gt; rx_bd_dma 2f2b1000 lp-gt; rx_skb ee9198c0

GEM: MAC 0x3143c4d2, 0x0000d06b, d2:c4:43:31:6b:d0

GEM: phydev ee90ec00, phydev-gt; phy_id 0x1410cc2, phydev-gt; addr 0×17

eth0, phy_addr 0×17, phy_id 0x01410cc2

eth0, adjunte [Marvell 88E1111] controlador phy

Enviando solicitudes DHCP., OK

IP-Config: Recibí respuesta DHCP de 10.0.2.2, mi dirección es 10.0.2.15

IP-Config: Completa:

dispositivo=eth0, addr=10.0.2.15, máscara=255.255.255.0, gw=10.0.2.2,

host=10.0.2.15, dominio=, nis-dominio=( none),

bootserver=10.0.2.2, rootserver=10.0.2.2, rootpath=

RAMDISK: sistema de archivos ext2 encontrado en el bloque 0

RAMDISK: cargando 8192 KB [1 disco] en el disco RAM... listo.

VFS: raíz montada (sistema de archivos ext2) en el dispositivo 1:0.

devtmpfs: montado

Liberando init memoria: 144K

Iniciando rcS…

Montando el sistema de archivos

Configurando mdev

eth0: enlace (1000/COMPLETO) p>

Iniciando el demonio telnet

Iniciando el demonio http

Iniciando el demonio ftp

Iniciando el demonio dropbear (ssh)

rcS completo

zynqgt; uname -v

#1 SMP

PREEMPT Jue 12 de julio 09:04:32 MDT 2012

zynqgt; df

Sistema de archivos 1K-bloques Usado Disponible Uso Montado en

ninguno 508808 0 508808 0 / tmp

zynqgt;