diff options
Diffstat (limited to 'nuttx')
-rw-r--r-- | nuttx/ChangeLog | 60 | ||||
-rw-r--r-- | nuttx/arch/arm/src/lpc214x/Kconfig | 4 | ||||
-rw-r--r-- | nuttx/arch/arm/src/lpc2378/Kconfig | 160 | ||||
-rwxr-xr-x | nuttx/arch/arm/src/lpc2378/lpc23xx_head.S | 8 | ||||
-rw-r--r-- | nuttx/arch/arm/src/lpc2378/lpc23xx_pllsetup.c | 50 | ||||
-rw-r--r-- | nuttx/arch/arm/src/lpc2378/lpc23xx_scb.h | 87 | ||||
-rw-r--r-- | nuttx/arch/arm/src/lpc2378/lpc23xx_serial.c | 4 | ||||
-rw-r--r-- | nuttx/configs/olimex-lpc2378/nsh/appconfig | 44 | ||||
-rw-r--r-- | nuttx/configs/olimex-lpc2378/nsh/defconfig | 866 | ||||
-rw-r--r-- | nuttx/configs/olimex-lpc2378/src/up_leds.c | 43 |
10 files changed, 960 insertions, 366 deletions
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog index 35449483e..55f39d5e6 100644 --- a/nuttx/ChangeLog +++ b/nuttx/ChangeLog @@ -6696,51 +6696,53 @@ cases where there wass some good argument to retain the ostest configuration) (2014-2-28) * configurations (2014-2-28). - * configs/stm3240g-eval/nsh2: Configuration converted to use the - kconfig-frontends tools (2014-3-1). - * configs/stm3220g-eval/nsh2: Configuration converted to use the - kconfig-frontends tools (2014-3-1). - * configs/stm3210e-eval/nsh: Configuration converted to use the - kconfig-frontends tools (2014-3-1). - * configs/stm3210e-eval/nsh2: Configuration converted to use the - kconfig-frontends tools (2014-3-1). + * configs/stm3240g-eval/nsh2: Configuration converted to use the + kconfig-frontends tools (2014-3-1). + * configs/stm3220g-eval/nsh2: Configuration converted to use the + kconfig-frontends tools (2014-3-1). + * configs/stm3210e-eval/nsh: Configuration converted to use the + kconfig-frontends tools (2014-3-1). + * configs/stm3210e-eval/nsh2: Configuration converted to use the + kconfig-frontends tools (2014-3-1). * configs/lincoln60/nsh: Configuration converted to use the - kconfig-frontends tools (2014-3-1). + kconfig-frontends tools (2014-3-1). * configs/lpcxpresso-lpc1768/nsh: Configuration converted to use the - kconfig-frontends tools (2014-3-1). - * configs/nucleus2g/nsh: Configuration converted to use the - kconfig-frontends tools (2014-3-1). - * configs/vsn/nsh: Configuration converted to use the kconfig-frontends + kconfig-frontends tools (2014-3-1). + * configs/nucleus2g/nsh: Configuration converted to use the + kconfig-frontends tools (2014-3-1). + * configs/vsn/nsh: Configuration converted to use the kconfig-frontends tools (2014-3-1). - * configs/mirtoo/nsh: Configuration converted to use the kconfig-frontends - tools (2014-3-1). - * configs/pic32-starterkit/nsh: Configuration converted to use the - kconfig-frontends tools (2014-3-1). - * configs/pic32-starterkit/nsh2: Configuration converted to use the - kconfig-frontends tools (2014-3-1) + * configs/mirtoo/nsh: Configuration converted to use the kconfig-frontends + tools (2014-3-1). + * configs/pic32-starterkit/nsh: Configuration converted to use the + kconfig-frontends tools (2014-3-1). + * configs/pic32-starterkit/nsh2: Configuration converted to use the + kconfig-frontends tools (2014-3-1) * configs/pic32mx7mmb/nsh: Configuration converted to use the - kconfig-frontends tools (2014-3-1). + kconfig-frontends tools (2014-3-1). * configs/ubw32/nsh: Configuration converted to use the kconfig-frontends - tools (2014-3-1). + tools (2014-3-1). * configs/sim/nsh2: Configuration converted to use the kconfig-frontends - tools (2014-3-1). + tools (2014-3-1). * configs/lm3s6432-s2e/nsh: Configuration converted to use the - kconfig-frontends tools (2014-3-1) + kconfig-frontends tools (2014-3-1) * configs/lm3s8962-ek/nsh: Configuration converted to use the - kconfig-frontends tools (2014-3-1). + kconfig-frontends tools (2014-3-1). * configs/eagle100/nsh: Configuration converted to use the - kconfig-frontends tools (2014-3-1). + kconfig-frontends tools (2014-3-1). * configs/stm32f4discovery/src/Makefile: Fix type: stm32_pwm.c not stm32_psm.c. Noted by Max Kriegleder (2014-3-1). * configs/lpc4330-xplorer/nsh Configuration converted to use the - kconfig-frontends tools (2014-3-1). + kconfig-frontends tools (2014-3-1). * configs/ea3152/ostest: Configuration converted to use the - kconfig-frontends tools (2014-3-1). + kconfig-frontends tools (2014-3-1). * configs/stm3210e-eval/RIDE, nxlines, and nxtext: Remove some old style configurations that are not worth converting to use the kconfig-frontends tools (2014-3-2). * configs/stm3210e-eval/nx: Configuration converted to use the - kconfig-frontends tools (2014-3-2). + kconfig-frontends tools (2014-3-2). * configs/mirtoo/nxffs: Configuration converted to use the kconfig-frontends - tools (2014-3-1). + tools (2014-3-1). + * configs/olimex-lpc2378/nsh: Configuration converted to use the + kconfig-frontends tools (2014-3-2) diff --git a/nuttx/arch/arm/src/lpc214x/Kconfig b/nuttx/arch/arm/src/lpc214x/Kconfig index 25b82bd6b..266c43d6b 100644 --- a/nuttx/arch/arm/src/lpc214x/Kconfig +++ b/nuttx/arch/arm/src/lpc214x/Kconfig @@ -37,7 +37,7 @@ config DEFAULT_MODE endchoice config CODE_BASE - hex "Execuation Base Address" + hex "Execution Base Address" default 0x00000000 ---help--- This must match the expected address for the selected "Memory @@ -45,7 +45,7 @@ config CODE_BASE EXTMEM_MODE: 0x8000:0000 RAM_MODE: 0x4000:0000 - DEFAULT)MODE: 0x0000:0000 + DEFAULT_MODE: 0x0000:0000 config PLL_SETUP bool "Configure the PLL" diff --git a/nuttx/arch/arm/src/lpc2378/Kconfig b/nuttx/arch/arm/src/lpc2378/Kconfig index 89a515d6a..2d3cbb4ae 100644 --- a/nuttx/arch/arm/src/lpc2378/Kconfig +++ b/nuttx/arch/arm/src/lpc2378/Kconfig @@ -4,3 +4,163 @@ # comment "LPC2378 Configuration Options" + +choice + prompt "Memory Execution Mode" + default LPC2378_DEFAULT_MODE + +config LPC2378_EXTMEM_MODE + bool "External Memory Mode" + depends on EXPERIMENTAL # Not used + ---help--- + Code executes from external memory starting at address 0x8000:0000. + +config LPC2378_RAM_MODE + bool "RAM Memory Mode" + depends on EXPERIMENTAL # Not used + ---help--- + Code executes from on-chip RAM at address 0x4000:0000. + +config LPC2378_DEFAULT_MODE + bool "Default Memory Mode" + ---help--- + Executes from 0x0000:0000. In non-default modes, the MEMAP register + is set override the settings of the CPU configuration pins. + +endchoice + +config LPC2378_CODE_BASE + hex "Execution Base Address" + default 0x00000000 + ---help--- + This must match the expected address for the selected "Memory + Execution Address": + + LPC2378_EXTMEM_MODE: 0x8000:0000 + LPC2378_RAM_MODE: 0x4000:0000 + LPC2378_DEFAULT_MODE: 0x0000:0000 + +config LPC2378_PLL_SETUP + bool "Configure the PLL" + default y + +config LPC2378_PLL_CLKSRC + int "PLL clock source" + default 1 + range 0 2 + depends on LPC2378_PLL_SETUP + ---help--- + PLL clock source + +config LPC2378_MAM_SETUP + bool "Configure the Memory Accelerator Module (MAM)" + default y + +config LPC2378_LPC2378_MAMCR_VALUE + int "Memory accelerator mode" + default 1 + range 0 2 + ---help--- + Memory accelerator mode: + + OFF 0 + PART 1 + FULL 2 + +config LPC2378_LPC2378_MAMTIM_VALUE + int "Memory accelerator timing value" + default 3 + ---help--- + Memory accelerator timing value + +config LPC2378_APBDIV_SETUP + bool "Configure the APB Divider" + default y + depends on EXPERIMENTAL # Not used + +config LPC2378_APBDIV_VALUE + int "APB Divisor" + default 1 + depends on EXPERIMENTAL # Not used + +config LPC2378_EMC_SETUP + bool "Configure EMC" + default n + depends on EXPERIMENTAL # Not used + +config LPC2378_BCFG0_SETUP + bool "Configure BCFG0" + default n + depends on EXPERIMENTAL # Not used + +config LPC2378_BCFG1_SETUP + bool "Configure BCFG1" + default n + depends on EXPERIMENTAL # Not used + +config LPC2378_BCFG2_SETUP + bool "Configure BCFG2" + default n + depends on EXPERIMENTAL # Not used + +config BCFG3_SETUP + bool "Configure BCFG3" + default n + depends on EXPERIMENTAL # Not used + +config LPC2378_ADC_SETUP + bool "Configure ADC" + default y + depends on EXPERIMENTAL # Not used + +menu "LPC2378 Peripheral Support" + +config LPC2378_UART0 + bool "UART0" + default y + select ARCH_HAVE_UART0 + +config LPC2378_UART1 + bool "UART1" + default y + select ARCH_HAVE_UART1 + +config LPC2378_UART2 + bool "UART2" + default y + select ARCH_HAVE_UART2 + +config LPC2378_USBDEV + bool "USB Device" + default y + depends on USBDEV + +endmenu + +if LPC2378_USBDEV +menu "LPC2378 USB Device Configuration" + +config LPC2378_USBDEV_DMA + bool "USB Device DMA Support" + default n + +config LPC2378_USBDEV_NDMADESCRIPTORS + int "Number of USB DMA Descriptors" + default 8 + depends on LPC2378_USBDEV_DMA + +config LPC2378_USBDEV_EPFAST_INTERRUPT + bool "USB Device Fast Endpoint Interrupts" + default n + +config LPC2378_USBDEV_FRAME_INTERRUPT + bool "USB Device Frame Interrupts" + default n + +config LPC2378_USBDEV_REGDEBUG + bool "USB Device Register-Level Debug Output" + default n + depends on DEBUG + +endmenu +endif diff --git a/nuttx/arch/arm/src/lpc2378/lpc23xx_head.S b/nuttx/arch/arm/src/lpc2378/lpc23xx_head.S index 1d489babc..d3aa33503 100755 --- a/nuttx/arch/arm/src/lpc2378/lpc23xx_head.S +++ b/nuttx/arch/arm/src/lpc2378/lpc23xx_head.S @@ -6,7 +6,7 @@ * * This file is part of the NuttX RTOS and based on the lpc2148 port: * - * Copyright (C) 2010, 2012 Gregory Nutt. All rights reserved. + * Copyright (C) 2010, 2012, 2014 Gregory Nutt. All rights reserved. * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without @@ -59,6 +59,7 @@ /* Print a character on the UART to show boot status. This macro will * modify r0, r1, r2 and r14 */ + #ifdef CONFIG_DEBUG .macro showprogress, code mov r0, #\code @@ -80,7 +81,7 @@ * * Description: * Interrrupt vector table. This must be located at the beginning - * of the memory space (at CONFIG_CODE_BASE). The first entry in + * of the memory space (at CONFIG_LPC2378_CODE_BASE). The first entry in * the vector table is the reset vector and this is the code that * will execute whn the processor is reset. * @@ -136,6 +137,7 @@ _vector_table: __start: /* Call lowlevel init C-function */ + .extern ConfigurePLL ldr r0, =ConfigurePLL mov lr, pc @@ -153,7 +155,6 @@ __start: showprogress 'A' - /* Setup system stack (and get the BSS range) */ adr r0, LC0 @@ -231,4 +232,3 @@ g_idle_topstack: .size g_idle_topstack, .-g_idle_topstack .end - diff --git a/nuttx/arch/arm/src/lpc2378/lpc23xx_pllsetup.c b/nuttx/arch/arm/src/lpc2378/lpc23xx_pllsetup.c index b11658f99..98286160c 100644 --- a/nuttx/arch/arm/src/lpc2378/lpc23xx_pllsetup.c +++ b/nuttx/arch/arm/src/lpc2378/lpc23xx_pllsetup.c @@ -6,7 +6,7 @@ * * This file is part of the NuttX RTOS: * - * Copyright (C) 2010 Gregory Nutt. All rights reserved. + * Copyright (C) 2010, 2014 Gregory Nutt. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -46,13 +46,13 @@ * MEMAP register is set override the settings of the CPU configuration * pins. * - * CONFIG_EXTMEM_MODE: Code executes from external memory starting at + * CONFIG_LPC2378_EXTMEM_MODE: Code executes from external memory starting at * address 0x8000:0000. * - * CONFIG_RAM_MODE: Code executes from on-chip RAM at address + * CONFIG_LPC2378_RAM_MODE: Code executes from on-chip RAM at address * 0x4000:0000. * - * Starupt Code must be linked to run at the correct address + * Start-up Code must be linked to run at the correct address * corresponding to the selected mode. */ @@ -70,10 +70,10 @@ #include "lpc23xx_pinsel.h" #include "lpc23xx_scb.h" -extern void IO_Init(void); +void IO_Init(void); /*********************************************************************** - * Definitions + * Pre-processor Definitions **********************************************************************/ #if ((FOSC < 32000) || (FOSC > 50000000)) @@ -105,8 +105,8 @@ extern void IO_Init(void); * RTC 2 */ -#ifdef CONFIG_PLL_CLKSRC -# if ( (CONFIG_PLL_CLKSRC < 0) || (CONFIG_PLL_CLKSRC > 2) ) +#ifdef CONFIG_LPC2378_PLL_CLKSRC +# if ( (CONFIG_LPC2378_PLL_CLKSRC < 0) || (CONFIG_LPC2378_PLL_CLKSRC > 2) ) # error "PLL clock source not valid, check configuration " # endif #else @@ -138,13 +138,13 @@ extern void IO_Init(void); /* LPC2378 Rev. '-' errata MAM may not work if fully enabled */ -#ifdef CONFIG_MAM_SETUP -# ifndef CONFIG_MAMCR_VALUE /* Can be selected from config file */ -# define CONFIG_MAMCR_VALUE (MAMCR_PART) +#ifdef CONFIG_LPC2378_MAM_SETUP +# ifndef CONFIG_LPC2378_MAMCR_VALUE /* Can be selected from config file */ +# define CONFIG_LPC2378_MAMCR_VALUE (MAMCR_PART) # endif -# ifndef CONFIG_MAMTIM_VALUE /* Can be selected from config file */ -# define CONFIG_MAMTIM_VALUE (0x00000003) +# ifndef CONFIG_LPC2378_MAMTIM_VALUE /* Can be selected from config file */ +# define CONFIG_LPC2378_MAMTIM_VALUE (0x00000003) # endif #endif @@ -171,12 +171,15 @@ void ConfigurePLL(void) uint32_t MSel, NSel; /* LPC2378 Rev.'-' errata Enable the Ethernet block to enable 16k EnetRAM */ + SCB_PCONP |= PCENET; /* Vectors are remapped to Flash */ + SCB_MEMMAP = MEMMAP2FLASH; /* Enable PLL, disconnected */ + if (SCB_PLLSTAT & (1 << 25)) { SCB_PLLCON = 0x01; @@ -184,37 +187,48 @@ void ConfigurePLL(void) } /* Disable PLL, disconnected */ + SCB_PLLCON = 0; up_scbpllfeed(); /* Enable main OSC */ + SCB_SCS |= 0x20; /* Wait until main OSC is usable */ + while (!(SCB_SCS & 0x40)); /* select main OSC, 12MHz, as the PLL clock source */ - SCB_CLKSRCSEL = CONFIG_PLL_CLKSRC; + + SCB_CLKSRCSEL = CONFIG_LPC2378_PLL_CLKSRC; /* Reconfigure PLL */ + SCB_PLLCFG = PLL; up_scbpllfeed(); /* Enable PLL */ + SCB_PLLCON = 0x01; up_scbpllfeed(); /* Set clock divider */ + SCB_CCLKCFG = CCLK_DIV; #ifdef CONFIG_USBDEV /* usbclk = 288 MHz/6 = 48 MHz */ + SCB_USBCLKCFG = USBCLK_DIV; + /* Turn On USB PCLK */ + SCB_PCONP |= PCUSB; #endif /* Wait for PLL to lock */ + while ((SCB_PLLSTAT & (1 << 26)) == 0); MSel = SCB_PLLSTAT & 0x00007FFF; @@ -222,18 +236,22 @@ void ConfigurePLL(void) while ((MSel != PLL_M) && (NSel != PLL_N)); /* Enable and connect */ + SCB_PLLCON = 0x03; up_scbpllfeed(); /* Check connect bit status */ + while ((SCB_PLLSTAT & (1 << 25)) == 0); /* Set memory accelerater module */ + SCB_MAMCR = 0; - SCB_MAMTIM = CONFIG_MAMTIM_VALUE; - SCB_MAMCR = CONFIG_MAMCR_VALUE; + SCB_MAMTIM = CONFIG_LPC2378_MAMTIM_VALUE; + SCB_MAMCR = CONFIG_LPC2378_MAMCR_VALUE; /* Enable FastIO on P0:P1 */ + SCB_SCS |= 0x01; IO_Init(); diff --git a/nuttx/arch/arm/src/lpc2378/lpc23xx_scb.h b/nuttx/arch/arm/src/lpc2378/lpc23xx_scb.h index d876ef6ec..f5e964bf5 100644 --- a/nuttx/arch/arm/src/lpc2378/lpc23xx_scb.h +++ b/nuttx/arch/arm/src/lpc2378/lpc23xx_scb.h @@ -6,7 +6,7 @@ * * This file is part of the NuttX RTOS and based on the lpc2148 port: * - * Copyright (C) 2010 Gregory Nutt. All rights reserved. + * Copyright (C) 2010, 2014 Gregory Nutt. All rights reserved. * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without @@ -49,17 +49,20 @@ #include "lpc23xx_vic.h" /**************************************************************************************************** - * Definitions + * Pre-processor Definitions ****************************************************************************************************/ + #define scb_getreg(o) getreg32(LPC23XX_SCB_BASE + (o)) #define scb_putreg(v,o) putreg32((v),LPC23XX_SCB_BASE + (o)) /* Memory Accelerator Mode */ + #define MAMCR_OFF 0 #define MAMCR_PART 1 #define MAMCR_FULL 2 /* Memory Mapping */ + #define MEMMAP2BBLK 0 /* Interrupt Vectors in Boot Block */ #define MEMMAP2FLASH 1 /* Interrupt Vectors in FLASH */ #define MEMMAP2SRAM 2 /* Interrupt Vectors in RAM */ @@ -68,58 +71,58 @@ /* PLL Control Register Bit Settings */ -#define PLLCON_PLLE (1 << 0) /* PLL Enable */ -#define PLLCON_PLLC (1 << 1) /* PLL Connect */ +#define PLLCON_PLLE (1 << 0) /* PLL Enable */ +#define PLLCON_PLLC (1 << 1) /* PLL Connect */ /* PLL Configuration Register Bit Settings */ -#define PLLCFG_MSEL (0x0000FFFF << 0) /* PLL Multiplier (minus 1) */ -#define PLLCFG_NSEL (0x000000FF << 16) /* PLL Divider */ - +#define PLLCFG_MSEL (0x0000ffff << 0) /* PLL Multiplier (minus 1) */ +#define PLLCFG_NSEL (0x000000ff << 16) /* PLL Divider */ /* PLL Status Register Bit Settings */ -#define PLLSTAT_MSEL (0x7FFF << 0) /* PLL Multiplier Readback */ -#define PLLSTAT_NSEL (0xFF << 16) /* PLL Divider Readback */ -#define PLLSTAT_PLLE (1 << 24) /* PLL Enable Readback */ -#define PLLSTAT_PLLC (1 << 25) /* PLL Connect Readback */ -#define PLLSTAT_PLOCK (1 << 26) /* PLL Lock Status */ +#define PLLSTAT_MSEL (0x7fff << 0) /* PLL Multiplier Readback */ +#define PLLSTAT_NSEL (0xff << 16) /* PLL Divider Readback */ +#define PLLSTAT_PLLE (1 << 24) /* PLL Enable Readback */ +#define PLLSTAT_PLLC (1 << 25) /* PLL Connect Readback */ +#define PLLSTAT_PLOCK (1 << 26) /* PLL Lock Status */ /* PLL Feed Register values */ -#define PLLFEED1 0xaa -#define PLLFEED2 0x55 - +#define PLLFEED1 0xaa +#define PLLFEED2 0x55 /* Peripheral Power Control (PCONP) Register 0xE01FC0C4 */ -#define PCTIM0 (1 << 1) /* Timer/Counter 0 */ -#define PCTIM1 (1 << 2) /* Timer/Counter 1 */ -#define PCUART0 (1 << 3) /* UART0 power/clock */ -#define PCUART1 (1 << 4) /* UART1 power/clock */ -#define PCPWM1 (1 << 5) /* Unused, always 0 */ -#define PWM1 (1 << 6) /* Pulse Width Modulation 1 */ -#define PCI2C0 (1 << 7) /* I2C0 interface */ -#define PCSPI (1 << 8) /* SPI */ -#define PCRTC (1 << 9) /* Real Time Clock*/ -#define PCSSP1 (1 << 10) /* SSP1 */ -#define PCEMC (1 << 11) /* External Memory Controller */ -#define PCAD (1 << 12) /* A/D converter (ADC) Note: Clear the PDN bit in the AD0CR before - clearing this bit, and set this bit before setting PDN */ -#define PCAN1 (1 << 13) /* CAN Controller 1 */ -#define PCAN2 (1 << 14) /* CAN Controller 2 */ -#define PCI2C1 (1 << 19) /* The I2C1 interface power/clock control bit */ -#define PCSSP0 (1 << 21) /* The SSP0 interface power/clock control bit */ -#define PCTIM2 (1 << 22) /* Timer 2 */ -#define PCTIM3 (1 << 23) /* Timer 3 */ -#define PCUART2 (1 << 24) /* UART 2 */ -#define PCUART3 (1 << 25) /* UART 3 */ -#define PCI2C2 (1 << 26) /* I2C interface 2 */ -#define PCI2S (1 << 27) /* I2S interface */ -#define PCSDC (1 << 28) /* SD card interface */ -#define PCGPDMA (1 << 29) /* GP DMA function */ -#define PCENET (1 << 30) /* Ethernet block */ -#define PCUSB (1 << 31) /* USB interface */ +#define PCTIM0 (1 << 1) /* Timer/Counter 0 */ +#define PCTIM1 (1 << 2) /* Timer/Counter 1 */ +#define PCUART0 (1 << 3) /* UART0 power/clock */ +#define PCUART1 (1 << 4) /* UART1 power/clock */ +#define PCPWM1 (1 << 5) /* Unused, always 0 */ +#define PWM1 (1 << 6) /* Pulse Width Modulation 1 */ +#define PCI2C0 (1 << 7) /* I2C0 interface */ +#define PCSPI (1 << 8) /* SPI */ +#define PCRTC (1 << 9) /* Real Time Clock*/ +#define PCSSP1 (1 << 10) /* SSP1 */ +#define PCEMC (1 << 11) /* External Memory Controller */ +#define PCAD (1 << 12) /* A/D converter (ADC) Note: Clear the PDN + * bit in the AD0CR before clearing this bit, + * and set this bit before setting PDN */ +#define PCAN1 (1 << 13) /* CAN Controller 1 */ +#define PCAN2 (1 << 14) /* CAN Controller 2 */ +#define PCI2C1 (1 << 19) /* The I2C1 interface power/clock control bit */ +#define PCSSP0 (1 << 21) /* The SSP0 interface power/clock control bit */ +#define PCTIM2 (1 << 22) /* Timer 2 */ +#define PCTIM3 (1 << 23) /* Timer 3 */ +#define PCUART2 (1 << 24) /* UART 2 */ +#define PCUART3 (1 << 25) /* UART 3 */ +#define PCI2C2 (1 << 26) /* I2C interface 2 */ +#define PCI2S (1 << 27) /* I2S interface */ +#define PCSDC (1 << 28) /* SD card interface */ +#define PCGPDMA (1 << 29) /* GP DMA function */ +#define PCENET (1 << 30) /* Ethernet block */ +#define PCUSB (1 << 31) /* USB interface */ + /**************************************************************************************************** * Inline Functions ****************************************************************************************************/ diff --git a/nuttx/arch/arm/src/lpc2378/lpc23xx_serial.c b/nuttx/arch/arm/src/lpc2378/lpc23xx_serial.c index b7a27072d..fbbebf51b 100644 --- a/nuttx/arch/arm/src/lpc2378/lpc23xx_serial.c +++ b/nuttx/arch/arm/src/lpc2378/lpc23xx_serial.c @@ -136,7 +136,7 @@ static char g_uart2txbuffer[CONFIG_UART2_TXBUFSIZE]; /* This describes the state of the LPC214X uart0 port. */ -#ifdef CONFIG_UART0 +#ifdef CONFIG_LPC2378_UART0 static struct up_dev_s g_uart0priv = { .uartbase = UART0_BASE_ADDR, @@ -164,7 +164,7 @@ static uart_dev_t g_uart0port = }; #endif -#ifdef CONFIG_UART2 +#ifdef CONFIG_LPC2378_UART2 /* This describes the state of the LPC23XX uart2 port. */ diff --git a/nuttx/configs/olimex-lpc2378/nsh/appconfig b/nuttx/configs/olimex-lpc2378/nsh/appconfig deleted file mode 100644 index 3d90550d5..000000000 --- a/nuttx/configs/olimex-lpc2378/nsh/appconfig +++ /dev/null @@ -1,44 +0,0 @@ -############################################################################ -# configs/olimex-lpc2378/nsh/appconfig -# -# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <gnutt@nuttx.org> -# -# 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. -# -############################################################################ - -# Path to example in apps/examples containing the user_start entry point - -CONFIGURED_APPS += examples/nsh - -# The NSH library - -CONFIGURED_APPS += system/readline -CONFIGURED_APPS += nshlib - diff --git a/nuttx/configs/olimex-lpc2378/nsh/defconfig b/nuttx/configs/olimex-lpc2378/nsh/defconfig index 9f7437955..9b2d75b4c 100644 --- a/nuttx/configs/olimex-lpc2378/nsh/defconfig +++ b/nuttx/configs/olimex-lpc2378/nsh/defconfig @@ -1,189 +1,235 @@ -############################################################################ -# configs/olimex-lpc2378/nsh/defconfig -# -# Copyright (C) 2010 Rommel Marcelo. All rights reserved. -# Author: Rommel Marcelo -# -# This is part of the NuttX RTOS and based on the LPC2148 port: -# -# Copyright (C) 2010 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt <gnutt@nuttx.org> -# -# 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" +# Automatically generated file; DO NOT EDIT. +# Nuttx/ Configuration +# +CONFIG_NUTTX_NEWCONFIG=y + +# +# Build Setup +# +# CONFIG_EXPERIMENTAL is not set +# CONFIG_DEFAULT_SMALL is not set +CONFIG_HOST_LINUX=y +# CONFIG_HOST_OSX is not set +# CONFIG_HOST_WINDOWS is not set +# CONFIG_HOST_OTHER is not set + +# +# Build Configuration +# +# CONFIG_APPS_DIR="../apps" +# CONFIG_BUILD_2PASS is not set + +# +# Binary Output Formats +# +# CONFIG_RRLOAD_BINARY is not set +# CONFIG_INTELHEX_BINARY is not set +# CONFIG_MOTOROLA_SREC is not set +CONFIG_RAW_BINARY=y + +# +# Customize Header Files +# +# CONFIG_ARCH_STDBOOL_H is not set +# CONFIG_ARCH_MATH_H is not set +# CONFIG_ARCH_FLOAT_H is not set +# CONFIG_ARCH_STDARG_H is not set + +# +# Debug Options +# +# CONFIG_DEBUG is not set +CONFIG_ARCH_HAVE_STACKCHECK=y +# CONFIG_ARCH_HAVE_HEAPCHECK is not set +# CONFIG_DEBUG_SYMBOLS is not set +CONFIG_ARCH_HAVE_CUSTOMOPT=y +# CONFIG_DEBUG_NOOPT is not set +# CONFIG_DEBUG_CUSTOMOPT is not set +CONFIG_DEBUG_FULLOPT=y + +# +# System Type +# +# CONFIG_ARCH_8051 is not set CONFIG_ARCH_ARM=y +# CONFIG_ARCH_AVR is not set +# CONFIG_ARCH_HC is not set +# CONFIG_ARCH_MIPS is not set +# CONFIG_ARCH_RGMP is not set +# CONFIG_ARCH_SH is not set +# CONFIG_ARCH_SIM is not set +# CONFIG_ARCH_X86 is not set +# CONFIG_ARCH_Z16 is not set +# CONFIG_ARCH_Z80 is not set +CONFIG_ARCH="arm" + +# +# ARM Options +# +# CONFIG_ARCH_CHIP_A1X is not set +# CONFIG_ARCH_CHIP_C5471 is not set +# CONFIG_ARCH_CHIP_CALYPSO is not set +# CONFIG_ARCH_CHIP_DM320 is not set +# CONFIG_ARCH_CHIP_IMX is not set +# CONFIG_ARCH_CHIP_KINETIS is not set +# CONFIG_ARCH_CHIP_KL is not set +# CONFIG_ARCH_CHIP_LM is not set +# CONFIG_ARCH_CHIP_LPC17XX is not set +# CONFIG_ARCH_CHIP_LPC214X is not set +CONFIG_ARCH_CHIP_LPC2378=y +# CONFIG_ARCH_CHIP_LPC31XX is not set +# CONFIG_ARCH_CHIP_LPC43XX is not set +# CONFIG_ARCH_CHIP_NUC1XX is not set +# CONFIG_ARCH_CHIP_SAMA5 is not set +# CONFIG_ARCH_CHIP_SAMD is not set +# CONFIG_ARCH_CHIP_SAM34 is not set +# CONFIG_ARCH_CHIP_STM32 is not set +# CONFIG_ARCH_CHIP_STR71X is not set CONFIG_ARCH_ARM7TDMI=y +# CONFIG_ARCH_ARM926EJS is not set +# CONFIG_ARCH_ARM920T is not set +# CONFIG_ARCH_CORTEXM0 is not set +# CONFIG_ARCH_CORTEXM3 is not set +# CONFIG_ARCH_CORTEXM4 is not set +# CONFIG_ARCH_CORTEXA5 is not set +# CONFIG_ARCH_CORTEXA8 is not set +CONFIG_ARCH_FAMILY="arm" CONFIG_ARCH_CHIP="lpc2378" -CONFIG_ARCH_CHIP_LPC2378=y -CONFIG_ARCH_BOARD="olimex-lpc2378" -CONFIG_ARCH_BOARD_OLIMEXLPC2378=y -CONFIG_ARCH_IRQPRIO=y -CONFIG_BOARD_LOOPSPERMSEC=3270 -CONFIG_ARCH_LEDS=y -CONFIG_RAM_SIZE=32768 -CONFIG_RAM_START=0x40000000 -CONFIG_ARCH_INTERRUPTSTACK=0 +# CONFIG_ARCH_HAVE_FPU is not set +# CONFIG_ARCH_HAVE_MPU is not set +CONFIG_ARCH_HAVE_LOWVECTORS=y +# CONFIG_ARCH_LOWVECTORS is not set + +# +# ARM Configuration Options +# +# CONFIG_ARM_TOOLCHAIN_BUILDROOT is not set +CONFIG_ARM_TOOLCHAIN_CODESOURCERYL=y +# CONFIG_ARM_TOOLCHAIN_GNU_EABIL is not set +# CONFIG_ARM_TOOLCHAIN_GNU_OABI is not set + +# +# LPC2378 Configuration Options +# +CONFIG_LPC2378_DEFAULT_MODE=y +CONFIG_LPC2378_CODE_BASE=0x00000000 +CONFIG_LPC2378_PLL_SETUP=y +CONFIG_LPC2378_PLL_CLKSRC=1 +CONFIG_LPC2378_MAM_SETUP=y + +# +# LPC2378 Peripheral Support +# +CONFIG_LPC2378_UART0=y +# CONFIG_LPC2378_UART1 is not set +CONFIG_LPC2378_UART2=y + +# +# Architecture Options +# +# CONFIG_ARCH_NOINTC is not set +# CONFIG_ARCH_VECNOTIRQ is not set +# CONFIG_ARCH_DMA is not set +# CONFIG_ARCH_HAVE_IRQPRIO is not set +# CONFIG_CUSTOM_STACK is not set +# CONFIG_ADDRENV is not set +CONFIG_ARCH_HAVE_VFORK=y +# CONFIG_ARCH_HAVE_MMU is not set +# CONFIG_ARCH_NAND_HWECC is not set CONFIG_ARCH_STACKDUMP=y +# CONFIG_ENDIAN_BIG is not set +# CONFIG_ARCH_HAVE_RAMFUNCS is not set +# CONFIG_ARCH_HAVE_RAMVECTORS is not set -# Identify toolchain and linker options # -CONFIG_OLIMEX_LPC2378_CODESOURCERYW=n -CONFIG_OLIMEX_LPC2378_CODESOURCERYL=y -CONFIG_OLIMEX_LPC2378_DEVKITARM=n -CONFIG_OLIMEX_LPC2378_BUILDROOT=n +# Board Settings +# +CONFIG_BOARD_LOOPSPERMSEC=3270 +# CONFIG_ARCH_CALIBRATION is not set # -# LPC2378 specific chip initialization -#CONFIG_PLL_CLKSRC - identifies the clock source to use -# IRC = 0, MAIN = 1, RTC = 2 +# Interrupt options # -CONFIG_EXTMEM_MODE=n -CONFIG_RAM_MODE=n -CONFIG_CODE_BASE=0x00000000 -CONFIG_PLL_SETUP=y -CONFIG_PLL_CLKSRC= 1 -CONFIG_MAM_SETUP=y -#TODO: CONFIG_EMC_SETUP=n -CONFIG_ADC_SETUP=n -CONFIG_USBDEV=n -CONFIG_UART0=y -CONFIG_UART2=y +CONFIG_ARCH_HAVE_INTERRUPTSTACK=y +CONFIG_ARCH_INTERRUPTSTACK=0 +# CONFIG_ARCH_HAVE_HIPRI_INTERRUPT is not set # -# LPC23xx specific device driver settings +# Boot options # -CONFIG_UART0_SERIAL_CONSOLE=y -CONFIG_UART2_SERIAL_CONSOLE=n +# CONFIG_BOOT_RUNFROMEXTSRAM is not set +CONFIG_BOOT_RUNFROMFLASH=y +# CONFIG_BOOT_RUNFROMISRAM is not set +# CONFIG_BOOT_RUNFROMSDRAM is not set +# CONFIG_BOOT_COPYTORAM is not set -CONFIG_UART0_TXBUFSIZE=128 -CONFIG_UART2_TXBUFSIZE=256 +# +# Boot Memory Configuration +# +CONFIG_RAM_START=0x40000000 +CONFIG_RAM_SIZE=32768 +# CONFIG_ARCH_HAVE_SDRAM is not set -CONFIG_UART0_RXBUFSIZE=128 -CONFIG_UART2_RXBUFSIZE=256 +# +# Board Selection +# +CONFIG_ARCH_BOARD_OLIMEXLPC2378=y +# CONFIG_ARCH_BOARD_CUSTOM is not set +CONFIG_ARCH_BOARD="olimex-lpc2378" -# Baud Rate -CONFIG_UART0_BAUD=9600 -CONFIG_UART2_BAUD=576000 -# Data Bits -CONFIG_UART0_BITS=8 -CONFIG_UART2_BITS=8 -# Parity Bits -CONFIG_UART0_PARITY=0 -CONFIG_UART2_PARITY=0 -# 2 Stop Bits ? -CONFIG_UART0_2STOP=0 -CONFIG_UART2_2STOP=0 +# +# Common Board Options +# +CONFIG_ARCH_HAVE_LEDS=y +CONFIG_ARCH_LEDS=y +CONFIG_NSH_MMCSDMINOR=0 # -# General build options +# Board-Specific Options # -CONFIG_RRLOAD_BINARY=n -CONFIG_INTELHEX_BINARY=n -CONFIG_RAW_BINARY=y # -# General OS setup +# RTOS Features # -CONFIG_USER_ENTRYPOINT="nsh_main" -CONFIG_DEBUG=n -CONFIG_DEBUG_VERBOSE=n -#CONFIG_DEBUG_MM=y -#CONFIG_DEBUG_SCHED=y -CONFIG_DEBUG_FS=y -CONFIG_MM_REGIONS=1 -CONFIG_ARCH_LOWPUTC=y +# CONFIG_BOARD_INITIALIZE is not set +CONFIG_MSEC_PER_TICK=10 +# CONFIG_SYSTEM_TIME64 is not set CONFIG_RR_INTERVAL=0 -CONFIG_SCHED_INSTRUMENTATION=n +# CONFIG_SCHED_CPULOAD is not set +# CONFIG_SCHED_INSTRUMENTATION is not set CONFIG_TASK_NAME_SIZE=0 +# CONFIG_SCHED_HAVE_PARENT is not set +# CONFIG_JULIAN_TIME is not set CONFIG_START_YEAR=2010 CONFIG_START_MONTH=4 CONFIG_START_DAY=8 -CONFIG_JULIAN_TIME=n CONFIG_DEV_CONSOLE=y -CONFIG_DEV_LOWCONSOLE= -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_MUTEX_TYPES is not set +# CONFIG_PRIORITY_INHERITANCE is not set +# CONFIG_FDCLONE_DISABLE is not set +# CONFIG_FDCLONE_STDIO is not set 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=n -CONFIG_DISABLE_MOUNTPOINT=n -CONFIG_DISABLE_ENVIRON=n -CONFIG_DISABLE_POLL=y - -# -# Misc libc settings -# -CONFIG_NOPRINTF_FIELDWIDTH=n +# CONFIG_SCHED_WAITPID is not set +# CONFIG_SCHED_STARTHOOK is not set +# CONFIG_SCHED_ATEXIT is not set +# CONFIG_SCHED_ONEXIT is not set +CONFIG_USER_ENTRYPOINT="nsh_main" +CONFIG_DISABLE_OS_API=y +# CONFIG_DISABLE_CLOCK is not set +# CONFIG_DISABLE_POSIX_TIMERS is not set +# CONFIG_DISABLE_PTHREAD is not set +# CONFIG_DISABLE_SIGNALS is not set +# CONFIG_DISABLE_MQUEUE is not set +# CONFIG_DISABLE_ENVIRON is not set # -# Allow for architecture optimized implementations +# Signal Numbers # -# 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 +CONFIG_SIG_SIGUSR1=1 +CONFIG_SIG_SIGUSR2=2 +CONFIG_SIG_SIGALARM=3 +CONFIG_SIG_SIGCONDTIMEDOUT=16 # # Sizes of configurable things (0 disables) @@ -194,8 +240,6 @@ CONFIG_NPTHREAD_KEYS=4 CONFIG_NFILE_DESCRIPTORS=8 CONFIG_NFILE_STREAMS=8 CONFIG_NAME_MAX=32 -CONFIG_STDIO_BUFFER_SIZE=64 -CONFIG_NUNGET_CHARS=2 CONFIG_PREALLOC_MQ_MSGS=4 CONFIG_MQ_MAXMSGSIZE=32 CONFIG_MAX_WDOGPARMS=2 @@ -203,69 +247,489 @@ CONFIG_PREALLOC_WDOGS=4 CONFIG_PREALLOC_TIMERS=4 # -# Filesystem configuration +# Stack and heap information # -CONFIG_FS_FAT=y -CONFIG_FS_ROMFS=n +CONFIG_IDLETHREAD_STACKSIZE=2048 +CONFIG_USERMAIN_STACKSIZE=2048 +CONFIG_PTHREAD_STACK_MIN=256 +CONFIG_PTHREAD_STACK_DEFAULT=2048 # -# Maintain legacy build behavior (revisit) +# Device Drivers # +CONFIG_DISABLE_POLL=y +CONFIG_DEV_NULL=y +# CONFIG_DEV_ZERO is not set +# CONFIG_LOOP is not set +# CONFIG_RAMDISK is not set +# CONFIG_CAN is not set +# CONFIG_ARCH_HAVE_PWM_PULSECOUNT is not set +# CONFIG_PWM is not set +# CONFIG_ARCH_HAVE_I2CRESET is not set +# CONFIG_I2C is not set +# CONFIG_SPI is not set +# CONFIG_I2S is not set +# CONFIG_RTC is not set +# CONFIG_WATCHDOG is not set +# CONFIG_ANALOG is not set +# CONFIG_AUDIO_DEVICES is not set +# CONFIG_VIDEO_DEVICES is not set +# CONFIG_BCH is not set +# CONFIG_INPUT is not set +# CONFIG_LCD is not set +# CONFIG_MMCSD is not set +# CONFIG_MTD is not set +# CONFIG_PIPES is not set +# CONFIG_PM is not set +# CONFIG_POWER is not set +# CONFIG_SENSORS is not set +# CONFIG_SERCOMM_CONSOLE is not set +CONFIG_SERIAL=y +# CONFIG_DEV_LOWCONSOLE is not set +# CONFIG_16550_UART is not set +CONFIG_ARCH_HAVE_UART0=y +CONFIG_ARCH_HAVE_UART1=y +CONFIG_ARCH_HAVE_UART2=y -CONFIG_MMCSD=y -CONFIG_MMCSD_SPI=y -CONFIG_MTD=y +# +# USART Configuration +# +CONFIG_MCU_SERIAL=y +CONFIG_STANDARD_SERIAL=y +CONFIG_UART0_SERIAL_CONSOLE=y +# CONFIG_UART1_SERIAL_CONSOLE is not set +# CONFIG_UART2_SERIAL_CONSOLE is not set +# CONFIG_NO_SERIAL_CONSOLE is not set # -# SPI-based MMC/SD driver +# UART0 Configuration # -CONFIG_MMCSD_NSLOTS=1 -CONFIG_MMCSD_READONLY=n -CONFIG_MMCSD_SPICLOCK=20000000 +CONFIG_UART0_RXBUFSIZE=128 +CONFIG_UART0_TXBUFSIZE=128 +CONFIG_UART0_BAUD=9600 +CONFIG_UART0_BITS=8 +CONFIG_UART0_PARITY=0 +CONFIG_UART0_2STOP=0 +# CONFIG_UART0_IFLOWCONTROL is not set +# CONFIG_UART0_OFLOWCONTROL is not set + +# +# UART1 Configuration +# +CONFIG_UART1_RXBUFSIZE=256 +CONFIG_UART1_TXBUFSIZE=256 +CONFIG_UART1_BAUD=115200 +CONFIG_UART1_BITS=8 +CONFIG_UART1_PARITY=0 +CONFIG_UART1_2STOP=0 +# CONFIG_UART1_IFLOWCONTROL is not set +# CONFIG_UART1_OFLOWCONTROL is not set + +# +# UART2 Configuration +# +CONFIG_UART2_RXBUFSIZE=256 +CONFIG_UART2_TXBUFSIZE=256 +CONFIG_UART2_BAUD=576000 +CONFIG_UART2_BITS=8 +CONFIG_UART2_PARITY=0 +CONFIG_UART2_2STOP=0 +# CONFIG_UART2_IFLOWCONTROL is not set +# CONFIG_UART2_OFLOWCONTROL is not set +# CONFIG_SERIAL_IFLOWCONTROL is not set +# CONFIG_SERIAL_OFLOWCONTROL is not set +# CONFIG_USBDEV is not set +# CONFIG_USBHOST is not set +# CONFIG_WIRELESS is not set # -# Settings for examples/hello -CONFIG_EXAMPLES_OSTEST_LOOPS=1 -CONFIG_EXAMPLES_OSTEST_STACKSIZE=4096 -CONFIG_EXAMPLES_OSTEST_NBARRIER_THREADS=3 +# System Logging Device Options +# -# Settings for examples/serloop -CONFIG_EXAMPLES_SERLOOP_BUFIO= +# +# System Logging +# +# CONFIG_RAMLOG is not set + +# +# Networking Support +# +# CONFIG_ARCH_HAVE_NET is not set +# CONFIG_ARCH_HAVE_PHY is not set +# CONFIG_NET is not set + +# +# File Systems +# + +# +# File system configuration +# +# CONFIG_DISABLE_MOUNTPOINT is not set +# CONFIG_DISABLE_PSEUDOFS_OPERATIONS is not set +# CONFIG_FS_READABLE is not set +# CONFIG_FS_WRITABLE is not set +# CONFIG_FS_RAMMAP is not set +# CONFIG_FS_FAT is not set +# CONFIG_FS_NXFFS is not set +# CONFIG_FS_ROMFS is not set +# CONFIG_FS_SMARTFS is not set +# CONFIG_FS_PROCFS is not set + +# +# System Logging +# +# CONFIG_SYSLOG_ENABLE is not set +# CONFIG_SYSLOG is not set + +# +# Graphics Support +# +# CONFIG_NX is not set # -# Settings for examples/nsh +# Memory Management # +# CONFIG_MM_MULTIHEAP is not set +# CONFIG_MM_SMALL is not set +CONFIG_MM_REGIONS=1 +# CONFIG_ARCH_HAVE_HEAP2 is not set +# CONFIG_GRAN is not set + +# +# Audio Support +# +# CONFIG_AUDIO is not set + +# +# Binary Formats +# +# CONFIG_BINFMT_DISABLE is not set +# CONFIG_BINFMT_EXEPATH is not set +# CONFIG_NXFLAT is not set +# CONFIG_ELF is not set +# CONFIG_BUILTIN is not set +# CONFIG_PIC is not set +# CONFIG_SYMTAB_ORDEREDBYNAME is not set + +# +# Library Routines +# + +# +# Standard C Library Options +# +CONFIG_STDIO_BUFFER_SIZE=64 +CONFIG_STDIO_LINEBUFFER=y +CONFIG_NUNGET_CHARS=2 +CONFIG_LIB_HOMEDIR="/" +# CONFIG_LIBM is not set +# CONFIG_NOPRINTF_FIELDWIDTH is not set +# CONFIG_LIBC_FLOATINGPOINT is not set +CONFIG_LIB_RAND_ORDER=1 +# CONFIG_EOL_IS_CR is not set +# CONFIG_EOL_IS_LF is not set +# CONFIG_EOL_IS_BOTH_CRLF is not set +CONFIG_EOL_IS_EITHER_CRLF=y +# CONFIG_LIBC_EXECFUNCS is not set +CONFIG_POSIX_SPAWN_PROXY_STACKSIZE=1024 +CONFIG_TASK_SPAWN_DEFAULT_STACKSIZE=2048 +# CONFIG_LIBC_STRERROR is not set +# CONFIG_LIBC_PERROR_STDOUT is not set +CONFIG_ARCH_LOWPUTC=y +CONFIG_LIB_SENDFILE_BUFSIZE=512 +# CONFIG_ARCH_ROMGETC is not set +# CONFIG_ARCH_OPTIMIZED_FUNCTIONS is not set + +# +# Non-standard Library Support +# +# CONFIG_SCHED_WORKQUEUE is not set +# CONFIG_LIB_KBDCODEC is not set +# CONFIG_LIB_SLCDCODEC is not set + +# +# Basic CXX Support +# +# CONFIG_C99_BOOL8 is not set +# CONFIG_HAVE_CXX is not set + +# +# Application Configuration +# + +# +# Built-In Applications +# + +# +# Examples +# +# CONFIG_EXAMPLES_BUTTONS is not set +# CONFIG_EXAMPLES_CAN is not set +# CONFIG_EXAMPLES_CONFIGDATA is not set +# CONFIG_EXAMPLES_DHCPD is not set +# CONFIG_EXAMPLES_ELF is not set +# CONFIG_EXAMPLES_FTPC is not set +# CONFIG_EXAMPLES_FTPD is not set +# CONFIG_EXAMPLES_HELLO is not set +# CONFIG_EXAMPLES_HELLOXX is not set +# CONFIG_EXAMPLES_JSON is not set +# CONFIG_EXAMPLES_HIDKBD is not set +# CONFIG_EXAMPLES_KEYPADTEST is not set +# CONFIG_EXAMPLES_IGMP is not set +# CONFIG_EXAMPLES_LCDRW is not set +# CONFIG_EXAMPLES_MM is not set +# CONFIG_EXAMPLES_MODBUS is not set +# CONFIG_EXAMPLES_MOUNT is not set +# CONFIG_EXAMPLES_NRF24L01TERM is not set +CONFIG_EXAMPLES_NSH=y +# CONFIG_EXAMPLES_NULL is not set +# CONFIG_EXAMPLES_NX is not set +# CONFIG_EXAMPLES_NXCONSOLE is not set +# CONFIG_EXAMPLES_NXFFS is not set +# CONFIG_EXAMPLES_NXFLAT is not set +# CONFIG_EXAMPLES_NXHELLO is not set +# CONFIG_EXAMPLES_NXIMAGE is not set +# CONFIG_EXAMPLES_NXLINES is not set +# CONFIG_EXAMPLES_NXTEXT is not set +# CONFIG_EXAMPLES_OSTEST is not set +# CONFIG_EXAMPLES_PASHELLO is not set +# CONFIG_EXAMPLES_PIPE is not set +# CONFIG_EXAMPLES_POLL is not set +# CONFIG_EXAMPLES_POSIXSPAWN is not set +# CONFIG_EXAMPLES_QENCODER is not set +# CONFIG_EXAMPLES_RGMP is not set +# CONFIG_EXAMPLES_ROMFS is not set +# CONFIG_EXAMPLES_SENDMAIL is not set +# CONFIG_EXAMPLES_SERLOOP is not set +# CONFIG_EXAMPLES_SLCD is not set +# CONFIG_EXAMPLES_SMART is not set +# CONFIG_EXAMPLES_TCPECHO is not set +# CONFIG_EXAMPLES_TELNETD is not set +# CONFIG_EXAMPLES_THTTPD is not set +# CONFIG_EXAMPLES_TIFF is not set +# CONFIG_EXAMPLES_TOUCHSCREEN is not set +# CONFIG_EXAMPLES_UDP is not set +# CONFIG_EXAMPLES_UIP is not set +# CONFIG_EXAMPLES_USBSERIAL is not set +# CONFIG_EXAMPLES_USBTERM is not set +# CONFIG_EXAMPLES_WATCHDOG is not set + +# +# Graphics Support +# +# CONFIG_TIFF is not set + +# +# Interpreters +# +# CONFIG_INTERPRETERS_FICL is not set +# CONFIG_INTERPRETERS_PCODE is not set + +# +# Network Utilities +# + +# +# Networking Utilities +# +# CONFIG_NETUTILS_CODECS is not set +# CONFIG_NETUTILS_DHCPD is not set +# CONFIG_NETUTILS_FTPC is not set +# CONFIG_NETUTILS_FTPD is not set +# CONFIG_NETUTILS_JSON is not set +# CONFIG_NETUTILS_SMTP is not set +# CONFIG_NETUTILS_TFTPC is not set +# CONFIG_NETUTILS_THTTPD is not set +# CONFIG_NETUTILS_UIPLIB is not set +# CONFIG_NETUTILS_WEBCLIENT is not set + +# +# FreeModBus +# +# CONFIG_MODBUS is not set + +# +# NSH Library +# +CONFIG_NSH_LIBRARY=y +CONFIG_NSH_READLINE=y +# CONFIG_NSH_CLE is not set + +# +# Disable Individual commands +# +# CONFIG_NSH_DISABLE_ADDROUTE is not set +# CONFIG_NSH_DISABLE_CAT is not set +# CONFIG_NSH_DISABLE_CD is not set +# CONFIG_NSH_DISABLE_CP is not set +# CONFIG_NSH_DISABLE_CMP is not set +# CONFIG_NSH_DISABLE_DD is not set +# CONFIG_NSH_DISABLE_DF is not set +# CONFIG_NSH_DISABLE_DELROUTE is not set +# CONFIG_NSH_DISABLE_ECHO is not set +# CONFIG_NSH_DISABLE_EXEC is not set +# CONFIG_NSH_DISABLE_EXIT is not set +# CONFIG_NSH_DISABLE_FREE is not set +# CONFIG_NSH_DISABLE_GET is not set +# CONFIG_NSH_DISABLE_HELP is not set +# CONFIG_NSH_DISABLE_HEXDUMP is not set +# CONFIG_NSH_DISABLE_IFCONFIG is not set +# CONFIG_NSH_DISABLE_KILL is not set +# CONFIG_NSH_DISABLE_LOSETUP is not set +# CONFIG_NSH_DISABLE_LS is not set +# CONFIG_NSH_DISABLE_MB is not set +# CONFIG_NSH_DISABLE_MKDIR is not set +# CONFIG_NSH_DISABLE_MKFIFO is not set +# CONFIG_NSH_DISABLE_MKRD is not set +# CONFIG_NSH_DISABLE_MH is not set +# CONFIG_NSH_DISABLE_MOUNT is not set +# CONFIG_NSH_DISABLE_MW is not set +# CONFIG_NSH_DISABLE_PS is not set +# CONFIG_NSH_DISABLE_PUT is not set +# CONFIG_NSH_DISABLE_PWD is not set +# CONFIG_NSH_DISABLE_RM is not set +# CONFIG_NSH_DISABLE_RMDIR is not set +# CONFIG_NSH_DISABLE_SET is not set +# CONFIG_NSH_DISABLE_SH is not set +# CONFIG_NSH_DISABLE_SLEEP is not set +# CONFIG_NSH_DISABLE_TEST is not set +# CONFIG_NSH_DISABLE_UMOUNT is not set +# CONFIG_NSH_DISABLE_UNSET is not set +# CONFIG_NSH_DISABLE_USLEEP is not set +# CONFIG_NSH_DISABLE_WGET is not set +# CONFIG_NSH_DISABLE_XD is not set + +# +# Configure Command Options +# +CONFIG_NSH_CMDOPT_DF_H=y +CONFIG_NSH_CODECS_BUFSIZE=128 +CONFIG_NSH_CMDOPT_HEXDUMP=y CONFIG_NSH_FILEIOSIZE=512 -CONFIG_NSH_STRERROR=n CONFIG_NSH_LINELEN=64 +# CONFIG_NSH_DISABLE_SEMICOLON is not set +CONFIG_NSH_CMDPARMS=y +CONFIG_NSH_TMPDIR="/tmp" +CONFIG_NSH_MAXARGUMENTS=6 +CONFIG_NSH_ARGCAT=y CONFIG_NSH_NESTDEPTH=3 -CONFIG_NSH_DISABLESCRIPT=n -CONFIG_NSH_DISABLEBG=n -CONFIG_NSH_ROMFSETC=n +# CONFIG_NSH_DISABLESCRIPT is not set +# CONFIG_NSH_DISABLE_ITEF is not set +# CONFIG_NSH_DISABLE_LOOPS is not set +# CONFIG_NSH_DISABLEBG is not set CONFIG_NSH_CONSOLE=y -CONFIG_NSH_TELNET=n -CONFIG_NSH_ARCHINIT=n -CONFIG_NSH_IOBUFFER_SIZE=512 -CONFIG_NSH_DHCPC=n -CONFIG_NSH_NOMAC=n -CONFIG_NSH_IPADDR=0x0a000002 -CONFIG_NSH_DRIPADDR=0x0a000001 -CONFIG_NSH_NETMASK=0xffffff00 -CONFIG_NSH_ROMFSMOUNTPT="/etc" -CONFIG_NSH_INITSCRIPT="init.d/rcS" -CONFIG_NSH_ROMFSDEVNO=0 -CONFIG_NSH_ROMFSSECTSIZE=64 -CONFIG_NSH_FATDEVNO=1 -CONFIG_NSH_FATSECTSIZE=512 -CONFIG_NSH_FATNSECTORS=1024 -CONFIG_NSH_FATMOUNTPT="/tmp" +# +# USB Trace Support +# +# CONFIG_NSH_CONDEV is not set +# CONFIG_NSH_ARCHINIT is not set -# Stack and heap information # -CONFIG_BOOT_COPYTORAM=n -CONFIG_CUSTOM_STACK=n -CONFIG_IDLETHREAD_STACKSIZE=2048 -CONFIG_USERMAIN_STACKSIZE=2048 -CONFIG_PTHREAD_STACK_MIN=256 -CONFIG_PTHREAD_STACK_DEFAULT=2048 +# NxWidgets/NxWM +# + +# +# Platform-specific Support +# +# CONFIG_PLATFORM_CONFIGDATA is not set + +# +# System Libraries and NSH Add-Ons +# + +# +# USB CDC/ACM Device Commands +# + +# +# USB Composite Device Commands +# + +# +# Custom Free Memory Command +# +# CONFIG_SYSTEM_FREE is not set + +# +# I2C tool +# + +# +# INI File Parser +# +# CONFIG_SYSTEM_INIFILE is not set + +# +# FLASH Program Installation +# +# CONFIG_SYSTEM_INSTALL is not set + +# +# FLASH Erase-all Command +# + +# +# NxPlayer media player library / command Line +# +# CONFIG_SYSTEM_NXPLAYER is not set + +# +# RAM test +# +# CONFIG_SYSTEM_RAMTEST is not set + +# +# readline() +# +CONFIG_SYSTEM_READLINE=y +CONFIG_READLINE_ECHO=y + +# +# Power Off +# +# CONFIG_SYSTEM_POWEROFF is not set + +# +# RAMTRON +# +# CONFIG_SYSTEM_RAMTRON is not set + +# +# SD Card +# +# CONFIG_SYSTEM_SDCARD is not set + +# +# Sysinfo +# +# CONFIG_SYSTEM_SYSINFO is not set + +# +# USB Monitor +# + +# +# EMACS-like Command Line Editor +# +# CONFIG_SYSTEM_CLE is not set + +# +# VI Work-Alike Editor +# +# CONFIG_SYSTEM_VI is not set + +# +# Stack Monitor +# + +# +# USB Mass Storage Device Commands +# + +# +# Zmodem Commands +# +# CONFIG_SYSTEM_ZMODEM is not set diff --git a/nuttx/configs/olimex-lpc2378/src/up_leds.c b/nuttx/configs/olimex-lpc2378/src/up_leds.c index d936bd1a1..e9af220fd 100644 --- a/nuttx/configs/olimex-lpc2378/src/up_leds.c +++ b/nuttx/configs/olimex-lpc2378/src/up_leds.c @@ -6,7 +6,7 @@ * * This is part of the NuttX RTOS and based on the LPC2148 port: * - * Copyright (C) 2010 Gregory Nutt. All rights reserved. + * Copyright (C) 2010, 2014 Gregory Nutt. All rights reserved. * Author: Gregory Nutt <gnutt@nuttx.org> * * Redistribution and use in source and binary forms, with or without @@ -48,34 +48,25 @@ #include "chip.h" #include "up_arch.h" #include "up_internal.h" -//~ #define LPC23XX_FIO_BASE 0x3fffc000 /* Fast I/O 0 base address */ /**************************************************************************** - * Definitions + * Pre-processor Definitions ****************************************************************************/ /* P3.0 : P0.7 PINSEL6 LEDS 1-8 */ -#define LEDBIT(led) (0x01 << (led)) -#define ALL_LEDS (0xFF) -#define STATLED (0x08) -//~ #ifdef CONFIG_LPC23XX_FIO -# define putled8(v,o) putreg8((v), (LPC23XX_FIO_BASE+(o))) -# define putled32(v,r) putreg32((v),(LPC23XX_FIO_BASE+(r))) -# define CLRLEDS putled(ALL_LEDS,FIO3CLR0_OFFSET) - -# define LED_SET_OFFSET FIO3SET0_OFFSET -# define LED_CLR_OFFSET FIO3CLR0_OFFSET -# define LED_DIR_OFFSET FIO3DIR0_OFFSET -# define LED_MASK_OFFSET FIO3MASK0_OFFSET - -//~ #else -//~ # define putled(v,r) putreg32((v),(LPC23XX_GPIO1_BASE+(r))) -//~ # define CLRLEDS putled(STATLED,LPC23XX_GPIO1_SET_OFFSET) -//~ -//~ # define LED_SET_OFFSET LPC23XX_GPIO_SET_OFFSET -//~ # define LED_CLR_OFFSET LPC23XX_GPIO_CLR_OFFSET -//~ # define LED_DIR_OFFSET LPC23XX_GPIO_DIR_OFFSET -//~ #endif + +#define LEDBIT(led) (0x01 << (led)) +#define ALL_LEDS (0xff) +#define STATLED (0x08) + +#define putled8(v,o) putreg8((v), (LPC23XX_FIO_BASE+(o))) +#define putled32(v,r) putreg32((v),(LPC23XX_FIO_BASE+(r))) +#define CLRLEDS putled(ALL_LEDS,FIO3CLR0_OFFSET) + +#define LED_SET_OFFSET FIO3SET0_OFFSET +#define LED_CLR_OFFSET FIO3CLR0_OFFSET +#define LED_DIR_OFFSET FIO3DIR0_OFFSET +#define LED_MASK_OFFSET FIO3MASK0_OFFSET /**************************************************************************** * Private Data @@ -86,7 +77,7 @@ ****************************************************************************/ /**************************************************************************** - * Public Funtions + * Public Functions ****************************************************************************/ /**************************************************************************** @@ -96,7 +87,7 @@ #ifdef CONFIG_ARCH_LEDS void board_led_initialize(void) { - /* Initilize GIOs P1.16-P1.23 */ + /* Initialize GIOs P1.16-P1.23 */ putled8(ALL_LEDS, LED_DIR_OFFSET); putled8(ALL_LEDS, LED_CLR_OFFSET); |