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

📄 rti31.cmm

📁 数字通信第四版原书的例程
💻 CMM
字号:
# ------------------------------------------------------------------------
#  rti31.tmf:
#
#  RTI template makefile for dSPACE DS1102 processor board,
#  PC/AT bus version.
#  
#
#  Copyright (C) 1994 by dSPACE
#
#  RCS note: this file was created from the files tmf31.h and rti.tmf.
#  $RCSfile: tmf31.h $ $Revision: 1.3 $ $Date: 1994/11/29 10:37:45 $
# ------------------------------------------------------------------------


# ------------------------------------------------------------------------
#  Macros for user-specific code
# ------------------------------------------------------------------------

# Directory for S-Functions
SFCN_DIR = 

# Names of additional user source files
USR_SRCS =
# Directory of the additional user source files
USR_SRCS_DIR =
# Path names for user include files
USR_INCLUDES_PATH =
# Names of additional user libraries
USR_LIBS =


# ------------------------------------------------------------------------
# The following standard macros must not be altered by the user.
# ------------------------------------------------------------------------

# Specification of the dSPACE hardware and software ----------------------

DSP_FAMILY = 30
DSP_TYPE   = 31
BOARD_TYPE = ds1102
TI_DSP     = C$(DSP_TYPE)

MONITOR    = ld$(DSP_TYPE)
CHECKERR   = chkerr$(DSP_TYPE)


#  General part of the template makefile
#  $RCSfile: rti.tmf $ $Revision: 1.7 $ $Date: 1994/12/21 09:27:50 $

.SILENT:

#  Host Environment Specifications ---------------------------------------

MAKE = |>MATLAB_ROOT<|\bin\gmake
QUOTE = "
HOST = PC
BUILD = yes
DOWNLOAD = no


# Customization Macros ---------------------------------------------------
# The following set of macros is customized by the make_rt program.

MODEL           = |>MODEL_NAME<|
MAKEFILE        = |>MAKEFILE_NAME<|
S_FUNCTIONS     = |>S_FUNCTION_FILENAMES<|
INTEGRATOR      = |>INTEG_SRC_FILENAME<|
LOGGER          = |>LOG_SRC_FILENAME<|
COMM_LINK       = |>COMM_LINK_FILENAME<|
INTEG_DEFINES   = |>INTEG_DEFINES<|
LOGGING_DEFINES = |>LOGGING_DEFINES<|
MATLAB_ROOT     = |>MATLAB_ROOT<|


# Download Options -------------------------------------------------------

ifdef BOARD
  BOARD_OPT  = /b $(BOARD)
endif

ifdef SLAVE
  SLAVE_OPT = /l $(SLAVE)
endif


# Tool Locations ---------------------------------------------------------

# the macro variables DSPACE_ROOT and TI_ROOT
# must be set via environment variables 

CODEGEN_ROOT  = $(MATLAB_ROOT)\codegen


# TI Tools ---------------------------------------------------------------

CC = cl30
LD = $(CC)


# Libraries --------------------------------------------------------------

DSPACE_LIBS = \
	-l $(DSPACE_ROOT)\$(TI_DSP)\$(BOARD_TYPE).lib \
	-l $(DSPACE_ROOT)\rti$(DSP_TYPE)\rti$(DSP_TYPE).lib

TI_LIBS30 = -l $(TI_ROOT)\rts30.lib
TI_LIBS40 = -l $(TI_ROOT)\prts40.lib -l $(TI_ROOT)\rts40.lib


# Include Paths ----------------------------------------------------------

TI_INCLUDES     = $(TI_ROOT)
MATLAB_INCLUDES = \
	$(MATLAB_ROOT)\simulink\include \
	$(CODEGEN_ROOT)\common\include  \
	$(CODEGEN_ROOT)\rt\common
DSPACE_INCLUDES = $(DSPACE_ROOT)\$(TI_DSP) \
	$(DSPACE_ROOT)\rti$(DSP_TYPE)
