mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-02-16 14:08:45 +00:00
add some more Blackfin docs
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
parent
32a9f5f216
commit
4c58eb5552
3 changed files with 62 additions and 10 deletions
5
README
5
README
|
@ -3517,6 +3517,11 @@ For PowerPC, the following registers have specific use:
|
|||
average for all boards 752 bytes for the whole U-Boot image,
|
||||
624 text + 127 data).
|
||||
|
||||
On Blackfin, the normal C ABI (except for P5) is followed as documented here:
|
||||
http://docs.blackfin.uclinux.org/doku.php?id=application_binary_interface
|
||||
|
||||
==> U-Boot will use P5 to hold a pointer to the global data
|
||||
|
||||
On ARM, the following registers are used:
|
||||
|
||||
R0: function argument word/integer result
|
||||
|
|
46
doc/README.blackfin
Normal file
46
doc/README.blackfin
Normal file
|
@ -0,0 +1,46 @@
|
|||
Notes for the Blackfin architecture port of Das U-Boot
|
||||
|
||||
=========
|
||||
! ABOUT !
|
||||
=========
|
||||
|
||||
<marketing blurb>
|
||||
Blackfin Processors embody a new breed of 16/32-bit embedded processor, ideally
|
||||
suited for products where a convergence of capabilities are necessary -
|
||||
multi-format audio, video, voice and image processing; multi-mode baseband and
|
||||
packet processing; control processing; and real-time security. The Blackfin's
|
||||
unique combination of software flexibility and scalability has gained it
|
||||
widespread adoption in convergent applications.
|
||||
</marketing blurb>
|
||||
|
||||
The Blackfin processor is wholly developed by Analog Devices Inc.
|
||||
|
||||
===========
|
||||
! SUPPORT !
|
||||
===========
|
||||
|
||||
All open source code for the Blackfin processors are being handled via our
|
||||
collaborative website:
|
||||
http://blackfin.uclinux.org/
|
||||
|
||||
In particular, bug reports, feature requests, help etc... for Das U-Boot are
|
||||
handled in the Das U-Boot sub project:
|
||||
http://blackfin.uclinux.org/gf/project/u-boot
|
||||
|
||||
This website is backed both by an open source community as well as a dedicated
|
||||
team from Analog Devices Inc.
|
||||
|
||||
=============
|
||||
! TOOLCHAIN !
|
||||
=============
|
||||
|
||||
To compile the Blackfin aspects, you'll need the GNU toolchain configured for
|
||||
the Blackfin processor. You can obtain such a cross-compiler here:
|
||||
http://blackfin.uclinux.org/gf/project/toolchain
|
||||
|
||||
=================
|
||||
! DOCUMENTATION !
|
||||
=================
|
||||
|
||||
For Blackfin specific documentation, you can visit our dedicated doc wiki:
|
||||
http://docs.blackfin.uclinux.org/doku.php?id=bootloaders:u-boot
|
|
@ -19,11 +19,11 @@ 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 and Blackfin architectures
|
||||
use a dedicated register to hold the pointer to the 'global_data'
|
||||
structure: r29 on PowerPC, r8 on ARM, k0 on MIPS, and P5 on Blackfin.
|
||||
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:
|
||||
|
@ -49,11 +49,12 @@ 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
|
||||
|
||||
For example, the "hello world" application may be loaded and
|
||||
executed on a PowerPC board with the following commands:
|
||||
|
|
Loading…
Add table
Reference in a new issue