mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* How to start barebox on Freescale iMX28 EVK
@ 2012-06-18 13:07 Maxime Ripard
  2012-06-29  9:11 ` Maxime Ripard
  0 siblings, 1 reply; 4+ messages in thread
From: Maxime Ripard @ 2012-06-18 13:07 UTC (permalink / raw)
  To: barebox

Hi everyone,

I'm trying barebox on the imx28 evk evaluation board from freescale, and
I can't get barebox to boot yet.

I think I might have a problem with the bootlets used, but I'm not sure.

So, to compile barebox, I did:
ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- make imx28evk_defconfig
ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- make

Using codebench 2011.09 toolchain.

Then, I used U-boot IVT bootlet from freescale bootlet tarball as a base
for the one I created [1].

After that, I created the bootstream using
elftosb -z -f imx28 -c  ./barebox_ivt.bd -o imx28_ivt_barebox.sb

Finally, I pushed on a properly formatted SD Card (with a 0x53 partition
flag on the first partition) using Freescale mk_hdr script[2] to
generate the proper headers:

./mk_hdr.sh `sudo fdisk -lu /dev/sdb | awk '$5==53 {print $2}'` 1  >
temp.bin

sudo dd if=temp.bin of=/dev/sdb1 ibs=512 conv=sync
sudo dd if=imx28_ivt_barebox.sb of=/dev/sdb1 ibs=512 obs=512 seek=1
conv=sync

When I finally plug the card in and boot the card, the two first
bootlets are properly executed, and then, it hangs, displaying nothing
but what is looking like an address: 0x8050100f

When flashing it in the exact same way with freescale's precompiled
u-boot bootstream, it works fine though, so my guess is that it is more
a problem regarding the barebox binary/the bootstream than the sd card
generation process...

Do you have an idea on what could be wrong with what I'm doing ?

Thanks,
Maxime

[1] http://code.bulix.org/eavngs-81672
[2] http://code.bulix.org/vzqsiy-81673

-- 
Maxime Ripard, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: How to start barebox on Freescale iMX28 EVK
  2012-06-18 13:07 How to start barebox on Freescale iMX28 EVK Maxime Ripard
@ 2012-06-29  9:11 ` Maxime Ripard
  2012-06-29  9:29   ` Sascha Hauer
  0 siblings, 1 reply; 4+ messages in thread
From: Maxime Ripard @ 2012-06-29  9:11 UTC (permalink / raw)
  To: barebox

Anyone ?

Le 18/06/2012 15:07, Maxime Ripard a écrit :
> Hi everyone,
> 
> I'm trying barebox on the imx28 evk evaluation board from freescale, and
> I can't get barebox to boot yet.
> 
> I think I might have a problem with the bootlets used, but I'm not sure.
> 
> So, to compile barebox, I did:
> ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- make imx28evk_defconfig
> ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- make
> 
> Using codebench 2011.09 toolchain.
> 
> Then, I used U-boot IVT bootlet from freescale bootlet tarball as a base
> for the one I created [1].
> 
> After that, I created the bootstream using
> elftosb -z -f imx28 -c  ./barebox_ivt.bd -o imx28_ivt_barebox.sb
> 
> Finally, I pushed on a properly formatted SD Card (with a 0x53 partition
> flag on the first partition) using Freescale mk_hdr script[2] to
> generate the proper headers:
> 
> ./mk_hdr.sh `sudo fdisk -lu /dev/sdb | awk '$5==53 {print $2}'` 1  >
> temp.bin
> 
> sudo dd if=temp.bin of=/dev/sdb1 ibs=512 conv=sync
> sudo dd if=imx28_ivt_barebox.sb of=/dev/sdb1 ibs=512 obs=512 seek=1
> conv=sync
> 
> When I finally plug the card in and boot the card, the two first
> bootlets are properly executed, and then, it hangs, displaying nothing
> but what is looking like an address: 0x8050100f
> 
> When flashing it in the exact same way with freescale's precompiled
> u-boot bootstream, it works fine though, so my guess is that it is more
> a problem regarding the barebox binary/the bootstream than the sd card
> generation process...
> 
> Do you have an idea on what could be wrong with what I'm doing ?
> 
> Thanks,
> Maxime
> 
> [1] http://code.bulix.org/eavngs-81672
> [2] http://code.bulix.org/vzqsiy-81673
> 


-- 
Maxime Ripard, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com



_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: How to start barebox on Freescale iMX28 EVK
  2012-06-29  9:11 ` Maxime Ripard
@ 2012-06-29  9:29   ` Sascha Hauer
  2012-06-29 12:59     ` Maxime Ripard
  0 siblings, 1 reply; 4+ messages in thread
From: Sascha Hauer @ 2012-06-29  9:29 UTC (permalink / raw)
  To: Maxime Ripard; +Cc: barebox

