From: Mike Frysinger <vapier@gentoo.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 05/18] Blackfin: add init.elf helper code
Date: Tue, 28 Jun 2011 15:36:14 -0400 [thread overview]
Message-ID: <1309289787-7846-6-git-send-email-vapier@gentoo.org> (raw)
In-Reply-To: <1309289787-7846-1-git-send-email-vapier@gentoo.org>
This creates a standalone ELF that executes just the Blackfin initcode.
This is useful for people who want to program the low level aspects of
the CPU (memory/clocks/etc...) and can easily be used with JTAG for
quick booting while developing.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
---
Makefile | 3 ++-
arch/blackfin/cpu/.gitignore | 3 +++
arch/blackfin/cpu/Makefile | 7 ++++++-
arch/blackfin/cpu/init.S | 9 +++++++++
arch/blackfin/cpu/init.lds.S | 25 +++++++++++++++++++++++++
5 files changed, 45 insertions(+), 2 deletions(-)
create mode 100644 arch/blackfin/cpu/init.S
create mode 100644 arch/blackfin/cpu/init.lds.S
diff --git a/Makefile b/Makefile
index 3454db6..8dfb174 100644
--- a/Makefile
+++ b/Makefile
@@ -1089,7 +1089,8 @@ clean:
$(obj)board/voiceblue/eeprom \
$(obj)board/armltd/{integratorap,integratorcp}/u-boot.lds \
$(obj)u-boot.lds \
- $(obj)arch/blackfin/cpu/bootrom-asm-offsets.[chs]
+ $(obj)arch/blackfin/cpu/bootrom-asm-offsets.[chs] \
+ $(obj)arch/blackfin/cpu/init.{lds,elf}
@rm -f $(obj)include/bmp_logo.h
@rm -f $(obj)lib/asm-offsets.s
@rm -f $(obj)nand_spl/{u-boot.lds,u-boot-spl,u-boot-spl.map,System.map}
diff --git a/arch/blackfin/cpu/.gitignore b/arch/blackfin/cpu/.gitignore
index 0ec9d56..ba986d8 100644
--- a/arch/blackfin/cpu/.gitignore
+++ b/arch/blackfin/cpu/.gitignore
@@ -1 +1,4 @@
bootrom-asm-offsets.[chs]
+
+init.lds
+init.elf
diff --git a/arch/blackfin/cpu/Makefile b/arch/blackfin/cpu/Makefile
index df10f1b..5deaa9e 100644
--- a/arch/blackfin/cpu/Makefile
+++ b/arch/blackfin/cpu/Makefile
@@ -13,7 +13,7 @@ include $(TOPDIR)/config.mk
LIB = $(obj)lib$(CPU).o
-EXTRA :=
+EXTRA := init.elf
CEXTRA := initcode.o
SEXTRA := start.o
SOBJS := interrupt.o cache.o
@@ -61,6 +61,11 @@ ifneq ($(CONFIG_BFIN_BOOT_MODE),BFIN_BOOT_BYPASS)
fi
endif
+$(obj)init.lds: init.lds.S
+ $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P $^ -o $@
+$(obj)init.elf: $(obj)init.lds $(obj)init.o $(obj)initcode.o
+ $(LD) $(LDFLAGS) -T $^ -o $@
+
#########################################################################
# defines $(obj).depend target
diff --git a/arch/blackfin/cpu/init.S b/arch/blackfin/cpu/init.S
new file mode 100644
index 0000000..f48c113
--- /dev/null
+++ b/arch/blackfin/cpu/init.S
@@ -0,0 +1,9 @@
+#include <asm/blackfin.h>
+ENTRY(_start)
+ sp.l = LO(L1_SRAM_SCRATCH_END - 20);
+ sp.h = HI(L1_SRAM_SCRATCH_END - 20);
+ call _initcode;
+1:
+ emuexcpt;
+ jump 1b;
+END(_start)
diff --git a/arch/blackfin/cpu/init.lds.S b/arch/blackfin/cpu/init.lds.S
new file mode 100644
index 0000000..602e7c8
--- /dev/null
+++ b/arch/blackfin/cpu/init.lds.S
@@ -0,0 +1,25 @@
+/*
+ * linker script for simple init.elf
+ *
+ * Copyright (c) 2005-2011 Analog Device Inc.
+ *
+ * Licensed under the GPL-2 or later.
+ */
+
+#include <config.h>
+#include <asm/blackfin.h>
+#undef ALIGN
+#undef ENTRY
+
+OUTPUT_ARCH(bfin)
+
+MEMORY
+{
+ l1_code : ORIGIN = L1_INST_SRAM, LENGTH = L1_INST_SRAM_SIZE
+}
+
+ENTRY(_start)
+SECTIONS
+{
+ .text.l1 : { *(.text .text.*) } >l1_code
+}
--
1.7.5.3
next prev parent reply other threads:[~2011-06-28 19:36 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-28 19:36 [U-Boot] [PATCH 00/18] Blackfin updates for v2011.09 Mike Frysinger
2011-06-28 19:36 ` [U-Boot] [PATCH 01/18] Blackfin: uart: move debug buffers into local bss Mike Frysinger
2011-06-28 19:36 ` [U-Boot] [PATCH 02/18] Blackfin: uart: add multiple serial support Mike Frysinger
2011-06-28 19:36 ` [U-Boot] [PATCH 03/18] Blackfin: adi boards: enable multi serial support by default Mike Frysinger
2011-06-28 19:36 ` [U-Boot] [PATCH 04/18] Blackfin: dont reset SWRST on newer bf526 parts Mike Frysinger
2011-07-05 5:24 ` [U-Boot] [PATCH v2] " Mike Frysinger
2011-06-28 19:36 ` Mike Frysinger [this message]
2011-06-28 19:36 ` [U-Boot] [PATCH 06/18] Blackfin: uart: fix printf warning Mike Frysinger
2011-06-28 19:36 ` [U-Boot] [PATCH 07/18] Blackfin: post: setup default CONFIG_SYS_POST_WORD_ADDR Mike Frysinger
2011-06-28 19:36 ` [U-Boot] [PATCH 08/18] Blackfin: gpio: optimize free path a little Mike Frysinger
2011-06-28 19:36 ` [U-Boot] [PATCH 09/18] Blackfin: sync MMR read/write helpers with Linux Mike Frysinger
2011-06-28 19:36 ` [U-Boot] [PATCH 10/18] Blackfin: cm-bf537e/cm-bf537u/tcm-bf537: update network settings Mike Frysinger
2011-06-28 19:36 ` [U-Boot] [PATCH 11/18] Blackfin: cm-bf537e/cm-bf537u/tcm-bf537: enable mmc_spi support Mike Frysinger
2011-06-28 19:36 ` [U-Boot] [PATCH 12/18] Blackfin: portmux: allow header to be included in assembly files Mike Frysinger
2011-06-28 19:36 ` [U-Boot] [PATCH 13/18] Blackfin: drop unused dma.h header from start code Mike Frysinger
2011-06-28 19:36 ` [U-Boot] [PATCH 14/18] Blackfin: adi boards: enable pretty flash progress output Mike Frysinger
2011-06-28 19:36 ` [U-Boot] [PATCH 15/18] Blackfin: split out async setup Mike Frysinger
2011-06-28 19:36 ` [U-Boot] [PATCH 16/18] Blackfin: serial: convert to bfin_{read, write} helpers Mike Frysinger
2011-06-28 19:36 ` [U-Boot] [PATCH 17/18] Blackfin: update anomaly lists to latest public info Mike Frysinger
2011-06-28 19:36 ` [U-Boot] [PATCH 18/18] Blackfin: adi boards: also set stderr to nc with helper Mike Frysinger
2011-06-29 2:50 ` [U-Boot] Pull request u-boot-blackfin.git Mike Frysinger
2011-06-29 21:23 ` Wolfgang Denk
2011-06-30 15:45 ` Mike Frysinger
2011-06-30 15:55 ` Wolfgang Denk
2011-06-29 21:23 ` [U-Boot] [PATCH 00/18] Blackfin updates for v2011.09 Wolfgang Denk
2011-06-30 17:23 ` Mike Frysinger
2011-07-05 5:25 ` [U-Boot] [PATCH 19/21] Blackfin: serial: move early debug strings into .rodata section Mike Frysinger
2011-07-05 5:25 ` [U-Boot] [PATCH 20/21] Blackfin: switch to common display_options() Mike Frysinger
2011-07-05 5:25 ` [U-Boot] [PATCH 21/21] Blackfin: jtag-console: fix timer usage Mike Frysinger
2011-07-12 6:21 ` [U-Boot] [PATCH 00/18] Blackfin updates for v2011.09 Mike Frysinger
2011-07-12 6:23 ` [U-Boot] Pull request u-boot-blackfin.git Mike Frysinger
2011-08-02 19:49 ` Wolfgang Denk
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1309289787-7846-6-git-send-email-vapier@gentoo.org \
--to=vapier@gentoo.org \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.