summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/ChangeLog.txt2
-rw-r--r--apps/examples/Makefile5
-rw-r--r--apps/examples/cxxtest/Makefile2
-rw-r--r--apps/examples/helloxx/Makefile2
-rw-r--r--apps/examples/helloxx/helloxx_main.cxx40
-rw-r--r--nuttx/configs/pirelli_dpl10/README.txt66
6 files changed, 82 insertions, 35 deletions
diff --git a/apps/ChangeLog.txt b/apps/ChangeLog.txt
index ec626ea84..a7f0fad8b 100644
--- a/apps/ChangeLog.txt
+++ b/apps/ChangeLog.txt
@@ -553,3 +553,5 @@
is not selected. Also, complete the empty Kconfig file (2013-5-7).
* apps/NxWidgets/Kconfig: Updated to match NxWidgets/Kconfig by
Ken Pettit (2013-5-11).
+ * apps/examples/helloxx: C++ name mangling was occurring when this
+ example is built as an NSH built-in application. (2013-5-16).
diff --git a/apps/examples/Makefile b/apps/examples/Makefile
index a10fef5dc..7827bf9a3 100644
--- a/apps/examples/Makefile
+++ b/apps/examples/Makefile
@@ -59,13 +59,10 @@ CNTXTDIRS = pwm
ifeq ($(CONFIG_NSH_BUILTIN_APPS),y)
CNTXTDIRS += adc can cdcacm composite cxxtest dhcpd discover flash_test ftpd
-CNTXTDIRS += hello json keypadtestmodbus mtdpart nettest nxlines relays
+CNTXTDIRS += hello helloxx json keypadtestmodbus mtdpart nettest nxlines relays
CNTXTDIRS += qencoder smart_test telnetd watchdog wgetjson
endif
-ifeq ($(CONFIG_EXAMPLES_HELLOXX_BUILTIN),y)
-CNTXTDIRS += helloxx
-endif
ifeq ($(CONFIG_EXAMPLES_LCDRW_BUILTIN),y)
CNTXTDIRS += lcdrw
endif
diff --git a/apps/examples/cxxtest/Makefile b/apps/examples/cxxtest/Makefile
index 97fdb6ede..ecdc1d4fb 100644
--- a/apps/examples/cxxtest/Makefile
+++ b/apps/examples/cxxtest/Makefile
@@ -100,7 +100,7 @@ $(CXXOBJS): %$(OBJEXT): %.cxx
$(call ARCHIVE, $(BIN), $(OBJS))
@touch .built
-ifeq ($(CONFIG_EXAMPLES_HELLOXX_BUILTIN),y)
+ifeq ($(CONFIG_NSH_BUILTIN_APPS),y)
$(BUILTIN_REGISTRY)$(DELIM)$(APPNAME)_main.bdat: $(DEPCONFIG) Makefile
$(call REGISTER,$(APPNAME),$(PRIORITY),$(STACKSIZE),$(APPNAME)_main)
diff --git a/apps/examples/helloxx/Makefile b/apps/examples/helloxx/Makefile
index 44d880658..5cbe7dd59 100644
--- a/apps/examples/helloxx/Makefile
+++ b/apps/examples/helloxx/Makefile
@@ -100,7 +100,7 @@ $(CXXOBJS): %$(OBJEXT): %.cxx
$(call ARCHIVE, $(BIN), $(OBJS))
@touch .built
-ifeq ($(CONFIG_EXAMPLES_HELLOXX_BUILTIN),y)
+ifeq ($(CONFIG_NSH_BUILTIN_APPS),y)
$(BUILTIN_REGISTRY)$(DELIM)$(APPNAME)_main.bdat: $(DEPCONFIG) Makefile
$(call REGISTER,$(APPNAME),$(PRIORITY),$(STACKSIZE),$(APPNAME)_main)
diff --git a/apps/examples/helloxx/helloxx_main.cxx b/apps/examples/helloxx/helloxx_main.cxx
index 60fd0487b..eeca52263 100644
--- a/apps/examples/helloxx/helloxx_main.cxx
+++ b/apps/examples/helloxx/helloxx_main.cxx
@@ -1,7 +1,7 @@
//***************************************************************************
// examples/helloxx/helloxx_main.cxx
//
-// Copyright (C) 2009, 2011-2012 Gregory Nutt. All rights reserved.
+// Copyright (C) 2009, 2011-2013 Gregory Nutt. All rights reserved.
// Author: Gregory Nutt <gnutt@nuttx.org>
//
// Redistribution and use in source and binary forms, with or without
@@ -128,38 +128,40 @@ static CHelloWorld g_HelloWorld;
* Name: helloxx_main
****************************************************************************/
-int helloxx_main(int argc, char *argv[])
+extern "C"
{
- // If C++ initialization for static constructors is supported, then do
- // that first
+ int helloxx_main(int argc, char *argv[])
+ {
+ // If C++ initialization for static constructors is supported, then do
+ // that first
#ifdef CONFIG_HAVE_CXXINITIALIZE
- up_cxxinitialize();
+ up_cxxinitialize();
#endif
- // Exercise an explictly instantiated C++ object
+ // Exercise an explictly instantiated C++ object
- CHelloWorld *pHelloWorld = new CHelloWorld;
- printf("helloxx_main: Saying hello from the dynamically constructed instance\n");
- pHelloWorld->HelloWorld();
+ CHelloWorld *pHelloWorld = new CHelloWorld;
+ printf("helloxx_main: Saying hello from the dynamically constructed instance\n");
+ pHelloWorld->HelloWorld();
- // Exercise an C++ object instantiated on the stack
+ // Exercise an C++ object instantiated on the stack
#ifndef CONFIG_EXAMPLES_HELLOXX_NOSTACKCONST
- CHelloWorld HelloWorld;
+ CHelloWorld HelloWorld;
- printf("helloxx_main: Saying hello from the instance constructed on the stack\n");
- HelloWorld.HelloWorld();
+ printf("helloxx_main: Saying hello from the instance constructed on the stack\n");
+ HelloWorld.HelloWorld();
#endif
- // Exercise an statically constructed C++ object
+ // Exercise an statically constructed C++ object
#ifdef CONFIG_HAVE_CXXINITIALIZE
- printf("helloxx_main: Saying hello from the statically constructed instance\n");
- g_HelloWorld.HelloWorld();
+ printf("helloxx_main: Saying hello from the statically constructed instance\n");
+ g_HelloWorld.HelloWorld();
#endif
- delete pHelloWorld;
- return 0;
+ delete pHelloWorld;
+ return 0;
+ }
}
-
diff --git a/nuttx/configs/pirelli_dpl10/README.txt b/nuttx/configs/pirelli_dpl10/README.txt
index 57e0a609b..6f2339f11 100644
--- a/nuttx/configs/pirelli_dpl10/README.txt
+++ b/nuttx/configs/pirelli_dpl10/README.txt
@@ -8,6 +8,7 @@ Contents
========
* History
+ * Hardware
* Osmocom-BB Dependencies and Sercomm
* Loading NuttX
* Memory Map
@@ -34,26 +35,71 @@ History
http://cgit.osmocom.org/cgit/nuttx-bb/log/?h=lputt%2Ftesting
+Hardware
+========
+
+ * CPU/DBB: TI Calypso (D751992AZHH)
+
+ See http://bb.osmocom.org/trac/wiki/Hardware/Calypso
+
+ * ABB: TI Iota (TWL3014)
+
+ Analog baseband chip. See http://bb.osmocom.org/trac/wiki/Iota
+
+ * GSM Transceiver: TI Rita (TRF6151)
+
+ GSM Transceiver. See http://bb.osmocom.org/trac/wiki/Rita
+
+ * PA: SKY77328-13
+
+ Quad-band GSM/GPRS: See http://www.skyworksinc.com/Product.aspx?ProductID=434
+
+ * Flash/SRAM: Spansion S71PL129NC0 128MBit/64MBit
+
+ Combined FLASH and SDRAM:
+ FLASH: 128Mbit
+ SDRAM: 64Mbit
+
+ * Wifi: Marvell 88W8385 802.11 MAC
+ Marvell 88W8015 802.11b/g transceiver
+
+ * Winbond W56940 ringtone chip
+
+ * Sunplus SPCA552E multimedia controller
+
+ Multimedia processor: integrates CMOS sensor interface, DSC processor, JPEG
+ codec engine, LCM interface and other peripherals.
+
+ I have not yet been able to find a data sheet for this chip. I believe that
+ it will be critical to develop drivers for the display.
+
+ * LSI-65194A1 ASIC (seems to be a DSP for VoIP en-/decoding)
+
+ * Silabs CP2102 USB UART (connected to UART_IRDA of the Calypso)
+
Osmocom-BB Dependencies and Sercomm
===================================
- The build environment assumes that you have the osmocom-bb project
- directory at same level as the nuttx project:
+ Sercomm is an HDLC protocol used to communicate between a Calypso phone
+ and the host PC. By default, NuttX will not use sercomm (HDLC protocol) to
+ communicate with the host system. Sercomm is the transport used by
+ osmocom-bb that runs on top of serial. See
+ http://bb.osmocom.org/trac/wiki/nuttx-bb/run for detailed the usage of nuttx
+ with sercomm.
+
+ If you build with sercomm, you must add support for sercomm in your
+ configuration (CONFIG_SERCOMM_CONSOLE=y). In this case, the build
+ environment assumes that you have the osmocom-bb project directory at same
+ level as the nuttx project:
|- nuttx
|- apps
`- osmocom-bb
- If you attempt to build this configuration without osmocom-bb, and that
- you added support for sercomm in your configuration(CONFIG_SERCOMM_CONSOLE=y)
+ If you attempt to build a sercomm-enaled configuration without osmocom-bb,
you will get compilation errors in drivers/sercomm due to header files that
are needed from the osmocom-bb directory.
- By default, NuttX will not use sercomm (HDLC protocol) to communicate with
- the host system. Sercomm is the transport used by osmocom-bb that runs on top
- of serial. See http://bb.osmocom.org/trac/wiki/nuttx-bb/run for detailed
- the usage of nuttx with sercomm.
-
Loading NuttX
=============
@@ -302,7 +348,7 @@ Configurations
for Windows and builds under Cygwin (or probably MSYS). That
can easily be reconfigured, of course.
- CONFIG_HOST_LINUX=y : Builds under Windows
+ CONFIG_HOST_LINUX=y : Builds under Linux
CONFIG_ARM_TOOLCHAIN_BUILDROOT=y : NuttX buildroot OABI toolchain
CONFIG_ARM_OABI_TOOLCHAIN=y