UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Explorer
Explorer
8,521 Views
Registered: ‎12-12-2009

Error during importing the hardware description file to PetaLinux v2014.2

Jump to solution

I've created my design which includes AXI DMA core in Vivado. Validate design, synthesize, and implement steps did not fail.The problem occurs while importing .hdf file (generated by Vivado 2014.2) to PetaLinux. In my opinion, PetaLinux should have recognized the AXI DMA core and create the necessary drivers for Linux. What I get is as follows:

 

petalinux-config --get-hw-description -p ~/Desktop/PetaLinux/projects/test_dma/
INFO: Checking component...
INFO: Getting hardware description...
INFO: Rename zed_wrapper.hdf to system.hdf
****** hsm v2014.2
**** SW Build 928826 on Thu Jun 5 17:59:37 MDT 2014
** Copyright 1986-2014 Xilinx, Inc. All Rights Reserved.
INFO: [Hsm 55-1698] elapsed time for repository loading 0 seconds
source /home/abdullah/Desktop/PetaLinux/projects/test_dma/build/linux/hw-description/hw-description.tcl -notrace
INFO: [Common 17-206] Exiting hsm at Wed Oct 1 10:39:22 2014...
INFO: Config linux
[INFO ] config linux
configuration written to /home/abdullah/Desktop/PetaLinux/projects/test_dma/subsystems/linux/config
*** End of the configuration.
[INFO ] generate DTS to /home/abdullah/Desktop/PetaLinux/projects/test_dma/subsystems/linux/configs/device-tree
INFO: [Hsm 55-1698] elapsed time for repository loading 0 seconds
INFO: [Common 17-206] Exiting hsm at Wed Oct 1 10:39:34 2014...
ERROR: Failed to post config linux
ERROR: Failed to config subsystem linux.
ERROR: [Common 17-55] 'get_property' expects at least one object.
ERROR: [Hsm 55-1545] Problem running tcl command ::sw_axidma::generate : ERROR: [Common 17-55] 'get_property' expects at least one object.
while executing
"get_property IP_NAME $intc "
(procedure "hsm::utils::get_dtg_interrupt_type" line 12)
invoked from within
"hsm::utils::get_dtg_interrupt_type $intc $ip $intr_port_name"
(procedure "get_intr_id" line 8)
invoked from within
"get_intr_id $dma_ip "mm2s_introut" "
(procedure "::sw_axidma::generate" line 24)
invoked from within
"::sw_axidma::generate axi_dma_0"
ERROR: [Hsm 55-1442] Error(s) while running TCL procedure generate()
ERROR: [Hsm 55-1450] Error: running generate_bsp.
make[1]: *** [autogen-dts] Error 1
make: *** [post-config-auto-dts] Error 255
abdullah
0 Kudos
1 Solution

Accepted Solutions
Xilinx Employee
Xilinx Employee
13,177 Views
Registered: ‎08-02-2011

Re: Error during importing the hardware description file to PetaLinux v2014.2

Jump to solution
Hi Abdullah,

It looks like it doesn't like the lack of an interrupt controller to which to connect the DMA interrupts.

Do you have the GIC enabled/connected to AXI DMA interrupts?
www.xilinx.com
0 Kudos
6 Replies
Xilinx Employee
Xilinx Employee
13,178 Views
Registered: ‎08-02-2011

Re: Error during importing the hardware description file to PetaLinux v2014.2

Jump to solution
Hi Abdullah,

It looks like it doesn't like the lack of an interrupt controller to which to connect the DMA interrupts.

Do you have the GIC enabled/connected to AXI DMA interrupts?
www.xilinx.com
0 Kudos
Explorer
Explorer
8,481 Views
Registered: ‎12-12-2009

Re: Error during importing the hardware description file to PetaLinux v2014.2

Jump to solution

Hi,

I thought that the connection automation could handle it.

 

What I've done is to use IRQ_F2P port at the Zynq PS part to connect mm2s_introut and s2mm_introut to the interrupt controller by using Concat IP in the IP Catalog (See http://www.xilinx.com/support/answers/55703.html).

Now


petalinux-config --get-hw-description -p ~/Desktop/PetaLinux/projects/test_dma/

 

does not give any error.

abdullah
0 Kudos
Explorer
Explorer
8,441 Views
Registered: ‎12-12-2009

Re: Error during importing the hardware description file to PetaLinux v2014.2

Jump to solution

Hi,

 

I've succesfully built the project and copied the image.ub and BOOT.BIN to SD-Card. This time I get the following output and error:

 

