SAM4E-EK: Purely cosmetic updates
This commit is contained in:
parent
da8a0e8062
commit
875b985781
@ -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) */
|
||||
|
||||
|
@ -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
|
||||
^^^^
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
*
|
||||
************************************************************************************/
|
||||
|
@ -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 */
|
||||
|
@ -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 */
|
||||
};
|
||||
|
||||
/****************************************************************************
|
||||
|
@ -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. */
|
||||
|
@ -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
|
||||
-------------------------------
|
||||
|
Loading…
Reference in New Issue
Block a user