From 875b98578119d2c45cbc44fd12472d7501bde7ee Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Tue, 11 Mar 2014 10:44:00 -0600 Subject: [PATCH] SAM4E-EK: Purely cosmetic updates --- arch/arm/src/sam34/chip/sam4e_pinmap.h | 3 +- configs/sam4e-ek/README.txt | 36 ++++--- configs/sam4e-ek/src/sam4e-ek.h | 132 ++++++++++++++++--------- configs/sam4e-ek/src/sam_boot.c | 2 +- configs/sam4e-ek/src/sam_lcd.c | 110 ++++++++++----------- configs/sam4e-ek/src/sam_leds.c | 32 +++--- configs/sam4e-ek/src/sam_nsh.c | 3 + configs/samd20-xplained/README.txt | 82 +++++++-------- 8 files changed, 216 insertions(+), 184 deletions(-) diff --git a/arch/arm/src/sam34/chip/sam4e_pinmap.h b/arch/arm/src/sam34/chip/sam4e_pinmap.h index ebf2747322..d30d0d9001 100644 --- a/arch/arm/src/sam34/chip/sam4e_pinmap.h +++ b/arch/arm/src/sam34/chip/sam4e_pinmap.h @@ -225,6 +225,8 @@ #define GPIO_SPI0_MISO (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOA | GPIO_PIN12) #define GPIO_SPI0_MOSI (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOA | GPIO_PIN13) +#define GPIO_SPI0_SPCK (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOA | GPIO_PIN14) + #define GPIO_SPI0_NPCS0 (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOA | GPIO_PIN11) #define GPIO_SPI0_NPCS1_1 (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOA | GPIO_PIN31) #define GPIO_SPI0_NPCS1_2 (GPIO_PERIPHA | GPIO_CFG_DEFAULT | GPIO_PORT_PIOB | GPIO_PIN14) @@ -236,7 +238,6 @@ #define GPIO_SPI0_NPCS3_1 (GPIO_PERIPHB | GPIO_CFG_DEFAULT | GPIO_PORT_PIOA | GPIO_PIN22) #define GPIO_SPI0_NPCS3_2 (GPIO_PERIPHB | GPIO_CFG_DEFAULT | GPIO_PORT_PIOA | GPIO_PIN3) #define GPIO_SPI0_NPCS3_3 (GPIO_PERIPHB | GPIO_CFG_DEFAULT | GPIO_PORT_PIOA | GPIO_PIN5) -#define GPIO_SPI0_SPCK (GPIO_PERIPHA | GPIO_PORT_PIOA | GPIO_PIN14) /* Timer/Counters (TC) */ diff --git a/configs/sam4e-ek/README.txt b/configs/sam4e-ek/README.txt index 0076c055a3..0f4ca83acf 100644 --- a/configs/sam4e-ek/README.txt +++ b/configs/sam4e-ek/README.txt @@ -14,7 +14,7 @@ Contents - NuttX EABI "buildroot" Toolchain - NuttX OABI "buildroot" Toolchain - NXFLAT Toolchain - - AtmelStudio6.1 + - Atmel Studio 6.1 - LEDs - Serial Console - SAM4E-EK-specific Configuration Options @@ -55,7 +55,7 @@ GNU Toolchain Options 1. A Linux native toolchain in a Linux environment, 2. The buildroot Cygwin tool chain built in the Cygwin environment, 3. A Windows native toolchain. - + There are several limitations to using a Windows based toolchain (#3) in a Cygwin environment. The three biggest are: @@ -211,25 +211,35 @@ NXFLAT Toolchain 8. Edit setenv.h, if necessary, so that the PATH variable includes the path to the newly builtNXFLAT binaries. -AtmelStudio6.1 -^^^^^^^^^^^^^^ +Atmel Studio 6.1 +^^^^^^^^^^^^^^^^ - You can use AtmelStudio6.1 to load and debug code. + You can use Atmel Studio 6.1 to load and debug code. - - To load code: + - To load code into FLASH: - Tools -> Device Programming + Tools menus: Tools -> Device Programming. Configure the debugger and chip and you are in business. - - To Debug Code: + - Debugging the NuttX Object File: - File -> Open -> Open Object File for Debugging + 1) Rename object file from nutt to nuttx.elf. That is an extension that + will be recognized by the file menu. - Select the project name, the full path to the NuttX object (called - just nuttx with no extension), and chip. Take the time to resolve - all of the source file linkages or else you will not have source - level debug! + 2) Select the project name, the full path to the NuttX object (called + just nuttx with no extension), and chip. Take the time to resolve + all of the source file linkages or else you will not have source + level debug! + + File menu: File -> Open -> Open object file for debugging + - Select nuttx.elf object file + - Select AT91SAM4E16 + - Select files for symbols as desired + - Select debugger + + 3) Debug menu: Debug -> Start debugging and break + - This will reload the nuttx.elf file into FLASH LEDs ^^^^ diff --git a/configs/sam4e-ek/src/sam4e-ek.h b/configs/sam4e-ek/src/sam4e-ek.h index 87b441a1bc..09ec05d01b 100644 --- a/configs/sam4e-ek/src/sam4e-ek.h +++ b/configs/sam4e-ek/src/sam4e-ek.h @@ -67,49 +67,67 @@ /* SAM4E-EK GPIO Pin Definitions ****************************************************/ /* LCD: - * LCD Module Pin Out: SAM3U PIO: - * -------------------------------------------- -------------------------------------- - * Pin Symbol Function LCD PeriphA PeriphB Extra - * ---- ------ -------------------------------- -------------- -------- ------- ------ - * 1 GND Ground N/A --- --- --- - * 2 CS Chip Select PC16 NCS2 PWML3 AD12BAD5 - * 3 RS Register select signal PB8 (see A1) CTS0 A1 AD3 - * 4 WR Write operation signal PB23 (NWE) NWR0/NEW PCK1 --- - * 5 RD Read operation signal PB19 (NRD) NRD PWML2 --- - * 6 DB0 Data bus PB9 D0 DTR0 --- - * 7 DB1 Data bus PB10 D1 DSR0 --- - * 8 DB2 Data bus PB11 D2 DCD0 --- - * 9 DB3 Data bus PB12 D3 RI0 --- - * 10 DB4 Data bus PB13 D4 PWMH0 --- - * 11 DB5 Data bus PB14 D5 PWMH1 --- - * 12 DB6 Data bus PB15 D6 PWMH2 --- - * 13 DB7 Data bus PB16 D7 PMWH3 --- - * 14 DB8 Data bus PB25 D8 PWML0 --- - * 15 DB9 Data bus PB26 D9 PWML1 --- - * 16 DB10 Data bus PB27 D10 PWML2 --- - * 17 DB11 Data bus PB28 D11 PWML3 --- - * 18 DB12 Data bus PB29 D12 --- --- - * 19 DB13 Data bus PB30 D13 --- --- - * 20 DB14 Data bus PB31 D14 --- --- - * 21 DB15 Data bus PB6 TIOA1 D15 AD1 - * 22 NC No connection N/A --- --- --- - * 23 NC No connection N/A --- --- --- - * 24 RESET Reset signal N/A --- --- --- - * 25 GND Ground N/A --- --- --- - * 26 X+ Touch panel X_RIGHT PA15 SPCK PWMH2 --- - * 27 Y+ Touch panel Y_UP PA14 MOSI --- --- - * 28 X- Touch panel X_LEFT PA13 MISO --- --- - * 29 Y- Touch panel Y_DOWN PC14 A3 NPCS2 --- - * 30 GND Ground N/A --- --- --- - * 31 VDD1 Power supply for digital IO Pad N/A --- --- --- - * 32 VDD2 Power supply for analog circuit N/A --- --- --- - * 33 A1 Power supply for backlight PB8 (see RS) CTS0 A1 AD3 - * 34 A2 Power supply for backlight N/A --- --- --- - * 35 A3 Power supply for backlight N/A --- --- --- - * 36 A4 Power supply for backlight N/A --- --- --- - * 37 NC No connection N/A --- --- --- - * 38 NC No connection N/A --- --- --- - * 39 K Backlight ground N/A --- --- --- + * + * The SAM4E-EK carries a TFT transmissive LCD module with touch panel, FTM280C34D. + * Its integrated driver IC is ILI9325. The LCD display area is 2.8 inches diagonally + * measured, with a native resolution of 240 x 320 dots. + * + * The SAM4E16 communicates with the LCD through PIOC where an 8-bit parallel "8080- + * like" protocol data bus has to be implemented in software. + * + * ---- ----- --------- -------------------------------- + * PIN PIO SIGNAL NOTES + * ---- ----- --------- -------------------------------- + * 1 VDD + * 2 PC7 DB17 + * 3 PC6 DB16 + * 4 PC5 DB15 + * 5 PC4 DB14 + * 6 PC3 DB13 + * 7 PC2 DB12 + * 8 PC1 DB11 + * 9 PC0 DB10 + * 10 DB9 Pulled low + * 11 DB8 Pulled low + * 12 DB7 Pulled low + * 13 DB6 Pulled low + * 14 DB5 Pulled low + * 15 DB4 Pulled low + * 16 DB3 Pulled low + * 17 DB2 Pulled low + * 18 DB1 Pulled low + * 19 DB0 Pulled low + * ---- ----- --------- -------------------------------- + * 20 VDD + * 21 PC11 RD + * 22 PC8 WR + * 23 PC19 RS + * 24 PD18 CS Via J8, pulled high. Connects to NRST. + * 25 RESET Connects to NSRST + * 26 IM0 Pulled high + * 27 IM1 Grounded + * 28 GND + * ---- ----- --------- -------------------------------- + * 29 [PC13] LED-A Backlight controls: PC13 enables + * 30 [PC13] LEDK1 AAT3155 charge pump that drives + * 31 [PC13] LEDK2 the backlight LEDs + * 32 [PC13] LEDK3 + * 33 [PC13] LEDK4 + * 34 [PC13] LEDK1 + * ---- ----- --------- -------------------------------- + * 35 Y+ These go to the ADS7843 + * 36 Y- touchscreen controller. + * 37 X+ + * 38 X- + * 39 NC + * ---- ----- --------- -------------------------------- + * + * LCD backlight is made of 4 white chip LEDs in parallel, driven by an AAT3155 + * charge pump, MN4. The AAT3155 is controlled by the SAM3U4E through a single line + * Simple Serial Control (S2Cwire) interface, which permits to enable, disable, and + * set the LED drive current (LED brightness control) from a 32-level logarithmic + * scale. Four resistors R93/R94/R95/R96 are implemented for optional current + * limitation. */ #define GPIO_LCD_NCS2 (GPIO_PERIPHA | GPIO_CFG_PULLUP | GPIO_PORT_PIOC | GPIO_PIN16) @@ -139,7 +157,23 @@ #define GPIO_LCD_BKL (GPIO_OUTPUT | GPIO_CFG_DEFAULT | GPIO_OUTPUT_CLEAR | \ GPIO_PORT_PIOC | GPIO_PIN19) -/* Touchscreen controller (TSC) +/* ADS7843 Touchscreen controller (TSC) + * + * The LCD module integrates a 4-wire touch screen panel controlled by + * MN5, ADS7843, which is a slave device on the SAM3U4E SPI bus. The ADS7843 touch + * ADC auxiliary inputs IN3/IN4 are connected to test points for optional function + * extension. + * + * ------ ------- + * GPIO PIN + * ------ ------- + * PA11 /CS + * PA12 DOUT + * PA13 DIN + * PA14 DCLK + * PA16 /PENIRQ + * PA17 BUSY + * ------ ------- * * The IRQ is active low and pulled up. * @@ -153,11 +187,11 @@ */ #define GPIO_TCS_IRQ (GPIO_INPUT | GPIO_CFG_PULLUP | GPIO_INT_BOTHEDGES | \ - GPIO_PORT_PIOA | GPIO_PIN24) + GPIO_PORT_PIOA | GPIO_PIN16) #define GPIO_TCS_BUSY (GPIO_INPUT | GPIO_CFG_PULLUP | GPIO_PORT_PIOA | \ - GPIO_PIN2) + GPIO_PIN17) -#define SAM_TCS_IRQ SAM_IRQ_PA24 +#define SAM_TCS_IRQ SAM_IRQ_PA16 /* LEDs * @@ -217,8 +251,8 @@ */ #define GPIO_TSC_NPCS2 (GPIO_OUTPUT | GPIO_CFG_PULLUP | GPIO_OUTPUT_SET | \ - GPIO_PORT_PIOC | GPIO_PIN14) -#define TSC_CSNUM 2 + GPIO_PORT_PIOA | GPIO_PIN11) +#define TSC_CSNUM 0 /************************************************************************************ * Public Types diff --git a/configs/sam4e-ek/src/sam_boot.c b/configs/sam4e-ek/src/sam_boot.c index 647c0d197c..4bed7b2a2c 100644 --- a/configs/sam4e-ek/src/sam_boot.c +++ b/configs/sam4e-ek/src/sam_boot.c @@ -63,7 +63,7 @@ * * Description: * All SAM3U architectures must provide the following entry point. This entry point - * is called early in the intitialization -- after all memory has been configured + * is called early in the initialization -- after all memory has been configured * and mapped but before any devices have been initialized. * ************************************************************************************/ diff --git a/configs/sam4e-ek/src/sam_lcd.c b/configs/sam4e-ek/src/sam_lcd.c index e081baecbd..76c5104ac8 100644 --- a/configs/sam4e-ek/src/sam_lcd.c +++ b/configs/sam4e-ek/src/sam_lcd.c @@ -34,74 +34,68 @@ **************************************************************************************/ /************************************************************************************** + * * The SAM4E-EK carries a TFT transmissive LCD module with touch panel, FTM280C34D. * Its integrated driver IC is ILI9325. The LCD display area is 2.8 inches diagonally * measured, with a native resolution of 240 x 320 dots. * - * LCD Module Pin Out: SAM3U PIO: - * -------------------------------------------- -------------------------------------- - * Pin Symbol Function LCD PeriphA PeriphB Extra - * ---- ------ -------------------------------- -------------- -------- ------- ------ - * 1 GND Ground N/A --- --- --- - * 2 CS Chip Select PC16 NCS2 PWML3 AD12BAD5 - * 3 RS Register select signal PB8 (see A1) CTS0 A1 AD3 - * 4 WR Write operation signal PB23 (NWE) NWR0/NEW PCK1 --- - * 5 RD Read operation signal PB19 (NRD) NRD PWML2 --- - * 6 DB0 Data bus PB9 D0 DTR0 --- - * 7 DB1 Data bus PB10 D1 DSR0 --- - * 8 DB2 Data bus PB11 D2 DCD0 --- - * 9 DB3 Data bus PB12 D3 RI0 --- - * 10 DB4 Data bus PB13 D4 PWMH0 --- - * 11 DB5 Data bus PB14 D5 PWMH1 --- - * 12 DB6 Data bus PB15 D6 PWMH2 --- - * 13 DB7 Data bus PB16 D7 PMWH3 --- - * 14 DB8 Data bus PB25 D8 PWML0 --- - * 15 DB9 Data bus PB26 D9 PWML1 --- - * 16 DB10 Data bus PB27 D10 PWML2 --- - * 17 DB11 Data bus PB28 D11 PWML3 --- - * 18 DB12 Data bus PB29 D12 --- --- - * 19 DB13 Data bus PB30 D13 --- --- - * 20 DB14 Data bus PB31 D14 --- --- - * 21 DB15 Data bus PB6 TIOA1 D15 AD1 - * 22 NC No connection N/A --- --- --- - * 23 NC No connection N/A --- --- --- - * 24 RESET Reset signal N/A --- --- --- - * 25 GND Ground N/A --- --- --- - * 26 X+ Touch panel X_RIGHT PA15 SPCK PWMH2 --- - * 27 Y+ Touch panel Y_UP PA14 MOSI --- --- - * 28 X- Touch panel X_LEFT PA13 MISO --- --- - * 29 Y- Touch panel Y_DOWN PC14 A3 NPCS2 --- - * 30 GND Ground N/A --- --- --- - * 31 VDD1 Power supply for digital IO Pad N/A --- --- --- - * 32 VDD2 Power supply for analog circuit N/A --- --- --- - * 33 A1 Power supply for backlight PB8 (see RS) CTS0 A1 AD3 - * 34 A2 Power supply for backlight N/A --- --- --- - * 35 A3 Power supply for backlight N/A --- --- --- - * 36 A4 Power supply for backlight N/A --- --- --- - * 37 NC No connection N/A --- --- --- - * 38 NC No connection N/A --- --- --- - * 39 K Backlight ground N/A --- --- --- + * The SAM4E16 communicates with the LCD through PIOC where an 8-bit parallel "8080- + * like" protocol data bus has to be implemented in software. * - * The LCD module gets its reset from NRST. As explained previously, this NRST is - * shared with the JTAG port and the push button BP1. The LCD chip select signal is - * connected to NCS2 (a dedicated jumper can disable it, making NCS2 available for - * other custom usage). + * ---- ----- --------- -------------------------------- + * PIN PIO SIGNAL NOTES + * ---- ----- --------- -------------------------------- + * 1 VDD + * 2 PC7 DB17 + * 3 PC6 DB16 + * 4 PC5 DB15 + * 5 PC4 DB14 + * 6 PC3 DB13 + * 7 PC2 DB12 + * 8 PC1 DB11 + * 9 PC0 DB10 + * 10 DB9 Pulled low + * 11 DB8 Pulled low + * 12 DB7 Pulled low + * 13 DB6 Pulled low + * 14 DB5 Pulled low + * 15 DB4 Pulled low + * 16 DB3 Pulled low + * 17 DB2 Pulled low + * 18 DB1 Pulled low + * 19 DB0 Pulled low + * ---- ----- --------- -------------------------------- + * 20 VDD + * 21 PC11 RD + * 22 PC8 WR + * 23 PC19 RS + * 24 PD18 CS Via J8, pulled high. Connects to NRST. + * 25 RESET Connects to NSRST + * 26 IM0 Pulled high + * 27 IM1 Grounded + * 28 GND + * ---- ----- --------- -------------------------------- + * 29 [PC13] LED-A Backlight controls: PC13 enables + * 30 [PC13] LEDK1 AAT3155 charge pump that drives + * 31 [PC13] LEDK2 the backlight LEDs + * 32 [PC13] LEDK3 + * 33 [PC13] LEDK4 + * 34 [PC13] LEDK1 + * ---- ----- --------- -------------------------------- + * 35 Y+ These go to the ADS7843 + * 36 Y- touchscreen controller. + * 37 X+ + * 38 X- + * 39 NC + * ---- ----- --------- -------------------------------- * - * The SAM3U4E communicates with the LCD through PIOB where a 16-bit parallel - * 8080-like protocol data bus has to be implemented by software. - * - * LCD backlight is made of 4 white chip LEDs in parallel, driven by an AAT3194 - * charge pump, MN4. The AAT3194 is controlled by the SAM3U4E through a single line + * LCD backlight is made of 4 white chip LEDs in parallel, driven by an AAT3155 + * charge pump, MN4. The AAT3155 is controlled by the SAM3U4E through a single line * Simple Serial Control (S2Cwire) interface, which permits to enable, disable, and * set the LED drive current (LED brightness control) from a 32-level logarithmic * scale. Four resistors R93/R94/R95/R96 are implemented for optional current * limitation. * - * The LCD module integrates a 4-wire touch screen panel controlled by - * MN5, ADS7843, which is a slave device on the SAM3U4E SPI bus. The ADS7843 touch - * ADC auxiliary inputs IN3/IN4 are connected to test points for optional function - * extension. - * **************************************************************************************/ /************************************************************************************** @@ -200,7 +194,7 @@ #define HX843X_LCD_RS (1 << 1) /* HX8347 ID code */ - +#error "The SAM4E-EK has an ILI925 LCD cont #define HX8347_CHIPID 0x47 /* HX8347 LCD Registers */ diff --git a/configs/sam4e-ek/src/sam_leds.c b/configs/sam4e-ek/src/sam_leds.c index 3e093bb159..4f9c9d2c8e 100644 --- a/configs/sam4e-ek/src/sam_leds.c +++ b/configs/sam4e-ek/src/sam_leds.c @@ -115,28 +115,28 @@ static const uint8_t g_ledon[8] = { - (D3_OFF |D2_OFF |D4_OFF), /* LED_STARTED */ - (D3_ON |D2_OFF |D4_ON), /* LED_HEAPALLOCATE */ - (D3_OFF |D2_ON |D4_OFF), /* LED_IRQSENABLED */ - (D3_ON |D2_ON |D4_ON), /* LED_STACKCREATED */ + (D3_OFF | D2_OFF | D4_OFF), /* LED_STARTED */ + (D3_ON | D2_OFF | D4_ON), /* LED_HEAPALLOCATE */ + (D3_OFF | D2_ON | D4_OFF), /* LED_IRQSENABLED */ + (D3_ON | D2_ON | D4_ON), /* LED_STACKCREATED */ - (D3_NOCHANGE|D2_OFF |D4_NOCHANGE), /* LED_INIRQ */ - (D3_NOCHANGE|D2_NOCHANGE|D4_OFF), /* LED_SIGNAL */ - (D3_ON |D2_NOCHANGE|D4_NOCHANGE), /* LED_ASSERTION */ - (D3_ON |D2_NOCHANGE|D4_NOCHANGE) /* LED_PANIC */ + (D3_NOCHANGE | D2_OFF | D4_NOCHANGE), /* LED_INIRQ */ + (D3_NOCHANGE | D2_NOCHANGE | D4_OFF), /* LED_SIGNAL */ + (D3_ON | D2_NOCHANGE | D4_NOCHANGE), /* LED_ASSERTION */ + (D3_ON | D2_NOCHANGE | D4_NOCHANGE) /* LED_PANIC */ }; static const uint8_t g_ledoff[8] = { - (D3_OFF |D2_OFF |D4_OFF), /* LED_STARTED (does not happen) */ - (D3_ON |D2_OFF |D4_ON), /* LED_HEAPALLOCATE (does not happen) */ - (D3_OFF |D2_ON |D4_OFF), /* LED_IRQSENABLED (does not happen) */ - (D3_ON |D2_ON |D4_ON), /* LED_STACKCREATED (does not happen) */ + (D3_OFF | D2_OFF | D4_OFF), /* LED_STARTED (does not happen) */ + (D3_ON | D2_OFF | D4_ON), /* LED_HEAPALLOCATE (does not happen) */ + (D3_OFF | D2_ON | D4_OFF), /* LED_IRQSENABLED (does not happen) */ + (D3_ON | D2_ON | D4_ON), /* LED_STACKCREATED (does not happen) */ - (D3_NOCHANGE|D2_ON |D4_NOCHANGE), /* LED_INIRQ */ - (D3_NOCHANGE|D2_NOCHANGE|D4_ON), /* LED_SIGNAL */ - (D3_OFF |D2_NOCHANGE|D4_NOCHANGE), /* LED_ASSERTION */ - (D3_OFF |D2_NOCHANGE|D4_NOCHANGE) /* LED_PANIC */ + (D3_NOCHANGE | D2_ON | D4_NOCHANGE), /* LED_INIRQ */ + (D3_NOCHANGE | D2_NOCHANGE | D4_ON), /* LED_SIGNAL */ + (D3_OFF | D2_NOCHANGE | D4_NOCHANGE), /* LED_ASSERTION */ + (D3_OFF | D2_NOCHANGE | D4_NOCHANGE) /* LED_PANIC */ }; /**************************************************************************** diff --git a/configs/sam4e-ek/src/sam_nsh.c b/configs/sam4e-ek/src/sam_nsh.c index b03c49ab91..43cdd21f73 100644 --- a/configs/sam4e-ek/src/sam_nsh.c +++ b/configs/sam4e-ek/src/sam_nsh.c @@ -135,6 +135,7 @@ int nsh_archinitialize(void) message("nsh_archinitialize: Initializing SDIO slot %d\n", CONFIG_NSH_MMCSDSLOTNO); + sdio = sdio_initialize(CONFIG_NSH_MMCSDSLOTNO); if (!sdio) { @@ -147,12 +148,14 @@ int nsh_archinitialize(void) message("nsh_archinitialize: Bind SDIO to the MMC/SD driver, minor=%d\n", CONFIG_NSH_MMCSDMINOR); + ret = mmcsd_slotinitialize(CONFIG_NSH_MMCSDMINOR, sdio); if (ret != OK) { message("nsh_archinitialize: Failed to bind SDIO to the MMC/SD driver: %d\n", ret); return ret; } + message("nsh_archinitialize: Successfully bound SDIO to the MMC/SD driver\n"); /* Then inform the HSMCI driver if there is or is not a card in the slot. */ diff --git a/configs/samd20-xplained/README.txt b/configs/samd20-xplained/README.txt index 0bd59701c2..6fdbe96fe9 100644 --- a/configs/samd20-xplained/README.txt +++ b/configs/samd20-xplained/README.txt @@ -240,69 +240,59 @@ Development Environment GNU Toolchain Options ^^^^^^^^^^^^^^^^^^^^^ - The NuttX make system has been modified to support the following different - toolchain options. - 1. The CodeSourcery GNU toolchain, - 2. The devkitARM GNU toolchain, ok - 4. The NuttX buildroot Toolchain (see below). + The NuttX make system can be configured to support the various different + toolchain options. All testing has been conducted using the NuttX buildroot + toolchain. To use alternative toolchain, you simply need to add change of + the following configuration options to your .config (or defconfig) file: - All testing has been conducted using the NuttX buildroot toolchain. To use - the CodeSourcery, devkitARM or Raisonance GNU toolchain, you simply need to - add one of the following configuration options to your .config (or defconfig) - file: + CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery under Windows + CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYL=y : CodeSourcery under Linux + CONFIG_ARMV7M_TOOLCHAIN_ATOLLIC=y : Atollic toolchain for Windos + CONFIG_ARMV7M_TOOLCHAIN_DEVKITARM=y : devkitARM under Windows + CONFIG_ARMV7M_TOOLCHAIN_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default) + CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL=y : Generic GCC ARM EABI toolchain for Linux + CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : Generic GCC ARM EABI toolchain for Windows - CONFIG_ARMV6M_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery under Windows - CONFIG_ARMV6M_TOOLCHAIN_CODESOURCERYL=y : CodeSourcery under Linux - CONFIG_ARMV6M_TOOLCHAIN_ATOLLIC=y : Atollic toolchain for Windos - CONFIG_ARMV6M_TOOLCHAIN_DEVKITARM=y : devkitARM under Windows - CONFIG_ARMV6M_TOOLCHAIN_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default) - CONFIG_ARMV6M_TOOLCHAIN_GNU_EABIL=y : Generic GCC ARM EABI toolchain for Linux - CONFIG_ARMV6M_TOOLCHAIN_GNU_EABIW=y : Generic GCC ARM EABI toolchain for Windows - - If you are not using CONFIG_ARMV6M_TOOLCHAIN_BUILDROOT, then you may also - have to modify the PATH in the setenv.h file if your make cannot find the tools. + You may also have to modify the PATH in the setenv.h file if your + make cannot find the tools. NOTE about Windows native toolchains ------------------------------------ - The CodeSourcery (for Windows), Atollic, and devkitARM toolchains are - Windows native toolchains. The CodeSourcery (for Linux), NuttX buildroot, - and, perhaps, the generic GCC toolchains are Cygwin and/or Linux native - toolchains. There are several limitations to using a Windows based - toolchain in a Cygwin environment. The three biggest are: + There are basically three kinds of GCC toolchains that can be used: + + 1. A Linux native toolchain in a Linux environment, + 2. The buildroot Cygwin tool chain built in the Cygwin environment, + 3. A Windows native toolchain. + + There are several limitations to using a Windows based toolchain (#3) in a + Cygwin environment. The three biggest are: 1. The Windows toolchain cannot follow Cygwin paths. Path conversions are - performed automatically in the Cygwin makefiles using the 'cygpath' utility - but you might easily find some new path problems. If so, check out 'cygpath -w' + performed automatically in the Cygwin makefiles using the 'cygpath' + utility but you might easily find some new path problems. If so, check + out 'cygpath -w' - 2. Windows toolchains cannot follow Cygwin symbolic links. Many symbolic links - are used in Nuttx (e.g., include/arch). The make system works around these - problems for the Windows tools by copying directories instead of linking them. - But this can also cause some confusion for you: For example, you may edit - a file in a "linked" directory and find that your changes had no effect. - That is because you are building the copy of the file in the "fake" symbolic - directory. If you use a Windows toolchain, you should get in the habit of - making like this: + 2. Windows toolchains cannot follow Cygwin symbolic links. Many symbolic + links are used in Nuttx (e.g., include/arch). The make system works + around these problems for the Windows tools by copying directories + instead of linking them. But this can also cause some confusion for + you: For example, you may edit a file in a "linked" directory and find + that your changes had no effect. That is because you are building the + copy of the file in the "fake" symbolic directory. If you use a + Windows toolchain, you should get in the habit of making like this: make clean_context all An alias in your .bashrc file might make that less painful. - 3. Dependencies are not made when using Windows versions of the GCC. This is - because the dependencies are generated using Windows pathes which do not - work with the Cygwin make. + 3. Dependencies are not made when using Windows versions of the GCC. This + is because the dependencies are generated using Windows paths which do + not work with the Cygwin make. MKDEP = $(TOPDIR)/tools/mknulldeps.sh - NOTE 1: The CodeSourcery toolchain (2009q1) does not work with default optimization - level of -Os (See Make.defs). It will work with -O0, -O1, or -O2, but not with - -Os. - - NOTE 2: The devkitARM toolchain includes a version of MSYS make. Make sure that - the paths to Cygwin's /bin and /usr/bin directories appear BEFORE the devkitARM - path or will get the wrong version of make. - IDEs ^^^^ @@ -437,7 +427,7 @@ Atmel Studio 6.1 Loading Code into FLASH: ----------------------- - Tools menus: Tool -> Device Programming. + Tools menus: Tools -> Device Programming. Debugging the NuttX Object File -------------------------------