SAM4E-EK: Purely cosmetic updates
This commit is contained in:
parent
75d4714779
commit
5786acb16e
@ -14,7 +14,7 @@ Contents
|
|||||||
- NuttX EABI "buildroot" Toolchain
|
- NuttX EABI "buildroot" Toolchain
|
||||||
- NuttX OABI "buildroot" Toolchain
|
- NuttX OABI "buildroot" Toolchain
|
||||||
- NXFLAT Toolchain
|
- NXFLAT Toolchain
|
||||||
- AtmelStudio6.1
|
- Atmel Studio 6.1
|
||||||
- LEDs
|
- LEDs
|
||||||
- Serial Console
|
- Serial Console
|
||||||
- SAM4E-EK-specific Configuration Options
|
- SAM4E-EK-specific Configuration Options
|
||||||
@ -55,7 +55,7 @@ GNU Toolchain Options
|
|||||||
1. A Linux native toolchain in a Linux environment,
|
1. A Linux native toolchain in a Linux environment,
|
||||||
2. The buildroot Cygwin tool chain built in the Cygwin environment,
|
2. The buildroot Cygwin tool chain built in the Cygwin environment,
|
||||||
3. A Windows native toolchain.
|
3. A Windows native toolchain.
|
||||||
|
|
||||||
There are several limitations to using a Windows based toolchain (#3) in a
|
There are several limitations to using a Windows based toolchain (#3) in a
|
||||||
Cygwin environment. The three biggest are:
|
Cygwin environment. The three biggest are:
|
||||||
|
|
||||||
@ -211,25 +211,35 @@ NXFLAT Toolchain
|
|||||||
8. Edit setenv.h, if necessary, so that the PATH variable includes
|
8. Edit setenv.h, if necessary, so that the PATH variable includes
|
||||||
the path to the newly builtNXFLAT binaries.
|
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.
|
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
|
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
|
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
|
all of the source file linkages or else you will not have source
|
||||||
level debug!
|
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
|
LEDs
|
||||||
^^^^
|
^^^^
|
||||||
|
@ -67,49 +67,67 @@
|
|||||||
/* SAM4E-EK GPIO Pin Definitions ****************************************************/
|
/* SAM4E-EK GPIO Pin Definitions ****************************************************/
|
||||||
|
|
||||||
/* LCD:
|
/* LCD:
|
||||||
* LCD Module Pin Out: SAM3U PIO:
|
*
|
||||||
* -------------------------------------------- --------------------------------------
|
* The SAM4E-EK carries a TFT transmissive LCD module with touch panel, FTM280C34D.
|
||||||
* Pin Symbol Function LCD PeriphA PeriphB Extra
|
* 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.
|
||||||
* 1 GND Ground N/A --- --- ---
|
*
|
||||||
* 2 CS Chip Select PC16 NCS2 PWML3 AD12BAD5
|
* The SAM4E16 communicates with the LCD through PIOC where an 8-bit parallel "8080-
|
||||||
* 3 RS Register select signal PB8 (see A1) CTS0 A1 AD3
|
* like" protocol data bus has to be implemented in software.
|
||||||
* 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 ---
|
* PIN PIO SIGNAL NOTES
|
||||||
* 7 DB1 Data bus PB10 D1 DSR0 ---
|
* ---- ----- --------- --------------------------------
|
||||||
* 8 DB2 Data bus PB11 D2 DCD0 ---
|
* 1 VDD
|
||||||
* 9 DB3 Data bus PB12 D3 RI0 ---
|
* 2 PC7 DB17
|
||||||
* 10 DB4 Data bus PB13 D4 PWMH0 ---
|
* 3 PC6 DB16
|
||||||
* 11 DB5 Data bus PB14 D5 PWMH1 ---
|
* 4 PC5 DB15
|
||||||
* 12 DB6 Data bus PB15 D6 PWMH2 ---
|
* 5 PC4 DB14
|
||||||
* 13 DB7 Data bus PB16 D7 PMWH3 ---
|
* 6 PC3 DB13
|
||||||
* 14 DB8 Data bus PB25 D8 PWML0 ---
|
* 7 PC2 DB12
|
||||||
* 15 DB9 Data bus PB26 D9 PWML1 ---
|
* 8 PC1 DB11
|
||||||
* 16 DB10 Data bus PB27 D10 PWML2 ---
|
* 9 PC0 DB10
|
||||||
* 17 DB11 Data bus PB28 D11 PWML3 ---
|
* 10 DB9 Pulled low
|
||||||
* 18 DB12 Data bus PB29 D12 --- ---
|
* 11 DB8 Pulled low
|
||||||
* 19 DB13 Data bus PB30 D13 --- ---
|
* 12 DB7 Pulled low
|
||||||
* 20 DB14 Data bus PB31 D14 --- ---
|
* 13 DB6 Pulled low
|
||||||
* 21 DB15 Data bus PB6 TIOA1 D15 AD1
|
* 14 DB5 Pulled low
|
||||||
* 22 NC No connection N/A --- --- ---
|
* 15 DB4 Pulled low
|
||||||
* 23 NC No connection N/A --- --- ---
|
* 16 DB3 Pulled low
|
||||||
* 24 RESET Reset signal N/A --- --- ---
|
* 17 DB2 Pulled low
|
||||||
* 25 GND Ground N/A --- --- ---
|
* 18 DB1 Pulled low
|
||||||
* 26 X+ Touch panel X_RIGHT PA15 SPCK PWMH2 ---
|
* 19 DB0 Pulled low
|
||||||
* 27 Y+ Touch panel Y_UP PA14 MOSI --- ---
|
* ---- ----- --------- --------------------------------
|
||||||
* 28 X- Touch panel X_LEFT PA13 MISO --- ---
|
* 20 VDD
|
||||||
* 29 Y- Touch panel Y_DOWN PC14 A3 NPCS2 ---
|
* 21 PC11 RD
|
||||||
* 30 GND Ground N/A --- --- ---
|
* 22 PC8 WR
|
||||||
* 31 VDD1 Power supply for digital IO Pad N/A --- --- ---
|
* 23 PC19 RS
|
||||||
* 32 VDD2 Power supply for analog circuit N/A --- --- ---
|
* 24 PD18 CS Via J8, pulled high. Connects to NRST.
|
||||||
* 33 A1 Power supply for backlight PB8 (see RS) CTS0 A1 AD3
|
* 25 RESET Connects to NSRST
|
||||||
* 34 A2 Power supply for backlight N/A --- --- ---
|
* 26 IM0 Pulled high
|
||||||
* 35 A3 Power supply for backlight N/A --- --- ---
|
* 27 IM1 Grounded
|
||||||
* 36 A4 Power supply for backlight N/A --- --- ---
|
* 28 GND
|
||||||
* 37 NC No connection N/A --- --- ---
|
* ---- ----- --------- --------------------------------
|
||||||
* 38 NC No connection N/A --- --- ---
|
* 29 [PC13] LED-A Backlight controls: PC13 enables
|
||||||
* 39 K Backlight ground N/A --- --- ---
|
* 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)
|
#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 | \
|
#define GPIO_LCD_BKL (GPIO_OUTPUT | GPIO_CFG_DEFAULT | GPIO_OUTPUT_CLEAR | \
|
||||||
GPIO_PORT_PIOC | GPIO_PIN19)
|
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.
|
* The IRQ is active low and pulled up.
|
||||||
*
|
*
|
||||||
@ -153,11 +187,11 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#define GPIO_TCS_IRQ (GPIO_INPUT | GPIO_CFG_PULLUP | GPIO_INT_BOTHEDGES | \
|
#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 | \
|
#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
|
/* LEDs
|
||||||
*
|
*
|
||||||
@ -217,8 +251,8 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#define GPIO_TSC_NPCS2 (GPIO_OUTPUT | GPIO_CFG_PULLUP | GPIO_OUTPUT_SET | \
|
#define GPIO_TSC_NPCS2 (GPIO_OUTPUT | GPIO_CFG_PULLUP | GPIO_OUTPUT_SET | \
|
||||||
GPIO_PORT_PIOC | GPIO_PIN14)
|
GPIO_PORT_PIOA | GPIO_PIN11)
|
||||||
#define TSC_CSNUM 2
|
#define TSC_CSNUM 0
|
||||||
|
|
||||||
/************************************************************************************
|
/************************************************************************************
|
||||||
* Public Types
|
* Public Types
|
||||||
|
@ -63,7 +63,7 @@
|
|||||||
*
|
*
|
||||||
* Description:
|
* Description:
|
||||||
* All SAM3U architectures must provide the following entry point. This entry point
|
* 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.
|
* 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.
|
* 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
|
* 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.
|
* measured, with a native resolution of 240 x 320 dots.
|
||||||
*
|
*
|
||||||
* LCD Module Pin Out: SAM3U PIO:
|
* 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 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 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
|
* PIN PIO SIGNAL NOTES
|
||||||
* connected to NCS2 (a dedicated jumper can disable it, making NCS2 available for
|
* ---- ----- --------- --------------------------------
|
||||||
* other custom usage).
|
* 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
|
* LCD backlight is made of 4 white chip LEDs in parallel, driven by an AAT3155
|
||||||
* 8080-like protocol data bus has to be implemented by software.
|
* charge pump, MN4. The AAT3155 is controlled by the SAM3U4E through a single line
|
||||||
*
|
|
||||||
* 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
|
|
||||||
* Simple Serial Control (S2Cwire) interface, which permits to enable, disable, and
|
* Simple Serial Control (S2Cwire) interface, which permits to enable, disable, and
|
||||||
* set the LED drive current (LED brightness control) from a 32-level logarithmic
|
* 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
|
* scale. Four resistors R93/R94/R95/R96 are implemented for optional current
|
||||||
* limitation.
|
* 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)
|
#define HX843X_LCD_RS (1 << 1)
|
||||||
|
|
||||||
/* HX8347 ID code */
|
/* HX8347 ID code */
|
||||||
|
#error "The SAM4E-EK has an ILI925 LCD cont
|
||||||
#define HX8347_CHIPID 0x47
|
#define HX8347_CHIPID 0x47
|
||||||
|
|
||||||
/* HX8347 LCD Registers */
|
/* HX8347 LCD Registers */
|
||||||
|
@ -115,28 +115,28 @@
|
|||||||
|
|
||||||
static const uint8_t g_ledon[8] =
|
static const uint8_t g_ledon[8] =
|
||||||
{
|
{
|
||||||
(D3_OFF |D2_OFF |D4_OFF), /* LED_STARTED */
|
(D3_OFF | D2_OFF | D4_OFF), /* LED_STARTED */
|
||||||
(D3_ON |D2_OFF |D4_ON), /* LED_HEAPALLOCATE */
|
(D3_ON | D2_OFF | D4_ON), /* LED_HEAPALLOCATE */
|
||||||
(D3_OFF |D2_ON |D4_OFF), /* LED_IRQSENABLED */
|
(D3_OFF | D2_ON | D4_OFF), /* LED_IRQSENABLED */
|
||||||
(D3_ON |D2_ON |D4_ON), /* LED_STACKCREATED */
|
(D3_ON | D2_ON | D4_ON), /* LED_STACKCREATED */
|
||||||
|
|
||||||
(D3_NOCHANGE|D2_OFF |D4_NOCHANGE), /* LED_INIRQ */
|
(D3_NOCHANGE | D2_OFF | D4_NOCHANGE), /* LED_INIRQ */
|
||||||
(D3_NOCHANGE|D2_NOCHANGE|D4_OFF), /* LED_SIGNAL */
|
(D3_NOCHANGE | D2_NOCHANGE | D4_OFF), /* LED_SIGNAL */
|
||||||
(D3_ON |D2_NOCHANGE|D4_NOCHANGE), /* LED_ASSERTION */
|
(D3_ON | D2_NOCHANGE | D4_NOCHANGE), /* LED_ASSERTION */
|
||||||
(D3_ON |D2_NOCHANGE|D4_NOCHANGE) /* LED_PANIC */
|
(D3_ON | D2_NOCHANGE | D4_NOCHANGE) /* LED_PANIC */
|
||||||
};
|
};
|
||||||
|
|
||||||
static const uint8_t g_ledoff[8] =
|
static const uint8_t g_ledoff[8] =
|
||||||
{
|
{
|
||||||
(D3_OFF |D2_OFF |D4_OFF), /* LED_STARTED (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_ON | D2_OFF | D4_ON), /* LED_HEAPALLOCATE (does not happen) */
|
||||||
(D3_OFF |D2_ON |D4_OFF), /* LED_IRQSENABLED (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_ON | D2_ON | D4_ON), /* LED_STACKCREATED (does not happen) */
|
||||||
|
|
||||||
(D3_NOCHANGE|D2_ON |D4_NOCHANGE), /* LED_INIRQ */
|
(D3_NOCHANGE | D2_ON | D4_NOCHANGE), /* LED_INIRQ */
|
||||||
(D3_NOCHANGE|D2_NOCHANGE|D4_ON), /* LED_SIGNAL */
|
(D3_NOCHANGE | D2_NOCHANGE | D4_ON), /* LED_SIGNAL */
|
||||||
(D3_OFF |D2_NOCHANGE|D4_NOCHANGE), /* LED_ASSERTION */
|
(D3_OFF | D2_NOCHANGE | D4_NOCHANGE), /* LED_ASSERTION */
|
||||||
(D3_OFF |D2_NOCHANGE|D4_NOCHANGE) /* LED_PANIC */
|
(D3_OFF | D2_NOCHANGE | D4_NOCHANGE) /* LED_PANIC */
|
||||||
};
|
};
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
|
@ -135,6 +135,7 @@ int nsh_archinitialize(void)
|
|||||||
|
|
||||||
message("nsh_archinitialize: Initializing SDIO slot %d\n",
|
message("nsh_archinitialize: Initializing SDIO slot %d\n",
|
||||||
CONFIG_NSH_MMCSDSLOTNO);
|
CONFIG_NSH_MMCSDSLOTNO);
|
||||||
|
|
||||||
sdio = sdio_initialize(CONFIG_NSH_MMCSDSLOTNO);
|
sdio = sdio_initialize(CONFIG_NSH_MMCSDSLOTNO);
|
||||||
if (!sdio)
|
if (!sdio)
|
||||||
{
|
{
|
||||||
@ -147,12 +148,14 @@ int nsh_archinitialize(void)
|
|||||||
|
|
||||||
message("nsh_archinitialize: Bind SDIO to the MMC/SD driver, minor=%d\n",
|
message("nsh_archinitialize: Bind SDIO to the MMC/SD driver, minor=%d\n",
|
||||||
CONFIG_NSH_MMCSDMINOR);
|
CONFIG_NSH_MMCSDMINOR);
|
||||||
|
|
||||||
ret = mmcsd_slotinitialize(CONFIG_NSH_MMCSDMINOR, sdio);
|
ret = mmcsd_slotinitialize(CONFIG_NSH_MMCSDMINOR, sdio);
|
||||||
if (ret != OK)
|
if (ret != OK)
|
||||||
{
|
{
|
||||||
message("nsh_archinitialize: Failed to bind SDIO to the MMC/SD driver: %d\n", ret);
|
message("nsh_archinitialize: Failed to bind SDIO to the MMC/SD driver: %d\n", ret);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
message("nsh_archinitialize: Successfully bound SDIO to the MMC/SD driver\n");
|
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. */
|
/* 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
|
GNU Toolchain Options
|
||||||
^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
The NuttX make system has been modified to support the following different
|
|
||||||
toolchain options.
|
|
||||||
|
|
||||||
1. The CodeSourcery GNU toolchain,
|
The NuttX make system can be configured to support the various different
|
||||||
2. The devkitARM GNU toolchain, ok
|
toolchain options. All testing has been conducted using the NuttX buildroot
|
||||||
4. The NuttX buildroot Toolchain (see below).
|
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
|
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery under Windows
|
||||||
the CodeSourcery, devkitARM or Raisonance GNU toolchain, you simply need to
|
CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYL=y : CodeSourcery under Linux
|
||||||
add one of the following configuration options to your .config (or defconfig)
|
CONFIG_ARMV7M_TOOLCHAIN_ATOLLIC=y : Atollic toolchain for Windos
|
||||||
file:
|
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
|
You may also have to modify the PATH in the setenv.h file if your
|
||||||
CONFIG_ARMV6M_TOOLCHAIN_CODESOURCERYL=y : CodeSourcery under Linux
|
make cannot find the tools.
|
||||||
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.
|
|
||||||
|
|
||||||
NOTE about Windows native toolchains
|
NOTE about Windows native toolchains
|
||||||
------------------------------------
|
------------------------------------
|
||||||
|
|
||||||
The CodeSourcery (for Windows), Atollic, and devkitARM toolchains are
|
There are basically three kinds of GCC toolchains that can be used:
|
||||||
Windows native toolchains. The CodeSourcery (for Linux), NuttX buildroot,
|
|
||||||
and, perhaps, the generic GCC toolchains are Cygwin and/or Linux native
|
1. A Linux native toolchain in a Linux environment,
|
||||||
toolchains. There are several limitations to using a Windows based
|
2. The buildroot Cygwin tool chain built in the Cygwin environment,
|
||||||
toolchain in a Cygwin environment. The three biggest are:
|
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
|
1. The Windows toolchain cannot follow Cygwin paths. Path conversions are
|
||||||
performed automatically in the Cygwin makefiles using the 'cygpath' utility
|
performed automatically in the Cygwin makefiles using the 'cygpath'
|
||||||
but you might easily find some new path problems. If so, check out 'cygpath -w'
|
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
|
2. Windows toolchains cannot follow Cygwin symbolic links. Many symbolic
|
||||||
are used in Nuttx (e.g., include/arch). The make system works around these
|
links are used in Nuttx (e.g., include/arch). The make system works
|
||||||
problems for the Windows tools by copying directories instead of linking them.
|
around these problems for the Windows tools by copying directories
|
||||||
But this can also cause some confusion for you: For example, you may edit
|
instead of linking them. But this can also cause some confusion for
|
||||||
a file in a "linked" directory and find that your changes had no effect.
|
you: For example, you may edit a file in a "linked" directory and find
|
||||||
That is because you are building the copy of the file in the "fake" symbolic
|
that your changes had no effect. That is because you are building the
|
||||||
directory. If you use a Windows toolchain, you should get in the habit of
|
copy of the file in the "fake" symbolic directory. If you use a
|
||||||
making like this:
|
Windows toolchain, you should get in the habit of making like this:
|
||||||
|
|
||||||
make clean_context all
|
make clean_context all
|
||||||
|
|
||||||
An alias in your .bashrc file might make that less painful.
|
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
|
3. Dependencies are not made when using Windows versions of the GCC. This
|
||||||
because the dependencies are generated using Windows pathes which do not
|
is because the dependencies are generated using Windows paths which do
|
||||||
work with the Cygwin make.
|
not work with the Cygwin make.
|
||||||
|
|
||||||
MKDEP = $(TOPDIR)/tools/mknulldeps.sh
|
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
|
IDEs
|
||||||
^^^^
|
^^^^
|
||||||
|
|
||||||
@ -437,7 +427,7 @@ Atmel Studio 6.1
|
|||||||
|
|
||||||
Loading Code into FLASH:
|
Loading Code into FLASH:
|
||||||
-----------------------
|
-----------------------
|
||||||
Tools menus: Tool -> Device Programming.
|
Tools menus: Tools -> Device Programming.
|
||||||
|
|
||||||
Debugging the NuttX Object File
|
Debugging the NuttX Object File
|
||||||
-------------------------------
|
-------------------------------
|
||||||
|
Loading…
Reference in New Issue
Block a user