Quantcast
Channel: Forum - Recent Threads
Viewing all articles
Browse latest Browse all 1583

RE: SDRAM

$
0
0

I just tried with the RSK board and it works.

The RSK board has a single 32MByte SDRAM chip, but I made it think it has two 8Mbyte chips (with a 8Mbyte blank hole in the middle)

    memory {
        device_type = "memory";
        reg =    < 0x08000000 0x00800000       /* 8MB @ 0x0x08000000 */
                   0x09000000 0x00800000 >;    /* 8MB @ 0x0x09000000 */
    };

After I booted, the memory looked like this:

$ cat /proc/iomem
00000000-03ffffff : physmap-flash.1
  00000000-03ffffff : physmap-flash.1
08000000-087fffff : System RAM
  08008000-08446adb : Kernel code
  0846c000-084ba3e3 : Kernel data
09000000-097fffff : System RAM
18000000-1bffffff : physmap-flash.0
  18000000-1bffffff : physmap-flash.0

But...I did make a mistake. When I first tried to boot, it hung. When earlyprintk was on, I could see that it crashed when reading the device tree:

Unable to handle kernel paging request at virtual address c1800000
pgd = c0004000
[c1800000] *pgd=00000000
Internal error: Oops: 5 [#1] ARM
Modules linked in:
CPU: 0 PID: 0 Comm: swapper Not tainted 3.14.28-ltsi-gb2993f7-dirty #181
task: c0476de0 ti: c046c000 task.ti: c046c000
PC is at __unflatten_device_tree+0x18/0x130
LR is at unflatten_device_tree+0x1c/0x34
pc : [<c022fbc4>]    lr : [<c045ad80>]    psr: a00001d3
sp : c046df50  ip : c17fcdd4  fp : 80000200
r10: c03c429e  r9 : c0477ca8  r8 : c047e438
r7 : c044a738  r6 : c04abd74  r5 : c04612c4  r4 : c1800000
r3 : c04b4ba4  r2 : c044a738  r1 : c04b4b90  r0 : c1800000
Flags: NzCv  IRQs off  FIQs off  Mode SVC_32  ISA ARM  Segment kernel
Control: 18c53c7d  Table: 08004059  DAC: 00000015
Process swapper (pid: 0, stack limit = 0xc046c230)
Stack: (0xc046df50 to 0xc046e000)
df40:                                     00001000 00000007 c0495a38 c04b4b90
df60: c04612c4 c044a738 c04612c4 c04abd74 c0477ca8 c045ad80 c17fcd80 c0449f98
df80: ffffffff 18c53c7d 413fc090 00000000 00000000 c0319e44 c03c3022 00000001
dfa0: c0495800 ffffffff c0477f00 c0474000 413fc090 00000000 00000000 c0447770
dfc0: 00000000 00000000 00000000 00000000 00000000 c0462310 00000000 18c53c7d
dfe0: c0474040 c046230c c0477f00 08004059 413fc090 08008070 00000000 00000000
[<c022fbc4>] (__unflatten_device_tree) from [<c045ad80>] (unflatten_device_tree+0x1c/0x34)
[<c045ad80>] (unflatten_device_tree) from [<c0449f98>] (setup_arch+0x5a0/0x760)
[<c0449f98>] (setup_arch) from [<c0447770>] (start_kernel+0x68/0x338)
[<c0447770>] (start_kernel) from [<08008070>] (0x8008070)
Code: e24dd014 e58d100c 0a00003e e1a07002 (e5942000)
---[ end trace 3406ff24bd97382e ]---
Kernel panic - not syncing: Attempted to kill the idle task!

The reason was my device tree blob was in that empty space in the middle.

So, you might want to see where your DTB is located.

For my experiment, I put:

      uImage at 0x09000000

      DTB at 0x09700000


Chris


Viewing all articles
Browse latest Browse all 1583

Trending Articles