Add option for ARM interrupt stack

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@981 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo 2008-10-06 16:20:53 +00:00
parent f0b8289e37
commit 976be5deaa
15 changed files with 302 additions and 2 deletions

View File

@ -124,8 +124,8 @@ defconfig -- This is a configuration file similar to the Linux
CONFIG_ARCH_BOARD - Identifies the configs subdirectory and
hence, the board that supports the particular chip or SoC.
CONFIG_ARCH_BOARD_name - For use in C code
CONFIG_ENDIAN_BIG - define if big endian (default is little
endian)
CONFIG_ENDIAN_BIG - define if big endian (default is little
endian)
Some architectures require a description of the RAM configuration:

View File

@ -1,6 +1,78 @@
README
^^^^^^
ARM/C5471-specific Configuration Options
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
CONFIG_ARCH - Identifies the arch/ subdirectory. This should
be set to:
CONFIG_ARCH=arm
CONFIG_ARCH_name - For use in C code:
CONFIG_ARCH_ARM=y
CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
CONFIG_ARCH_CHIP=c5471
CONFIG_ARCH_CHIP_name - For use in C code
CONFIG_ARCH_CHIP_C5471
CONFIG_ARCH_BOARD - Identifies the configs subdirectory and
hence, the board that supports the particular chip or SoC.
CONFIG_ARCH_BOARD=c5471evm (for the Spectrum Digital C5471 EVM)
CONFIG_ARCH_BOARD_name - For use in C code
CONFIG_ARCH_BOARD_C5471EVM (for the Spectrum Digital C5471 EVM)
CONFIG_ARCH_LOOPSPERMSEC - Must be calibrated for correct operation
of delay loops
CONFIG_ENDIAN_BIG - define if big endian (default is little
endian)
CONFIG_ROM_VECTORS - should be defined for the C5471 because the
interrupt vectors are in ROM
CONFIG_DRAM_END - the size of installed DRAM. Unique to c5471
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to boards that
have LEDs
CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
stack. If defined, this symbol is the size of the interrupt
stack in bytes. If not defined, the user task stacks will be
used during interrupt handling.
CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
C5471 specific device driver settings
CONFIG_SERIAL_IRDA_CONSOLE - selects the IRDA UART for the
console ant ttys0 (default is the modem UART).
CONFIG_UART_*_HWFLOWCONTROL - enables hardware flow control
CONFIG_UART_*_RXBUFSIZE - Characters are buffered as received.
This specific the size of the receive buffer
CONFIG_UART_*_TXBUFSIZE - Characters are buffered before
being sent. This specific the size of the transmit buffer
CONFIG_UART_*_BAUD - The configure BAUD of the UART. Must be
CONFIG_UART_*_BITS - The number of bits. Must be either 7 or 8.
CONFIG_UART_*_PARTIY - 0=no parity, 1=odd parity, 2=even parity
CONFIG_UART_*_2STOP - Two stop bits
C5471 Ethernet Driver settings
CONFIG_C5471_NET_STATS
CONFIG_C5471_ETHERNET_PHY={ETHERNET_PHY_LU3X31T_T64,ETHERNET_PHY_AC101L}
CONFIG_NET_C5471_AUTONEGOTIATION
CONFIG_NET_C5471_BASET100
CONFIG_NET_C5471_BASET10
defconfig
^^^^^^^^^
The default configuration file, defconfig, performs a

View File

@ -51,6 +51,10 @@
# CONFIG_DRAM_END - the size of installed DRAM.
# Unique to c5471
# CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to c5471.
# CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
# stack. If defined, this symbol is the size of the interrupt
# stack in bytes. If not defined, the user task stacks will be
# used during interrupt handling.
# CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
#
CONFIG_ARCH=arm
@ -63,6 +67,7 @@ CONFIG_BOARD_LOOPSPERMSEC=1250
CONFIG_ROM_VECTORS=n
CONFIG_DRAM_END=0x11000000
CONFIG_ARCH_LEDS=y
CONFIG_ARCH_INTERRUPTSTACK=0
CONFIG_ARCH_STACKDUMP=y
#

View File

@ -51,6 +51,10 @@
# CONFIG_DRAM_END - the size of installed DRAM.
# Unique to c5471
# CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to c5471.
# CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
# stack. If defined, this symbol is the size of the interrupt
# stack in bytes. If not defined, the user task stacks will be
# used during interrupt handling.
# CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
#
CONFIG_ARCH=arm
@ -63,6 +67,7 @@ CONFIG_BOARD_LOOPSPERMSEC=1250
CONFIG_ROM_VECTORS=n
CONFIG_DRAM_END=0x11000000
CONFIG_ARCH_LEDS=y
CONFIG_ARCH_INTERRUPTSTACK=0
CONFIG_ARCH_STACKDUMP=y
#

