Hello, I am using the i.mx6 to test a networking example that function in QEMU. To load the application, I am using the u-boot that comes pre-compiled on the micro-sd. I am able to dhcp to my tftpserver and grab the seL4 image, and when I run the "go 20000000" command, I get the following: ## Starting application at 0x20000000 ... AP Kernel returned back to the elf-loader. abort() called. Looking through the code, that error is in non_boot_main, yet that function call is wrapped by #ifdef CONFIG_SMP_ARM_MPCORE Which is undefined. That makes me think that the main() in boot.c is not being accessed and the elfloader isn't being run properly. Is this a u-boot issue, or is it that way I have everything setup? Is it a requirement to use the pre-compiled u-boot binary for the i.mx6? Thanks, Chris Guikema
Hi Chris, The correct u-boot command is "bootelf" rather than "go". I think bootelf is not enabled by the shipped u-boot. When using the "go" command, a binary file is expected. Have you converted the compiled ELF image to a binary file? - Alex On Wed, 2017-02-15 at 19:34 +0000, Chris Guikema wrote:
Hello,
I am using the i.mx6 to test a networking example that function in QEMU. To load the application, I am using the u-boot that comes pre-compiled on the micro-sd. I am able to dhcp to my tftpserver and grab the seL4 image, and when I run the “go 20000000” command, I get the following:
## Starting application at 0x20000000 ...
AP Kernel returned back to the elf-loader.
abort() called.
Looking through the code, that error is in non_boot_main, yet that function call is wrapped by
#ifdef CONFIG_SMP_ARM_MPCORE
Which is undefined. That makes me think that the main() in boot.c is not being accessed and the elfloader isn’t being run properly.
Is this a u-boot issue, or is it that way I have everything setup? Is it a requirement to use the pre-compiled u-boot binary for the i.mx6?
Thanks,
Chris Guikema
_______________________________________________ Devel mailing list Devel@sel4.systems https://sel4.systems/lists/listinfo/devel
Alex, Yes, I did an objcopy to convert the elf image to binary, which is what I had done for the zynq7000 platform. The issue actually turned out to be that the load address did not equal the entry point for the application, which I found out using "readelf -a". So the proper command actually ended up being: dhcp && go 20000100. ________________________________________ From: Alexander.Kroh@data61.csiro.au [Alexander.Kroh@data61.csiro.au] Sent: Wednesday, February 15, 2017 5:49 PM To: Chris Guikema Cc: devel@sel4.systems Subject: Re: [seL4] imx6 U-Boot Issues Hi Chris, The correct u-boot command is "bootelf" rather than "go". I think bootelf is not enabled by the shipped u-boot. When using the "go" command, a binary file is expected. Have you converted the compiled ELF image to a binary file? - Alex On Wed, 2017-02-15 at 19:34 +0000, Chris Guikema wrote:
Hello,
I am using the i.mx6 to test a networking example that function in QEMU. To load the application, I am using the u-boot that comes pre-compiled on the micro-sd. I am able to dhcp to my tftpserver and grab the seL4 image, and when I run the “go 20000000” command, I get the following:
## Starting application at 0x20000000 ...
AP Kernel returned back to the elf-loader.
abort() called.
Looking through the code, that error is in non_boot_main, yet that function call is wrapped by
#ifdef CONFIG_SMP_ARM_MPCORE
Which is undefined. That makes me think that the main() in boot.c is not being accessed and the elfloader isn’t being run properly.
Is this a u-boot issue, or is it that way I have everything setup? Is it a requirement to use the pre-compiled u-boot binary for the i.mx6?
Thanks,
Chris Guikema
_______________________________________________ Devel mailing list Devel@sel4.systems https://sel4.systems/lists/listinfo/devel
participants (2)
-
Alexander.Kroh@data61.csiro.au
-
Chris Guikema