U-Boot 2014.01 (Oct 23 2014 - 11:48:35)

Memory: ECC disabled
DRAM:  512 MiB
MMC:   zynq_sdhci: 0
SF: Detected S25FL256S_64K with page size 256 Bytes, erase size 64 KiB, total 32 MiB
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   Gem.e000b000
U-BOOT for test_avnet

Gem.e000b000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
Gem.e000b000: No link.
Hit any key to stop autoboot:  0
SF: Detected S25FL256S_64K with page size 256 Bytes, erase size 64 KiB, total 32 MiB
SF: 11010048 bytes @ 0x520000 Read: OK
Wrong Image Format for bootm command
ERROR: can't get kernel image!
U-Boot-PetaLinux> run sdboot
boot Petalinux
Device: zynq_sdhci
Manufacturer ID: 2
OEM: 544d
Name: SA04G
Tran Speed: 50000000
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 3.7 GiB
Bus Width: 4-bit
reading image.ub
7081068 bytes read in 629 ms (10.7 MiB/s)
## Loading kernel from FIT Image at 01000000 ...
   Using 'conf@1' configuration
   Trying 'kernel@1' kernel subimage
     Description:  PetaLinux Kernel
     Type:         Kernel Image
     Compression:  gzip compressed
     Data Start:   0x010000f0
     Data Size:    7064899 Bytes = 6.7 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: 0x00008000
     Entry Point:  0x00008000
     Hash algo:    crc32
     Hash value:   ef434d93
   Verifying Hash Integrity ... crc32+ OK
## Loading fdt from FIT Image at 01000000 ...
   Using 'conf@1' configuration
   Trying 'fdt@1' fdt subimage
     Description:  Flattened Device Tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x016bcf18
     Data Size:    14870 Bytes = 14.5 KiB
     Architecture: ARM
     Hash algo:    crc32
     Hash value:   85465b5b
   Verifying Hash Integrity ... crc32+ OK
   Booting using the fdt blob at 0x16bcf18
   Uncompressing Kernel Image ... OK
   Loading Device Tree to 07ff9000, end 07fffa15 ... OK

Starting kernel ...

Booting Linux on physical CPU 0x0
Linux version 3.14.2-xilinx (abdullah@localhost.localdomain) (gcc version 4.8.1 (Sourcery CodeBench Lite 2013.11-53) ) #2 SMP PREEMPT Thu Oct 23 11:49:34 EEST 2014
CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine model: test_avnet
bootconsole [earlycon0] enabled
Memory policy: Data cache writealloc
PERCPU: Embedded 8 pages/cpu @dfbdd000 s10752 r8192 d13824 u32768
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 130048
Kernel command line: console=ttyPS0,115200 earlyprintk
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 503744K/524288K available (4835K kernel code, 310K rwdata, 1772K rodata, 3618K init, 5337K bss, 20544K reserved, 0K highmem)
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    vmalloc : 0xe0800000 - 0xff000000   ( 488 MB)
    lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
    pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    modules : 0xbf000000 - 0xbfe00000   (  14 MB)
      .text : 0xc0008000 - 0xc067bf7c   (6608 kB)
      .init : 0xc067c000 - 0xc0a04a00   (3619 kB)
      .data : 0xc0a06000 - 0xc0a538a8   ( 311 kB)
       .bss : 0xc0a538b4 - 0xc0f89d88   (5338 kB)
Preemptible hierarchical RCU implementation.
        RCU lockdep checking is enabled.
        Dump stacks of tasks blocking RCU-preempt GP.
        RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
