Re: booting linux on arm problem



On Oct 9, 7:13 am, Juergen Beisert <jbeis...@xxxxxxxxxxxx> wrote:
Wei Wang wrote:
On Oct 8, 8:37 pm, Juergen Beisert <jbeis...@xxxxxxxxxxxx> wrote:
Wei Wang wrote:
My boot code is located at addr 0x0 and kernel at 0x8000. The boot
code initialize uart and print out OK on a terminal correctly, but
when it jumps to 0x8000 to start the kernel, the PC was set to
0xEA00009A, which is nowhere in my memory map and caused read abort.
The boot code and kernel is supposed to run in the first 64MB DRAM
space. I checked the kernel code and found that the kernel died at the
vprintk subroutine, but I couldn't pin down the actual problem, I
suppose the kernel code should be all right, the only problems should
remain with my boot code. The only printout in terminal after OK was
<<5> which seemed right compared with successful boots. Just wondering
what could be causing this probelm I am seeing, many thanks!

-Wei

What is your memory map? Means to what address ranges are your flash and
RAM mapped?

Juergen

Flash mapped from address 0x0 when booting to 0x4000_0000 after
booting (16MB).
SRAM at 0x4800_0000(32MB).
SDRAM mapped from 0x7000_0000 when booting to 0x0000_0000 after
booting (64MB), and both the boot code and kernel reside here at
address 0x0000_0000.

This does mean your bootcode is only 32kiB in size? No overlapping between
bootcode and kernel in the SDRAM space?

I think so, the boot loader is only a few hundred bytes.


What type of linux image do you try to start? uImage? zImage? What type of
bootloader do you are using?

The image is from sb else, vmlinux.axf (1.4MB), and I will try to find
this out whether it is uImage or zImage. The bootloader is just a
hundred lines, handcoded (http://www.arm.linux.org.uk/developer/
booting.php).

Juergen

Many thanks! -Wei

.



Relevant Pages

  • [PATCH 00/10] paravirt/subarchitecture boot protocol
    ... This series updates the boot protocol to 2.07 and uses it to implement ... This allows the bootloader to tell the kernel ... and the kernel can use the appropriate boot sequence code. ... setup code needed for booting from BIOS. ...
    (Linux-Kernel)
  • Re: booting linux on arm problem
    ... On Oct 12, 9:23 pm, karthikbalaguru ... The boot code and kernel is supposed to run in the first 64MB DRAM ... SDRAM mapped from 0x7000_0000 when booting to 0x0000_0000 after ...
    (comp.os.linux.embedded)
  • booting linux on arm problem
    ... My boot code is located at addr 0x0 and kernel at 0x8000. ... The boot code and kernel is supposed to run in the first 64MB DRAM ...
    (comp.os.linux.embedded)
  • Re: Genapic cleanup & NUMAQ/es7000 removal
    ... The runtime callbacks arent really a maintenance ... most of them are in boot code so it's not a runtime overhead issue. ... The testing exposure of the upstream kernel is ... i stated our maintenance position about x86 compatibility clearly ...
    (Linux-Kernel)
  • Re: booting linux on arm problem
    ... when it jumps to 0x8000 to start the kernel, ... The boot code and kernel is supposed to run in the first 64MB DRAM ... Flash mapped from address 0x0 when booting to 0x4000_0000 after ...
    (comp.os.linux.embedded)