diff --git a/nuttx/arch/arm/src/dm320/dm320_memorymap.h b/nuttx/arch/arm/src/dm320/dm320_memorymap.h index e673bc1b6..7cab28db6 100644 --- a/nuttx/arch/arm/src/dm320/dm320_memorymap.h +++ b/nuttx/arch/arm/src/dm320/dm320_memorymap.h @@ -1,7 +1,7 @@ /************************************************************************************ * dm320/dm320_memorymap.h * - * Copyright (C) 2007, 2009 Gregory Nutt. All rights reserved. + * Copyright (C) 2007, 2009-2010 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -42,6 +42,7 @@ #include +#include #include "arm.h" /************************************************************************************ @@ -56,10 +57,20 @@ * -W = Write buffering only * -- = Neither * - * The DM320 only has a single control line for external peripherals. - * To support more than one peripheral, most hardware will use an - * external memory decode logic, so that physical memory regions is - * in the hardware specific files dm320-*.h + * NOTE: + * 1. Most DM320 memory sections can be programmed to lie at different locations in + * the memory map. Therefore, much of the DM320 physical memory map is really + * board-specific and, as such, really belongs in the configs//include/board.h + * file rather than here. + * + * To handle all cases, this file defines a "default" physical memory map, but + * section address for most regions can be overriden if the same setting is + * defined in the board.h file (These defaults correspond to the product Neuros + * OSD memory configuration). + * + * 2. The DM320 only has a single control line for external peripherals. To support + * more than one peripheral, most hardware will use external memory decode logic, + * so that physical memory regions is in the board-specific files. */ #if CONFIG_DRAM_START != 0x01000000 @@ -73,18 +84,32 @@ #define DM320_DSP_ONCHIP_RAM_PADDR 0x00040000 /* 128Kb 1 large page -- */ #define DM320_AHB_PADDR 0x00060000 /* 4Kb 1 small page -- */ #define DM320_COPRO_SUB_PADDR 0x00080000 /* 128Kb -- */ -#define DM320_FLASH_PSECTION 0x00100000 /* 16Mb many sections -- */ -#define DM320_EXT_MEM_PADDR 0x00100000 /* 16Mb flash -- */ -#define DM320_SDRAM_PSECTION 0x01000000 /* 496Mb many section -- */ -#define DM320_SDRAM_PADDR 0x01000000 /* 496Mb many sections CW */ -#define DM320_CFI_PSECTION 0x40000000 /* 16Mb 16 sections -- */ -#define DM320_CFI_PADDR 0x40000000 /* 16Mb 16 sections -- */ -#define DM320_SSFDC_PSECTION 0x48000000 /* 16Mb 16 sections -- */ -#define DM320_SSFDC_PADDR 0x48000000 /* 16Mb 16 sections -- */ -#define DM320_CE1_PSECTION 0x50000000 /* 16Mb 16 sections -- */ -#define DM320_CE1_PADDR 0x50000000 /* 16Mb 16 sections -- */ -#define DM320_CE2_PSECTION 0x60000000 /* 16Mb 16 sections -- */ -#define DM320_CE2_PADDR 0x60000000 /* 16Mb 16 sections -- */ + +#ifndef DM320_FLASH_PSECTION +# define DM320_FLASH_PSECTION 0x00100000 /* 16Mb many sections -- */ +# define DM320_EXT_MEM_PADDR 0x00100000 /* 16Mb flash -- */ +#endif +#ifndef DM320_FLASH_PSECTION +# define DM320_SDRAM_PSECTION 0x01100000 /* 496Mb many section -- */ +# define DM320_SDRAM_PADDR 0x01100000 /* 496Mb many sections CW */ +#endif +#ifndef DM320_CFI_PSECTION +# define DM320_CFI_PSECTION 0x40000000 /* 16Mb 16 sections -- */ +# define DM320_CFI_PADDR 0x40000000 /* 16Mb 16 sections -- */ +#endif +#ifndef DM320_SSFDC_PSECTION +# define DM320_SSFDC_PSECTION 0x48000000 /* 16Mb 16 sections -- */ +# define DM320_SSFDC_PADDR 0x48000000 /* 16Mb 16 sections -- */ +#endif +#ifndef DM320_CE1_PSECTION +# define DM320_CE1_PSECTION 0x50000000 /* 16Mb 16 sections -- */ +# define DM320_CE1_PADDR 0x50000000 /* 16Mb 16 sections -- */ +#endif +#ifndef DM320_CE2_PSECTION +# define DM320_CE2_PSECTION 0x60000000 /* 16Mb 16 sections -- */ +# define DM320_CE2_PADDR 0x60000000 /* 16Mb 16 sections -- */ +#endif + #define DM320_VLYNQ_PSECTION 0x70000000 /* 64MB 64 sections -- */ #define DM320_VLYNQ_PADDR 0x70000000 /* 64MB 64 sections -- */ #define DM320_USBOTG_PSECTION 0x80000000 /* 1Mb 1 section -- */ diff --git a/nuttx/configs/ntosd-dm320/README.txt b/nuttx/configs/ntosd-dm320/README.txt index 7fff9a2cf..f6ba08d89 100644 --- a/nuttx/configs/ntosd-dm320/README.txt +++ b/nuttx/configs/ntosd-dm320/README.txt @@ -2,7 +2,9 @@ README ^^^^^^ This is the README file for the port of NuttX to the Neuros OSD - v1.0 Dev Board. References: + v1.0 Dev Board. This port has recently been extended to V1.0 + Production board (and that is now the default configuration). + References: http://www.neurostechnology.com/neuros-developer-community http://wiki.neurostechnology.com/index.php/OSD_1.0_Developer_Home @@ -328,3 +330,9 @@ DM320 USB Configuration GIO connected to D+. Support software connect/disconnect. CONFIG_DMA320_USBDEV_DMA Enable DM320-specific DMA support + +Neuros OSD Configuration Options + + CONFIG_ARCH_NTOSD_DEVBOARD - Selects the old NTOSD development board. + The default is the production OSD board which differs in + several ways. diff --git a/nuttx/configs/ntosd-dm320/doc/README.txt b/nuttx/configs/ntosd-dm320/doc/README.txt index dd4790841..758870b9c 100644 --- a/nuttx/configs/ntosd-dm320/doc/README.txt +++ b/nuttx/configs/ntosd-dm320/doc/README.txt @@ -13,6 +13,13 @@ http://wiki.neurostechnology.com/index.php/The_Neuros_and_Open_Source Status: ^^^^^^^ +NOTE: These instructions are for the Neuros development board (and a +rather old version of NuttX), +http://wiki.neurostechnology.com/index.php/OSD_Developer_Board_v1 +and have _not_ been updated for the Neuros OSD 1.0 consumer unit +(or for the current version of NuttX), +http://wiki.neurostechnology.com/index.php/Neuros_OSD_1.0 + At present, the system only supports a serial console and timer interrupts so there is not to much that you can do with it. But I would be happy to work with anyone who is interested in using it. diff --git a/nuttx/configs/ntosd-dm320/include/board.h b/nuttx/configs/ntosd-dm320/include/board.h index 30ecb14ba..4900e3cbc 100644 --- a/nuttx/configs/ntosd-dm320/include/board.h +++ b/nuttx/configs/ntosd-dm320/include/board.h @@ -1,7 +1,7 @@ /************************************************************************************ * arch/board/board.h * - * Copyright (C) 2007-2009 Gregory Nutt. All rights reserved. + * Copyright (C) 2007-2010 Gregory Nutt. All rights reserved. * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without @@ -44,6 +44,7 @@ * Definitions ************************************************************************************/ +/* Clocking *************************************************************************/ /* This platform has the ARM at 175 MHz and the DSP at 101.25 MHz */ #define DM320_ARM_CLOCK 175500000 @@ -60,6 +61,41 @@ #define DM9000_BASE CONFIG_DM9000_BASE +/* Memory Map ***********************************************************************/ + +/* The Neuros development board has 16MiB RAM starting at 0x01000000 (physical) and + * 8MiB of FLASH. The Neuros OSD 1.0 consumer has 32MiB RAM starting at 0x01100000 + * (physical) and 16MiB of FLASH. + * + * FIXME: Flash location may also differ on OSD 1.0 consumer unit! + */ + +#ifdef CONFIG_ARCH_NTOSD_DEVBOARD +# if CONFIG_DRAM_START != 0x01000000 +# error "Invalid setting for CONFIG_DRAM_START" +# endif +# if CONFIG_DRAM_SIZE != 0x01000000 +# warning "Check CONFIG_DRAM_SIZE. This Neuros OSD has 0x01000000 bytes of SDRAM" +# endif +# if CONFIG_DRAM_NUTTXENTRY != 0x01008000 +# warning "Check CONFIG_DRAM_NUTTXENTRY. Expected 0x01008000" +# endif +# define DM320_SDRAM_PSECTION 0x01000000 /* 496Mb many section -- */ +# define DM320_SDRAM_PADDR 0x01000000 /* 496Mb many sections CW */ +#else +# if CONFIG_DRAM_START != 0x01100000 +# error "Invalid setting for CONFIG_DRAM_START" +# endif +# if CONFIG_DRAM_SIZE != 0x02000000 +# warning "Check CONFIG_DRAM_SIZE. This Neuros OSD has 0x02000000 bytes of SDRAM" +# endif +# if CONFIG_DRAM_NUTTXENTRY != 0x01108000 +# warning "Check CONFIG_DRAM_NUTTXENTRY. Expected 0x01108000" +# endif +# define DM320_SDRAM_PSECTION 0x01100000 /* 496Mb many section -- */ +# define DM320_SDRAM_PADDR 0x01100000 /* 496Mb many sections CW */ +#endif + /* GIO keyboard (GIO 1-5) */ #define KEY_MASK 0x003E diff --git a/nuttx/configs/ntosd-dm320/nettest/defconfig b/nuttx/configs/ntosd-dm320/nettest/defconfig index bc1b729df..4b8227413 100644 --- a/nuttx/configs/ntosd-dm320/nettest/defconfig +++ b/nuttx/configs/ntosd-dm320/nettest/defconfig @@ -1,7 +1,7 @@ ############################################################################ # configs/ntosd-dm320/nettest/defconfig # -# Copyright (C) 2007-2009 Gregory Nutt. All rights reserved. +# Copyright (C) 2007-2010 Gregory Nutt. All rights reserved. # Author: Gregory Nutt # # Redistribution and use in source and binary forms, with or without @@ -65,11 +65,12 @@ CONFIG_ARCH_CHIP=dm320 CONFIG_ARCH_CHIP_DM320=y CONFIG_ARCH_BOARD=ntosd-dm320 CONFIG_ARCH_BOARD_NTOSD_DM320=y +CONFIG_ARCH_NTOSD_DEVBOARD=n CONFIG_BOARD_LOOPSPERMSEC=16945 -CONFIG_DRAM_SIZE=0x01000000 -CONFIG_DRAM_START=0x01000000 +CONFIG_DRAM_SIZE=0x02000000 +CONFIG_DRAM_START=0x01100000 CONFIG_DRAM_VSTART=0x00000000 -CONFIG_DRAM_NUTTXENTRY=0x01008000 +CONFIG_DRAM_NUTTXENTRY=0x01108000 CONFIG_ARCH_INTERRUPTSTACK=0 CONFIG_ARCH_STACKDUMP=n @@ -129,7 +130,7 @@ CONFIG_UART1_2STOP=0 # CONFIG_RRLOAD_BINARY=n CONFIG_INTELHEX_BINARY=n -CONFIG_RAW_BINARY=n +CONFIG_RAW_BINARY=y CONFIG_HAVE_LIBM=n # diff --git a/nuttx/configs/ntosd-dm320/nsh/defconfig b/nuttx/configs/ntosd-dm320/nsh/defconfig index ad2661bb4..88797543a 100644 --- a/nuttx/configs/ntosd-dm320/nsh/defconfig +++ b/nuttx/configs/ntosd-dm320/nsh/defconfig @@ -1,7 +1,7 @@ ############################################################################ # configs/ntosd-dm320/nsh/defconfig # -# Copyright (C) 2007-2009 Gregory Nutt. All rights reserved. +# Copyright (C) 2007-2010 Gregory Nutt. All rights reserved. # Author: Gregory Nutt # # Redistribution and use in source and binary forms, with or without @@ -65,11 +65,12 @@ CONFIG_ARCH_CHIP=dm320 CONFIG_ARCH_CHIP_DM320=y CONFIG_ARCH_BOARD=ntosd-dm320 CONFIG_ARCH_BOARD_NTOSD_DM320=y +CONFIG_ARCH_NTOSD_DEVBOARD=n CONFIG_BOARD_LOOPSPERMSEC=16945 -CONFIG_DRAM_SIZE=0x01000000 -CONFIG_DRAM_START=0x01000000 +CONFIG_DRAM_SIZE=0x02000000 +CONFIG_DRAM_START=0x01100000 CONFIG_DRAM_VSTART=0x00000000 -CONFIG_DRAM_NUTTXENTRY=0x01008000 +CONFIG_DRAM_NUTTXENTRY=0x01108000 CONFIG_ARCH_INTERRUPTSTACK=0 CONFIG_ARCH_STACKDUMP=n @@ -136,7 +137,7 @@ CONFIG_UART1_2STOP=0 # CONFIG_RRLOAD_BINARY=n CONFIG_INTELHEX_BINARY=n -CONFIG_RAW_BINARY=n +CONFIG_RAW_BINARY=y CONFIG_HAVE_LIBM=n # diff --git a/nuttx/configs/ntosd-dm320/ostest/defconfig b/nuttx/configs/ntosd-dm320/ostest/defconfig index f344e8fc5..cc8958d67 100644 --- a/nuttx/configs/ntosd-dm320/ostest/defconfig +++ b/nuttx/configs/ntosd-dm320/ostest/defconfig @@ -1,7 +1,7 @@ ############################################################################ # configs/ntosd-dm320/ostest/defconfig # -# Copyright (C) 2007-2009 Gregory Nutt. All rights reserved. +# Copyright (C) 2007-2010 Gregory Nutt. All rights reserved. # Author: Gregory Nutt # # Redistribution and use in source and binary forms, with or without @@ -65,11 +65,12 @@ CONFIG_ARCH_CHIP=dm320 CONFIG_ARCH_CHIP_DM320=y CONFIG_ARCH_BOARD=ntosd-dm320 CONFIG_ARCH_BOARD_NTOSD_DM320=y +CONFIG_ARCH_NTOSD_DEVBOARD=n CONFIG_BOARD_LOOPSPERMSEC=16945 -CONFIG_DRAM_SIZE=0x01000000 -CONFIG_DRAM_START=0x01000000 +CONFIG_DRAM_SIZE=0x02000000 +CONFIG_DRAM_START=0x01100000 CONFIG_DRAM_VSTART=0x00000000 -CONFIG_DRAM_NUTTXENTRY=0x01008000 +CONFIG_DRAM_NUTTXENTRY=0x01108000 CONFIG_ARCH_INTERRUPTSTACK=0 CONFIG_ARCH_STACKDUMP=y @@ -136,7 +137,7 @@ CONFIG_UART1_2STOP=0 # CONFIG_RRLOAD_BINARY=n CONFIG_INTELHEX_BINARY=n -CONFIG_RAW_BINARY=n +CONFIG_RAW_BINARY=y CONFIG_HAVE_LIBM=n # diff --git a/nuttx/configs/ntosd-dm320/poll/defconfig b/nuttx/configs/ntosd-dm320/poll/defconfig index bdbab6be3..ca3e162e2 100644 --- a/nuttx/configs/ntosd-dm320/poll/defconfig +++ b/nuttx/configs/ntosd-dm320/poll/defconfig @@ -1,7 +1,7 @@ ############################################################################ # configs/ntosd-dm320/poll/defconfig # -# Copyright (C) 2008, 2009 Gregory Nutt. All rights reserved. +# Copyright (C) 2008-2010 Gregory Nutt. All rights reserved. # Author: Gregory Nutt # # Redistribution and use in source and binary forms, with or without @@ -65,11 +65,12 @@ CONFIG_ARCH_CHIP=dm320 CONFIG_ARCH_CHIP_DM320=y CONFIG_ARCH_BOARD=ntosd-dm320 CONFIG_ARCH_BOARD_NTOSD_DM320=y +CONFIG_ARCH_NTOSD_DEVBOARD=n CONFIG_BOARD_LOOPSPERMSEC=16945 -CONFIG_DRAM_SIZE=0x01000000 -CONFIG_DRAM_START=0x01000000 +CONFIG_DRAM_SIZE=0x02000000 +CONFIG_DRAM_START=0x01100000 CONFIG_DRAM_VSTART=0x00000000 -CONFIG_DRAM_NUTTXENTRY=0x01008000 +CONFIG_DRAM_NUTTXENTRY=0x01108000 CONFIG_ARCH_INTERRUPTSTACK=0 CONFIG_ARCH_STACKDUMP=n @@ -129,7 +130,7 @@ CONFIG_UART1_2STOP=0 # CONFIG_RRLOAD_BINARY=n CONFIG_INTELHEX_BINARY=n -CONFIG_RAW_BINARY=n +CONFIG_RAW_BINARY=y CONFIG_HAVE_LIBM=n # diff --git a/nuttx/configs/ntosd-dm320/thttpd/defconfig b/nuttx/configs/ntosd-dm320/thttpd/defconfig index 7cb7cce17..a727f4dfc 100644 --- a/nuttx/configs/ntosd-dm320/thttpd/defconfig +++ b/nuttx/configs/ntosd-dm320/thttpd/defconfig @@ -1,7 +1,7 @@ ############################################################################ # configs/ntosd-dm320/thttpd/defconfig # -# Copyright (C) 2009 Gregory Nutt. All rights reserved. +# Copyright (C) 2009-2010 Gregory Nutt. All rights reserved. # Author: Gregory Nutt # # Redistribution and use in source and binary forms, with or without @@ -65,11 +65,12 @@ CONFIG_ARCH_CHIP=dm320 CONFIG_ARCH_CHIP_DM320=y CONFIG_ARCH_BOARD=ntosd-dm320 CONFIG_ARCH_BOARD_NTOSD_DM320=y +CONFIG_ARCH_NTOSD_DEVBOARD=n CONFIG_BOARD_LOOPSPERMSEC=16945 -CONFIG_DRAM_SIZE=0x01000000 -CONFIG_DRAM_START=0x01000000 +CONFIG_DRAM_SIZE=0x02000000 +CONFIG_DRAM_START=0x01100000 CONFIG_DRAM_VSTART=0x00000000 -CONFIG_DRAM_NUTTXENTRY=0x01008000 +CONFIG_DRAM_NUTTXENTRY=0x01108000 CONFIG_ARCH_INTERRUPTSTACK=0 CONFIG_ARCH_STACKDUMP=n @@ -133,7 +134,7 @@ CONFIG_UART1_2STOP=0 CONFIG_RRLOAD_BINARY=n CONFIG_INTELHEX_BINARY=n CONFIG_MOTOROLA_SREC=n -CONFIG_RAW_BINARY=n +CONFIG_RAW_BINARY=y CONFIG_HAVE_LIBM=n # diff --git a/nuttx/configs/ntosd-dm320/udp/defconfig b/nuttx/configs/ntosd-dm320/udp/defconfig index 4ed686bc9..9b44b850c 100644 --- a/nuttx/configs/ntosd-dm320/udp/defconfig +++ b/nuttx/configs/ntosd-dm320/udp/defconfig @@ -1,7 +1,7 @@ ############################################################################ # configs/ntosd-dm320/udp/defconfig # -# Copyright (C) 2007-2009 Gregory Nutt. All rights reserved. +# Copyright (C) 2007-2010 Gregory Nutt. All rights reserved. # Author: Gregory Nutt # # Redistribution and use in source and binary forms, with or without @@ -65,11 +65,12 @@ CONFIG_ARCH_CHIP=dm320 CONFIG_ARCH_CHIP_DM320=y CONFIG_ARCH_BOARD=ntosd-dm320 CONFIG_ARCH_BOARD_NTOSD_DM320=y +CONFIG_ARCH_NTOSD_DEVBOARD=n CONFIG_BOARD_LOOPSPERMSEC=16945 -CONFIG_DRAM_SIZE=0x01000000 -CONFIG_DRAM_START=0x01000000 +CONFIG_DRAM_SIZE=0x02000000 +CONFIG_DRAM_START=0x01100000 CONFIG_DRAM_VSTART=0x00000000 -CONFIG_DRAM_NUTTXENTRY=0x01008000 +CONFIG_DRAM_NUTTXENTRY=0x01108000 CONFIG_ARCH_INTERRUPTSTACK=0 CONFIG_ARCH_STACKDUMP=n @@ -129,7 +130,7 @@ CONFIG_UART1_2STOP=0 # CONFIG_RRLOAD_BINARY=n CONFIG_INTELHEX_BINARY=n -CONFIG_RAW_BINARY=n +CONFIG_RAW_BINARY=y CONFIG_HAVE_LIBM=n # diff --git a/nuttx/configs/ntosd-dm320/uip/defconfig b/nuttx/configs/ntosd-dm320/uip/defconfig index 13903db60..cb52795f1 100644 --- a/nuttx/configs/ntosd-dm320/uip/defconfig +++ b/nuttx/configs/ntosd-dm320/uip/defconfig @@ -1,7 +1,7 @@ ############################################################################ # configs/ntosd-dm320/uip/defconfig # -# Copyright (C) 2007-2009 Gregory Nutt. All rights reserved. +# Copyright (C) 2007-2010 Gregory Nutt. All rights reserved. # Author: Gregory Nutt # # Redistribution and use in source and binary forms, with or without @@ -65,11 +65,12 @@ CONFIG_ARCH_CHIP=dm320 CONFIG_ARCH_CHIP_DM320=y CONFIG_ARCH_BOARD=ntosd-dm320 CONFIG_ARCH_BOARD_NTOSD_DM320=y +CONFIG_ARCH_NTOSD_DEVBOARD=n CONFIG_BOARD_LOOPSPERMSEC=16945 -CONFIG_DRAM_SIZE=0x01000000 -CONFIG_DRAM_START=0x01000000 +CONFIG_DRAM_SIZE=0x02000000 +CONFIG_DRAM_START=0x01100000 CONFIG_DRAM_VSTART=0x00000000 -CONFIG_DRAM_NUTTXENTRY=0x01008000 +CONFIG_DRAM_NUTTXENTRY=0x01108000 CONFIG_ARCH_INTERRUPTSTACK=0 CONFIG_ARCH_STACKDUMP=n @@ -129,7 +130,7 @@ CONFIG_UART1_2STOP=0 # CONFIG_RRLOAD_BINARY=n CONFIG_INTELHEX_BINARY=n -CONFIG_RAW_BINARY=n +CONFIG_RAW_BINARY=y CONFIG_HAVE_LIBM=n #