⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile

📁 ucos2 in lpc2104 的源码
💻
字号:
###############################################################################
#
#    uC/OS-II Porting for LPC210x
#    Compiler: gcc
#    By: Pary WU <parywu@mail2000.com.tw>
#    History:
#    0406271325:parywu
#        The first stable release.
#    0406281914:parywu
#        ARM/Thumb interworking okay.
#    0407031812:parywu
#        Port to gcc (3.4.0)
#
###############################################################################

# toolchain, downloaded from www.macraigor.com, under Cygwin
CC 	= arm-elf-gcc
AS	= arm-elf-as
OBJCOPY = arm-elf-objcopy
OBJDUMP = arm-elf-objdump
LD	= arm-elf-ld
RM	= rm -f

INCDIR	= -I.
LIBDIR	= -L/usr/local/lib/gcc/arm-elf/3.4.0/thumb
LIB	= -lgcc
DEFS	= -DcThumbMode

# .S are compiled under ARM mode
# .C are compiled under THUMB mode, although they can be configured to ARM mode
SRCC	= os_cpu_c.c ucos_ii.c app.c console.c frame.c
SRCS	= os_cpu_a.S init.S
CFLAGS	= -mcpu=arm7tdmi -O3 -mapcs-32 -mthumb-interwork -mthumb
SFLAGS	= -mcpu=arm7tdmi -EL -mthumb-interwork
LFLAGS	= -nostartfiles -s
LDFILE	= image.x
ELFFILE = image.elf
MAPFILE = image.map
HEXFILE	= image.hex


OBJC	= $(notdir $(patsubst %.c, %.o, $(SRCC)))
OBJS	= $(notdir $(patsubst %.S, %.o, $(SRCS)))
OBJ	= $(OBJC) $(OBJS)

.PHONY : all image
all: image
	
objs: $(OBJ)
	
image: $(HEXFILE)
		
$(OBJC): %.o : %.c
	$(CC) $(CFLAGS) $(INCDIR) -o $@ -c $<
$(OBJS): %.o : %.S
	$(AS) $(SFLAGS) $(INCDIR) -o $@ $<	
	
$(ELFFILE): $(OBJ) $(LDFILE)
	$(LD) $(OBJ) $(LFLAGS) $(LIBDIR) $(LIB) -T $(LDFILE) -o $(ELFFILE) -Map=$(MAPFILE)

$(HEXFILE): $(ELFFILE)
	$(OBJCOPY) -O ihex $(ELFFILE) $(HEXFILE)
	
.PHONY : clean
clean :
	$(RM) *.o
	$(RM) *.elf
	$(RM) *.hex
	$(RM) *.map

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -