Hallo zusammen,
ich habe ein SoCrates Developmentboard der Version 2.1 und 1.2 mit einem
Cyclone V.
Aktuell versuche ich ein Linux Betriebssystem auf dem Board zu starten.
Das eigentliche Ziel des Projektes ist eine QT Anwendung laufen zu
lassen. Daher verwende ich als Grundlage das Projekt „QT Demo on
SoCrates“
https://rocketboards.org/foswiki/view/Projects/QtDemoOnSoCrates
Auf meinem Host PC habe ich Windows 7 mit den Programmen Quartus || 17,
DS-5 und SoC EDS 17.
Als Virtuelle Maschine benutze ich ein Ubuntu V14 32 Bit. Auf der
virtuellen Maschine sind keiner der oben genannten Tools installiert.
Als erstes habe ich ELDK 5.3 in Ubuntu installiert.
Hierzu habe ich die folgenden Files heruntergeladen:
- ftp://ftp.denx.de/pub/eldk/5.3/install.sh
-
.../5.3//targets/armv7a-hf/core-image-qte-sdk-generic-armv7a-hf.tar.gz
-
.../5.3//targets/armv7a-hf/eldk-eglibc-i686-arm-toolchain-qte-5.5.3.sh
- .../5.3//targets/armv7a-hf/target.conf
und anschließend mit „ sudo ./install.sh -s qte -r qte-sdk armv7a-hf“
installiert. Danach folgt die Installation des eldk-switch und das
setzen der Enviromentvariablen. Abschließend die Anweisung "eldk-switch
-r 5.3 armv7a-hf".
Nun wurde alle Schritte wie bei der Anleitung „QT Demo on SoCrates“
durchgeführt und den make Prozess mit
make socfpga_socrates_defconfig
make -j2 LOADADDR=0x8000 uImage
make socfpga_cyclone5_socrates.dtb
gestartet. Die erzeugten Files befinden sich im Ordner arch/arm/boot
und arch/arm/boot/dts
Für das Erstellen der SD Karte verwende ich das Archivfile vom EBV
workshop. Das dort enthaltene Betriebssystem funktioniert einwandfrei.
Wenn ich allerdings die Files „socfpga_socrates.dtb“ und uImage durch
die neu erzeugten Files austausche erhalte ich folgenden Auszug:
U-Boot SPL 2013.01.01 (Aug 04 2015 - 21:24:12)
BOARD: EBV SoCrates
CLOCK: EOSC1 clock 25000 KHz
CLOCK: EOSC2 clock 25000 KHz
CLOCK: F2S_SDR_REF clock 0 KHz
CLOCK: F2S_PER_REF clock 0 KHz
CLOCK: MPU clock 800 MHz
CLOCK: DDR clock 333 MHz
CLOCK: UART clock 100000 KHz
CLOCK: MMC clock 50000 KHz
CLOCK: QSPI clock 400000 KHz
RESET: COLD
INFO : Watchdog enabled
SDRAM: Initializing MMR registers
SDRAM: Calibrating PHY
SEQ.C: Preparing to start memory calibration
SEQ.C: CALIBRATION PASSED
SDRAM: 1024 MiB
ALTERA DWMMC: 0
U-Boot 2013.01.01 (Aug 04 2015 - 21:24:38)
CPU : Altera SOCFPGA Platform
BOARD: EBV SoCrates
I2C: ready
DRAM: 1 GiB
MMC: ALTERA DWMMC: 0
In: serial
Out: serial
Err: serial
Net: mii0
Hit any key to stop autoboot: 0
3761160 bytes read in 242 ms (14.8 MiB/s)
20485 bytes read in 45 ms (444.3 KiB/s)
## Booting kernel from Legacy Image at 10000000 ...
Image Name: Linux-3.14.0-00318-g775a3df-dirt
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3761096 Bytes = 3.6 MiB
Load Address: 00008000
Entry Point: 00008000
## Flattened Device Tree blob at 00f00000
Booting using the fdt blob at 0x00f00000
Loading Kernel Image ... OK
OK
Loading Device Tree to 03ff7000, end 03fff004 ... OK
Starting kernel ...
… und danach passiert nichts mehr.
Wenn ich nur das uImage austausche und den alten Device Tree verwende
erhalte ich folgende Ausgabe:
U-Boot 2013.01.01 (Aug 04 2015 - 21:24:38)
CPU : Altera SOCFPGA Platform
BOARD: EBV SoCrates
I2C: ready
DRAM: 1 GiB
MMC: ALTERA DWMMC: 0
In: serial
Out: serial
Err: serial
Net: mii0
Hit any key to stop autoboot: 0
3761160 bytes read in 246 ms (14.6 MiB/s)
20174 bytes read in 48 ms (410.2 KiB/s)
## Booting kernel from Legacy Image at 10000000 ...
Image Name: Linux-3.14.0-00318-g775a3df-dirt
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3761096 Bytes = 3.6 MiB
Load Address: 00008000
Entry Point: 00008000
## Flattened Device Tree blob at 00f00000
Booting using the fdt blob at 0x00f00000
Loading Kernel Image ... OK
OK
reserving fdt memory region: addr=0 size=1000
Loading Device Tree to 03ff8000, end 03fffecd ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Linux version 3.14.0-00318-g775a3df-dirty (bo@ubuntu)
(gcc version 4.7.2 (GCC) ) #4 SMP Wed Oct 18 22:34:00 PDT 2017
[ 0.000000] CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7),
cr=10c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing
instruction cache
[ 0.000000] Machine model: EBV SOCrates
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] PERCPU: Embedded 8 pages/cpu @bf7db000 s11328 r8192
d13248 u32768
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on.
Total pages: 260096
[ 0.000000] Kernel command line: root=/dev/mmcblk0p2 rw rootwait
console=ttyS0,115200 uio_pdrv_genirq.of_id=generic-uio mem=1024M
[ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288
bytes)
[ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144
bytes)
[ 0.000000] Memory: 1031344K/1048576K available (5619K kernel code,
266K rwdata, 1524K rodata, 379K init, 266K bss, 17232K reserved)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xc0800000 - 0xff000000 (1000 MB)
[ 0.000000] lowmem : 0x80000000 - 0xc0000000 (1024 MB)
[ 0.000000] modules : 0x7f000000 - 0x80000000 ( 16 MB)
[ 0.000000] .text : 0x80008000 - 0x80702030 (7145 kB)
[ 0.000000] .init : 0x80703000 - 0x80761c40 ( 380 kB)
[ 0.000000] .data : 0x80762000 - 0x807a4a90 ( 267 kB)
[ 0.000000] .bss : 0x807a4a90 - 0x807e72a4 ( 267 kB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2,
Nodes=1
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] NR_IRQS:16 nr_irqs:16 16
[ 0.000018] sched_clock: 32 bits at 100MHz, resolution 10ns, wraps
every 42949672950ns
[ 0.000327] Console: colour dummy device 80x30
[ 0.000366] Calibrating delay loop... 1594.16 BogoMIPS (lpj=7970816)
[ 0.089744] pid_max: default: 32768 minimum: 301
[ 0.089984] Mount-cache hash table entries: 2048 (order: 1, 8192
bytes)
[ 0.090007] Mountpoint-cache hash table entries: 2048 (order: 1, 8192
bytes)
[ 0.095223] CPU: Testing write buffer coherency: ok
[ 0.095278] ftrace: allocating 18816 entries in 56 pages
[ 0.128575] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.128683] Setting up static identity map for 0x5146b8 - 0x514710
[ 1.129741] CPU1: failed to come online
[ 1.129816] Brought up 1 CPUs
[ 1.129830] SMP: Total of 1 processors activated.
[ 1.129838] CPU: All CPU(s) started in SVC mode.
[ 1.130811] devtmpfs: initialized
[ 1.138815] VFP support v0.3: implementor 41 architecture 3 part 30
variant 9 rev 4
[ 1.140509] NET: Registered protocol family 16
[ 1.140571] fpga bridge driver
[ 1.141250] DMA: preallocated 256 KiB pool for atomic coherent
allocations
[ 1.142549] L310 cache controller enabled
[ 1.142569] l2x0: 8 ways, CACHE_ID 0x410030c9, AUX_CTRL 0x32460000,
Cache size: 512 kB
[ 1.144099] syscon ffc25000.sdr: regmap [mem 0xffc25000-0xffc25fff]
registered
[ 1.144360] syscon fffef000.l2-cache: regmap [mem
0xfffef000-0xfffeffff] registered
[ 1.144785] syscon ffc25000.sdrctl: regmap [mem
0xffc25000-0xffc25fff] registered
[ 1.145163] syscon ff800000.l3regs: regmap [mem
0xff800000-0xff800fff] registered
[ 1.146391] syscon ffd08000.sysmgr: regmap [mem
0xffd08000-0xffd0bfff] registered
[ 1.146686] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1
watchpoint registers.
[ 1.146695] hw-breakpoint: maximum watchpoint size is 4 bytes.
[ 1.146981] altera_hps2fpga_bridge fpgabridge.2: regmap for
altr,rst-mgr lookup failed.
[ 1.146994] altera_hps2fpga_bridge fpgabridge.2: probe deferral not
supported
[ 1.147101] altera_hps2fpga_bridge fpgabridge.3: regmap for
altr,rst-mgr lookup failed.
[ 1.147113] altera_hps2fpga_bridge fpgabridge.3: probe deferral not
supported
[ 1.147213] altera_hps2fpga_bridge fpgabridge.4: regmap for
altr,rst-mgr lookup failed.
[ 1.147223] altera_hps2fpga_bridge fpgabridge.4: probe deferral not
supported
[ 1.152021] bio: create slab <bio-0> at 0
[ 1.153981] FPGA Mangager framework driver
[ 1.154264] SCSI subsystem initialized
[ 1.154497] usbcore: registered new interface driver usbfs
[ 1.154552] usbcore: registered new interface driver hub
[ 1.154671] usbcore: registered new device driver usb
[ 1.155523] pps_core: LinuxPPS API ver. 1 registered
[ 1.155534] pps_core: Software ver. 5.3.6 - Copyright 2005-2007
Rodolfo Giometti <giometti@linux.it>
[ 1.155555] PTP clock support registered
[ 1.156272] Switched to clocksource timer1
[ 1.179907] NET: Registered protocol family 2
[ 1.180482] TCP established hash table entries: 8192 (order: 3, 32768
bytes)
[ 1.180563] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
[ 1.180706] TCP: Hash tables configured (established 8192 bind 8192)
[ 1.180801] TCP: reno registered
[ 1.180820] UDP hash table entries: 512 (order: 2, 16384 bytes)
[ 1.180881] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[ 1.181166] NET: Registered protocol family 1
[ 1.181582] RPC: Registered named UNIX socket transport module.
[ 1.181593] RPC: Registered udp transport module.
[ 1.181600] RPC: Registered tcp transport module.
[ 1.181606] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 1.181980] hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7
counters available
[ 1.182039] arm-pmu arm-pmu: PMU:CTI successfully enabled for 1 cores
[ 1.182758] futex hash table entries: 512 (order: 3, 32768 bytes)
[ 1.192942] NFS: Registering the id_resolver key type
[ 1.192998] Key type id_resolver registered
[ 1.193006] Key type id_legacy registered
[ 1.193042] NTFS driver 2.1.30 [Flags: R/W].
[ 1.193393] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[ 1.194006] msgmni has been set to 2014
[ 1.194521] io scheduler noop registered (default)
[ 1.197802] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[ 1.198669] ffc02000.serial0: ttyS0 at MMIO 0xffc02000 (irq = 194,
base_baud = 6250000) is a 16550A
[ 1.761234] console [ttyS0] enabled
[ 1.765167] ffc03000.serial1: ttyS1 at MMIO 0xffc03000 (irq = 195,
base_baud = 6250000) is a 16550A
[ 1.774697] altera_fpga_manager ff706000.fpgamgr: fpga manager
[Altera FPGA Manager] registered as minor 0
[ 1.785306] brd: module loaded
[ 1.789374] cadence-qspi ff705000.spi: DMA NOT enabled
[ 1.794574] cadence-qspi ff705000.spi: master is unqueued, this is
deprecated
[ 1.802217] m25p80 spi2.0: n25q256a (32768 Kbytes)
[ 1.807245] 6 ofpart partitions found on MTD device spi2.0
[ 1.812711] Creating 6 MTD partitions on "spi2.0":
[ 1.817508] 0x000000000000-0x000000040000 : "preloader"
[ 1.823463] 0x000000040000-0x000000050000 : "env"
[ 1.828881] 0x000000050000-0x000000060000 : "fdt"
[ 1.834287] 0x000000060000-0x000000100000 : "U-Boot"
[ 1.839947] 0x0000000a0000-0x0000006a0000 : "kernel"
[ 1.845618] 0x0000006a0000-0x000002000000 : "user"
[ 1.851154] cadence-qspi ff705000.spi: Cadence QSPI controller driver
[ 1.858152] CAN device driver interface
[ 1.862546] c_can_platform ffc00000.can: c_can_platform device
registered (regs=c08de000, irq=163)
[ 1.871765] stmmaceth ff702000.ethernet: no reset control found
[ 1.877683] stmmac - user ID: 0x10, Synopsys ID: 0x37
[ 1.882714] Ring mode enabled
[ 1.885756] DMA HW capability register supported
[ 1.890277] Enhanced/Alternate descriptors
[ 1.894626] Enabled extended descriptors
[ 1.898630] RX Checksum Offload Engine supported (type 2)
[ 1.904090] TX Checksum insertion supported
[ 1.908350] Enable RX Mitigation via HW Watchdog Timer
[ 1.919479] libphy: stmmac: probed
[ 1.922875] eth0: PHY ID 03625e6a at 0 IRQ POLL (stmmac-0:00) active
[ 1.929540] dwc2 ffb40000.usb: EPs:15
[ 1.933193] dwc2 ffb40000.usb: dedicated fifos
[ 2.796446] dwc2 ffb40000.usb: DWC OTG Controller
[ 2.801159] dwc2 ffb40000.usb: new USB bus registered, assigned bus
number 1
[ 2.808224] dwc2 ffb40000.usb: irq 160, io mem 0x00000000
[ 2.813789] usb usb1: New USB device found, idVendor=1d6b,
idProduct=0002
[ 2.820571] usb usb1: New USB device strings: Mfr=3, Product=2,
SerialNumber=1
[ 2.827775] usb usb1: Product: DWC OTG Controller
[ 2.832463] usb usb1: Manufacturer: Linux 3.14.0-00318-g775a3df-dirty
dwc2_hsotg
[ 2.839839] usb usb1: SerialNumber: ffb40000.usb
[ 2.844932] hub 1-0:1.0: USB hub found
[ 2.848740] hub 1-0:1.0: 1 port detected
[ 2.853000] usbcore: registered new interface driver usb-storage
[ 2.859155] usbcore: registered new interface driver usbserial
[ 2.865250] mousedev: PS/2 mouse device common for all mice
[ 2.871339] rtc-m41t80 0-0068: chip found, driver version 0.05
[ 2.877658] rtc-m41t80 0-0068: rtc core: registered m41t82 as rtc0
[ 2.884203] rtc-m41t80 0-0068: HT bit was set!
[ 2.888659] rtc-m41t80 0-0068: Power Down at 2000-00-00 03:50:53
[ 2.894890] i2c /dev entries driver
[ 2.898805] Synopsys Designware Multimedia Card Interface Driver
[ 2.905109] dwmmc_socfpga ff704000.dwmmc0: No dw-mshc-ciu-div
specified, assuming 1
[ 2.912764] dwmmc_socfpga ff704000.dwmmc0: platform data not
available
[ 2.919296] dwmmc_socfpga: probe of ff704000.dwmmc0 failed with error
-22
[ 2.926485] ledtrig-cpu: registered to indicate activity on CPUs
[ 2.932637] usbcore: registered new interface driver usbhid
[ 2.938206] usbhid: USB HID core driver
[ 2.942175] oprofile: using arm/armv7-ca9
[ 2.946473] TCP: cubic registered
[ 2.950392] NET: Registered protocol family 10
[ 2.955824] sit: IPv6 over IPv4 tunneling driver
[ 2.961065] NET: Registered protocol family 17
[ 2.965514] NET: Registered protocol family 15
[ 2.969963] can: controller area network core (rev 20120528 abi 9)
[ 2.976178] NET: Registered protocol family 29
[ 2.980631] can: raw protocol (rev 20120528)
[ 2.984886] can: broadcast manager protocol (rev 20120528 t)
[ 2.990541] can: netlink gateway (rev 20130117) max_hops=1
[ 2.996230] 8021q: 802.1Q VLAN Support v1.8
[ 3.000474] Key type dns_resolver registered
[ 3.004840] ThumbEE CPU extension supported.
[ 3.009125] Registering SWP/SWPB emulation handler
[ 3.014839] rtc-m41t80 0-0068: hctosys: unable to read the hardware
clock
[ 3.023734] Waiting for root device /dev/mmcblk0p2...
… Danach passiert nichts mehr… In beiden Fällen habe ich das Root File
System des Archivfiles verwendet. In einem weiteren Test habe ich das
Root File System „core-image-qte-sdk-generic-armv7a-hf“ verwendet.
Allerdings ändert dies nichts an der Ausgabe.
Kann mir irgendjemand weiterhelfen wieso das Linux nicht gestartet
werden kann? Ist die Architektur armv7a-hf die Richtige? An was könnte
es sonst noch liegen ?
Vielen Dank für eure Hilfe