INCLUDES = . $(USR_INCLUDES_PATH) $(TI_INCLUDES) $(MATLAB_INCLUDES) \
	$(DSPACE_INCLUDES)


# C Flags ---------------------------------------------------------------- 

REQ_OPTS = -v$(DSP_FAMILY) -q -eo .o$(DSP_FAMILY)
ifdef OPTS
  OPT_OPTS = $(OPTS)
else
  OPT_OPTS = -o2 -x2
endif
DBG_OPTS = 

CC_OPTS = $(REQ_OPTS) $(OPT_OPTS) $(DBG_OPTS)

ifdef SSTATE
  SIM_DEFINES = -dSSTATE=$(SSTATE)
endif
MDL_DEFINES = -dMODEL=$(MODEL)
CPP_DEFINES = $(MDL_DEFINES) $(INTEG_DEFINES) $(SIM_DEFINES)

CFLAGS = $(CC_OPTS)  

LDFLAGS = -z -c -m $(MODEL).map -o $(MODEL).obj


# Standard Source Files -------------------------------------------------

FRAME      = srtframe
REQ_SRCS   = rt_sim.c simstruc.c
SFC_SRCS   = $(S_FUNCTIONS)
INT_SRCS   = $(INTEGRATOR)

STD_SRCS   = $(REQ_SRCS) $(INT_SRCS)
STD_OBJS   = $(MODEL).o$(DSP_FAMILY) $(FRAME).o$(DSP_FAMILY) \
	     $(STD_SRCS:.c=.o$(DSP_FAMILY)) 
USR_OBJS   = $(USR_SRCS:.c=.o$(DSP_FAMILY))
SFC_OBJS   = $(SFC_SRCS:.c=.o$(DSP_FAMILY))

PROGRAM  = $(MODEL).obj


# DOS specific settings -------------------------------------------------

TMP_LNK  = srtmodel.lnk
APL_LNK  = $(MODEL).lnk

DOS4G     = quiet
C_MODE    = PROTECTED
C_OPTION := $(CFLAGS)
C_DIR    := $(INCLUDES)



# Rules =================================================================

download : program_deps
	if exist $(PROGRAM)     \
	  $(MAKE) -f $(MODEL).mk load
	if not exist $(PROGRAM) \
	  $(MAKE) -f $(MODEL).mk abort
	
load :
	$(DSPACE_ROOT)\exe\$(MONITOR) $(MODEL) $(SLAVE_OPT) $(BOARD_OPT)
	$(DSPACE_ROOT)\exe\$(CHECKERR) $(BOARD_OPT) /q
	echo. >con
	echo DOWNLOAD SUCCEEDED
	echo. >con

abort : 
	echo. >con
	echo DOWNLOAD ABORTED
	echo. >con


# rules to build the program --------------------------------------------

program_deps: frame_deps
	# look for local, application specific linker command file
	if exist $(APL_LNK)     \
	  $(MAKE) -f $(MODEL).mk $(PROGRAM) LNK_FILE=$(APL_LNK)

	if not exist $(APL_LNK) \
	  $(MAKE) -f $(MODEL).mk $(PROGRAM) \
		 LNK_FILE=$(DSPACE_ROOT)\rti$(DSP_TYPE)\rti$(DSP_TYPE).lnk
	
$(PROGRAM) : $(USR_OBJS)
$(PROGRAM) : $(SFC_OBJS)
$(PROGRAM) : $(STD_OBJS)
$(PROGRAM) : $(LNK_FILE)
	if exist $(PROGRAM)  \
	  del $(PROGRAM)        
	# create temporary lnk file 
	copy >nul $(LNK_FILE) $(TMP_LNK)
	# copy objects to temporary lnk file 
	echo. $(USR_OBJS) >> $(TMP_LNK)
	echo. $(SFC_OBJS) >> $(TMP_LNK)
	echo. $(STD_OBJS) >> $(TMP_LNK)
	# copy libraries to temporary lnk file 
	echo. $(USR_LIBS) >> $(TMP_LNK)
	echo. $(DSPACE_LIBS) >> $(TMP_LNK)
	echo. $(TI_LIBS$(DSP_FAMILY)) >> $(TMP_LNK)
	$(LD) $(LDFLAGS) $(TMP_LNK)
	del $(TMP_LNK)


