Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Boot loader loaded in board. Board getting stuck while booting at different places du

Status
Not open for further replies.

sujithkuroor

Newbie level 4
Newbie level 4
Joined
Jan 9, 2013
Messages
5
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Visit site
Activity points
1,313
I flashed u-boot and linux in my custom board based on ARM9 based SoC(KSZ9692PBI from micrel). Board has 8MB NOR flash,64MB DDR. I am facing the following issues

75% of times u-boot is loading succesfully and starts linux, but linux booting sometimes hangs at starting itself and othercases hangs in between.

25 % of times u-boot itself hangs at different places.

DDR frequency 200MHZ,CPU at 250MHz.

I think there is no loose connection in the board.



Please help me to solve the issue
 

I presume you know what the serial console is, otherwise Google can tell you. The RX line (either RS232 or TTL level UART) may be incorrectly terminated so that it picks up noise or is hold in break state during boot. U-boot can be stopped and waiting endlessly for user input.

Of course there are many other possible problems causing boot failure. Watching the console output would be informative in any case.
 

bootm 0x1c300000
## Booting image at 1c300000 ...
Image Name: arm-linux
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3102440 Bytes = 3 MB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
OK

Starting kernel ...

In u-boot...starting kernel
Row column config reg is 180A0301
Data width reg is 1
Linux version 2.6.23.17-Pegasus (gcc version 4.2.1)
CPU: ARM922T [41029220] revision 0 (ARMv4T), cr=c0003177
Machine: Micrel Pegasus
Memory policy: ECC disabled, Data cache writeback
Pegasus ID=8692 SubID=03 Revision=02
Clocks: System 166 MHz, CPU 250 MHz, DDR 200 MHz, PCI 33 MHz, IPsec 200 MHz
CPU0: D VIVT write-back cache
CPU0: I cache: 8192 bytes, associativity 64, 32 byte lines, 4 sets
CPU0: D cache: 8192 bytes, associativity 64, 32 byte lines, 4 sets
Built 1 zonelists in Zone order. Total pages: 16256
Kernel command line: "console=ttyS0,115200"
PID hash table entries: 256 (order: 8, 1024 bytes)
console [ttyS0] enabled
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 64MB = 64MB total
Memory: 61756KB available (2792K code, 191K data, 124K init)
Mount-cache hash table entries: 512
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = c0004000
[00000000] *pgd=00000000
Internal error: Oops: 805 [#1]
Modules linked in:
CPU: 0 Not tainted (2.6.23.17-Pegasus #13)
pc : [<c0083248>] lr : [<c006d898>] psr: 60000053
sp : c02e3f5c ip : c02a5034 fp : c02e3f80
r10: 00022ca0 r9 : 41029220 r8 : c02eaf68
r7 : 00000000 r6 : 00000000 r5 : 00000000 r4 : c03b4720
r3 : c03b4720 r2 : 80000053 r1 : 800000d3 r0 : 00000000
Flags: nZCv IRQs on FIQs off Mode SVC_32 ISA ARM Segment kernel
Control: c000317f Table: 00004000 DAC: 00000017
Process swapper (pid: 0, stack limit = 0xc02e2260)
Stack: (0xc02e3f5c to 0xc02e4000)
3f40: c03b4720
3f60: c0305968 00000000 00003a77 c02e5c48 00022cd4 c02e3f90 c02e3f84 c008329c
3f80: c00831f0 c02e3fa4 c02e3f94 c001798c c0083290 c00abf00 c02e3fd0 c02e3fa8
3fa0: c00170b4 c0017950 00000000 c0305968 c02fdb68 c02e3fd0 c0305968 c02fdb68
3fc0: c0024f30 c02e3ff4 c02e3fd4 c0008c44 c0016ff0 c0008400 c0024f30 c0003175
3fe0: c02fe024 c0025334 00000000 c02e3ff8 00008034 c0008a30 00000000 00000000
Backtrace:
Function entered at [<c00831e0>] from [<c008329c>]
r8:00022cd4 r7:c02e5c48 r6:00003a77 r5:00000000 r4:c0305968
Function entered at [<c0083280>] from [<c001798c>]
Function entered at [<c0017940>] from [<c00170b4>]
Function entered at [<c0016fe0>] from [<c0008c44>]
r6:c0024f30 r5:c02fdb68 r4:c0305968
Function entered at [<c0008a20>] from [<00008034>]
r6:c0025334 r5:c02fe024 r4:c0003175
Code: e2505000 ba00000a e5940014 e3500000 (05800000)
Kernel panic - not syncing: Attempted to kill the idle task!

This is one log file....

below is another log

4085713000_1407076171.jpg


but thing is am getting different outputs on each restart...sometimes it hangs initially in u-boot itself..sometimes it starts linux also...
 
Last edited by a moderator:

O.K., kernel panic at varying places suggest a board hardware problem, e.g. DDR RAM related.

I am also doubting DDR issue...But am bit confused. Because u-boot and kernel is able to boot to some extent means DDR is working...What makes the DDR failure or improper behaviour randomly at various locations? I am doubting SI issue, power supply fluctuation, decoupling issues etc. Reducing DDR frequency will help?
 

It was DDR issue...i changed DDR frequency from 200 MHz to 166 MHz..board is working fine now...I think i need to fine tune the DDR delay parameters @200MHz..i suspect SI issues also..
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top