aboutsummaryrefslogtreecommitdiffstats
path: root/demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC
diff options
context:
space:
mode:
authoredolomb <none@example.com>2018-03-16 15:04:01 +0000
committeredolomb <none@example.com>2018-03-16 15:04:01 +0000
commit8e1851be0ef7d20563085907460f9bb77ed2ebba (patch)
tree65196448aa8c89452d4442caf78897d31dececc7 /demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC
parentafdfd60b9735a916cf91fbd7a1a4b0895a88a0ba (diff)
downloadChibiOS-8e1851be0ef7d20563085907460f9bb77ed2ebba.tar.gz
ChibiOS-8e1851be0ef7d20563085907460f9bb77ed2ebba.tar.bz2
ChibiOS-8e1851be0ef7d20563085907460f9bb77ed2ebba.zip
- Updated demos
- Minor changes git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@11778 110e8d01-0319-4d1e-a829-52ad28d1bb01
Diffstat (limited to 'demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC')
-rwxr-xr-xdemos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/Makefile28
-rw-r--r--demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/daemons/tssockskel.c13
-rw-r--r--demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/daemons/tssockskel.h4
-rw-r--r--demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/lwipopts.h4
-rw-r--r--demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/lwipthread.h6
-rwxr-xr-xdemos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/main.c8
6 files changed, 35 insertions, 28 deletions
diff --git a/demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/Makefile b/demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/Makefile
index 9219e1ea1..e353c4ecb 100755
--- a/demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/Makefile
+++ b/demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/Makefile
@@ -108,9 +108,14 @@ endif
# Define project name here
PROJECT = ch
+BUILDDIR := ./build
+DEPDIR := ./.dep
# Imported source files and paths
CHIBIOS = ../../..
+
+# Licensing files.
+include $(CHIBIOS)/os/license/license.mk
# Startup files.
include $(CHIBIOS)/os/common/startup/ARM/compilers/GCC/mk/startup_sama5d2.mk
# HAL-OSAL files (optional).
@@ -125,6 +130,7 @@ include $(CHIBIOS)/os/common/ports/ARM/compilers/GCC/mk/port_generic.mk
include $(CHIBIOS)/test/lib/test.mk
include $(CHIBIOS)/test/rt/rt_test.mk
include $(CHIBIOS)/test/oslib/oslib_test.mk
+include $(CHIBIOS)/os/hal/lib/streams/streams.mk
include lwip.mk
# Define linker script file here
@@ -132,17 +138,9 @@ LDSCRIPT= $(STARTUPLD)/SAMA5D2ddr.ld
# C sources that can be compiled in ARM or THUMB mode depending on the global
# setting.
-CSRC = $(STARTUPSRC) \
- $(KERNSRC) \
- $(PORTSRC) \
- $(OSALSRC) \
- $(HALSRC) \
- $(PLATFORMSRC) \
- $(BOARDSRC) \
- $(LWSRC) \
+CSRC = $(ALLCSRC) \
$(TESTSRC) \
$(CHIBIOS)/os/various/evtimer.c \
- $(CHIBIOS)/os/hal/lib/streams/chprintf.c \
daemons/tssockskel.c \
tsclient.c \
lwipthread.c \
@@ -150,7 +148,7 @@ CSRC = $(STARTUPSRC) \
# C++ sources that can be compiled in ARM or THUMB mode depending on the global
# setting.
-CPPSRC =
+CPPSRC = $(ALLCPPSRC)
# C sources to be compiled in ARM mode regardless of the global setting.
# NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler
@@ -173,14 +171,12 @@ TCSRC =
TCPPSRC =
# List ASM source files here
-ASMSRC =
-ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM)
+ASMSRC = $(ALLASMSRC)
+ASMXSRC = $(ALLXASMSRC)
-INCDIR = $(CHIBIOS)/os/license \
- $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \
- $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \
+INCDIR = $(ALLINC) $(TESTINC) \
$(LWINC) \
- $(CHIBIOS)/os/hal/lib/streams $(CHIBIOS)/os/various
+ $(CHIBIOS)/os/various
#
# Project, sources and paths
diff --git a/demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/daemons/tssockskel.c b/demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/daemons/tssockskel.c
index 8ca60ad59..8c0f45f83 100644
--- a/demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/daemons/tssockskel.c
+++ b/demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/daemons/tssockskel.c
@@ -41,7 +41,7 @@
/* Module local variables. */
/*===========================================================================*/
-static ts_service_t tsStubsService;
+static ts_service_t tsStubsService = NULL;
/*===========================================================================*/
/* Module local functions. */
@@ -159,6 +159,7 @@ static void l_recv(skel_req_t *skreqp) {
/* call the api exposed by the TCP/IP stack.*/
result = recv((int)skreqp->stub_op_p[0], mem, len,
(int)skreqp->stub_op_p[3]);
+ skreqp->stub_op_p[1] = (uint32_t)mem;
}
/* report the result and copy 'out' parameter mem.*/
@@ -254,16 +255,18 @@ static void l_bind(skel_req_t *skreqp) {
/*===========================================================================*/
/* Module exported functions. */
/*===========================================================================*/
-THD_WORKING_AREA(waTsSockSkelDaemon, 2048);
+THD_WORKING_AREA(waTsSockSkelDaemon0, 2048);
+THD_WORKING_AREA(waTsSockSkelDaemon1, 2048);
+THD_WORKING_AREA(waTsSockSkelDaemon2, 2048);
THD_FUNCTION(TsSockSkelDaemon, arg) {
- (void)arg;
event_listener_t el;
skel_req_t skel_req;
msg_t r;
- tsStubsService = (ts_service_t)tsInvokeServiceNoYield(TS_HND_DISCOVERY,
- (ts_params_area_t)"TsStubsService", sizeof "TsStubsService");
+ if (arg != NULL)
+ tsStubsService = (ts_service_t)tsInvokeServiceNoYield(TS_HND_DISCOVERY,
+ (ts_params_area_t)"TsStubsService", sizeof "TsStubsService");
chEvtRegisterMaskWithFlags(&stubsEventSource, &el, ALL_EVENTS, EVT_F_SOCK_NEW_OP);
for (;/* ever */;) {
chEvtWaitAny(ALL_EVENTS);
diff --git a/demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/daemons/tssockskel.h b/demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/daemons/tssockskel.h
index e7408f908..f0acb3a96 100644
--- a/demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/daemons/tssockskel.h
+++ b/demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/daemons/tssockskel.h
@@ -65,7 +65,9 @@
extern "C" {
#endif
THD_FUNCTION(TsSockSkelDaemon, tsstate);
- extern THD_WORKING_AREA(waTsSockSkelDaemon, 2048);
+ extern THD_WORKING_AREA(waTsSockSkelDaemon0, 2048);
+ extern THD_WORKING_AREA(waTsSockSkelDaemon1, 2048);
+ extern THD_WORKING_AREA(waTsSockSkelDaemon2, 2048);
#ifdef __cplusplus
}
#endif
diff --git a/demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/lwipopts.h b/demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/lwipopts.h
index 99a1c1a6a..7848d8a87 100644
--- a/demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/lwipopts.h
+++ b/demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/lwipopts.h
@@ -2113,10 +2113,10 @@
/* Use ChibiOS specific priorities. */
#if !defined(TCPIP_THREAD_PRIO)
-#define TCPIP_THREAD_PRIO (LOWPRIO + 1)
+#define TCPIP_THREAD_PRIO (NORMALPRIO - 1)
#endif
#if !defined(LWIP_THREAD_PRIORITY)
-#define LWIP_THREAD_PRIORITY (LOWPRIO)
+#define LWIP_THREAD_PRIORITY (NORMALPRIO - 2)
#endif
#endif /* LWIP_HDR_LWIPOPTS_H__ */
diff --git a/demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/lwipthread.h b/demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/lwipthread.h
index d9c4d5586..5487c2e40 100644
--- a/demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/lwipthread.h
+++ b/demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/lwipthread.h
@@ -58,7 +58,7 @@
* @brief lwIP thread stack size.
*/
#if !defined(LWIP_THREAD_STACK_SIZE) || defined(__DOXYGEN__)
-#define LWIP_THREAD_STACK_SIZE 1400
+#define LWIP_THREAD_STACK_SIZE 4096
#endif
/**
@@ -72,14 +72,14 @@
* @brief IP Address.
*/
#if !defined(LWIP_IPADDR) || defined(__DOXYGEN__)
-#define LWIP_IPADDR(p) IP4_ADDR(p, 192, 168, 21, 11)
+#define LWIP_IPADDR(p) IP4_ADDR(p, 192, 168, 1, 113)
#endif
/**
* @brief IP Gateway.
*/
#if !defined(LWIP_GATEWAY) || defined(__DOXYGEN__)
-#define LWIP_GATEWAY(p) IP4_ADDR(p, 192, 168, 21, 1)
+#define LWIP_GATEWAY(p) IP4_ADDR(p, 192, 168, 1, 254)
#endif
/**
diff --git a/demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/main.c b/demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/main.c
index 1421a5928..a35e30606 100755
--- a/demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/main.c
+++ b/demos/ATSAMA5D2/RT-SAMA5D2-XPLAINED-NSEC/main.c
@@ -80,7 +80,13 @@ int main(void) {
*/
chThdCreateStatic(waThread1, sizeof waThread1, NORMALPRIO-1, Thread1, NULL);
- chThdCreateStatic(waTsSockSkelDaemon, sizeof waTsSockSkelDaemon, NORMALPRIO,
+ /* Creates three sockets skeleton daemon threads to serve up to three
+ sockets calls simultaneously.*/
+ chThdCreateStatic(waTsSockSkelDaemon0, sizeof waTsSockSkelDaemon0, NORMALPRIO,
+ TsSockSkelDaemon, (void *)1);
+ chThdCreateStatic(waTsSockSkelDaemon1, sizeof waTsSockSkelDaemon1, NORMALPRIO,
+ TsSockSkelDaemon, NULL);
+ chThdCreateStatic(waTsSockSkelDaemon2, sizeof waTsSockSkelDaemon2, NORMALPRIO,
TsSockSkelDaemon, NULL);
/*