View File

@ -51,6 +51,10 @@
# CONFIG_DRAM_END - the size of installed DRAM.
# Unique to c5471
# CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to c5471.
# CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
# stack. If defined, this symbol is the size of the interrupt
# stack in bytes. If not defined, the user task stacks will be
# used during interrupt handling.
# CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
#
CONFIG_ARCH=arm
@ -63,6 +67,7 @@ CONFIG_BOARD_LOOPSPERMSEC=1250
CONFIG_ROM_VECTORS=n
CONFIG_DRAM_END=0x11000000
CONFIG_ARCH_LEDS=y
CONFIG_ARCH_INTERRUPTSTACK=0
CONFIG_ARCH_STACKDUMP=y
#

View File

@ -51,6 +51,10 @@
# CONFIG_DRAM_END - the size of installed DRAM.
# Unique to c5471
# CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to c5471.
# CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
# stack. If defined, this symbol is the size of the interrupt
# stack in bytes. If not defined, the user task stacks will be
# used during interrupt handling.
# CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
#
CONFIG_ARCH=arm
@ -63,6 +67,7 @@ CONFIG_BOARD_LOOPSPERMSEC=1250
CONFIG_ROM_VECTORS=n
CONFIG_DRAM_END=0x11000000
CONFIG_ARCH_LEDS=y
CONFIG_ARCH_INTERRUPTSTACK=0
CONFIG_ARCH_STACKDUMP=y
#

View File

@ -15,6 +15,102 @@ For example, the path to the built lpc21isp binary will most likely
have to have change. Then move this script to the top level NuttX
directory and simply execute it to load NuttX onto the board.
ARM/LPC214X-specific Configuration Options
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
CONFIG_ARCH - Identifies the arch/ subdirectory. This should
be set to:
CONFIG_ARCH=arm
CONFIG_ARCH_name - For use in C code:
CONFIG_ARCH_ARM=y
CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
CONFIG_ARCH_CHIP=c5471
CONFIG_ARCH_CHIP_name - For use in C code
CONFIG_ARCH_CHIP_C5471
CONFIG_ARCH_BOARD - Identifies the configs subdirectory and
hence, the board that supports the particular chip or SoC.
CONFIG_ARCH_BOARD=c5471evm (for the Spectrum Digital C5471 EVM)
CONFIG_ARCH_BOARD_name - For use in C code
CONFIG_ARCH_BOARD_C5471EVM (for the Spectrum Digital C5471 EVM)
CONFIG_ARCH_LOOPSPERMSEC - Must be calibrated for correct operation
of delay loops
CONFIG_ENDIAN_BIG - define if big endian (default is little
endian)
CONFIG_DRAM_SIZE - Describes the installed DRAM.
CONFIG_DRAM_START - The start address of installed DRAM
CONFIG_DRAM_END - Should be (CONFIG_DRAM_START+CONFIG_DRAM_SIZE)
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to boards that
have LEDs
CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
stack. If defined, this symbol is the size of the interrupt
stack in bytes. If not defined, the user task stacks will be
used during interrupt handling.
CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
LPC2148 specific chip initialization
CONFIG_EXTMEM_MODE, CONFIG_RAM_MODE, CONFIG_CODE_BASE, CONFIG_PLL_SETUP,
CONFIG_MAM_SETUP, CONFIG_APBDIV_SETUP, CONFIG_EMC_SETUP, CONFIG_BCFG0_SETUP,
CONFIG_BCFG1_SETUP, CONFIG_BCFG2_SETUP, CONFIG_BCFG3_SETUP, CONFIG_ADC_SETUP
LPC214X specific device driver settings
CONFIG_UARTn_SERIAL_CONSOLE - selects the UARTn for the
console and ttys0 (default is the UART0).
CONFIG_UARTn_RXBUFSIZE - Characters are buffered as received.
This specific the size of the receive buffer
CONFIG_UARTn_TXBUFSIZE - Characters are buffered before
being sent. This specific the size of the transmit buffer
CONFIG_UARTn_BAUD - The configure BAUD of the UART.
CONFIG_UARTn_BITS - The number of bits. Must be either 7 or 8.
CONFIG_UARTn_PARTIY - 0=no parity, 1=odd parity, 2=even parity, 3=mark 1, 4=space 0
CONFIG_UARTn_2STOP - Two stop bits
LPC214X USB Configuration
CONFIG_LPC214X_USBDEV_FRAME_INTERRUPT
Handle USB Start-Of-Frame events.
Enable reading SOF from interrupt handler vs. simply reading on demand.
Probably a bad idea... Unless there is some issue with sampling the SOF
from hardware asynchronously.
CONFIG_LPC214X_USBDEV_EPFAST_INTERRUPT
Enable high priority interrupts. I have no idea why you might want to
do that
CONFIG_LPC214X_USBDEV_NDMADESCRIPTORS
Number of DMA descriptors to allocate in the 8Kb USB RAM. This is a
tradeoff between the number of DMA channels that can be supported vs
the size of the DMA buffers available.
CONFIG_LPC214X_USBDEV_DMA
Enable lpc214x-specific DMA support
Configurations
^^^^^^^^^^^^^^

