Hi Shijun,
It's the physical address of the "kernel" that's the problem, not the whole image. The elfloader reads the LMA of the kernel elf file to load it to memory. For imx6, currently the kernel assumes the physical load address to be 0x10000000. Have a look at the linker file at "./src/plat/imx6/linker.lds". So if you objdump -h build/kernel/kernel.elf (from where you run make), you should see LMA of the boot section set to 0x10000000. If it's not, that's a problem. If you didn't change anything, I'd suspect your binutils (ld) doesn't set that right. What's your *arm-linux-gnueabi-ld* --version (assuming this is your toolchain)?
On 21/03/17 11:49, shijun zhao wrote:
> Hi Hesham,
>
> I use the following command to get the sel4test projects, and I see that
> the kernel is version 4.0.0-dev.
>
> repo init -u https://github.com/seL4/sel4test-manifest.git
>
>
> The following is the my compilation process:
>
> *make sabre_debug_xml_defconfig*
> *make*
> *arm-linux-gnueabi-objcopy --output-target binary
> sel4test-driver-image-arm-imx6 bootimg.bin
> *
> *tftpboot 0x20000000 bootimg.bin && go 0x20000000*
>
> I have tried to load the image to physical address 0x30000000, but it
> doesn't run.
>
> Best Regards,
> Shijun
>
>
> 2017-03-21 7:15 GMT+08:00 <Hesham.Almatary@data61.csiro.au
> <mailto:Hesham.Almatary@data61.csiro.au >>:
> www.data61.csiro.au <http://www.data61.csiro.au>>
> Hi Shijun,
>
> The load physical address of the kernel does not seem to be right.
> May I ask which kernel revision are you using? How did you get the
> repo and how do you run it?
>
> Regards,
> Hesham
> On 20/03/17 20:15, shijun zhao wrote:
> > Hi everyone,
> >
> > I am running sel4 on i.mx6q sabre board. I use the
> > sabre_debug_xml_defconfig config file. However, the image stops at
> > "Jumping to kernel-image entry point..." when I run it on the board.
> > Following is the printed messages:
> >
> > ## Starting application at 0x20000000 ...
> >
> > ELF-loader started on CPU: ARM Ltd. Cortex-A9 r2p10
> >
> > paddr=[20000000..2030081f]
> >
> > ELF-loading image 'kernel'
> >
> > paddr=[80000000..80032fff]
> >
> > vaddr=[e0000000..e0032fff]
> >
> > virt_entry=e0000000
> >
> > ELF-loading image 'sel4test-driver'
> >
> > paddr=[80033000..80406fff]
> >
> > vaddr=[10000..3e3fff]
> >
> > virt_entry=203d0
> >
> > Enabling MMU and paging
> >
> > Jumping to kernel-image entry point...
> >
> >
> >
> > There are some warnings during compilation, all of which are caused by
> > arm-none-eabi/bin/ld. And I see that the sel4 wiki shows how to solve
> > the warnings:
> >
> > /To fix,
> > do make menuconfig visit seL4 Libraries→Build musl C Library and
> > untick libmuslc use precompiled archive then do make clean and attempt
> > to rebuild.
> > /
> >
> >
> > However, there is no /Build musl C library/ in my menuconfig, and
> there
> > are only /libmuslc /and /libsel4muslcsys /options in the seL4
> libraries.
> >
> >
> > Can anyone tell me how to solve this problem? Thanks!
> >
> >
> > Best Regards,
> >
> > Shijun
> >
> >
> >
> >
> > _______________________________________________
> > Devel mailing list
> > Devel@sel4.systems
> > https://sel4.systems/lists/listinfo/devel
> <https://sel4.systems/lists/listinfo/devel >
> >
>
> --
> Hesham Almatary
> Kernel Engineer
> DATA61 | CSIRO
> E: hesham.almatary@csiro.au
>
>
--
Hesham Almatary
Kernel Engineer
DATA61 | CSIRO
E: hesham.almatary@csiro.au
www.data61.csiro.au