diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2000-10-12 12:56:07 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2000-10-12 12:56:07 +0000 |
commit | 50bb7627337aa780c4e8e6f3cbded85d2c80381b (patch) | |
tree | 0f6b313ab0e87a1471f42b4ee243130e5bf1b334 /c/src/lib/libbsp/m68k/efi332/start/Makefile.am | |
parent | 2000-10-12 John S Gwynne <jgwynne@mrcday.com> (diff) | |
download | rtems-50bb7627337aa780c4e8e6f3cbded85d2c80381b.tar.bz2 |
2000-10-12 John S Gwynne <jgwynne@mrcday.com>
* start/start.c: Modified to support generation of ram_init.
* start/ram_init.ld, BSP/start/ram_init.sed: New files.
These changes enable RTEMS to automatically generate
the ram_init file used by gdb with the BDM patches. The 332 has
on-board chip select lines (for RAM and FLASH) that must be
configured before use of these peripherals. These patches parse
data from start.c where the chip select lines are configured in
the runtime executable and automatically generates the gdb
initialization file using the same settings. A great time saver.
A similar file, ram_init_FW (flash writable), is also generated
that the flash programming tool uses.
* start/Makefile.am: Modified to support above.
* CPU/sim.h: Modified to support above.
* startup/except_vect_332_ROM.S: Moved to start so it would not
be included in libbsp.a. Moving it to start ensures it is
available as a single object file.
* start/except_vect_332_ROM.S: Moved from startup.
* startup/linkcmds, startup/linkcmds_ROM: Fixes to the memory map
shown in the comments.
Diffstat (limited to '')
-rw-r--r-- | c/src/lib/libbsp/m68k/efi332/start/Makefile.am | 38 |
1 files changed, 36 insertions, 2 deletions
diff --git a/c/src/lib/libbsp/m68k/efi332/start/Makefile.am b/c/src/lib/libbsp/m68k/efi332/start/Makefile.am index e827e0d79e..a310b4f1f2 100644 --- a/c/src/lib/libbsp/m68k/efi332/start/Makefile.am +++ b/c/src/lib/libbsp/m68k/efi332/start/Makefile.am @@ -22,12 +22,46 @@ include $(top_srcdir)/../../../../../../automake/lib.am $(PROJECT_RELEASE)/lib/start$(LIB_VARIANT).o: $(PGM) $(INSTALL_DATA) $< $@ -TMPINSTALL_FILES += $(PROJECT_RELEASE)/lib/start$(LIB_VARIANT).o +$(PROJECT_RELEASE)/lib/except_vect_332_ROM$(LIB_VARIANT).o: \ + $(ARCH)/except_vect_332_ROM.o + $(INSTALL_DATA) $< $@ + +$(PROJECT_RELEASE)/lib/ram_init$(LIB_VARIANT): \ + $(ARCH)/ram_init + $(INSTALL_DATA) $< $@ + +$(PROJECT_RELEASE)/lib/ram_init_FW$(LIB_VARIANT): \ + $(ARCH)/ram_init_FW + $(INSTALL_DATA) $< $@ + +$(ARCH)/ram_init: $(srcdir)/start.c $(srcdir)/ram_init.ld \ + $(srcdir)/ram_init.sed + sed -f $(srcdir)/ram_init.sed $(srcdir)/start.c >$(ARCH)/ram_init.S + $(CC) -D SIM_CRB=0x0000 -E $(ARCH)/ram_init.S >$(ARCH)/ram_init1.S + sed "/.org/ {N; s/\n/%/; P;}; /\.text/P; D;" $(ARCH)/ram_init1.S | \ + sort | sed "h;1{s/.*/.data/;P;g;};s/%.*//;P;g;s/.*%//;" \ + >$(ARCH)/ram_init2.S + $(CC) -nostdlib -Wl,-T$(srcdir)/ram_init.ld $(ARCH)/ram_init2.S \ + -o $(ARCH)/ram_init + +$(ARCH)/ram_init_FW: $(srcdir)/ram_init.ld $(ARCH)/ram_init.S + $(CC) -D FLASHWRITE -D SIM_CRB=0x0000 -E $(ARCH)/ram_init.S \ + >$(ARCH)/ram_init_FW1.S + sed "/.org/ {N; s/\n/%/; P;}; /\.text/P; D;" $(ARCH)/ram_init_FW1.S | \ + sort | sed "h;1{s/.*/.data/;P;g;};s/%.*//;P;g;s/.*%//;" \ + >$(ARCH)/ram_init_FW2.S + $(CC) -nostdlib -Wl,-T$(srcdir)/ram_init.ld $(ARCH)/ram_init_FW2.S \ + -o $(ARCH)/ram_init_FW + +TMPINSTALL_FILES += $(PROJECT_RELEASE)/lib/start$(LIB_VARIANT).o \ + $(PROJECT_RELEASE)/lib/ram_init$(LIB_VARIANT) \ + $(PROJECT_RELEASE)/lib/ram_init_FW$(LIB_VARIANT) \ + $(PROJECT_RELEASE)/lib/except_vect_332_ROM$(LIB_VARIANT).o all-local: $(ARCH) $(OBJS) $(PGM) $(TMPINSTALL_FILES) .PRECIOUS: $(PGM) -EXTRA_DIST = start.c +EXTRA_DIST = start.c except_vect_332_ROM.S ram_init.ld ram_init.sed include $(top_srcdir)/../../../../../../automake/local.am |