NR_IRQS:16 nr_irqs:16 16
GIC CPU mask not found - kernel will fail to boot.
GIC CPU mask not found - kernel will fail to boot.
ps7-slcr mapped to e0800000
zynq_clock_init: clkc starts at e0800100
Zynq clock init
sched_clock: 64 bits at 333MHz, resolution 3ns, wraps every 3298534883328ns
------------[ cut here ]------------
WARNING: CPU: 0 PID: 0 at /opt/pkg/petalinux-v2014.2-final/components/linux-kernel/xlnx-3.14/kernel/irq/irqdomain.c:277 irq_domain_associate+0x44/0x18c()
error: hwirq 0x2b is too large for GIC
Modules linked in:
CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.14.2-xilinx #2
[<c0015658>] (unwind_backtrace) from [<c00119b4>] (show_stack+0x10/0x14)
[<c00119b4>] (show_stack) from [<c0490688>] (dump_stack+0x8c/0xd0)
[<c0490688>] (dump_stack) from [<c002295c>] (warn_slowpath_common+0x60/0x84)
[<c002295c>] (warn_slowpath_common) from [<c00229ac>] (warn_slowpath_fmt+0x2c/0x3c)
[<c00229ac>] (warn_slowpath_fmt) from [<c006da74>] (irq_domain_associate+0x44/0x18c)
[<c006da74>] (irq_domain_associate) from [<c006e224>] (irq_create_mapping+0x138/0x1d8)
[<c006e224>] (irq_create_mapping) from [<c006e374>] (irq_create_of_mapping+0xb0/0x104)
[<c006e374>] (irq_create_of_mapping) from [<c03bed30>] (irq_of_parse_and_map+0x24/0x2c)
[<c03bed30>] (irq_of_parse_and_map) from [<c06966ac>] (ttc_timer_init+0x4c/0x3b0)
[<c06966ac>] (ttc_timer_init) from [<c0696588>] (clocksource_of_init+0x48/0x88)
[<c0696588>] (clocksource_of_init) from [<c067fe60>] (time_init+0x1c/0x30)
[<c067fe60>] (time_init) from [<c067c98c>] (start_kernel+0x1fc/0x380)
[<c067c98c>] (start_kernel) from [<00008074>] (0x8074)
---[ end trace 3406ff24bd97382e ]---
ERROR: invalid interrupt number
------------[ cut here ]------------
kernel BUG at /opt/pkg/petalinux-v2014.2-final/components/linux-kernel/xlnx-3.14/drivers/clocksource/cadence_ttc_timer.c:489!
Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM
Modules linked in:
CPU: 0 PID: 0 Comm: swapper/0 Tainted: G        W    3.14.2-xilinx #2
task: c0a116b0 ti: c0a06000 task.ti: c0a06000
PC is at ttc_timer_init+0x5c/0x3b0
LR is at ttc_timer_init+0x5c/0x3b0
pc : [<c06966bc>]    lr : [<c06966bc>]    psr: 600000d3
sp : c0a07f68  ip : 00000001  fp : 00000000
r10: c0f7ab98  r9 : c0a0e3c0  r8 : 00000000
r7 : dfbf18b8  r6 : c0a538c0  r5 : 00000001  r4 : e0802000
r3 : c0a116b0  r2 : 00000000  r1 : c0a07e78  r0 : 0000001f
Flags: nZCv  IRQs off  FIQs off  Mode SVC_32  ISA ARM  Segment kernel
Control: 18c5387d  Table: 0000404a  DAC: 00000015
Process swapper/0 (pid: 0, stack limit = 0xc0a06240)
Stack: (0xc0a07f68 to 0xc0a08000)
7f60:                   a00000d3 ffffffff c0a116b0 a00000d3 a00000d3 dfbf18b8
7f80: 00000003 c0a538c0 ffffffff c06a39d8 c0a0e3c0 dfffce00 00000000 c0696588
7fa0: 00000000 c06aa11c 00000001 00000001 c0a06000 c067fe60 00000002 c067c98c
7fc0: ffffffff ffffffff c067c570 00000000 00000000 c06a39d8 18c5387d c0a0e40c
7fe0: c06a39d4 c0a12dbc 0000406a 413fc090 00000000 00008074 00000000 00000000
[<c06966bc>] (ttc_timer_init) from [<c0696588>] (clocksource_of_init+0x48/0x88)
[<c0696588>] (clocksource_of_init) from [<c067fe60>] (time_init+0x1c/0x30)
[<c067fe60>] (time_init) from [<c067c98c>] (start_kernel+0x1fc/0x380)
[<c067c98c>] (start_kernel) from [<00008074>] (0x8074)
Code: e2508000 1a000002 e59f0310 ebf7e29c (e7f001f2)
---[ end trace 3406ff24bd97382f ]---
Kernel panic - not syncing: Attempted to kill the idle task!

 

What could be the problem?

 

abdullah
0 Kudos
Explorer
Explorer
8,433 Views
Registered: ‎12-12-2009

Re: Error during importing the hardware description file to PetaLinux v2014.2

Jump to solution

I noticed that I get the same error even if I try to rebuild the reference project without any modification to existing hardware.

abdullah
0 Kudos
Xilinx Employee
Xilinx Employee
8,425 Views
Registered: ‎03-13-2012

Re: Error during importing the hardware description file to PetaLinux v2014.2

