cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Adventurer
Adventurer
9,867 Views
Registered: ‎04-15-2013

Problem inserting drivers for ZC706 PCIe TRD when Chipscope modules added to design

Hey All,

 

I'm trying to Chipscope the signals going to the VDMA engine in the PCIe TRD located here. I've successfully added in the modules and have detected the ILA's in Chipscope Pro however when I try to connect from the Host PC to the board using the performance Demo I consistently get the following error.

 

Inserting Performance Driver
insmod: error inserting '/tmp/rdf0287-zc706-pcie-trd-14-7/software/host/driver/xrawdata1/xrawdata1.ko': -1 Cannot allocate memory
make: *** [insert] Error 1
Error in Inserting Performance Driver

 

I'm running the TRD Demo off of the live CD that came with 706.

 

The HDMI monitor shows the design is working, but after about 20 mins left on the HDMI output looks like it's getting junk data.

 

Any suggestions of what I may be doing wrong is appreciated.

 

0 Kudos
3 Replies
Highlighted
Adventurer
Adventurer
9,860 Views
Registered: ‎04-15-2013

Re: Problem inserting drivers for ZC706 PCIe TRD when Chipscope modules added to design

Now having another issue with this board.. I can't reprogram the QSPI flash any longer, the QSPI mode itself appears to be doing nothing, and I'm starting to wonder if this board is functional any longer. Here is the UART output when I try to load the QSPI flash from the SD card.

 

Xilinx First Stage Boot Loader
Release 14.7/2013.3     Dec 14 2013-15:21:43
Silicon Version 3.1
Boot mode is SD
SUCCESSFUL_HANDOFF
FSBL Status = 0x1


U-Boot 2013.07 (Dec 14 2013 - 15:24:59)

Memory: ECC disabled
DRAM:  1 GiB
MMC:   zynq_sdhci: 0
SF: Detected S25FL129P_64K/S25FL128S_64K with page size 128 KiB, total 32 MiB
In:    serial
Out:   serial
Err:   serial
Net:   Gem.e000b000
Hit any key to stop autoboot:  0
SF: Detected S25FL129P_64K/S25FL128S_64K with page size 128 KiB, total 32 MiB
SF: 14680064 bytes @ 0x1020000 Read: OK
## Loading kernel from FIT Image at 09000000 ...
   Using 'conf@1' configuration
   Trying 'kernel@1' kernel subimage
     Description:  PetaLinux Kernel
     Type:         Kernel Image
     Compression:  gzip compressed
     Data Start:   0x090000f0
     Data Size:    7072148 Bytes = 6.7 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: 0x00008000
     Entry Point:  0x00008000
     Hash algo:    crc32
     Hash value:   7c48e9fa
   Verifying Hash Integrity ... crc32+ OK
## Loading fdt from FIT Image at 09000000 ...
   Using 'conf@1' configuration
   Trying 'fdt@1' fdt subimage
     Description:  Flattened Device Tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x096beb68
     Data Size:    15830 Bytes = 15.5 KiB
     Architecture: ARM
     Hash algo:    crc32
     Hash value:   6711a6f9
     Hash algo:    sha1
     Hash value:   a2dd92c1ef82f26805dc47943b377682cf01d151
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Booting using the fdt blob at 0x96beb68
   Uncompressing Kernel Image ... OK
   Loading Device Tree to 07ff9000, end 07fffdd5 ... OK

Starting kernel ...

Booting Linux on physical CPU 0x0
Linux version 3.10.0-xilinx-trd (radheys@xhd-saclin64re4) (gcc version 4.7.3 (So                                                                                                             urcery CodeBench Lite 2013.05-40) ) #2 SMP PREEMPT Wed Dec 18 16:36:01 IST 2013
CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Xilinx Zynq Platform, model: Xilinx Zynq
bootconsole [earlycon0] enabled
cma: CMA: reserved 16 MiB at 2e800000
Memory policy: ECC disabled, Data cache writealloc
PERCPU: Embedded 8 pages/cpu @c14b9000 s8256 r8192 d16320 u32768
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 195088
Kernel command line: console=tty0 console=ttyPS0,115200 root=/dev/ram rw ip=192.                                                                                                             168.1.10:::255.255.255.0:ZC706:eth0 earlyprintk mem=768M
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 768MB = 768MB total
Memory: 747900k/747900k available, 38532k reserved, 8192K highmem
Virtual kernel memory layout:
    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)
    modules : 0xbf000000 - 0xbfe00000   (  14 MB)
      .text : 0xc0008000 - 0xc058c618   (5650 kB)
      .init : 0xc058d000 - 0xc0e40040   (8909 kB)
      .data : 0xc0e42000 - 0xc0e805e8   ( 250 kB)
       .bss : 0xc0e805e8 - 0xc0eadb74   ( 182 kB)