On Fri, Jun 29, 2012 at 11:11:59AM +0200, Maxime Ripard wrote:
> Anyone ?
> 
> Le 18/06/2012 15:07, Maxime Ripard a écrit :
> > Hi everyone,
> > 
> > I'm trying barebox on the imx28 evk evaluation board from freescale, and
> > I can't get barebox to boot yet.
> > 
> > I think I might have a problem with the bootlets used, but I'm not sure.
> > 
> > So, to compile barebox, I did:
> > ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- make imx28evk_defconfig
> > ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- make
> > 
> > Using codebench 2011.09 toolchain.
> > 
> > Then, I used U-boot IVT bootlet from freescale bootlet tarball as a base
> > for the one I created [1].
> > 
> > After that, I created the bootstream using
> > elftosb -z -f imx28 -c  ./barebox_ivt.bd -o imx28_ivt_barebox.sb
> > 
> > Finally, I pushed on a properly formatted SD Card (with a 0x53 partition
> > flag on the first partition) using Freescale mk_hdr script[2] to
> > generate the proper headers:
> > 
> > ./mk_hdr.sh `sudo fdisk -lu /dev/sdb | awk '$5==53 {print $2}'` 1  >
> > temp.bin
> > 
> > sudo dd if=temp.bin of=/dev/sdb1 ibs=512 conv=sync
> > sudo dd if=imx28_ivt_barebox.sb of=/dev/sdb1 ibs=512 obs=512 seek=1
> > conv=sync
> > 
> > When I finally plug the card in and boot the card, the two first
> > bootlets are properly executed, and then, it hangs, displaying nothing
> > but what is looking like an address: 0x8050100f

This code comes from the i.MX28 ROM and means:

Requested data beyond the end of a section.

Maybe your entry point is wrong? I just had a look at our .bd file and
it looks like this:

sources {
        power_prep="./power_prep/power_prep";
        u_boot="/home/sha/dude/bosch/OSELAS.BSP-Bosch-SCM/platform-scm/build-target/barebox-2012.05.0/barebox";
}

section (0) {

        //----------------------------------------------------------
        // Power Supply initialization
        //----------------------------------------------------------

        load power_prep;
        load ivt (entry = power_prep:_start) > 0x8000;
        hab call 0x8000;

        //----------------------------------------------------------
        //  Load and call u_boot - ELF ARM image
        //----------------------------------------------------------

        load u_boot;
        load ivt (entry = u_boot:exception_vectors) > 0x8000;
        hab call 0x8000;

}


-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: How to start barebox on Freescale iMX28 EVK
  2012-06-29  9:29   ` Sascha Hauer
@ 2012-06-29 12:59     ` Maxime Ripard
  0 siblings, 0 replies; 4+ messages in thread
From: Maxime Ripard @ 2012-06-29 12:59 UTC (permalink / raw)
  To: Sascha Hauer; +Cc: barebox

Hi,

Le 29/06/2012 11:29, Sascha Hauer a écrit :
> On Fri, Jun 29, 2012 at 11:11:59AM +0200, Maxime Ripard wrote:
>> Anyone ?
>>
>> Le 18/06/2012 15:07, Maxime Ripard a écrit :
>>> Hi everyone,
>>>
>>> I'm trying barebox on the imx28 evk evaluation board from freescale, and
>>> I can't get barebox to boot yet.
>>>
>>> I think I might have a problem with the bootlets used, but I'm not sure.
>>>
>>> So, to compile barebox, I did:
>>> ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- make imx28evk_defconfig
>>> ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- make
>>>
>>> Using codebench 2011.09 toolchain.
>>>
>>> Then, I used U-boot IVT bootlet from freescale bootlet tarball as a base
>>> for the one I created [1].
>>>
>>> After that, I created the bootstream using
>>> elftosb -z -f imx28 -c  ./barebox_ivt.bd -o imx28_ivt_barebox.sb
>>>
>>> Finally, I pushed on a properly formatted SD Card (with a 0x53 partition
>>> flag on the first partition) using Freescale mk_hdr script[2] to
>>> generate the proper headers:
>>>
>>> ./mk_hdr.sh `sudo fdisk -lu /dev/sdb | awk '$5==53 {print $2}'` 1  >
>>> temp.bin
>>>
>>> sudo dd if=temp.bin of=/dev/sdb1 ibs=512 conv=sync
>>> sudo dd if=imx28_ivt_barebox.sb of=/dev/sdb1 ibs=512 obs=512 seek=1
>>> conv=sync
>>>
>>> When I finally plug the card in and boot the card, the two first
>>> bootlets are properly executed, and then, it hangs, displaying nothing
>>> but what is looking like an address: 0x8050100f
> 
> This code comes from the i.MX28 ROM and means:
> 
> Requested data beyond the end of a section.
> 
> Maybe your entry point is wrong? I just had a look at our .bd file and
> it looks like this:
> 
> sources {
>         power_prep="./power_prep/power_prep";
>         u_boot="/home/sha/dude/bosch/OSELAS.BSP-Bosch-SCM/platform-scm/build-target/barebox-2012.05.0/barebox";
> }
> 
> section (0) {
> 
>         //----------------------------------------------------------
>         // Power Supply initialization
>         //----------------------------------------------------------
> 
>         load power_prep;
>         load ivt (entry = power_prep:_start) > 0x8000;
>         hab call 0x8000;
> 
>         //----------------------------------------------------------
>         //  Load and call u_boot - ELF ARM image
>         //----------------------------------------------------------
> 
>         load u_boot;
>         load ivt (entry = u_boot:exception_vectors) > 0x8000;
>         hab call 0x8000;
> 
> }

Yep, it was just that. Changing the entry point to exception_vectors did
the trick. Thanks a lot!

Maxime

-- 
Maxime Ripard, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com



_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-06-29 12:59 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-06-18 13:07 How to start barebox on Freescale iMX28 EVK Maxime Ripard
2012-06-29  9:11 ` Maxime Ripard
2012-06-29  9:29   ` Sascha Hauer
2012-06-29 12:59     ` Maxime Ripard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox