Integrates cpu loading library and adds some minor changes.
authorMartin Hořeňovský <Martin.Horenovsky@gmail.com>
Wed, 21 Aug 2013 18:27:18 +0000 (20:27 +0200)
committerMartin Hořeňovský <Martin.Horenovsky@gmail.com>
Wed, 21 Aug 2013 18:27:18 +0000 (20:27 +0200)
Changes include changes to makefiles, new commands for shell (start_load, stop_load), and new convenience script for iterating while working on the gateway.

rtems/gw/Makefile.omk
rtems/gw/cangw/Makefile.omk
rtems/gw/cangw/gw.c
rtems/gw/cangw/gw.h
rtems/gw/cangw/helpers.c
rtems/gw/cangw/helpers.h
rtems/gw/cangw/init.c
rtems/gw/config.omk-default
rtems/gw/iterate [new file with mode: 0755]

index 7a584f3..efc9929 100644 (file)
@@ -1,2 +1,2 @@
-SUBDIRS = system_opt cangw
+SUBDIRS = system_opt cangw libs
 
index abea9eb..eeef8e4 100644 (file)
@@ -3,9 +3,6 @@ default_CONFIG += CONFIG_OC_GDBSTUB=n
 
 bin_PROGRAMS = cangw
 
-#lib_LIBRARIES = 
-
-#include_HEADERS = 
 \r
 #I am not entirely sure these two are needed, but according to documentation, they are.\r
 CFLAGS_LD += HeapSize=0x80000\r
@@ -13,3 +10,7 @@ MANAGERS = io event semaphore
 
 cangw_SOURCES += init.c gw.c helpers.c
 \r
+lib_LOADLIBES += load\r
+\r
+#lib_LIBRARIES\r
+#include_HEADERS\r
index 2e56fb4..24d4087 100644 (file)
@@ -51,7 +51,7 @@ static void fd_closer(void* arg){
 * This function implements the main thread loop and enough decision logic so that it knows which device to take messages from and which device to send the messages to.\r
 * \r
 */\r
-void* CAN_GW_thread(void* arg){\r
+static void* CAN_GW_thread(void* arg){\r
     int fd_in, fd_out;\r
     int res;\r
     unsigned long int *total, *succ, *err;\r
index 3a61f30..742ab1a 100644 (file)
@@ -1,6 +1,8 @@
 #ifndef __GW_H_\r
 #define __GW_H_\r
 \r
+extern unsigned long int total_1, total_2, succ_1, succ_2, err_1, err_2;\r
+\r
 int start_GW();\r
 int end_GW();\r
 \r
index 117c469..c5f9022 100644 (file)
 #include <bsp/mscan.h>\r
 #include <bsp/mscan-base.h>\r
 \r
-\r
 #include "helpers.h"\r
 #include "gw.h"\r
+#include "load.h"\r
 \r
 #include <rtems/rtems_bsdnet.h>\r
 #include "networkconfig.h" \r
 \r
 \r
-extern unsigned long int total_1, total_2, succ_1, succ_2, err_1, err_2;\r
 \r
 static rtems_device_major_number mscan_major;\r
 static rtems_driver_address_table mscan_driver_table=MSCAN_DRIVER_TABLE_ENTRY;\r
@@ -96,8 +95,6 @@ int show_net(int argc, char** argv){
     rtems_bsdnet_show_if_stats();\r
     rtems_bsdnet_show_ip_stats();\r
     rtems_bsdnet_show_icmp_stats();\r
-    rtems_bsdnet_show_tcp_stats();\r
-    rtems_bsdnet_show_udp_stats();\r
     rtems_bsdnet_show_mbuf_stats();\r
     rtems_bsdnet_show_inet_routes();\r
     return 0;\r
@@ -112,7 +109,15 @@ int start_net(int argc, char** argv){
         return 1;\r
     }\r
     printf("Success\n");\r
-    printf("About to show routes.\n");\r
+    printf("Found routes.\n");\r
     rtems_bsdnet_show_inet_routes (); \r
     return 0;\r
-}
\ No newline at end of file
+}\r
+\r
+int start_load(int argc, char** argv){\r
+    return start_thread_load();\r
+}\r
+\r
+int stop_load(int argc, char** argv){\r
+    return end_thread_load();\r
+}\r
index efda330..2705078 100644 (file)
@@ -7,5 +7,7 @@ int print_regs(int argc, char** argv);
 int print_can_totals(int argc, char** argv);\r
 int start_net(int argc, char** argv);\r
 int show_net(int argc, char** argv);\r
+int start_load(int argc, char** argv);\r
+int stop_load(int argc, char** argv);\r
 \r
 #endif
\ No newline at end of file
index 63e00ea..2398a87 100644 (file)
@@ -101,6 +101,14 @@ rtems_task Init(rtems_task_argument ignored){
     rtems_shell_add_cmd("showNET", "app",\r
                     "prints some diagnostic info from network adapter/driver",\r
                     show_net);\r
+    \r
+    rtems_shell_add_cmd("start_load", "app",\r
+                    "starts loading threads",\r
+                    start_load);\r
+                    \r
+    rtems_shell_add_cmd("stop_load", "app",\r
+                    "stops loading threads",\r
+                    stop_load);\r
     
     status = rtems_task_delete( RTEMS_SELF );
     
index 33d23fa..05d2c9a 100644 (file)
@@ -3,8 +3,8 @@
 # Overrides should be stored in file config.omk
 
 # Config for system_opt
-# Config for libbar
-# Config for appfoo
+# Config for cangw
 CONFIG_OC_BUILD4RTEMS=y
 CONFIG_OC_GDBSTUB=n
+# Config for libs
 # Config for 
diff --git a/rtems/gw/iterate b/rtems/gw/iterate
new file mode 100755 (executable)
index 0000000..4185f59
--- /dev/null
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+make && ./mkimg-ppc-cangw && ~/can-benchmark/scripts/restart