Preemptible hierarchical RCU implementation.
        Dump stacks of tasks blocking RCU-preempt GP.
        RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
NR_IRQS:16 nr_irqs:16 16
ps7-slcr mapped to f0002000
Zynq clock init
sched_clock: 16 bits at 54kHz, resolution 18432ns, wraps every 1207ms
ps7-ttc #0 at f0004000, irq=43
Console: colour dummy device 80x30
console [tty0] enabled
Calibrating delay loop... 1332.01 BogoMIPS (lpj=6660096)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0xc03f72b0 - 0xc03f7308
L310 cache controller enabled
l2x0: 8 ways, CACHE_ID 0x410000c8, AUX_CTRL 0x72360000, Cache size: 524288 B
CPU1: Booted secondary processor
CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
Brought up 2 CPUs
SMP: Total of 2 processors activated (2664.03 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
xgpiops e000a000.ps7-gpio: gpio at 0xe000a000 mapped to 0xf000c000
hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 4 bytes.
bio: create slab <bio-0> at 0
vgaarb: loaded
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
media: Linux media interface: v0.10
Linux video capture interface: v2.00
pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@l                                                                                                             inux.it>
PTP clock support registered
EDAC MC: Ver: 3.0.0
Switching to clocksource ttc_clocksource
NET: Registered protocol family 2
TCP established hash table entries: 8192 (order: 4, 65536 bytes)
TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP: reno registered
UDP hash table entries: 512 (order: 2, 16384 bytes)
UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
bounce pool size: 64 pages
jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
msgmni has been set to 1476
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
dma-pl330 f8003000.ps7-dma: Loaded driver for PL330 DMAC-267056
dma-pl330 f8003000.ps7-dma:     DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Even                                                                                                             ts-16
xilinx-vdma 40090000.axivdma: Probing xilinx axi vdma engine

 

Then it hangs. I'm not really an expert with Linux but it seems like the linux kernel is crashing trying to probe for a DMA engine. Before this a coworker and myself had messed around with ifconfig to see if we could ping the base design since it looked like the ethernet should have been enabled in it.

 

I've also tried reprogramming the flash with the BIST through JTAG and it says it completes successfully but then when I restart the board in QSPI start mode, I get no output from UART terminal.

 

Is my board fried up or is there a way to remedy this?

 

0 Kudos
Highlighted
Adventurer
Adventurer
9,857 Views
Registered: ‎04-15-2013

Re: Problem inserting drivers for ZC706 PCIe TRD when Chipscope modules added to design

I forgot something important about the last post. I've gone back to a "golden" copy of the project without the CS in the design. I think this problem I'm experiencing now is due to a base IP change made to the environment variables through U-boot. when running a seperate board of my partners programming the QSPI through SD, I get the following output then it works.

 

Xilinx First Stage Boot Loader
Release 14.7/2013.3     Dec 14 2013-15:21:43
Silicon Version 3.1
Boot mode is SD
SUCCESSFUL_HANDOFF
FSBL Status = 0x1


U-Boot 2013.07 (Dec 14 2013 - 15:24:59)

Memory: ECC disabled
DRAM:  1 GiB
MMC:   zynq_sdhci: 0
SF: Detected S25FL129P_64K/S25FL128S_64K with page size 128 KiB, total 32 MiB
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   Gem.e000b000
U-BOOT for Xilinx-ZC702-2013.3

Hit any key to stop autoboot:  0
boot Petalinux
Device: zynq_sdhci
Manufacturer ID: 3
OEM: 5344
Name: SU08G
Tran Speed: 50000000
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 7.4 GiB
Bus Width: 4-bit
reading image.ub
7084284 bytes read in 602 ms (11.2 MiB/s)
## Loading kernel from FIT Image at 09000000 ...
   Using 'conf@1' configuration
   Trying 'kernel@1' kernel subimage
     Description:  PetaLinux Kernel
     Type:         Kernel Image
     Compression:  gzip compressed
     Data Start:   0x090000f0
     Data Size:    7073254 Bytes = 6.7 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: 0x00008000
     Entry Point:  0x00008000
     Hash algo:    crc32
     Hash value:   c0f14869
   Verifying Hash Integrity ... crc32+ OK
## Loading fdt from FIT Image at 09000000 ...
   Using 'conf@1' configuration
   Trying 'fdt@1' fdt subimage
     Description:  Flattened Device Tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x096befbc
     Data Size:    10097 Bytes = 9.9 KiB
     Architecture: ARM
     Hash algo:    crc32
     Hash value:   1ceac293
     Hash algo:    sha1
     Hash value:   7fa063d26c7f979a93bc972c7c469ca085b4b8ef
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Booting using the fdt blob at 0x96befbc
   Uncompressing Kernel Image ... OK
   Loading Device Tree to 07ffa000, end 07fff770 ... OK

Starting kernel ...

Booting Linux on physical CPU 0x0
Linux version 3.10.0-xilinx-trd (radheys@xhd-saclin64re4) (gcc version 4.7.3 (Sourcery CodeBench Lite 2013.05-40) ) #2 SMP PREEMPT Sat Dec 14 15:30:58 IST 2013
CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Xilinx Zynq Platform, model: Xilinx Zynq
bootconsole [earlycon0] enabled
cma: CMA: reserved 16 MiB at 2e800000
Memory policy: ECC disabled, Data cache writealloc
PERCPU: Embedded 8 pages/cpu @c14b7000 s8256 r8192 d16320 u32768
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 195088
Kernel command line: console=tty0 console=ttyPS0,115200 root=/dev/ram rw ip=192.168.1.10:::255.255.255.0:ZC706:eth0 earlyprintk mem=768M
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 768MB = 768MB total
Memory: 747912k/747912k available, 38520k reserved, 8192K highmem
Virtual kernel memory layout:
    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)
    modules : 0xbf000000 - 0xbfe00000   (  14 MB)
      .text : 0xc0008000 - 0xc058c618   (5650 kB)
      .init : 0xc058d000 - 0xc0e40040   (8909 kB)
      .data &colon; 0xc0e42000 - 0xc0e805e8   ( 250 kB)
       .bss : 0xc0e805e8 - 0xc0eadb74   ( 182 kB)
