]> rtime.felk.cvut.cz Git - can-benchmark.git/commitdiff
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 7a584f3f2fa8c3a2782f85f4723ef249374bf4a1..efc992995c813e0c5c7940e570a283fd6e0079c7 100644 (file)
@@ -1,2 +1,2 @@
-SUBDIRS = system_opt cangw
+SUBDIRS = system_opt cangw libs
 
 
index abea9ebfd346a07cd9118e11601eaaef1895f04d..eeef8e4c09ef0617fb6661218b885507736027ec 100644 (file)
@@ -3,9 +3,6 @@ default_CONFIG += CONFIG_OC_GDBSTUB=n
 
 bin_PROGRAMS = cangw
 
 
 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
 \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
 
 cangw_SOURCES += init.c gw.c helpers.c
 \r
+lib_LOADLIBES += load\r
+\r
+#lib_LIBRARIES\r
+#include_HEADERS\r
index 2e56fb495352c44193ac29eeb97f9062a8483bf3..24d408724efa33e97d4378de4ef2287c2a776ab5 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
 * 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
     int fd_in, fd_out;\r
     int res;\r
     unsigned long int *total, *succ, *err;\r
index 3a61f308ce7e5f11a0bef4f92ebd51a37f35b757..742ab1ae1d3c78fc5b56266b4c49b80250f5aa79 100644 (file)
@@ -1,6 +1,8 @@
 #ifndef __GW_H_\r
 #define __GW_H_\r
 \r
 #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
 int start_GW();\r
 int end_GW();\r
 \r
index 117c46938c57812f71593b6e682900eadbe7c613..c5f9022b4745591fea77682313d0f013a56c6949 100644 (file)
 #include <bsp/mscan.h>\r
 #include <bsp/mscan-base.h>\r
 \r
 #include <bsp/mscan.h>\r
 #include <bsp/mscan-base.h>\r
 \r
-\r
 #include "helpers.h"\r
 #include "gw.h"\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
 \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
 \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_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
     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
         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
     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 efda330855d1d57fd4ebef6fbf9cee85de68d733..27050782c2f03b9380d736c89a6e1828d050fc43 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 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
 \r
 #endif
\ No newline at end of file
index 63e00eab0c70060633dcba2fe653cb7bbe6100b6..2398a87925c4d296e6efc673bd0a498bfa918aad 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
     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 );
     
     
     status = rtems_task_delete( RTEMS_SELF );
     
index 33d23fa410c0dec25a3450ae389f1cfae2599c86..05d2c9a498aedd18317a5e39969c623b7a995b7f 100644 (file)
@@ -3,8 +3,8 @@
 # Overrides should be stored in file config.omk
 
 # Config for system_opt
 # 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_OC_BUILD4RTEMS=y
 CONFIG_OC_GDBSTUB=n
+# Config for libs
 # Config for 
 # 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