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

📄 makefile

📁 请把uCosII的文件放到Core文件夹下。 共有三个任务
💻
字号:
#**************************************************************************
#                                                                         *
#   PROJECT     : ARM port for UCOS-II                                    *
#                                                                         *
#   MODULE      : MAKEFILE                                                *
#                                                                         *
#   AUTHOR      : Michael Anburaj                                         *
#                 URL  : http://geocities.com/michaelanburaj/             *
#                 EMAIL: michaelanburaj@hotmail.com                       *
#                                                                         *
#   PROCESSOR   : S3c2410x (32 bit ARM920T RISC core from Samsung)        *
#                                                                         *
#   IDE         : SDT 2.51 Or ADS 1.2                                     *
#                                                                         *
#   DESCRIPTION :                                                         *
#   Make file for Ex1 ARM_UCOS builds. Use Microsoft's nmake utility to   *
#   build using this file.                                                *
#                                                                         *
#*************************************************************************/


#**************************************************************************
#* Build Configuration
#**************************************************************************

#### Project name ####
PRJ = Ex1

#### Endian ####
# possible values: 0 (for Little), 1 (for Big)
ENDIAN = 0

#### Debug ####
# possible values: 0, 1
DEBUG = 0

#### Target Mode ####
# Possible values: 0 (for arm), 1 (for armthumb)
TARGET = 1

#### Tools ####
# possible values: 0 (for ADS), 1 (for SDT)
TOOLS = 0

#### ARM tools path ####
!if $(TOOLS)==0
TPATH = C:\Progra~1\ARM\ADSv1_2
!else
TPATH = C:\ARM251
!endif

#### ARM tool Definition ####
ARMLINK= armlink
ARMASM = armasm
ARMCC  = armcc
TCC    = tcc

#### Destination path Definition ####
OBJ=.
ERR=.


#**************************************************************************
#* Build settings (Compiler, Assembler & Linker flags)
#* Note: Do not modify below this line
#**************************************************************************

!if $(DEBUG)==1
DBFLAG = -g
!endif

!if $(ENDIAN)==1
ENDIAN_FLAG = -bi
E_FLAG_C = -D __BIG_ENDIAN
E_FLAG_A = -pd "__BIG_ENDIAN SETL {TRUE}"
EC_FLAG_ROM_A = -pd "ENDIAN_CHANGE SETL {TRUE}"
EC_FLAG_RAM_A = -pd "ENDIAN_CHANGE SETL {FALSE}"
!else
ENDIAN_FLAG = -li
E_FLAG_C = 
E_FLAG_A = -pd "__BIG_ENDIAN SETL {FALSE}"
EC_FLAG_ROM_A = -pd "ENDIAN_CHANGE SETL {FALSE}"
EC_FLAG_RAM_A = -pd "ENDIAN_CHANGE SETL {FALSE}"
!endif

!if $(TARGET)==0
DCC = $(ARMCC)
AC_FLAGS =
AA_FLAGS =
AL_FLAGS =
!else
DCC = $(TCC)
AC_FLAGS = -apcs /noswst/interwork -D__APCS_INTERWORK
AA_FLAGS =
AL_FLAGS =
!endif

!if $(TOOLS)==1
T_FLAG_C = -DSDT
T_FLAG_A = -pd "ADS SETL {FALSE}"
T_FLAG_L = -libpath $(TPATH)\Lib\embedded
T_CMD_ROM_F = -nozeropad $(PRJ_ROM).axf -bin $(PRJ_ROM).bin
T_CMD_RAM_F = -nozeropad $(PRJ_RAM).axf -bin $(PRJ_RAM).bin
!else
T_FLAG_C = -DADS
T_FLAG_A = -pd "ADS SETL {TRUE}"
T_FLAG_L =
T_CMD_ROM_F = -nodebug -bin -output $(PRJ_ROM).bin $(PRJ_ROM).axf
T_CMD_RAM_F = -nodebug -bin -output $(PRJ_RAM).bin $(PRJ_RAM).axf
!endif

#### Output file names ####
PRJ_ROM=$(PRJ)_rom
PRJ_RAM=$(PRJ)_ram

#### RO & RW base ####
RO_BADR_RAM=0x30004000
RW_BADR_RAM=0x30100000

RO_BADR_ROM=0x00000000
RW_BADR_ROM=0x30100000

#### Paths ####
UPORT_COMN = ..\..\arm_ucos\common
UPORT_2410 = ..\..\arm_ucos\S3c2410x

#### Include file path ####
INC=-I..\inc -I..\..\source -I$(UPORT_COMN)\inc -I$(UPORT_2410)\inc

#### Build Flags ####
AFLAGS = $(ENDIAN_FLAG) -apcs /noswst $(T_FLAG_A) $(E_FLAG_A) $(AA_FLAGS) $(INC) -cpu ARM920T
CFLAGS = -c -O2 $(DBFLAG) $(ENDIAN_FLAG) -apcs /noswst $(T_FLAG_C) $(E_FLAG_C) $(AC_FLAGS) $(INC) -cpu ARM920T
LFLAGS_ROM = -elf -map -xref -list list.txt -first init.eco(Init) $(AL_FLAGS) $(T_FLAG_L)
LFLAGS_RAM = -elf -map -xref -list list.txt -first init.o(Init) $(AL_FLAGS) $(T_FLAG_L)

