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!

Showing results for 
Search instead for 
Did you mean: 
Newbie baul
Registered: ‎01-10-2013

zynq boot error Unhandled fault: imprecise external abort (0x1406) at 0x00000000

Hi all,


I am useing zynq + linux. But i have some fuse about the address map.

I have DDR 512M , Nand 128M and ramdisk16M and modify the deviceetree as this,but there are some errors:


memory {
        device_type = "memory";
        reg = <0x0 0x10000000>;
    chosen {
        bootargs = "console=ttyPS0,115200 root=/dev/ram rw  earlyprintk ip= mem=384M  vmalloc=128M";
        linux,stdout-path = "/amba@0/uart@E0000000";


error info:

U-Boot 2012.04.01-00304-g7639205-dirty (Jan 07 2013 - 16:20:50)                 

DRAM:  512 MiB                                                                  
WARNING: Caches not enabled                                                     
NAND:  OnDie ECC flash                                                          
128 MiB                                                                         
MMC:   SDHCI: 0                                                                 
Using default environment                                                       

In:    serial                                                                   
Out:   serial                                                                   
Err:   serial                                                                   
Net:   zynq_gem                                                                 
Hit any key to stop autoboot:  0                                                
Copying Linux from NAND flash to RAM...                                         

NAND read: device 0 offset 0x200000, size 0x400000                              
Bad block table found at page 65472, version 0x01     

                        Bad block table found at page 65408, version 0x01                               
 4194304 bytes read: OK                                                         

NAND read: device 0 offset 0x700000, size 0x20000                               
 131072 bytes read: OK                                                          
Copying ramdisk...                                                              

NAND read: device 0 offset 0x900000, size 0x800000                              
 8388608 bytes read: OK                                                         
## Booting kernel from Legacy Image at 03000000 ...                             
   Image Name:   Linux-3.5.0-14.3-build2                                        
   Created:      2012-10-23  18:12:23 UTC                                       
   Image Type:   ARM Linux Kernel Image (uncompressed)                          
   Data Size:    2725352 Bytes = 2.6 MiB                                        
   Load Address: 00008000                                                       
   Entry Point:  00008000                                                       
   Verifying Checksum ... OK                                                    
## Loading init Ramdisk from Legacy Image at 02000000 ...                       
   Image Name:                                                                  
   Created:      2012-10-03  21:10:37 UTC                                       
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)                      
   Data Size:    5252189 Bytes = 5 MiB                                          
   Load Address: 00800000                                                       
   Entry Point:  00800000                                                       
   Verifying Checksum ... OK                                                    
## Flattened Device Tree blob at 02a00000                                       
   Booting using the fdt blob at 0x02a00000                                     
   Loading Kernel Image ... OK                                                  
   Loading Ramdisk to 1f659000, end 1fb5b45d ... OK                             
   Loading Device Tree to 1f655000, end 1f658c0b ... OK                 

        Starting kernel ...                                                             

Uncompressing Linux... done, booting the kernel.                                
Booting Linux on physical CPU 0                                                 
Linux version 3.5.0-14.3-build2 (linnj@xsjpsgv107) (gcc version 4.6.1 (Sourcery CodeBench Lite 2011.09-50) ) #1 SMP 2
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 ZC702                         
bootconsole [earlycon0] enabled                                                 
cma: CMA: reserved 16 MiB at 1e000000                                           
Memory policy: ECC disabled, Data cache writealloc                              
PERCPU: Embedded 7 pages/cpu @c09a6000 s6784 r8192 d13696 u32768                
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 129920     
Kernel command line: console=ttyPS0,115200 root=/dev/ram rw ip=:::::eth0:dhcp 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: 512MB = 512MB total                                                     
Memory: 492356k/492356k available, 31932k 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 - 0xc048e060   (4633 kB)                               
      .init : 0xc048f000 - 0xc04b4a80   ( 151 kB)                               
      .data &colon; 0xc04b6000 - 0xc04f3c20   ( 248 kB)                               
       .bss : 0xc04f3c44 - 0xc051f104   ( 174 kB)                               
Preemptible hierarchical RCU implementation.                                    
        Dump stacks of tasks blocking RCU-preempt GP.                           
NRZynq clock init                                                                 
xlnx,ps7-ttc-1.00.a #0 at 0xe0800000, irq=43                                    
sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 4294967286ms
Console: colour dummy device 80x30                                              
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                                         
Unhandled fault: imprecise external abort (0x1406) at 0x00000000                
Internal error: : 1406 [#1] PREEMPT SMP ARM                                     
Modules linked in:                                                              
CPU: 0    Not tainted  (3.5.0-14.3-build2 #1)                                   
PC is at kernel_thread_helper+0x0/0x10                                          
LR is at kernel_thread_helper+0x0/0x10                                          
pc : [<c000eb40>]    lr : [<c000eb40>]    psr: 00000093                         
sp : df057ff8  ip : 00000000  fp : 00000000                                    _IRQS:128                                                                     
r10: 00000000  r9 : 00000000  r8 : 00000000                                     
r7 : 00000013  r6 : c000eb50  r5 : c0039194  r4 : 00000000                      
r3 : 00000000  r2 : 00000000  r1 : 00000000  r0 : 00000000                      
Flags: nzcv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kernel            
Control: 18c5387d  Table: 0000404a  DAC: 00000015                               
Process swapper/0 (pid: 2, stack limit = 0xdf0562f0)                            
Stack: (0xdf057ff8 to 0xdf058000)                                               
7fe0:                                                       ffffffff ffffffff   
Code: 11a00150 12000001 e12fff1e c0352320 (e121f007)                            
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000                                
hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available    
Setting up static identity map for 0x351160 - 0x351194                          
---[ end trace 1b75b31a2719ed1c ]---                                            
L310 cache controller enabled                                                   
l2x0: 8 ways, CACHE_ID 0x410000c8, AUX_CTRL 0x72360000, Cache size: 524288 B



0 Kudos
1 Reply
Registered: ‎05-03-2012

Re: zynq boot error Unhandled fault: imprecise external abort (0x1406) at 0x00000000



if you've 512MB of RAM change the memory config to this

memory {
        device_type = "memory";
        reg = <0x0 0x20000000>;


Is that a code snippet of your devicetree? Have you tried to use a default devicetree from xilinx (e.g. for ZC702).


Also add a "loglevel=8 mminit_loglevel=4" to your bootarguments. Eventually more useful output during start...


Best regards,


0 Kudos