X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=doc%2FREADME.standalone;h=2be5f27696fcf84fbe50b9da704e7fa160bd4bf5;hb=fd3cebd020edad5fa18ff5a64cde3aa75aa896c8;hp=39988317ee5971abf7240bf01e641e30aeb71aa3;hpb=7784674852c66b0924bdc79062bd208aa51fd0a9;p=u-boot diff --git a/doc/README.standalone b/doc/README.standalone index 39988317ee..2be5f27696 100644 --- a/doc/README.standalone +++ b/doc/README.standalone @@ -19,11 +19,12 @@ Design Notes on Exporting U-Boot Functions to Standalone Applications: thus the compiler cannot perform type checks on these assignments. 2. The pointer to the jump table is passed to the application in a - machine-dependent way. PowerPC, ARM and MIPS architectures use a - dedicated register to hold the pointer to the 'global_data' - structure: r29 on PowerPC, r8 on ARM and k0 on MIPS. The x86 - architecture does not use such a register; instead, the pointer to - the 'global_data' structure is passed as 'argv[-1]' pointer. + machine-dependent way. PowerPC, ARM, MIPS, Blackfin and Nios II + architectures use a dedicated register to hold the pointer to the + 'global_data' structure: r2 on PowerPC, r8 on ARM, k0 on MIPS, + P3 on Blackfin and gp on Nios II. The x86 architecture does not + use such a register; instead, the pointer to the 'global_data' + structure is passed as 'argv[-1]' pointer. The application can access the 'global_data' structure in the same way as U-Boot does: @@ -39,7 +40,7 @@ Design Notes on Exporting U-Boot Functions to Standalone Applications: that returns the ABI version of the running U-Boot. I.e., a typical application startup may look like this: - int my_app (int argc, char *argv[]) + int my_app (int argc, char * const argv[]) { app_startup (argv); if (get_version () != XF_VERSION) @@ -49,11 +50,14 @@ Design Notes on Exporting U-Boot Functions to Standalone Applications: 4. The default load and start addresses of the applications are as follows: - Load address Start address - x86 0x00040000 0x00040000 - PowerPC 0x00040000 0x00040004 - ARM 0x0c100000 0x0c100000 - MIPS 0x80200000 0x80200000 + Load address Start address + x86 0x00040000 0x00040000 + PowerPC 0x00040000 0x00040004 + ARM 0x0c100000 0x0c100000 + MIPS 0x80200000 0x80200000 + Blackfin 0x00001000 0x00001000 + NDS32 0x00300000 0x00300000 + Nios II 0x02000000 0x02000000 For example, the "hello world" application may be loaded and executed on a PowerPC board with the following commands: