From 1b7d3b3dbcff1355cd127808828d18a6a96c77c1 Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Sat, 4 May 2013 17:57:02 -0600 Subject: Add configuration for the Pirelli DP10 phone --- nuttx/ChangeLog | 2 + nuttx/configs/Kconfig | 6 +- nuttx/configs/README.txt | 5 + nuttx/configs/pirelli_dpl10/Kconfig | 4 + nuttx/configs/pirelli_dpl10/README.txt | 54 ++++ nuttx/configs/pirelli_dpl10/nsh_highram/Make.defs | 127 ++++++++++ nuttx/configs/pirelli_dpl10/nsh_highram/appconfig | 43 ++++ nuttx/configs/pirelli_dpl10/nsh_highram/defconfig | 284 ++++++++++++++++++++++ nuttx/configs/pirelli_dpl10/nsh_highram/ld.script | 128 ++++++++++ nuttx/configs/pirelli_dpl10/nsh_highram/setenv.sh | 46 ++++ 10 files changed, 696 insertions(+), 3 deletions(-) create mode 100644 nuttx/configs/pirelli_dpl10/Kconfig create mode 100644 nuttx/configs/pirelli_dpl10/README.txt create mode 100644 nuttx/configs/pirelli_dpl10/nsh_highram/Make.defs create mode 100644 nuttx/configs/pirelli_dpl10/nsh_highram/appconfig create mode 100644 nuttx/configs/pirelli_dpl10/nsh_highram/defconfig create mode 100644 nuttx/configs/pirelli_dpl10/nsh_highram/ld.script create mode 100755 nuttx/configs/pirelli_dpl10/nsh_highram/setenv.sh diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog index 1d10872fc..2d3a4168f 100644 --- a/nuttx/ChangeLog +++ b/nuttx/ChangeLog @@ -4669,3 +4669,5 @@ * drivers/mtd/m25px.c: Some rearchitecting to use the byte write capability (when possible) and to use 4KB sectors for the erase block size when the part supports it (Ken Pettit, 2013-5-3). + * configs/pirelli_dp10: Adds a configuration for the pirelli phone + (from Alan Alan Carvalho de Assis, 2013-5-3). diff --git a/nuttx/configs/Kconfig b/nuttx/configs/Kconfig index e84749a01..0fb6705b4 100644 --- a/nuttx/configs/Kconfig +++ b/nuttx/configs/Kconfig @@ -904,6 +904,9 @@ endif if ARCH_BOARD_MICROPENDOUS3 source "configs/micropendous3/Kconfig" endif +if ARCH_BOARD_MIKROE_STM32F4 +source "configs/mikroe-stm32f4/Kconfig" +endif if ARCH_BOARD_MIRTOO source "configs/mirtoo/Kconfig" endif @@ -979,9 +982,6 @@ endif if ARCH_BOARD_STM32F4_DISCOVERY source "configs/stm32f4discovery/Kconfig" endif -if ARCH_BOARD_MIKROE_STM32F4 -source "configs/mikroe-stm32f4/Kconfig" -endif if ARCH_BOARD_SUREPIC32MX source "configs/sure-pic32mx/Kconfig" endif diff --git a/nuttx/configs/README.txt b/nuttx/configs/README.txt index d126f9ad8..cb1887693 100644 --- a/nuttx/configs/README.txt +++ b/nuttx/configs/README.txt @@ -1936,6 +1936,11 @@ configs/pic32mx7mmb Mikroelektronika PIC32MX7 Multimedia Board (MMB). See http://www.mikroe.com/ for further information. +configs/pirelli_dpl10 + This directory contains the board support for pirelli dpl10 phones. + It is a variant of the compal_e88 config with the small change of enabling + the IrDA serial console. + configs/pjrc-8051 8051 Microcontroller. This port uses the PJRC 87C52 development system and the SDCC toolchain. This port is not quite ready for prime time. diff --git a/nuttx/configs/pirelli_dpl10/Kconfig b/nuttx/configs/pirelli_dpl10/Kconfig new file mode 100644 index 000000000..ae2bf3130 --- /dev/null +++ b/nuttx/configs/pirelli_dpl10/Kconfig @@ -0,0 +1,4 @@ +# +# For a description of the syntax of this configuration file, +# see misc/tools/kconfig-language.txt. +# diff --git a/nuttx/configs/pirelli_dpl10/README.txt b/nuttx/configs/pirelli_dpl10/README.txt new file mode 100644 index 000000000..ca16fe8a9 --- /dev/null +++ b/nuttx/configs/pirelli_dpl10/README.txt @@ -0,0 +1,54 @@ +pirelli_dpl10 +============= + +This directory contains the board support for pirelli dpl10 phones. + +It is a variant of the compal_e88 configuration with the small change of +enabling the IrDA serial console: + + * CONFIG_SERIAL_IRDA_CONSOLE=y + +This port is based on patches contributed by Denis Carikli for both the +compal e99 and e88. At the time of initial check-in, the following phones +were tested: + + * Pirelli DPL-10 nsh_highram loaded via romload in osmocon + +The patches were made by Alan Carvalho de Assis and Denis Carikli using +the Stefan Richter's patches that can be found here: + + http://cgit.osmocom.org/cgit/nuttx-bb/log/?h=lputt%2Ftesting + +Osmocom-BB Dependencies and Sercomm +=================================== + +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) +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 +============= + +The osmocom-bb wiki describes how to load NuttX. See +http://bb.osmocom.org/trac/wiki/nuttx-bb for detailed information. +The way that nuttx is loaded depends on the configuration (highram/compalram) +and phone: + +o compalram is for the ramloader(for phone having a bootloader on flash) +o highram is for phones having the romloader(if the phone has a bootrom) + or for loading in the ram trough a special loader(loaded first on ram + by talking to the ramloader) when having a ramloader(which can only + load 64k). diff --git a/nuttx/configs/pirelli_dpl10/nsh_highram/Make.defs b/nuttx/configs/pirelli_dpl10/nsh_highram/Make.defs new file mode 100644 index 000000000..a77493097 --- /dev/null +++ b/nuttx/configs/pirelli_dpl10/nsh_highram/Make.defs @@ -0,0 +1,127 @@ +############################################################################ +# configs/pirelli_dpl10/nsh/Make.defs +# +# Copyright (C) 2007, 2008, 2011, 2013 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +include ${TOPDIR}/.config +include ${TOPDIR}/tools/Config.mk + +ifeq ("${CONFIG_SERCOMM_CONSOLE}","y") +OSMODIR = $(TOPDIR)/../../osmocom-bb +EXTRA_LIBS = $(OSMODIR)/src/target/firmware/comm/libcomm.a \ + $(OSMODIR)/src/shared/libosmocore/build-target/src/.libs/libosmocore.a \ + $(OSMODIR)/src/target/firmware/calypso/libcalypso.a \ + $(OSMODIR)/src/target/firmware/comm/libcomm.a + # ^^^ Stupid hack! Why do I have to put it twice??? +endif + +CROSSDEV = arm-elf- +CC = $(CROSSDEV)gcc +CPP = $(CROSSDEV)gcc -E +LD = $(CROSSDEV)ld +AR = $(CROSSDEV)ar rcs +NM = $(CROSSDEV)nm +OBJCOPY = $(CROSSDEV)objcopy +OBJDUMP = $(CROSSDEV)objdump + +ARCHCCVERSION = ${shell $(CC) -v 2>&1 | sed -n '/^gcc version/p' | sed -e 's/^gcc version \([0-9\.]\)/\1/g' -e 's/[-\ ].*//g' -e '1q'} +ARCHCCMAJOR = ${shell echo $(ARCHCCVERSION) | cut -d'.' -f1} + +ifeq ("${CONFIG_DEBUG_SYMBOLS}","y") + ARCHOPTIMIZATION = -g +else + ARCHOPTIMIZATION = -Os -fno-strict-aliasing -fno-strength-reduce \ + -fomit-frame-pointer +endif + +ifeq ($(ARCHCCMAJOR),4) + ARCHCPUFLAGS = -mcpu=arm7tdmi -mfloat-abi=soft -fno-builtin +else + ARCHCPUFLAGS = -mapcs-32 -mcpu=arm7tdmi -msoft-float -fno-builtin +endif +ARCHPICFLAGS = -fpic -msingle-pic-base -mpic-register=r10 +ARCHWARNINGS = -Wall -Wstrict-prototypes -Wshadow +ARCHDEFINES = +ARCHINCLUDES = -I. -I$(OSMODIR)/src/shared/libosmocore/include -isystem $(TOPDIR)/include +ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nsh_highram/ld.script + +CFLAGS = $(ARCHWARNINGS) $(ARCHOPTIMIZATION) \ + $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) -pipe +CPICFLAGS = $(ARCHPICFLAGS) $(CFLAGS) +CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) +AFLAGS = $(CFLAGS) -D__ASSEMBLY__ + +NXFLATLDFLAGS1 = -r -d -warn-common +NXFLATLDFLAGS2 = $(NXFLATLDFLAGS1) \ + -T$(TOPDIR)/binfmt/libnxflat/gnu-nxflat.ld \ + -no-check-sections +LDNXFLATFLAGS = -e main -s 2048 + +OBJEXT = .o +LIBEXT = .a +EXEEXT = + +ifeq ("${CONFIG_DEBUG_SYMBOLS}","y") + LDFLAGS += -g +endif + +define PREPROCESS + @echo "CPP: $1->$2" + @$(CPP) $(CPPFLAGS) $1 -o $2 +endef + +define COMPILE + @echo "CC: $1" + @$(CC) -c $(CFLAGS) $1 -o $2 +endef + +define ASSEMBLE + @echo "AS: $1" + @$(CC) -c $(AFLAGS) $1 -o $2 +endef + +define ARCHIVE + echo "AR: $2"; \ + $(AR) $1 $2 || { echo "$(AR) $1 $2 FAILED!" ; exit 1 ; } +endef + +define CLEAN + @rm -f *.o *.a +endef + +MKDEP = $(TOPDIR)/tools/mkdeps.sh + +HOSTCC = gcc +HOSTINCLUDES = -I. +HOSTCFLAGS = -Wall -wstrict-prototypes -Wshadow -g -pipe +HOSTLDFLAGS = diff --git a/nuttx/configs/pirelli_dpl10/nsh_highram/appconfig b/nuttx/configs/pirelli_dpl10/nsh_highram/appconfig new file mode 100644 index 000000000..8dd673138 --- /dev/null +++ b/nuttx/configs/pirelli_dpl10/nsh_highram/appconfig @@ -0,0 +1,43 @@ +############################################################################ +# configs/pirelli_dpl10/nsh_highram/appconfig +# +# Copyright (C) 2011, 2013 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ + +# NSH shell +CONFIGURED_APPS += examples/nsh +CONFIGURED_APPS += system/readline +CONFIGURED_APPS += nshlib + +# Path to example in apps/examples +CONFIGURED_APPS += examples/hello +CONFIGURED_APPS += vsn/poweroff diff --git a/nuttx/configs/pirelli_dpl10/nsh_highram/defconfig b/nuttx/configs/pirelli_dpl10/nsh_highram/defconfig new file mode 100644 index 000000000..a4456faf0 --- /dev/null +++ b/nuttx/configs/pirelli_dpl10/nsh_highram/defconfig @@ -0,0 +1,284 @@ +############################################################################ +# configs/pirelli_dpl10/nsh/defconfig +# +# Copyright (C) 2007-2013 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +############################################################################ +# +# Architecture Selection +# +CONFIG_ARCH="arm" +CONFIG_ARCH_ARM=y +CONFIG_ARCH_ARM7TDMI=y +CONFIG_ARCH_CHIP="calypso" +CONFIG_ARCH_CHIP_CALYPSO=y +CONFIG_ARCH_BOARD="compal_e88" +CONFIG_ARCH_BOARD_COMPALE88=y +CONFIG_BOARD_LOOPSPERMSEC=1250 +CONFIG_ROM_VECTORS=n +CONFIG_ARCH_LEDS=n +CONFIG_ARCH_INTERRUPTSTACK=1024 +CONFIG_ARCH_STACKDUMP=y + +CONFIG_DRAM_START=0 +CONFIG_DRAM_SIZE=8650752 + +# +# C5471 specific device driver settings +# +CONFIG_SERCOMM_CONSOLE=n +CONFIG_SERIAL_IRDA_CONSOLE=y +CONFIG_UART_IRDA_HWFLOWCONTROL=n +CONFIG_UART_MODEM_HWFLOWCONTROL=n +CONFIG_UART_IRDA_RXBUFSIZE=256 +CONFIG_UART_MODEM_RXBUFSIZE=256 +CONFIG_UART_IRDA_TXBUFSIZE=256 +CONFIG_UART_MODEM_TXBUFSIZE=256 +CONFIG_UART_IRDA_BAUD=115200 +CONFIG_UART_MODEM_BAUD=115200 +CONFIG_UART_IRDA_BITS=8 +CONFIG_UART_MODEM_BITS=8 +CONFIG_UART_IRDA_PARITY=0 +CONFIG_UART_MODEM_PARITY=0 +CONFIG_UART_IRDA_2STOP=0 +CONFIG_UART_MODEM_2STOP=0 +CONFIG_STDIO_LINE_BUFFER=y + +# +# C5471 Ethernet Driver settings +CONFIG_C5471_NET_STATS=n +ETHERNET_PHY_LU3X31T_T64=1 +ETHERNET_PHY_AC101L=2 +CONFIG_C5471_ETHERNET_PHY=ETHERNET_PHY_LU3X31T_T64 +CONFIG_NET_C5471_AUTONEGOTIATION=y +CONFIG_NET_C5471_BASET100=n +CONFIG_NET_C5471_BASET10=n + +# +# General build options +# +CONFIG_RRLOAD_BINARY=n +CONFIG_INTELHEX_BINARY=n +CONFIG_RAW_BINARY=y +CONFIG_HAVE_LIBM=n + +# +# General OS setup +# +CONFIG_USER_ENTRYPOINT="nsh_main" +CONFIG_DEBUG=n +CONFIG_DEBUG_VERBOSE=n +CONFIG_DEBUG_SYMBOLS=n +CONFIG_MM_REGIONS=1 +CONFIG_ARCH_LOWPUTC=y +CONFIG_RR_INTERVAL=200 +CONFIG_SCHED_INSTRUMENTATION=n +CONFIG_TASK_NAME_SIZE=0 +CONFIG_START_YEAR=2007 +CONFIG_START_MONTH=2 +CONFIG_START_DAY=13 +CONFIG_JULIAN_TIME=n +CONFIG_DEV_CONSOLE=y +CONFIG_DEV_LOWCONSOLE=n +CONFIG_MUTEX_TYPES=n +CONFIG_PRIORITY_INHERITANCE=n +CONFIG_SEM_PREALLOCHOLDERS=0 +CONFIG_SEM_NNESTPRIO=0 +CONFIG_FDCLONE_DISABLE=n +CONFIG_FDCLONE_STDIO=n +CONFIG_SDCLONE_DISABLE=y +CONFIG_NXFLAT=n + +# +# The following can be used to disable categories of +# APIs supported by the OS. If the compiler supports +# weak functions, then it should not be necessary to +# disable functions unless you want to restrict usage +# of those APIs. +# +# There are certain dependency relationships in these +# features. +# +# o mq_notify logic depends on signals to awaken tasks +# waiting for queues to become full or empty. +# o pthread_condtimedwait() depends on signals to wake +# up waiting tasks. +# +CONFIG_DISABLE_CLOCK=n +CONFIG_DISABLE_POSIX_TIMERS=n +CONFIG_DISABLE_PTHREAD=n +CONFIG_DISABLE_SIGNALS=n +CONFIG_DISABLE_MQUEUE=y +CONFIG_DISABLE_MOUNTPOINT=n +CONFIG_DISABLE_ENVIRON=n +CONFIG_DISABLE_POLL=y + +# +# FAT filesystem configuration +# +CONFIG_FS_FAT=n +CONFIG_FS_ROMFS=n + +# +# Misc libc settings +# +CONFIG_NOPRINTF_FIELDWIDTH=n + +# +# Allow for architecture optimized implementations +# +# The architecture can provide optimized versions of the +# following to improve sysem performance +# +CONFIG_ARCH_MEMCPY=n +CONFIG_ARCH_MEMCMP=n +CONFIG_ARCH_MEMMOVE=n +CONFIG_ARCH_MEMSET=n +CONFIG_ARCH_STRCMP=n +CONFIG_ARCH_STRCPY=n +CONFIG_ARCH_STRNCPY=n +CONFIG_ARCH_STRLEN=n +CONFIG_ARCH_STRNLEN=n +CONFIG_ARCH_BZERO=n + +# +# Sizes of configurable things (0 disables) +# +CONFIG_MAX_TASKS=16 +CONFIG_MAX_TASK_ARGS=4 +CONFIG_NPTHREAD_KEYS=4 +CONFIG_NFILE_DESCRIPTORS=8 +CONFIG_NFILE_STREAMS=8 +CONFIG_NAME_MAX=32 +CONFIG_STDIO_BUFFER_SIZE=1024 +CONFIG_NUNGET_CHARS=2 +CONFIG_PREALLOC_MQ_MSGS=0 +CONFIG_MQ_MAXMSGSIZE=32 +CONFIG_MAX_WDOGPARMS=4 +CONFIG_PREALLOC_WDOGS=8 +CONFIG_PREALLOC_TIMERS=8 + +# SPI driver +# +CONFIG_SPI_OWNBUS=y +CONFIG_SPI_EXCHANGE=y + +# +# TCP/IP and UDP support via uIP +# +CONFIG_NET=n +CONFIG_NET_IPv6=n +CONFIG_NSOCKET_DESCRIPTORS=8 +CONFIG_NET_SOCKOPTS=y +CONFIG_NET_BUFSIZE=420 +CONFIG_NET_TCP=y +CONFIG_NET_TCP_CONNS=8 +CONFIG_NET_NTCP_READAHEAD_BUFFERS=32 +CONFIG_NET_TCPBACKLOG=n +CONFIG_NET_MAX_LISTENPORTS=8 +CONFIG_NET_UDP=y +CONFIG_NET_UDP_CHECKSUMS=y +#CONFIG_NET_UDP_CONNS=4 +CONFIG_NET_ICMP=y +CONFIG_NET_ICMP_PING=n +#CONFIG_NET_PINGADDRCONF=0 +CONFIG_NET_STATISTICS=y +#CONFIG_NET_RECEIVE_WINDOW= +#CONFIG_NET_ARPTAB_SIZE=8 +CONFIG_NET_BROADCAST=n +#CONFIG_NET_FWCACHE_SIZE=2 + +# +# UIP Network Utilities +# +CONFIG_NET_DHCP_LIGHT=n +CONFIG_NET_RESOLV_ENTRIES=4 + +# +# Settings for examples/uip +CONFIG_EXAMPLE_UIP_NOMAC=y +CONFIG_EXAMPLE_UIP_IPADDR=0x0a000002 +CONFIG_EXAMPLE_UIP_DRIPADDR=0x0a000001 +CONFIG_EXAMPLE_UIP_NETMASK=0xffffff00 +CONFIG_EXAMPLE_UIP_DHCPC=n + +# +# Settings for examples/nettest +CONFIG_EXAMPLE_NETTEST_SERVER=n +CONFIG_EXAMPLE_NETTEST_PERFORMANCE=n +CONFIG_EXAMPLE_NETTEST_NOMAC=y +CONFIG_EXAMPLE_NETTEST_IPADDR=0x0a000002 +CONFIG_EXAMPLE_NETTEST_DRIPADDR=0x0a000001 +CONFIG_EXAMPLE_NETTEST_NETMASK=0xffffff00 +CONFIG_EXAMPLE_NETTEST_CLIENTIP=0x0a000001 + +# +# Settings for examples/nsh +CONFIG_NSH_CONSOLE=y +CONFIG_NSH_TELNET=n +CONFIG_NSH_IOBUFFER_SIZE=512 +CONFIG_NSH_CMD_SIZE=40 +CONFIG_NSH_STACKSIZE=4096 +CONFIG_NSH_DHCPC=n +CONFIG_NSH_NOMAC=y +CONFIG_NSH_IPADDR=0x0a000002 +CONFIG_NSH_DRIPADDR=0x0a000001 +CONFIG_NSH_NETMASK=0xffffff00 + +CONFIG_BUILTIN=y +CONFIG_NSH_BUILTIN_APPS=y + +# +# Settings for examples/hello +CONFIG_EXAMPLES_HELLO_BUILTIN=y + +# +# Settings for examples/wget +# +CONFIG_EXAMPLE_WGET_URL="http://www.nuttx.org/index.html" +CONFIG_EXAMPLE_WGET_NOMAC=y +CONFIG_EXAMPLE_WGET_IPADDR=0x0a000002 +CONFIG_EXAMPLE_WGET_DRIPADDR=0x0a000001 +CONFIG_EXAMPLE_WGET_NETMASK=0xffffff00 + +# +# Stack and heap information +# +CONFIG_BOOT_RUNFROMFLASH=n +CONFIG_BOOT_COPYTORAM=n +CONFIG_CUSTOM_STACK=n +#CONFIG_STACK_POINTER +CONFIG_IDLETHREAD_STACKSIZE=4096 +CONFIG_USERMAIN_STACKSIZE=4096 +CONFIG_PTHREAD_STACK_MIN=256 +CONFIG_PTHREAD_STACK_DEFAULT=4096 +CONFIG_HEAP_BASE= +CONFIG_HEAP_SIZE= diff --git a/nuttx/configs/pirelli_dpl10/nsh_highram/ld.script b/nuttx/configs/pirelli_dpl10/nsh_highram/ld.script new file mode 100644 index 000000000..35fa84728 --- /dev/null +++ b/nuttx/configs/pirelli_dpl10/nsh_highram/ld.script @@ -0,0 +1,128 @@ +/* + * Linker script for running from internal SRAM on Compal phones + * + * This script is tailored specifically to the requirements imposed + * on us by the Compal bootloader. + * + */ + +OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") +OUTPUT_ARCH(arm) +ENTRY(__start) +MEMORY +{ + /* 0x800000-0x83ffff */ + /* compal-loaded binary: our text, initialized data */ + LRAM (rw) : ORIGIN = 0x00800000, LENGTH = 0x00020000 + TRAM (rw) : ORIGIN = 0x00820000, LENGTH = 0x00010000 + /* compal-loaded binary: our unitialized data, stacks, heap */ + IRAM (rw) : ORIGIN = 0x00830000, LENGTH = 0x00010000 +} +SECTIONS +{ + . = 0x800000; + + /* romloader data section, contains passthru interrupt vectors */ + .compal.loader (NOLOAD) : { . = 0x100; } > LRAM + + /* image signature (prepended by osmocon according to phone type) */ + .compal.header (NOLOAD) : { . = 4; } > LRAM + + /* initialization code */ + . = ALIGN(4); + .text.start : { + PROVIDE(__start = .); + KEEP(*(.text.start)) + *(.text.start) + } > TRAM + + /* exception vectors from 0x80001c to 0x800034 */ + .text.exceptions 0x80001c : AT (LOADADDR(.text.start) + SIZEOF(.text.start)) { + KEEP(*(.text.exceptions)) + * (.text.exceptions) + . = ALIGN(4); + } > LRAM + PROVIDE(_exceptions = LOADADDR(.text.exceptions)); + + /* code */ + . = ALIGN(4); + .text (LOADADDR(.text.exceptions) + SIZEOF(.text.exceptions)) : + AT (LOADADDR(.text.exceptions) + SIZEOF(.text.exceptions)) { + /* regular code */ + *(.text*) + /* always-in-ram code */ + *(.ramtext*) + /* gcc voodoo */ + *(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx) + . = ALIGN(4); + } > TRAM + PROVIDE(_text_start = LOADADDR(.text)); + PROVIDE(_text_end = LOADADDR(.text) + SIZEOF(.text)); + + /* constructor pointers */ + .ctors : { + /* ctor count */ + LONG(SIZEOF(.ctors) / 4 - 2) + /* ctor pointers */ + KEEP(*(SORT(.ctors))) + /* end of list */ + LONG(0) + } > TRAM + PROVIDE(_ctor_start = LOADADDR(.ctors)); + PROVIDE(_ctor_end = LOADADDR(.ctors) + SIZEOF(.ctors)); + + /* destructor pointers */ + .dtors : { + /* dtor count */ + LONG(SIZEOF(.dtors) / 4 - 2) + /* dtor pointers */ + KEEP(*(SORT(.dtors))) + /* end of list */ + LONG(0) + } > TRAM + PROVIDE(_dtor_start = LOADADDR(.dtors)); + PROVIDE(_dtor_end = LOADADDR(.dtors) + SIZEOF(.dtors)); + + /* read-only data */ + . = ALIGN(4); + .rodata : { + *(.rodata*) + } > TRAM + PROVIDE(_rodata_start = LOADADDR(.rodata)); + PROVIDE(_rodata_end = LOADADDR(.rodata) + SIZEOF(.rodata)); + + /* initialized data */ + . = ALIGN(4); + .data : { + *(.data) + } > TRAM + PROVIDE(_data_start = LOADADDR(.data)); + PROVIDE(_data_end = LOADADDR(.data) + SIZEOF(.data)); + + /* pic offset tables */ + . = ALIGN(4); + .got : { + *(.got) + *(.got.plt) *(.igot.plt) *(.got) *(.igot) + } > TRAM + PROVIDE(_got_start = LOADADDR(.got)); + PROVIDE(_got_end = LOADADDR(.got) + SIZEOF(.got)); + + /* uninitialized data */ + .bss (NOLOAD) : { + . = ALIGN(4); + __bss_start = .; + _sbss = ABSOLUTE(.); + *(.bss) + _ebss = ABSOLUTE(.); + } > IRAM + . = ALIGN(4); + __bss_end = .; + PROVIDE(_bss_start = __bss_start); + PROVIDE(_bss_end = __bss_end); + + /* end of image */ + . = ALIGN(4); + _end = .; + PROVIDE(end = .); +} diff --git a/nuttx/configs/pirelli_dpl10/nsh_highram/setenv.sh b/nuttx/configs/pirelli_dpl10/nsh_highram/setenv.sh new file mode 100755 index 000000000..dbd8820e9 --- /dev/null +++ b/nuttx/configs/pirelli_dpl10/nsh_highram/setenv.sh @@ -0,0 +1,46 @@ +#!/bin/bash +# configs/pirelli_dpl10/nsh/setenv.sh +# +# Copyright (C) 2007, 2008, 2011, 2013 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name NuttX nor the names of its contributors may be +# used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# + +if [ "$(basename $0)" = "setenv.sh" ] ; then + echo "You must source this script, not run it!" 1>&2 + exit 1 +fi + +if [ -z ${PATH_ORIG} ]; then export PATH_ORIG=${PATH}; fi + +WD=`pwd` +export BUILDROOT_BIN=${WD}/../buildroot/build_arm_nofpu/staging_dir/bin +export PATH=${BUILDROOT_BIN}:/sbin:/usr/sbin:${PATH_ORIG} + +echo "PATH : ${PATH}" -- cgit v1.2.3