Dear Wolfgang Am Samstag, den 12.08.2017, 20:39 +0200 schrieb Wolfgang Denk: > Dear Max, > > In message <20170812090346.7887-3-max.krummenac...@toradex.com> you wrote: > > > > If compiling for thumb the U-Boot 'go' command can not jump to the entry > > point, as the jump will be done in the assumption that the code jumped to > > is using the arm instruction set. > > > > So add add a simple forwarder in arm instruction set which then jumps > > to the 'real' entry. > > This description makes no sense to me. Whatever you do, the address > where the image starts executuin is what is called the entry point. > Whether this is needs special code to swutch to thumb mode or not > does not make any difference. Whichever address you use with the > "go" command is the "entry point". > > Also, can the mode switching not be done inside the body of the > regular hello_world() function? This would be much better as it > wuld allow to always use the same method to determine the entry > point address (line running "nm" on the binary and grepping for the > name "hello_world"). With your code, you would have to fix all > documentation and explain that the entry pooint name is suddenly > domething totally different (and an unexpected, unusal name like > "dummy2" as well) for thumb images.
This again stems from my assumption that one has to write the standalone application in a way that the entry point is actually linked to the beginning of the binary. One cannot put the mode switching from thumb to arm instruction set inside the body of a C function, as the entry code prepended by the compiler would be in thumb and thus an exception would occur before the mode switching code gets executed. Probably one can add a pragma conditionally so that the entry function gets compiled in arm instruction set. I investigate further and send a v2. Max > > Sorry, but this does not seem a good idea to me. > > Naked-by: Wolfgang Denk <w...@denx.de> > > Best regards, > > Wolfgang Denk > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot