Datasheet

148 PSoC Designer IDE Guide, Document # 001-42655 Rev *B
master make file also statically adds an include paths to ./lib and %PSOCDIR%/tools/include. How-
ever, assume a project had a local.mk file that wanted to add additional include paths to common
folders that where located away from the project folder using a statement like:
INCLUDE_PATH:=$(INCLUDE_PATH);../common
The assignment, in the master make file, to CY_INCLUDE_PATH receives the potential list of
include folders. A list of include paths breaks the path creation that forms variables that produce the
memory.inc file. The solution is to modify the master make file assignment to:
CXY_INCLUDE_PATH=$(subst ;, ,$(INCLUDE_PATH))
CY_INCLUDE_PATH=$(firstword $(CXY_INCLUDE_PATH))
Notice that in the INCLUDE_PATH example for the local.mk file you must use a colon/equals to
break any recursion. Also, notice that the include paths are separated by a colon. This colon is
replaced in the master make file by a –I.
CSRCS – This is a (white space separated) list of C files in the root folder of the project. This list is
provided as an argument to the ‘depend’ target (mkdepends.exe process). The master make file was
not designed to add source files outside of the project directory structure.
LIBCSRCS – This is not used since the master make file is not yet made to ‘compile’ C library files.
ASMSRCS – This is a (white space separated) list of assembly files in the root folder of the project.
LIBASMSRCS – This is a list of project assembly files in the ‘lib’ folder of the project. These files are
added to the project by the Chip-Level Editor and are stored in the project SOC file, which the ‘make-
make’ target (psocmakemake.exe process) extracts.
OBJECT_SOURCES – This variable basically governs the link order. The ‘makemake’ target puts
the files in alphabetical order. However, if you wish to change the link order you can revise the order
of the file list assigned to this variable. See Section B.4.4 Change Link Order on page 152 for an
example.
FILLVALUE – This variable is used as a linker argument (e.g. –F0x30) to fill empty areas between
code and by the MakeHex.exe utility to fill HEX records from the last code record to the end of
FLASH with the fill character. A halt (e.g. 0x30) opcode is used.
LASTROM – This is the FLASH size of the device. It is a shell environment variable that is set before
running the ‘makemake’ target. It is used in the link process of the master make file.
LASTRAM – This variable comes from the opts.txt file and gives the last RAM address. The PSoC
Designer build system “asks” the Chip-Level Editor for this value. This value is not really used in the
master make file because most devices that do not have paged RAM are 256 bytes. For example
this value is 0x7FF for a 2K RAM device and 0xFF for a 256 byte device.
LAST_DATARAM – This variable only shows up in the project.mk file when the project has multiple
pages of RAM and paging is enabled. The value is equal to the address of the last RAM byte that
could be used for data, just before the stack. This value relates to the Stack Page Offset GUI in the
Compiler settings of PSoC Designer. For example, if you have a stack page offset of zero (0), with
the stack on Page 7, your LAST_DATARAM value is 0x6FF. For example, with a stack page offset of
0x20 (stack on page 7) you get a value, for this variable, of 0x71F.