View File

@ -50,6 +50,10 @@
# CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to lpc2148.
# CONFIG_DRAM_SIZE - Describes the internal DRAM.
# CONFIG_DRAM_START - The start address of internal DRAM
# CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
# stack. If defined, this symbol is the size of the interrupt
# stack in bytes. If not defined, the user task stacks will be
# used during interrupt handling.
# CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
#
CONFIG_ARCH=arm
@ -62,6 +66,7 @@ CONFIG_ARCH_LEDS=y
CONFIG_DRAM_SIZE=0x00008000
CONFIG_DRAM_START=0x40000000
CONFIG_DRAM_END=(CONFIG_DRAM_START+CONFIG_DRAM_SIZE)
CONFIG_ARCH_INTERRUPTSTACK=0
CONFIG_ARCH_STACKDUMP=y
#

View File

@ -50,6 +50,10 @@
# CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to lpc2148.
# CONFIG_DRAM_SIZE - Describes the internal DRAM.
# CONFIG_DRAM_START - The start address of internal DRAM
# CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
# stack. If defined, this symbol is the size of the interrupt
# stack in bytes. If not defined, the user task stacks will be
# used during interrupt handling.
# CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
#
CONFIG_ARCH=arm
@ -62,6 +66,7 @@ CONFIG_ARCH_LEDS=y
CONFIG_DRAM_SIZE=0x00008000
CONFIG_DRAM_START=0x40000000
CONFIG_DRAM_END=(CONFIG_DRAM_START+CONFIG_DRAM_SIZE)
CONFIG_ARCH_INTERRUPTSTACK=0
CONFIG_ARCH_STACKDUMP=y
#

View File

@ -1,6 +1,83 @@
README
^^^^^^
ARM/DM320-specific Configuration Options
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
CONFIG_ARCH - Identifies the arch/ subdirectory. This should
be set to:
CONFIG_ARCH=arm
CONFIG_ARCH_name - For use in C code:
CONFIG_ARCH_ARM=y
CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
CONFIG_ARCH_CHIP=c5471
CONFIG_ARCH_CHIP_name - For use in C code
CONFIG_ARCH_CHIP_C5471
CONFIG_ARCH_BOARD - Identifies the configs subdirectory and
hence, the board that supports the particular chip or SoC.
CONFIG_ARCH_BOARD=c5471evm (for the Spectrum Digital C5471 EVM)
CONFIG_ARCH_BOARD_name - For use in C code
CONFIG_ARCH_BOARD_C5471EVM (for the Spectrum Digital C5471 EVM)
CONFIG_ARCH_LOOPSPERMSEC - Must be calibrated for correct operation
of delay loops
CONFIG_ENDIAN_BIG - define if big endian (default is little
endian)
CONFIG_DRAM_SIZE - Describes the installed DRAM.
CONFIG_DRAM_START - The start address of installed DRAM
CONFIG_DRAM_VSTART - The startaddress of DRAM (virtual)
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to boards that
have LEDs
CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
stack. If defined, this symbol is the size of the interrupt
stack in bytes. If not defined, the user task stacks will be
used during interrupt handling.
CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
DM320 specific device driver settings
CONFIG_UARTn_SERIAL_CONSOLE - selects the UARTn for the
console and ttys0 (default is the UART0).
CONFIG_UARTn_RXBUFSIZE - Characters are buffered as received.
This specific the size of the receive buffer
CONFIG_UARTn_TXBUFSIZE - Characters are buffered before
being sent. This specific the size of the transmit buffer
CONFIG_UARTn_BAUD - The configure BAUD of the UART. Must be
CONFIG_UARTn_BITS - The number of bits. Must be either 7 or 8.
CONFIG_UARTn_PARTIY - 0=no parity, 1=odd parity, 2=even parity
CONFIG_UARTn_2STOP - Two stop bits
DM320 USB Configuration
CONFIG_DM320_GIO_USBATTACH
GIO that detects USB attach/detach events
CONFIG_DM320_GIO_USBDPPULLUP
GIO
CONFIG_DMA320_USBDEV_DMA
Enable DM320-specific DMA support
CONFIG_DM320_GIO_USBATTACH=6
Configurations
^^^^^^^^^^^^^^
Each Neuros OSD configuration is maintained in a sudirectory and
can be selected as follow:

