Enhancements for 'None' target : produce pre-linked object, remove some windows CRLF problems, fixed pedantic compiler warnings
authoredouard
Mon, 14 Dec 2009 20:58:34 +0100
changeset 619 96f84395154f
parent 618 564a4a9862b1
child 620 e56af5521e0e
Enhancements for 'None' target : produce pre-linked object, remove some windows CRLF problems, fixed pedantic compiler warnings
configure
include/none/applicfg.h
include/none/canfestival.h
objdictgen/gen_cfile.py
src/Makefile.in
src/pdo.c
--- a/configure	Wed Dec 09 15:46:35 2009 +0100
+++ b/configure	Mon Dec 14 20:58:34 2009 +0100
@@ -555,7 +555,7 @@
 		SUB_PREFIX=/usr/local
 		echo "Not cross-compiling. Will install in $SUB_PREFIX";
 	else
-		SUB_PREFIX=/usr/`$CC -dumpmachine`
+		SUB_PREFIX=/usr/`$CC -dumpmachine | tr -d '\r\n'`
 		echo "This is a cross-compiler. Will install in $SUB_PREFIX";			
 	fi
 fi
--- a/include/none/applicfg.h	Wed Dec 09 15:46:35 2009 +0100
+++ b/include/none/applicfg.h	Mon Dec 14 20:58:34 2009 +0100
@@ -23,6 +23,7 @@
 #ifndef __APPLICFG_NONE__
 #define __APPLICFG_NONE__
 
+#include <string.h>
 #include <sys/types.h>
 
 /*  Define the architecture : little_endian or big_endian
@@ -45,7 +46,7 @@
  */
 
 /* Integers */
-#define INTEGER8 signed char
+#define INTEGER8 char
 #define INTEGER16 short
 #define INTEGER24 int
 #define INTEGER32 int
--- a/include/none/canfestival.h	Wed Dec 09 15:46:35 2009 +0100
+++ b/include/none/canfestival.h	Mon Dec 14 20:58:34 2009 +0100
@@ -6,12 +6,22 @@
 #include "data.h"
 #include "timers_driver.h"
 
+typedef void* LIB_HANDLE;
 
 /** @defgroup userapi User API */
 
 /** @defgroup can CAN management
  *  @ingroup userapi
  */
+/**
+ * @ingroup can
+ * @brief Load CAN driver interface.
+ * @param *driver_name The location of the library to load
+ * @return
+ *       - handle of the CAN driver interface is returned upon success.
+ *       - NULL is returned if the CAN driver interface can't be loaded.
+ */
+#define LoadCanDriver(driver_name) 1
 
 /**
  * @brief Send a CAN message
--- a/objdictgen/gen_cfile.py	Wed Dec 09 15:46:35 2009 +0100
+++ b/objdictgen/gen_cfile.py	Mon Dec 14 20:58:34 2009 +0100
@@ -65,12 +65,12 @@
                     size = max(size, len(item))
                 if values[1] != "":
                     size = max(size, int(values[1]))
-                typeinfos = ("UNS8", size, "visible_string", False)
+                typeinfos = ("INTEGER8", size, "visible_string", False)
             elif values[0] == "DOMAIN":
                 size = 0
                 for item in items:
                     size = max(size, len(item))
-                typeinfos = ("UNS8", size, "domain", False)
+                typeinfos = ("INTEGER8", size, "domain", False)
             elif values[0] == "BOOLEAN":
                 typeinfos = ("UNS8", None, "boolean", False)
             else:
--- a/src/Makefile.in	Wed Dec 09 15:46:35 2009 +0100
+++ b/src/Makefile.in	Mon Dec 14 20:58:34 2009 +0100
@@ -21,12 +21,12 @@
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 # 
 
-#ifneq ($(KERNELRELEASE),)
+ifneq ($(KERNELRELEASE),)
 # Kbuild part of Makefile
 obj-m := canfestival.o
 canfestival-objs := $(OBJS)
 
-#else
+else
 # Normal Makefile
 CC = SUB_CC
 PROG_CFLAGS = SUB_PROG_CFLAGS
@@ -77,7 +77,7 @@
 canfestival:
 	@echo " "
 	@echo "*********************************************"
-	@echo "**Building [libcanfestival.o]"
+	@echo "**Building [canfestival.o]"
 	@echo "*********************************************"
 	$(MAKE) -C $(KERNELDIR) M=$(shell pwd) modules
 
@@ -96,7 +96,11 @@
 else
 CFLAGS = SUB_OPT_CFLAGS
 
+ifeq ($(TARGET),none)
+canfestival: libcanfestival.o
+else
 canfestival: libcanfestival.a
+endif
 
 libcanfestival.a: $(OBJS)
 	@echo " "
@@ -106,6 +110,13 @@
 	$(BINUTILS_PREFIX)ar rc $@ $(OBJS)
 	$(BINUTILS_PREFIX)ranlib $@
 
+libcanfestival.o: $(OBJS)
+	@echo " "
+	@echo "*********************************************"
+	@echo "**Prelink [libcanfestival.o]"
+	@echo "*********************************************"
+	$(BINUTILS_PREFIX)ld -r $(OBJS) -o $@
+
 $(TARGET)_%o: %c
 	@echo " "
 	@echo "*********************************************"
@@ -124,9 +135,9 @@
 	rm -rf $(PREFIX)/include/canfestival
 
 clean:
-	rm -f $(OBJS) libcanfestival.a
+	rm -f $(OBJS) libcanfestival.a libcanfestival.o
 
 endif
 mrproper: clean
 
-#endif
+endif
--- a/src/pdo.c	Wed Dec 09 15:46:35 2009 +0100
+++ b/src/pdo.c	Mon Dec 14 20:58:34 2009 +0100
@@ -527,7 +527,7 @@
     {
       MSG_ERR (0x3907, " Couldn't build TPDO number : ",
                pdoNum);
-      return;
+      return 0;
     }
 
   /*Compare new and old PDO */
@@ -538,7 +538,7 @@
     )
     {
       /* No changes -> go to next pdo */
-      return;
+      return 0;
     }
   else
     {
@@ -578,6 +578,7 @@
 
       sendPdo(d, pdoNum, &pdo);
     }
+    return 1;
 }
 
 void