Hi, I am currently using syslink_2_21_03_11 example 4, the exact file name is ex04_sharedregion.
This concerns the DSP portion of this example. I have made modifications to the Server.c file in order to implement additional code written in c++, so what I did is added extern "C" infront of all the originating C functions, and added the calls to my c++ functions and changed the filename to Server.cpp. Now the problem is, I don't know how to modify the makefile in order for this to compile. Here is the makefile (the only thing I changed is Server.c to Server.cpp):
# # ======== makefile ======== # EXBASE = .. include ../products.mak srcs = main_dsp.c Server.cpp objs = $(addprefix bin/$(PROFILE)/obj/,$(patsubst %.c,%.oe674,$(srcs))) libs = configuro/linker.cmd all: configuro/linker.cmd $(MAKE) PROFILE=debug server_dsp.x $(MAKE) PROFILE=release server_dsp.x server_dsp.x: bin/$(PROFILE)/server_dsp.xe674 bin/$(PROFILE)/server_dsp.xe674: $(objs) $(libs) @$(ECHO) "#" @$(ECHO) "# Making $@ ..." $(LD) $(LDFLAGS) -o $@ $^ $(LDLIBS) bin/$(PROFILE)/obj/%.oe674: %.h bin/$(PROFILE)/obj/%.oe674: %.c @$(ECHO) "#" @$(ECHO) "# Making $@ ..." $(CC) $(CPPFLAGS) $(CFLAGS) --output_file=$@ -fc $< configuro/linker.cmd: Dsp.cfg ../shared/config.bld @$(ECHO) "#" @$(ECHO) "# Making $@ ..." $(XDC_INSTALL_DIR)/xs --xdcpath="$(subst +,;,$(PKGPATH))" \ xdc.tools.configuro -o configuro \ -t ti.targets.elf.C674 -c $(CGT_C674_ELF_INSTALL_DIR) \ -p ti.platforms.evmOMAPL138:dsp -b ../shared/config.bld \ -r release Dsp.cfg install: @$(ECHO) "#" @$(ECHO) "# Making $@ ..." @$(MKDIR) $(EXEC_DIR)/debug $(CP) bin/debug/server_dsp.xe674 $(EXEC_DIR)/debug @$(MKDIR) $(EXEC_DIR)/release $(CP) bin/release/server_dsp.xe674 $(EXEC_DIR)/release help: @$(ECHO) "make # build executable" @$(ECHO) "make clean # clean everything" clean:: $(RMDIR) configuro bin PKGPATH := $(SYSLINK_INSTALL_DIR)/packages PKGPATH := $(PKGPATH)+$(BIOS_INSTALL_DIR)/packages PKGPATH := $(PKGPATH)+$(IPC_INSTALL_DIR)/packages PKGPATH := $(PKGPATH)+$(XDC_INSTALL_DIR)/packages # ======== install validation ======== ifeq (install,$(MAKECMDGOALS)) ifeq (,$(EXEC_DIR)) $(error must specify EXEC_DIR) endif endif # ======== toolchain macros ======== CGTOOLS = $(CGT_C674_ELF_INSTALL_DIR) CC = $(CGTOOLS)/bin/cl6x -c AR = $(CGTOOLS)/bin/ar6x rq LD = $(CGTOOLS)/bin/lnk6x --abi=eabi ST = $(CGTOOLS)/bin/strip6x CPPFLAGS = CFLAGS = -qq $(CCPROFILE_$(PROFILE)) -I. $(COMPILER_OPTS) LDFLAGS = -w -q -c -m $(@D)/obj/$(@F).map LDLIBS = -l $(CGTOOLS)/lib/rts6740_elf.lib CCPROFILE_debug = -D_DEBUG_=1 --symdebug:dwarf CCPROFILE_release = -O2 COMPILER_OPTS = $(shell cat configuro/compiler.opt) # ======== standard macros ======== ifneq (,$(wildcard $(XDC_INSTALL_DIR)/bin/echo.exe)) # use these on Windows CP = $(XDC_INSTALL_DIR)/bin/cp ECHO = $(XDC_INSTALL_DIR)/bin/echo MKDIR = $(XDC_INSTALL_DIR)/bin/mkdir -p RM = $(XDC_INSTALL_DIR)/bin/rm -f RMDIR = $(XDC_INSTALL_DIR)/bin/rm -rf else # use these on Linux CP = cp ECHO = echo MKDIR = mkdir -p RM = rm -f RMDIR = rm -rf endif # ======== create output directories ======== ifneq (clean,$(MAKECMDGOALS)) ifneq (,$(PROFILE)) ifeq (,$(wildcard bin/$(PROFILE)/obj)) $(shell $(MKDIR) -p bin/$(PROFILE)/obj) endif endif endif