mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-25 06:00:43 +00:00
doc: README.SPL: adjust for Kbuild and Kconfig
Reflect the latest build system to doc/README.SPL. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
This commit is contained in:
parent
e8e6d2a990
commit
c01f87c8dd
1 changed files with 6 additions and 22 deletions
|
@ -13,34 +13,29 @@ can be reused. No code duplication or symlinking is necessary anymore.
|
|||
How it works
|
||||
------------
|
||||
|
||||
There is a new directory $(srctree)/spl which contains only a Makefile.
|
||||
The object files are built separately for SPL and placed in this directory.
|
||||
The object files for SPL are built separately and placed in the "spl" directory.
|
||||
The final binaries which are generated are u-boot-spl, u-boot-spl.bin and
|
||||
u-boot-spl.map.
|
||||
|
||||
During the SPL build a variable named CONFIG_SPL_BUILD is exported
|
||||
in the make environment and also appended to CPPFLAGS with -DCONFIG_SPL_BUILD.
|
||||
A config option named CONFIG_SPL_BUILD is enabled by Kconfig for SPL.
|
||||
Source files can therefore be compiled for SPL with different settings.
|
||||
ARM-based boards have previously used the option CONFIG_PRELOADER for it.
|
||||
|
||||
For example:
|
||||
|
||||
ifeq ($(CONFIG_SPL_BUILD),y)
|
||||
COBJS-y += board_spl.o
|
||||
obj-y += board_spl.o
|
||||
else
|
||||
COBJS-y += board.o
|
||||
obj-y += board.o
|
||||
endif
|
||||
|
||||
COBJS-$(CONFIG_SPL_BUILD) += foo.o
|
||||
obj-$(CONFIG_SPL_BUILD) += foo.o
|
||||
|
||||
#ifdef CONFIG_SPL_BUILD
|
||||
foo();
|
||||
#endif
|
||||
|
||||
|
||||
The building of SPL images can be with:
|
||||
|
||||
#define CONFIG_SPL 1
|
||||
The building of SPL images can be enabled by CONFIG_SPL option in Kconfig.
|
||||
|
||||
Because SPL images normally have a different text base, one has to be
|
||||
configured by defining CONFIG_SPL_TEXT_BASE. The linker script has to be
|
||||
|
@ -70,17 +65,6 @@ CONFIG_SPL_SPI_LOAD (drivers/mtd/spi/spi_spl_load.o)
|
|||
CONFIG_SPL_RAM_DEVICE (common/spl/spl.c)
|
||||
CONFIG_SPL_WATCHDOG_SUPPORT (drivers/watchdog/libwatchdog.o)
|
||||
|
||||
Normally CPU is assumed to be the same between the SPL and normal
|
||||
u-boot build. However it is possible to specify a different CPU for
|
||||
the SPL build for cases where the SPL is expected to run on a
|
||||
different CPU model from the main u-boot. This is done by specifying
|
||||
an SPL CPU in boards.cfg as follows:
|
||||
|
||||
normal_cpu:spl_cpu
|
||||
|
||||
This case CPU will be set to "normal_cpu" during the main u-boot
|
||||
build and "spl_cpu" during the SPL build.
|
||||
|
||||
|
||||
Debugging
|
||||
---------
|
||||
|
|
Loading…
Reference in a new issue