[U-Boot-Users] stand alone application

kow9loon easter8 at hotmail.com
Sun Apr 1 19:11:42 CEST 2007

After giving the matter some more thoughts, another question also comes into

How could I ensure that control is passed to the entry point of my
standalone application, which I designate, running in the PowerPC
environment, if the start address is confined to 0x00040000? I would expect
that, some how, the standalone application has to inform U_boot where the
start address is, before U_boot could get to the correct entry point. Please
correct me if I am wrong. Thank you again.



kow9loon wrote:
> I am trying to write a stand alone application, which is supposed to be a
> board diagnostics for manufacturing. The way it supposes to work is as
> follows: U_boot could either download the diagnostics manually under the
> U_boot prompt, or be calling up do_tftp() directly if it is to be done
> automatically. Results generated from the diagnostics are to be recorded
> in the RAM, whose contents shall later be uploaded as a log file to an
> external server via tftp. After reading the examples provided in the
> example directory, I have the following questions:
> (1) In my understanding, the stand alone application (the board diagnostic
> for manufacturing) is supposed to be compiled as a separately entity in
> the U-boot path and then be placed in an external server, waiting to be
> downloaded to the RAM on board; when either go <address> or do_go(address)
> is executed, control get passed to the stand alone application, how could
> the stand alone application be able to make calls to functions that are
> exported (those appeared in both exports.c and export.h), without some
> kind of "linking"? Unless go <address> or do_go(address) perform some sort
> of "linking" or "peudo linking" action, this doesn't sound possible. Could
> someone explain to me how this works? 
> My expectation of how this could work is: on execution of the go <address>
> command or do_go (address), address of the jump table is to be loaded into
> a register, and it is the responsibility of the application to save the
> value of this register before anything else, in such a way to allow the
> application to call up functions that it elects by picking up the correct
> addresses of these functions via indexing. However, after reading the
> examples provided in U-boot, I have not seen any motion of saving the
> value of the register. However, vwhich register U-boot chooses to use
> would be processor dependent. This is just my two cents.
> (2) Is uploading currently being supported in U-boot's tftp
> implementation? Judging from the do_tftp codes, it looks that only
> "downloading" action is supported not "uploading". Could someone confirm
> that or point to the place where "uploading" is implemented?
> Any input would be greatly appreciated. Thanks.
> Kow9loon

View this message in context: http://www.nabble.com/stand-alone-application-tf3498698.html#a9779774
Sent from the Uboot - Users mailing list archive at Nabble.com.

More information about the U-Boot mailing list