View File

@ -50,6 +50,10 @@
# CONFIG_DRAM_SIZE - Describes the installed DRAM.
# CONFIG_DRAM_START - The start address of DRAM (physical)
# CONFIG_DRAM_VSTART - The startaddress of DRAM (virtual)
# CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
# stack. If defined, this symbol is the size of the interrupt
# stack in bytes. If not defined, the user task stacks will be
# used during interrupt handling.
# CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
#
CONFIG_ARCH=arm
@ -63,6 +67,7 @@ CONFIG_DRAM_SIZE=0x01000000
CONFIG_DRAM_START=0x01000000
CONFIG_DRAM_VSTART=0x00000000
CONFIG_DRAM_NUTTXENTRY=0x01008000
CONFIG_ARCH_INTERRUPTSTACK=0
CONFIG_ARCH_STACKDUMP=n
#

View File

@ -50,6 +50,10 @@
# CONFIG_DRAM_SIZE - Describes the installed DRAM.
# CONFIG_DRAM_START - The start address of DRAM (physical)
# CONFIG_DRAM_VSTART - The startaddress of DRAM (virtual)
# CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
# stack. If defined, this symbol is the size of the interrupt
# stack in bytes. If not defined, the user task stacks will be
# used during interrupt handling.
# CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
#
CONFIG_ARCH=arm
@ -63,6 +67,7 @@ CONFIG_DRAM_SIZE=0x01000000
CONFIG_DRAM_START=0x01000000
CONFIG_DRAM_VSTART=0x00000000
CONFIG_DRAM_NUTTXENTRY=0x01008000
CONFIG_ARCH_INTERRUPTSTACK=0
CONFIG_ARCH_STACKDUMP=n
#

View File

@ -50,6 +50,10 @@
# CONFIG_DRAM_SIZE - Describes the installed DRAM.
# CONFIG_DRAM_START - The start address of DRAM (physical)
# CONFIG_DRAM_VSTART - The startaddress of DRAM (virtual)
# CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
# stack. If defined, this symbol is the size of the interrupt
# stack in bytes. If not defined, the user task stacks will be
# used during interrupt handling.
# CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
#
CONFIG_ARCH=arm
@ -63,6 +67,7 @@ CONFIG_DRAM_SIZE=0x01000000
CONFIG_DRAM_START=0x01000000
CONFIG_DRAM_VSTART=0x00000000
CONFIG_DRAM_NUTTXENTRY=0x01008000
CONFIG_ARCH_INTERRUPTSTACK=0
CONFIG_ARCH_STACKDUMP=y
#

View File

@ -50,6 +50,10 @@
# CONFIG_DRAM_SIZE - Describes the installed DRAM.
# CONFIG_DRAM_START - The start address of DRAM (physical)
# CONFIG_DRAM_VSTART - The startaddress of DRAM (virtual)
# CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
# stack. If defined, this symbol is the size of the interrupt
# stack in bytes. If not defined, the user task stacks will be
# used during interrupt handling.
# CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
#
CONFIG_ARCH=arm
@ -63,6 +67,7 @@ CONFIG_DRAM_SIZE=0x01000000
CONFIG_DRAM_START=0x01000000
CONFIG_DRAM_VSTART=0x00000000
CONFIG_DRAM_NUTTXENTRY=0x01008000
CONFIG_ARCH_INTERRUPTSTACK=0
CONFIG_ARCH_STACKDUMP=n
#

View File

@ -50,6 +50,10 @@
# CONFIG_DRAM_SIZE - Describes the installed DRAM.
# CONFIG_DRAM_START - The start address of DRAM (physical)
# CONFIG_DRAM_VSTART - The startaddress of DRAM (virtual)
# CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
# stack. If defined, this symbol is the size of the interrupt
# stack in bytes. If not defined, the user task stacks will be
# used during interrupt handling.
# CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
#
CONFIG_ARCH=arm
@ -63,6 +67,7 @@ CONFIG_DRAM_SIZE=0x01000000
CONFIG_DRAM_START=0x01000000
CONFIG_DRAM_VSTART=0x00000000
CONFIG_DRAM_NUTTXENTRY=0x01008000
CONFIG_ARCH_INTERRUPTSTACK=0
CONFIG_ARCH_STACKDUMP=n
#