summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: eb47923)
raw | patch | inline | side by side (parent: eb47923)
author | Aravind Batni <aravindbr@ti.com> | |
Fri, 13 Sep 2013 22:45:47 +0000 (18:45 -0400) | ||
committer | Aravind Batni <aravindbr@ti.com> | |
Fri, 13 Sep 2013 22:45:47 +0000 (18:45 -0400) |
build/armv7/librm_aearmv7.mk | [changed mode: 0644->0755] | patch | blob | history |
docs/ReleaseNotes_RM.doc | patch | blob | history | |
docs/ReleaseNotes_RM.pdf | patch | blob | history | |
makefile_armv7 | [changed mode: 0644->0755] | patch | blob | history |
package.bld | patch | blob | history | |
package.xdc | patch | blob | history | |
rmver.h | [changed mode: 0755->0644] | patch | blob | history |
test/k2h/armv7/linux/build/makefile | [changed mode: 0644->0755] | patch | blob | history |
test/k2k/armv7/linux/build/makefile | patch | blob | history |
# Output for prebuilt generated libraries
ARMV7LIBDIR ?= ./lib
ARMV7OBJDIR ?= ./obj
+ARMV7OBJDIR_SO := $(ARMV7OBJDIR)/rm/lib_so
ARMV7OBJDIR := $(ARMV7OBJDIR)/rm/lib
ARMV7BINDIR ?= ./bin
+# Default optimization is on
+DEBUG_FLAG ?= -O2
+
ifdef CROSS_TOOL_INSTALL_PATH
# Support backwards compatibility with KeyStone1 approach
CC = $(CROSS_TOOL_INSTALL_PATH)/$(CROSS_TOOL_PRFX)gcc
INCS = -I. -I$(strip $(subst ;, -I,$(subst $(space),\$(space),$(INCDIR))))
-INTERNALDEFS = -D__ARMv7 -D_LITTLE_ENDIAN=1 -D_VIRTUAL_ADDR_SUPPORT -DMAKEFILE_BUILD $(CFLAGS) $(LDFLAGS)
+INTERNALDEFS = -D__ARMv7 -D_LITTLE_ENDIAN=1 -D_VIRTUAL_ADDR_SUPPORT -DMAKEFILE_BUILD
+CFLAGS += $(INTERNALDEFS)
OBJEXT = o
INTERNALLINKDEFS =
# FLAGS for the COMMONSRC Files
COMMONSRCCFLAGS = $(DEBUG_FLAG) -I$(SRCDIR) -I$(UTLSRCDIR) -I.
+CFLAGS +=$(COMMONSRCCFLAGS)
# Make Rule for the COMMONSRC Files
COMMONSRCCOBJS = $(patsubst %.c, $(ARMV7OBJDIR)/%.$(OBJEXT), $(COMMONSRCC))
+COMMONSRCCOBJS_SO = $(patsubst %.c, $(ARMV7OBJDIR_SO)/%.$(OBJEXT), $(COMMONSRCC))
$(COMMONSRCCOBJS): $(ARMV7OBJDIR)/%.$(OBJEXT): %.c $(ARMV7OBJDIR)/.created
-@echo compiling $< ...
- @$(CC) -c $(COMMONSRCCFLAGS) $(INTERNALDEFS) $(INCS) $< -o $@
+ @$(CC) -c $(CFLAGS) $(INCS) $< -o $@
+$(COMMONSRCCOBJS_SO): $(ARMV7OBJDIR_SO)/%.$(OBJEXT): %.c $(ARMV7OBJDIR_SO)/.created
+ -@echo compiling $< ...
+ @$(CC) -c $(CFLAGS) -fPIC $(INCS) $< -o $@
+
$(ARMV7LIBDIR)/librm.a: $(COMMONSRCCOBJS) $(ARMV7LIBDIR)/.created
@echo archiving $? into $@ ...
@$(AR) -r $@ $?
+librm.so: $(COMMONSRCCOBJS_SO)
+ @echo archiving $? into $(ARMV7LIBDIR)/$@.1 ...
+ @$(CC) $(DEBUG_FLAG) -ggdb2 -Wl,-soname=$@.1 -shared -fPIC ${LDFLAGS} -o $@.1.0.0 $^
+ @ln -s $@.1.0.0 $@.1
+ @ln -s $@.1 $@
+ @mv -f $@.1.0.0 $(ARMV7LIBDIR)/$@.1.0.0
+ @mv -f $@.1 $(ARMV7LIBDIR)/$@.1
+ @mv -f $@ $(ARMV7LIBDIR)/$@
+
$(ARMV7OBJDIR)/.created:
@mkdir -p $(ARMV7OBJDIR)
@touch $(ARMV7OBJDIR)/.created
@mkdir -p $(ARMV7LIBDIR)
@touch $(ARMV7LIBDIR)/.created
+$(ARMV7OBJDIR_SO)/.created:
+ @mkdir -p $(ARMV7OBJDIR_SO)
+ @touch $(ARMV7OBJDIR_SO)/.created
+
clean:
@$(RMDIR) $(ARMV7OBJDIR)
index 4697980b5a9799ae9dfa5bb8050562ed0935f260..b347af0953b851fdc0f1a14ad58719d60be5f30b 100644 (file)
Binary files a/docs/ReleaseNotes_RM.doc and b/docs/ReleaseNotes_RM.doc differ
Binary files a/docs/ReleaseNotes_RM.doc and b/docs/ReleaseNotes_RM.doc differ
index e6b21010c3999574def4d839dbf4a79347ce4374..93097c38c95cc7c6a3f70f3e617dc22597217f0a 100644 (file)
Binary files a/docs/ReleaseNotes_RM.pdf and b/docs/ReleaseNotes_RM.pdf differ
Binary files a/docs/ReleaseNotes_RM.pdf and b/docs/ReleaseNotes_RM.pdf differ
diff --git a/makefile_armv7 b/makefile_armv7
--- a/makefile_armv7
+++ b/makefile_armv7
export DEVICE ?=k2h
export ARMV7OBJDIR ?= ./obj/$(DEVICE)
export ARMV7BINDIR ?= ./bin/$(DEVICE)
+export USEDYNAMIC_LIB ?= "no"
# ROOT Directory
export ROOTDIR := ../../..
# @$(MAKE) -f ./example/InfraDmaSC/$(DEVICE)/armv7/linux/build/makefile all
# Make rule to create $(ARMV7LIBDIR)/librm.a library
-.libraries: $(ARMV7LIBDIR)/librm.a
+.libraries: $(ARMV7LIBDIR)/librm.a librm.so
$(ARMV7LIBDIR)/librm.a::
@$(MAKE) -f ./build/armv7/librm_aearmv7.mk $@
+librm.so:
+ @$(MAKE) -f ./build/armv7/librm_aearmv7.mk $@
+
# Rule to clean $(ARMV7LIBDIR)/librm.a library
clean:
@$(MAKE) -f ./build/armv7/librm_aearmv7.mk $@
@$(RMDIR) $(ARMV7OBJDIR)/rm
@$(RMDIR) $(ARMV7BINDIR)/rm
@$(RM) $(ARMV7LIBDIR)/librm.a
-
+ @$(RM) $(ARMV7LIBDIR)/librm.so
+ @$(RM) $(ARMV7LIBDIR)/librm.so.*
+
installbin:
install -d $(INSTALL_BIN_BASE_DIR)
install -d $(INSTALL_BIN_BASE_DIR)/device/k2k/
$(CP) ./device/k2h/*.dtb $(INSTALL_BIN_BASE_DIR)/device/k2h
$(CP) ./device/k2k/*.dtb $(INSTALL_BIN_BASE_DIR)/device/k2k
install -c -m 755 $(ARMV7BINDIR)/rm/test/rmServer.out $(INSTALL_BIN_BASE_DIR)/rmServer_$(DEVICE).out
-
+ install -c -m 755 $(ARMV7BINDIR)/rm/test/rmServer_so.out $(INSTALL_BIN_BASE_DIR)/rmServer_so_$(DEVICE).out
+
installbin_test:
install -d $(INSTALL_BIN_BASE_DIR)/ti/drv/rm/test
install -d $(INSTALL_BIN_BASE_DIR)/ti/drv/rm/test/dts_files
$(CP) ./test/dts_files/*.dtb $(INSTALL_BIN_BASE_DIR)/ti/drv/rm/test/dts_files
install -c -m 755 $(ARMV7BINDIR)/rm/test/rmLinuxClientTest.out $(INSTALL_BIN_BASE_DIR)/rmLinuxClientTest_$(DEVICE).out
install -c -m 755 $(ARMV7BINDIR)/rm/test/rmDspClientTest.out $(INSTALL_BIN_BASE_DIR)/rmDspClientTest_$(DEVICE).out
+ install -c -m 755 $(ARMV7BINDIR)/rm/test/rmLinuxClientTest_so.out $(INSTALL_BIN_BASE_DIR)/rmLinuxClientTest_so_$(DEVICE).out
+ install -c -m 755 $(ARMV7BINDIR)/rm/test/rmDspClientTest_so.out $(INSTALL_BIN_BASE_DIR)/rmDspClientTest_so_$(DEVICE).out
install:
install -d $(INSTALL_INC_BASE_DIR)/ti/drv/rm/util
$(CP) ./device/k2k/*.dtb $(INSTALL_INC_BASE_DIR)/ti/drv/rm/device/k2k
$(CP) ./device/k2k/*.dts $(INSTALL_INC_BASE_DIR)/ti/drv/rm/device/k2k
@$(CP) -r $(ARMV7LIBDIR)/*.a $(INSTALL_LIB_BASE_DIR)
+ @$(CP) -r $(ARMV7LIBDIR)/*.so $(INSTALL_LIB_BASE_DIR)
+ @$(CP) -r $(ARMV7LIBDIR)/*.so.* $(INSTALL_LIB_BASE_DIR)
# Make rule to create examples Stub
examples:
diff --git a/package.bld b/package.bld
index 90841546cc0126305c46540002232f4bdac36751..906d2436c7de00fdc33bb05508c1557a8f8a7c56 100644 (file)
--- a/package.bld
+++ b/package.bld
/* List of all subdirectories that combine to make the RM Package. */\r
var subDirectories = ["src", "docs", "device", "include", "test", "util"];\r
\r
+/* Generate paver.h */\r
+var tplt = xdc.loadTemplate("./rmver.h.xdt");\r
+tplt.genFile("./rmver.h",lldReleaseVersion); \r
+\r
/* Determine if we need to create the InstallJammer Application or not? \r
* RM Deliverables be either of the following formats:\r
* - TAR Ball Package\r
var tplt = xdc.loadTemplate("./Settings.xdc.xdt");\r
tplt.genFile("./Settings.xdc",lldReleaseVersion); \r
\r
-/* Generate paver.h */\r
-var tplt = xdc.loadTemplate("./rmver.h.xdt");\r
-tplt.genFile("./rmver.h",lldReleaseVersion); \r
-\r
/* Check if we need to create the mini package? */\r
var miniBuild = java.lang.System.getenv("MINI_PACKAGE");\r
\r
diff --git a/package.xdc b/package.xdc
index 5ab0df169fcda2ab5ddf96d1feb52bc858ee35c4..cb179a9e97d7fcc89ba99e04d12f311a8d6c3550 100755 (executable)
--- a/package.xdc
+++ b/package.xdc
* Copyright (C) 2012-2013, Texas Instruments, Inc.\r
*****************************************************************************/\r
\r
-package ti.drv.rm[02, 00, 00, 06] {\r
+package ti.drv.rm[02, 00, 00, 07] {\r
module Settings;\r
}\r
--- a/rmver.h
+++ b/rmver.h
* format:
* 0xAABBCCDD -> Arch (AA); API Changes (BB); Major (CC); Minor (DD)
*/
-#define RM_VERSION_ID (0x02000005)
+#define RM_VERSION_ID (0x02000007)
/**
* @brief This is the version string which describes the RM along with the
* date and build information.
*/
-#define RM_VERSION_STR "RM Revision: 02.00.00.05"
+#define RM_VERSION_STR "RM Revision: 02.00.00.07"
#ifdef __cplusplus
@@ -45,16 +45,26 @@ INCDIR := $(PDK_INSTALL_PATH);$(RM_INC_DIR);$(RM_ARM_LIN_TEST_DIR);$(IPC_DEVKIT_
RM_LIB = -lrm
IPC_LIBS = -ltiipc -ltiipcutils
+ifeq ($(USEDYNAMIC_LIB), yes)
+#presuming ARM executable would depend on dynamic library dependency
+EXE_EXTN = _so
+LIBS = $(RM_LIB)
+else
+#forcing ARM executable to depend on static LLD libraries
+EXE_EXTN =
+LIBS = -static $(RM_LIB) -Wl,-Bdynamic
+endif
+
# Compiler options
INTERNALDEFS = $(DEBUG_FLAG) -D__ARMv7 -DDEVICE_K2H -D_VIRTUAL_ADDR_SUPPORT -D__LINUX_USER_SPACE -D_LITTLE_ENDIAN=1 -DMAKEFILE_BUILD
# Linker options
-INTERNALLINKDEFS = -Wl,--start-group -L $(ARMV7LIBDIR) $(RM_LIB) -lrt -Wl,--end-group -pthread $(LDFLAGS)
+INTERNALLINKDEFS = -Wl,--start-group -L $(ARMV7LIBDIR) $(LIBS) -lrt -Wl,--end-group -pthread $(LDFLAGS)
IPC_INTERNALLINKDEFS = -Wl,--start-group -L $(ARMV7LIBDIR) $(IPCLIBDIRS) $(IPC_LIBS) -lrt -Wl,--end-group -pthread $(LDFLAGS)
-RM_SERVER_EXE=rmServer.out
-RM_LINUX_CLIENT_TEST_EXE=rmLinuxClientTest.out
-RM_DSP_CLIENT_TEST_EXE=rmDspClientTest.out
+RM_SERVER_EXE=rmServer$(EXE_EXTN).out
+RM_LINUX_CLIENT_TEST_EXE=rmLinuxClientTest$(EXE_EXTN).out
+RM_DSP_CLIENT_TEST_EXE=rmDspClientTest$(EXE_EXTN).out
OBJEXT = o
index b3bd58ceb5dbdf67332ea347f7acf5d3f630b840..c115f9ef2e60d5c433a1d00149ede4146ff7b308 100755 (executable)
@@ -45,16 +45,26 @@ INCDIR := $(PDK_INSTALL_PATH);$(RM_INC_DIR);$(RM_ARM_LIN_TEST_DIR);$(IPC_DEVKIT_
RM_LIB = -lrm
IPC_LIBS = -ltiipc -ltiipcutils
+ifeq ($(USEDYNAMIC_LIB), yes)
+#presuming ARM executable would depend on dynamic library dependency
+EXE_EXTN = _so
+LIBS = $(RM_LIB)
+else
+#forcing ARM executable to depend on static LLD libraries
+EXE_EXTN =
+LIBS = -static $(RM_LIB) -Wl,-Bdynamic
+endif
+
# Compiler options
INTERNALDEFS = $(DEBUG_FLAG) -D__ARMv7 -DDEVICE_K2K -D_VIRTUAL_ADDR_SUPPORT -D__LINUX_USER_SPACE -D_LITTLE_ENDIAN=1 -DMAKEFILE_BUILD
# Linker options
-INTERNALLINKDEFS = -Wl,--start-group -L $(ARMV7LIBDIR) $(RM_LIB) -lrt -Wl,--end-group -pthread $(LDFLAGS)
+INTERNALLINKDEFS = -Wl,--start-group -L $(ARMV7LIBDIR) $(LIBS) -lrt -Wl,--end-group -pthread $(LDFLAGS)
IPC_INTERNALLINKDEFS = -Wl,--start-group -L $(ARMV7LIBDIR) $(IPCLIBDIRS) $(IPC_LIBS) -lrt -Wl,--end-group -pthread $(LDFLAGS)
-RM_SERVER_EXE=rmServer.out
-RM_LINUX_CLIENT_TEST_EXE=rmLinuxClientTest.out
-RM_DSP_CLIENT_TEST_EXE=rmDspClientTest.out
+RM_SERVER_EXE=rmServer$(EXE_EXTN).out
+RM_LINUX_CLIENT_TEST_EXE=rmLinuxClientTest$(EXE_EXTN).out
+RM_DSP_CLIENT_TEST_EXE=rmDspClientTest$(EXE_EXTN).out
OBJEXT = o