Jump to solution
kernel BUG at /opt/pkg/petalinux-v2014.2-final/components/linux-kernel/xlnx-3.14/drivers/clocksource/cadence_ttc_timer.c:489!

 

I suspect the TTC's DT description may be erroneous. In particular, I'd check the interrupts property.

0 Kudos
Explorer
Explorer
8,349 Views
Registered: ‎12-12-2009

Re: Error during importing the hardware description file to PetaLinux v2014.2

Jump to solution

Hi,

 

I've compared the pre-built device tree with the current device tree.

 

7c7
< 	model = "Avnet-Digilent-ZedBoard-2014.2";
---
> 	model = "test";
110c110
< 			local-mac-address = [00 0a 35 00 82 65];
---
> 			local-mac-address = [00 0a 35 00 50 71];
117d116
< 			phy-handle = <0x4>;
122,129d120
< 
< 				phy@0 {
< 					compatible = "marvell,88e1510";
< 					device_type = "ethernet-phy";
< 					reg = <0x0>;
< 					linux,phandle = <0x4>;
< 					phandle = <0x4>;
< 				};
209c200
< 				compatible = "spansion,s25fl256s1";
---
> 				compatible = "micron,n25q128";
256c247
< 		ps7-scugic@f8f01000 {
---
> 		ps7-scugic@f8f00100 {
264c255
< 			reg = <0xf8f01000 0x1000 0xf8f00100 0x100>;
---
> 			reg = <0xf8f00100 0x100 0xf8f00100 0x100>;
350c341
< 			dr_mode = "otg";
---
> 			dr_mode = "host";
507,563d497
< 
< 		gpio@41200000 {
< 			#gpio-cells = <0x2>;
< 			compatible = "xlnx,xps-gpio-1.00.a";
< 			gpio-controller;
< 			reg = <0x41200000 0x10000>;
< 			xlnx,all-inputs = <0x1>;
< 			xlnx,all-inputs-2 = <0x0>;
< 			xlnx,all-outputs = <0x0>;
< 			xlnx,all-outputs-2 = <0x0>;
< 			xlnx,dout-default = <0x0>;
< 			xlnx,dout-default-2 = <0x0>;
< 			xlnx,gpio-width = <0x5>;
< 			xlnx,gpio2-width = <0x20>;
< 			xlnx,interrupt-present = <0x0>;
< 			xlnx,is-dual = <0x0>;
< 			xlnx,tri-default = <0xffffffff>;
< 			xlnx,tri-default-2 = <0xffffffff>;
< 		};
< 
< 		gpio@41210000 {
< 			#gpio-cells = <0x2>;
< 			compatible = "xlnx,xps-gpio-1.00.a";
< 			gpio-controller;
< 			reg = <0x41210000 0x10000>;
< 			xlnx,all-inputs = <0x0>;
< 			xlnx,all-inputs-2 = <0x0>;
< 			xlnx,all-outputs = <0x1>;
< 			xlnx,all-outputs-2 = <0x0>;
< 			xlnx,dout-default = <0x0>;
< 			xlnx,dout-default-2 = <0x0>;
< 			xlnx,gpio-width = <0x8>;
< 			xlnx,gpio2-width = <0x20>;
< 			xlnx,interrupt-present = <0x0>;
< 			xlnx,is-dual = <0x0>;
< 			xlnx,tri-default = <0xffffffff>;
< 			xlnx,tri-default-2 = <0xffffffff>;
< 		};
< 
< 		gpio@41220000 {
< 			#gpio-cells = <0x2>;
< 			compatible = "xlnx,xps-gpio-1.00.a";
< 			gpio-controller;
< 			reg = <0x41220000 0x10000>;
< 			xlnx,all-inputs = <0x1>;
< 			xlnx,all-inputs-2 = <0x0>;
< 			xlnx,all-outputs = <0x0>;
< 			xlnx,all-outputs-2 = <0x0>;
< 			xlnx,dout-default = <0x0>;
< 			xlnx,dout-default-2 = <0x0>;
< 			xlnx,gpio-width = <0x8>;
< 			xlnx,gpio2-width = <0x20>;
< 			xlnx,interrupt-present = <0x0>;
< 			xlnx,is-dual = <0x0>;
< 			xlnx,tri-default = <0xffffffff>;
< 			xlnx,tri-default-2 = <0xffffffff>;
< 		};

 

I think the cause of the problem is related to generating device tree.

 

When I use the pre-built image.ub with a new BOOT.bin file which includes a new bitstream, the system boots without any error.

 

I think the cause of the problem is related to generating kernel image.

abdullah
0 Kudos