Preemptible hierarchical RCU implementation.
        Dump stacks of tasks blocking RCU-preempt GP.
        RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
NR_IRQS:16 nr_irqs:16 16
ps7-slcr mapped to f0002000
Zynq clock init
sched_clock: 16 bits at 54kHz, resolution 18432ns, wraps every 1207ms
ps7-ttc #0 at f0004000, irq=43
Console: colour dummy device 80x30
console [tty0] enabled
Calibrating delay loop... 1332.01 BogoMIPS (lpj=6660096)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0xc03f72b0 - 0xc03f7308
L310 cache controller enabled
l2x0: 8 ways, CACHE_ID 0x410000c8, AUX_CTRL 0x72360000, Cache size: 524288 B
CPU1: Booted secondary processor
CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
Brought up 2 CPUs
SMP: Total of 2 processors activated (2664.03 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
xgpiops e000a000.ps7-gpio: gpio at 0xe000a000 mapped to 0xf000c000
hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 4 bytes.
bio: create slab <bio-0> at 0
vgaarb: loaded
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
media: Linux media interface: v0.10
Linux video capture interface: v2.00
pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
PTP clock support registered
EDAC MC: Ver: 3.0.0
Switching to clocksource ttc_clocksource
NET: Registered protocol family 2
TCP established hash table entries: 8192 (order: 4, 65536 bytes)
TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP: reno registered
UDP hash table entries: 512 (order: 2, 16384 bytes)
UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
bounce pool size: 64 pages
jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
msgmni has been set to 1476
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
dma-pl330 f8003000.ps7-dma: Loaded driver for PL330 DMAC-267056
dma-pl330 f8003000.ps7-dma:     DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
e00010console [ttyPS0] enabled, bootconsole disabled
console [ttyPS0] enabled, bootconsole disabled
xdevcfg f8007000.ps7-dev-cfg: ioremap 0xf8007000 to f0062000
brd: module loaded
loop: module loaded
xqspips e000d000.ps7-qspi: master is unqueued, this is deprecated
m25p80 spi0.0: found s25fl129p1, expected n25q128
m25p80 spi0.0: s25fl129p1 (32768 Kbytes)
4 ofpart partitions found on MTD device spi0.0
Creating 4 MTD partitions on "spi0.0":
0x000000000000-0x000001000000 : "boot"
0x000001000000-0x000001020000 : "bootenv"
0x000001020000-0x000001e20000 : "image"
0x000001e20000-0x000002000000 : "spare"
xqspips e000d000.ps7-qspi: at 0xE000D000 mapped to 0xF0064000, irq=51
e1000e: Intel(R) PRO/1000 Network Driver - 2.3.2-k
e1000e: Copyright(c) 1999 - 2013 Intel Corporation.
libphy: XEMACPS mii bus: probed
xemacps e000b000.ps7-ethernet: pdev->id -1, baseaddr 0xe000b000, irq 54
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-pci: EHCI PCI platform driver
xusbps-dr e0002000.ps7-usb: Unable to init USB phy, missing?
usbcore: registered new interface driver usb-storage
mousedev: PS/2 mouse device common for all mice
i2c /dev entries driver
xi2cps e0004000.ps7-i2c: 400 kHz mmio e0004000 irq 57
i2c i2c-0: Added multiplexed i2c bus 1
si570 1-005d: registered si570 with default frequency 156250000 Hz
si570 1-005d: set initial output frequency 148500000 Hz
i2c i2c-0: Added multiplexed i2c bus 2
i2c i2c-0: Added multiplexed i2c bus 3
at24 3-0054: 1024 byte 24c08 EEPROM, writable, 1 bytes/write
i2c i2c-0: Added multiplexed i2c bus 4
i2c i2c-0: Added multiplexed i2c bus 5
rtc-pcf8563 5-0051: chip found, driver version 0.4.3
rtc-pcf8563 5-0051: low voltage detected, date/time is not reliable.
rtc-pcf8563 5-0051: rtc core: registered rtc-pcf8563 as rtc0
i2c i2c-0: Added multiplexed i2c bus 6
i2c i2c-0: Added multiplexed i2c bus 7
i2c i2c-0: Added multiplexed i2c bus 8
pca954x 0-0074: registered 8 multiplexed busses for I2C switch pca9548
xadcps f8007100.ps7-xadc: enabled:      yes     reference:      external
ucd9000 8-0065: Device ID UCD90120A|2.3.4.0000|110603
xwdtps f8005000.ps7-wdt: Xilinx Watchdog Timer at f006e000 with timeout 10s
zynq-edac f8006000.ps7-ddrc: ecc not enabled
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
mmc0: SDHCI controller on e0100000.ps7-sdio [e0100000.ps7-sdio] using ADMA
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
TCP: cubic registered
NET: Registered protocol family 17
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
Registering SWP/SWPB emulation handler
rtc-pcf8563 5-0051: low voltage detected, date/time is not reliable.
rtc-pcf8563 5-0051: setting system clock to 1981-01-25 19:10:13 UTC (349297813)
xvdma xvdma.0: Xilinx VDMA probe successful
xvdma xvdma.0: Devices Scanned 0
mmc0: new high speed SDHC card at address e624
IP-Config: Complete:
     device=eth0, hwaddr=00:0a:35:00:58:ce, ipaddr=192.168.1.10, mask=255.255.255.0, gw=255.255.255.255
mmcblk0: mmc0:e624 SU08G 7.40 GiB
     host=ZC706, domain=, nis-domain=(none)
     bootserver=255.255.255.255, rootserver=255.255.255.255, rootpath= mmcblk0: p1

Freeing unused kernel memory: 8908K (c058d000 - c0e40000)
INIT: version 2.88 booting
Starting Bootlog daemon: bootlogd.
Creating /dev/flash/* device nodes
FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.

 It goes on to work after this point, I just stopped the board before it finished.

 

One thing we noticed was the error in the crc for the environment variables, using default environment variables. We're wondering if this is linked to the Inet changes we made in the Uboot. If that's the case then we need to erase those settings, but we don't know where on disk they are.

0 Kudos
Highlighted
Adventurer
Adventurer
9,856 Views
Registered: ‎04-15-2013

Re: Problem inserting drivers for ZC706 PCIe TRD when Chipscope modules added to design

Kudos to me...

 

Seem to have fixed the issue with the board not programming at all by erasing all the environment variables... :) Still have yet to figure out how to get Chipscope in there with out breaking the host side drives.

 

FYI, this env var is located at 0x01000000

 

IF you are having this problem do the following:

1) setup board in SD mode SW11 = 00110

2) Have UART terminal ready to stop the autoboot sequence

3) locate the any key

4) strike the any key

3) use command "sf erase 0x01000000 0x00020000", which will erase the part of u-boot for the environment variables in the TRD design.

 

NOTE: in different uboot builds this location may change, find it using the "printenv" command and locate "bootenvstart" and "bootenvsize".