#### Object combine Definition ####
OBJS_ROM = $(OBJ)\init.eco $(OBJ)\mmu.o $(OBJ)\mmulib.o $(OBJ)\os_cpu_a.o $(OBJ)\consol.o \
	$(OBJ)\frmwrk.o  $(OBJ)\os_cpu_c.o  $(OBJ)\ucos_ii.o $(OBJ)\ex1.o

OBJS_RAM = $(OBJ)\init.o $(OBJ)\mmu.o $(OBJ)\mmulib.o $(OBJ)\os_cpu_a.o $(OBJ)\consol.o \
	$(OBJ)\frmwrk.o  $(OBJ)\os_cpu_c.o  $(OBJ)\ucos_ii.o $(OBJ)\ex1.o


all: $(PRJ_ROM).axf $(PRJ_RAM).axf

clean:
	del $(OBJ)\*.o
	del $(OBJ)\*.eco
	del $(ERR)\*.err
	del $(PRJ_ROM).axf
	del $(PRJ_ROM).bin
	del $(PRJ_RAM).axf
	del $(PRJ_RAM).bin


#**************************************************************************
#* Link
#**************************************************************************

$(PRJ_ROM).axf: $(OBJS_ROM)
	$(ARMLINK) -ro-base $(RO_BADR_ROM) -rw-base $(RW_BADR_ROM) $(LFLAGS_ROM) -o $(PRJ_ROM).axf $(OBJS_ROM)
	fromelf $(T_CMD_ROM_F)

$(PRJ_RAM).axf: $(OBJS_RAM)
	$(ARMLINK) -ro-base $(RO_BADR_RAM) -rw-base $(RW_BADR_RAM) $(LFLAGS_RAM) -o $(PRJ_RAM).axf $(OBJS_RAM)
	fromelf $(T_CMD_RAM_F)


#**************************************************************************
#* Compile/Assemble
#**************************************************************************

$(OBJ)\init.o: $(UPORT_2410)\src\init.s
	$(ARMASM) $(EC_FLAG_RAM_A) $(AFLAGS) $(UPORT_2410)\src\init.s -o $(OBJ)\init.o -Errors $(ERR)\init.err

$(OBJ)\init.eco: $(UPORT_2410)\src\init.s
	$(ARMASM) $(EC_FLAG_ROM_A) $(AFLAGS) $(UPORT_2410)\src\init.s -o $(OBJ)\init.eco -Errors $(ERR)\init.err

$(OBJ)\mmulib.o: $(UPORT_2410)\src\mmulib.s
	$(ARMASM) $(AFLAGS) $(UPORT_2410)\src\mmulib.s -o $(OBJ)\mmulib.o -Errors $(ERR)\mmulib.err

$(OBJ)\mmu.o: $(UPORT_2410)\src\mmu.c
	$(ARMCC) $(CFLAGS) $(UPORT_2410)\src\mmu.c -o $(OBJ)\mmu.o -Errors $(ERR)\mmu.err

$(OBJ)\os_cpu_a.o: $(UPORT_COMN)\src\os_cpu_a.s
	$(ARMASM) $(AFLAGS) $(UPORT_COMN)\src\os_cpu_a.s -o $(OBJ)\os_cpu_a.o -Errors $(ERR)\os_cpu_a.err

$(OBJ)\consol.o: $(UPORT_2410)\src\consol.c $(UPORT_2410)\inc\S3c2410x.h $(UPORT_2410)\inc\frmwrk.h
	$(DCC) $(CFLAGS) $(UPORT_2410)\src\consol.c -o $(OBJ)\consol.o -Errors $(ERR)\consol.err

$(OBJ)\frmwrk.o: $(UPORT_2410)\src\frmwrk.c $(UPORT_2410)\inc\S3c2410x.h $(UPORT_2410)\inc\frmwrk.h
	$(ARMCC) $(CFLAGS) $(UPORT_2410)\src\frmwrk.c -o $(OBJ)\frmwrk.o -Errors $(ERR)\frmwrk.err

$(OBJ)\os_cpu_c.o: $(UPORT_COMN)\src\os_cpu_c.c
	$(ARMCC) $(CFLAGS) $(UPORT_COMN)\src\os_cpu_c.c -o $(OBJ)\os_cpu_c.o -Errors $(ERR)\os_cpu_c.err

$(OBJ)\ucos_ii.o: ..\..\source\ucos_ii.c
	$(ARMCC) $(CFLAGS) ..\..\source\ucos_ii.c -o $(OBJ)\ucos_ii.o -Errors $(ERR)\ucos_ii.err

$(OBJ)\ex1.o: ..\src\ex1.c $(UPORT_2410)\inc\S3c2410x.h $(UPORT_2410)\inc\frmwrk.h
	$(ARMCC) $(CFLAGS) ..\src\ex1.c -o $(OBJ)\ex1.o -Errors $(ERR)\ex1.err


#**************************************************************************
#* End
#**************************************************************************

⌨️ 快捷键说明

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