# rules for the siumulation frame --------------------------------------- 

frame_deps : model_deps
	# look for local, application specific simulation frame
	if exist $(FRAME).c     \
	  $(MAKE) -f $(MODEL).mk  $(FRAME).o$(DSP_FAMILY) \
		THE_FRAME=$(FRAME).c 
	if not exist $(FRAME).c \
	  $(MAKE) -f $(MODEL).mk  $(FRAME).o$(DSP_FAMILY) \
		THE_FRAME=$(DSPACE_ROOT)\rti$(DSP_TYPE)\$(FRAME).c\
		

$(FRAME).o$(DSP_FAMILY) : $(THE_FRAME)
$(FRAME).o$(DSP_FAMILY) : $(MODEL).usr $(MODEL).io $(MAKEFILE)
	if exist $(PROGRAM)  \
	  del $(PROGRAM)        
	if exist $(FRAME).o$(DSP_FAMILY)  \
	  del $(FRAME).o$(DSP_FAMILY)
	copy >nul $(MODEL).io  srtmodel.io
	copy >nul $(MODEL).usr srtmodel.usr
	$(CC) $(CPP_DEFINES) -c $(THE_FRAME) 
	del srtmodel.io
	del srtmodel.usr


# rules for the model ---------------------------------------------------

model_deps :
	# look for local, application specific .trx file
	if exist $(MODEL).trx     \
	  $(MAKE) -f $(MODEL).mk  $(MODEL).rc TRX_FILE=$(MODEL).trx
	if not exist $(MODEL).trx \
	  $(MAKE) -f $(MODEL).mk  $(MODEL).rc

$(MODEL).rc : $(MODEL).c $(MODEL).h $(TRX_FILE) $(MAKEFILE)
	if exist $(PROGRAM)  \
	  del $(PROGRAM)        
	dos4gw $(DSPACE_ROOT)\exe\revise $(MODEL) $(BOARD_TYPE)  \
			$(DSPACE_ROOT)\$(TI_DSP)\$(BOARD_TYPE).h \
			$(INTEG_DEFINES)
	if exist $(MODEL).trx     \
	  type $(MODEL).trx >> $(MODEL).trc
	echo Compiling


# general compile rules -------------------------------------------------

$(MODEL).o$(DSP_FAMILY) : $(MODEL).rc $(MODEL).rh
	if exist $(PROGRAM)  \
	  del $(PROGRAM)        
	$(CC) -c $(MODEL).rc

%.o$(DSP_FAMILY) : %.c
	if exist $(PROGRAM)  \
	  del $(PROGRAM)        
	$(CC) -c $<

%.o$(DSP_FAMILY) : $(DSPACE_ROOT)\matlab\dslib\%.c
	if exist $(PROGRAM)  \
	  del $(PROGRAM)        
	$(CC) -c $<

%.o$(DSP_FAMILY) : $(CODEGEN_ROOT)\rt\common\%.c
	$(CC) -c $<

%.o$(DSP_FAMILY) : $(MATLAB_ROOT)\simulink\src\%.c
	$(CC) -c $<


# compile rules for customizations --------------------------------------

%.o$(DSP_FAMILY) : $(SFCN_DIR)\%.c
	if exist $(PROGRAM)  \
	  del $(PROGRAM)        
	$(CC) -c $<

%.o$(DSP_FAMILY) : $(USR_SRCS_DIR)\%.c
	if exist $(PROGRAM)  \
	  del $(PROGRAM)        
	$(CC) -c $<

⌨️ 快捷键说明

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