Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)

Paste

Pasted as Plain Text by Makefile ( 15 years ago )
#-------------------------------------------------------------------------------
# NOTE: emerald-boot is built with support for usb-boot.
#       By default it is not built with support for a ramdisk.  If you want
#       to support a ramdisk, specify RAMDISK=1 on the ./install.sh command
#       line.
#-------------------------------------------------------------------------------
CROSS_COMPILE ?= arm-linux-uclibcgnueabi-
OPT=-Os
CFLAGS = -ggdb -std=gnu99 -mcpu=arm926ej-s -mlittle-endian -msoft-float -ffreestanding $(OPT) -Wall -pedantic -D_LF1000_BOOTLOADER -fPIC -fno-builtin
LDFLAGS = -static --architecture armv5te -EL -M -Map emerald-boot.map -e StartUp -T emerald-boot.lds

# Boot using Micromon, turn bootstrap off
ifneq ($(MICRO_BOOT),)
CFLAGS += -DMICRO_BOOT
else
CFLAGS += -DSELF_BOOTSTRAP
endif


ifneq ($(KERNELDIR),)
CFLAGS += -I$(KERNELDIR)/arch/arm/mach-lf1000/include -I$(KERNELDIR)/include/linux -I$(KERNELDIR)/include -I$(KERNELDIR)/arch/arm/include

endif

# build NFS booting support for the development boards (but not for the Form
# Factor / final boards as they don't have Ethernet)
ifneq ($(TARGET_MACH),LF_LF1000)
CFLAGS += -DNFS_SUPPORT
endif

# debug printing support
ifneq ($(DEBUG),)
CFLAGS += -DDEBUG
endif

# debug stopwatch support
ifneq ($(DEBUG_STOPWATCH),)
CFLAGS += -DDEBUG_STOPWATCH
endif

# boot button support
ifeq ($(BUTTON_BOOT),1)
CFLAGS += -DBUTTON_BOOT_SUPPORT
endif

# u-boot bootloader support
ifeq ($(UBOOT_SUPPORT),1)
CFLAGS += -DUBOOT_SUPPORT
endif

# nand_utils.o and nand_boot.o must be in the first 2K.
# params.o must be in the first 16K, but not in the first 2K!!.  See source
OBJS = startup.o copyNand.o nand_utils.o nand_boot.o nand.o nand_ecc.o \
       copyNor.o gpio.o string.o \
       debug.o params.o \
       timer.o cbf.o adc.o ram.o rle.o \
       bootUsb.o lib1funcs.o

SCREENS = ATTENTION_NEEDED.32.rle.h DOWNLOAD_IN_PROGRESS.32.rle.h LOW_BATTERY.32.rle.h VISIT.32.rle.h
HNS_SIZE = `cat ../packages/screens/HEALTH_AND_SAFETY.32.rle | wc -c` 

TARGET = emerald-boot

# RAMDISK bootloader support (enumerate as MSC device with a ramdisk)
# (otherwise enumerate as a MSC device w/o media)
ifeq ($(RAMDISK),1)
CFLAGS += -DRAMDISK
OBJS += ramdisk.o
endif

OBJS += screens.o

# button mapping support
OBJS += buttons.o

# LCD module support
OBJS += spi.o hx8238.o nt39016.o ili9322.o

ifeq ($(I2C_SUPPORT),1)
OBJS += i2c.o
endif

# MMC card support
MMC_OBJS=mmc.o diskio.o pff.o
ifeq ($(SDCARD),0)
OBJS += $(MMC_OBJS)
CFLAGS += -DMMC_SUPPORT -DMMC_CHANNEL=0
endif
ifeq ($(SDCARD),1)
OBJS += $(MMC_OBJS)
CFLAGS += -DMMC_SUPPORT -DMMC_CHANNEL=1
endif

ifeq ($(SDCARD_DEBUG),1)
CFLAGS += -DMMC_DEBUG
endif

# Bits per pixel (BBP) setting
CFLAGS += -DBPP=4

# Boot Splash Screen support
OBJS += display.o dpc.o mlc.o pwm.o

# Kernel bad-block test support
ifeq ($(TEST_BOOT_WITH_KERNEL_BAD_BLOCKS),1)
CFLAGS += -DTEST_BOOT_WITH_KERNEL_BAD_BLOCKS
OBJS += bbtest.o
endif

# Configure CPU and bus clocks
CFLAGS += -DCONFIGURE_CLOCKS

# Perform CRC32 checks on kernel image
#CFLAGS += -DCHECK_KERNEL_CRC

# Force support for integer division for nand_ecc
CFLAGS += -DCONFIG_AEABI

LINUX_FILES=include/autoconf.h include/mach-types.h include/dpc_hal.h \
     include/mlc_hal.h include/pwm_hal.h

HT=../host_tools/rle

all: TAGS $(OBJS)
 $(CROSS_COMPILE)gcc $(CFLAGS) -c -DHNS_SIZE=$(HNS_SIZE) main.c
 $(CROSS_COMPILE)ld $(LDFLAGS) $(OBJS) main.o -o $(TARGET)
 $(CROSS_COMPILE)objcopy -S -I elf32-littlearm -O binary $(TARGET) $(TARGET).bin
 chmod 644 $(TARGET).bin
 $(CROSS_COMPILE)objdump -D -b binary -EL -m armv5te $(TARGET).bin > $(TARGET).dis
 du --apparent-size -b $(TARGET).bin

TAGS: *.c include/*.h
 etags *.c include/*.h

startup.o: startup.S
 $(CROSS_COMPILE)gcc $(CFLAGS) -Wa,--defsym,StartUp=0x0000 -D__ASSEMBLY__ -c startup.S

lib1funcs.o: lib1funcs.S
 $(CROSS_COMPILE)gcc $(CFLAGS) -D__ASSEMBLY__ -c lib1funcs.S

screens.o: $(SCREENS) screens.c

%.o:
 $(CROSS_COMPILE)gcc $(CFLAGS) -c $*.c

%.32.rle.h: %.png
 $(HT)/pngto32bpp $*.png $*.32
 $(HT)/rle32.py $*.32
 ./dump32.py $*.32.rle
 rm $*.32 $*.32.rle

install: all
 cp $(TARGET).bin /tftpboot/

clean:
 rm -f *.o *.rle.h $(TARGET).bin $(TARGET).dis $(TARGET).map $(TARGET) $(LINUX_FILES)

 

Revise this Paste

Parent: 29923
Your Name: Code Language: