How to execute a bare metal app (CW built) from u-boot command line

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to execute a bare metal app (CW built) from u-boot command line

931 Views
Simone_Dep
Contributor I

Hi to all,

we are using an LS1043A-RDB evaluation board, using LSDK21.08 as build environment

target and CodeWarrior (with a codewarrior TAP adapter too) as debug tool.

We built easily a set of images in order to boot Linux from SD with a custom RCW as

required from our target application, it boots linux without problems.

Then the hard section!

We started coding our custom application that should starts from u-boot, we don't have

to use Linux as OS, and the application should be at first a simple bare metal app ('hello

world' style...). It starts correctly when we execute it from CW ide & TAP.

But we are in trouble because, it doesn't not starts correctly when we run it from u-boot CLI.

The first things that seems to be wrong is that the EL level with which the application starts

is not correct! And this is what we get:

 

=> go 80000e00
## Starting application at 0x80000E00 ...
"Synchronous Abort" handler, esr 0x02000000
elr: 000000000a4e3e08 lr : 0000000082007760 (reloc)
elr: 0000000080000e08 lr : 00000000f7b24760
x0 : 0000000080000000 x1 : 00000000f7a56c28
x2 : 00000000f7a56c28 x3 : 0000000000000001
x4 : 00000000ffffffff x5 : 00000000f7a14ea8
x6 : 0000000000000030 x7 : 000000000000000f
x8 : 00000000f7a15318 x9 : 0000000000000008
x10: 00000000ffffffd0 x11: 0000000000000010
x12: 0000000000000004 x13: 0000000000000200
x14: 000000000000000f x15: 0000000000000001
x16: 0000000080000e00 x17: 0000000000000000
x18: 00000000f7a18da0 x19: 00000000f7a56c28
x20: 0000000080000e00 x21: 0000000000000002
x22: 00000000f7a56c20 x23: 0000000000000002
x24: 00000000f7be3974 x25: 0000000000000000
x26: 0000000000000000 x27: 0000000000000000
x28: 00000000f7a56d10 x29: 00000000f7a15350

Code: 00000000 00000000 d5033fdf 10ff8fe0 (d51ec000)
Resetting CPU ...

resetting ...

 

Obviously 0x80000e00 is the entry point of the __start: symbol in the binary image.

Has anyone observed this, and solved it?!

Thanks in advance,

S.

 

 

Labels (2)
Tags (1)
0 Kudos
1 Reply

866 Views
yipingwang
NXP TechSupport
NXP TechSupport

You could start with u-boot source code examples/standalone/hello_world.c.

0 Kudos