mirror of
https://github.com/apache/nuttx.git
synced 2026-06-06 00:14:22 +08:00
Update all config README.txt files to show that they use the EABI buildroot toolchain
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5218 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
+91
-91
@@ -46,7 +46,7 @@ GNU Toolchain Options
|
|||||||
CONFIG_LPC31_CODESOURCERYW=y : CodeSourcery under Windows
|
CONFIG_LPC31_CODESOURCERYW=y : CodeSourcery under Windows
|
||||||
CONFIG_LPC31_CODESOURCERYL=y : CodeSourcery under Linux
|
CONFIG_LPC31_CODESOURCERYL=y : CodeSourcery under Linux
|
||||||
CONFIG_LPC31_DEVKITARM=y : devkitARM under Windows
|
CONFIG_LPC31_DEVKITARM=y : devkitARM under Windows
|
||||||
CONFIG_LPC31_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
|
CONFIG_LPC31_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
|
||||||
|
|
||||||
If you are not using CONFIG_LPC31_BUILDROOT, then you may also have to modify
|
If you are not using CONFIG_LPC31_BUILDROOT, then you may also have to modify
|
||||||
the PATH in the setenv.h file if your make cannot find the tools.
|
the PATH in the setenv.h file if your make cannot find the tools.
|
||||||
@@ -196,12 +196,12 @@ Image Format
|
|||||||
Then, to build the NuttX binary ready to load with the bootloader, just
|
Then, to build the NuttX binary ready to load with the bootloader, just
|
||||||
following these steps:
|
following these steps:
|
||||||
|
|
||||||
- cd tools/ # Configure Nuttx
|
- cd tools/ # Configure Nuttx
|
||||||
- ./configure.sh ea3131/ostest # (using the ostest configuration for this example)
|
- ./configure.sh ea3131/ostest # (using the ostest configuration for this example)
|
||||||
- cd .. # Set up environment
|
- cd .. # Set up environment
|
||||||
- . ./setenv.sh # (see notes below)
|
- . ./setenv.sh # (see notes below)
|
||||||
- make # Make NuttX. This will produce nuttx.bin
|
- make # Make NuttX. This will produce nuttx.bin
|
||||||
- mklpc.sh # Make the bootloader binary (nuttx.lpc)
|
- mklpc.sh # Make the bootloader binary (nuttx.lpc)
|
||||||
|
|
||||||
NOTES:
|
NOTES:
|
||||||
|
|
||||||
@@ -469,121 +469,121 @@ On-Demand Paging
|
|||||||
ARM/EA3131-specific Configuration Options
|
ARM/EA3131-specific Configuration Options
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
CONFIG_ARCH - Identifies the arch/ subdirectory. This should
|
CONFIG_ARCH - Identifies the arch/ subdirectory. This should
|
||||||
be set to:
|
be set to:
|
||||||
|
|
||||||
CONFIG_ARCH=arm
|
CONFIG_ARCH=arm
|
||||||
|
|
||||||
CONFIG_ARCH_family - For use in C code:
|
CONFIG_ARCH_family - For use in C code:
|
||||||
|
|
||||||
CONFIG_ARCH_ARM=y
|
CONFIG_ARCH_ARM=y
|
||||||
|
|
||||||
CONFIG_ARCH_architecture - For use in C code:
|
CONFIG_ARCH_architecture - For use in C code:
|
||||||
|
|
||||||
CONFIG_ARCH_ARM926EJS=y
|
CONFIG_ARCH_ARM926EJS=y
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
|
CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP=lpc313x
|
CONFIG_ARCH_CHIP=lpc313x
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP_name - For use in C code
|
CONFIG_ARCH_CHIP_name - For use in C code
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP_LPC3131
|
CONFIG_ARCH_CHIP_LPC3131
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD - Identifies the configs subdirectory and
|
CONFIG_ARCH_BOARD - Identifies the configs subdirectory and
|
||||||
hence, the board that supports the particular chip or SoC.
|
hence, the board that supports the particular chip or SoC.
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD=ea3131
|
CONFIG_ARCH_BOARD=ea3131
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD_name - For use in C code
|
CONFIG_ARCH_BOARD_name - For use in C code
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD_EA3131
|
CONFIG_ARCH_BOARD_EA3131
|
||||||
|
|
||||||
CONFIG_ARCH_LOOPSPERMSEC - Must be calibrated for correct operation
|
CONFIG_ARCH_LOOPSPERMSEC - Must be calibrated for correct operation
|
||||||
of delay loops
|
of delay loops
|
||||||
|
|
||||||
CONFIG_ENDIAN_BIG - define if big endian (default is little
|
CONFIG_ENDIAN_BIG - define if big endian (default is little
|
||||||
endian)
|
endian)
|
||||||
|
|
||||||
CONFIG_DRAM_SIZE - For most ARM9 architectures, this describes the
|
CONFIG_DRAM_SIZE - For most ARM9 architectures, this describes the
|
||||||
size of installed DRAM. For the LPC313X, it is used only to
|
size of installed DRAM. For the LPC313X, it is used only to
|
||||||
deterimine how to map the executable regions. It is SDRAM size
|
deterimine how to map the executable regions. It is SDRAM size
|
||||||
only if you are executing out of the external SDRAM; or it could
|
only if you are executing out of the external SDRAM; or it could
|
||||||
be NOR FLASH size, external SRAM size, or internal SRAM size.
|
be NOR FLASH size, external SRAM size, or internal SRAM size.
|
||||||
|
|
||||||
CONFIG_DRAM_START - The start address of installed DRAM (physical)
|
CONFIG_DRAM_START - The start address of installed DRAM (physical)
|
||||||
|
|
||||||
CONFIG_DRAM_VSTART - The startaddress of DRAM (virtual)
|
CONFIG_DRAM_VSTART - The startaddress of DRAM (virtual)
|
||||||
|
|
||||||
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to boards that
|
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to boards that
|
||||||
have LEDs
|
have LEDs
|
||||||
|
|
||||||
CONFIG_ARCH_IRQPRIO - The LPC313x supports interrupt prioritization
|
CONFIG_ARCH_IRQPRIO - The LPC313x supports interrupt prioritization
|
||||||
|
|
||||||
CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
|
CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
|
||||||
stack. If defined, this symbol is the size of the interrupt
|
stack. If defined, this symbol is the size of the interrupt
|
||||||
stack in bytes. If not defined, the user task stacks will be
|
stack in bytes. If not defined, the user task stacks will be
|
||||||
used during interrupt handling.
|
used during interrupt handling.
|
||||||
|
|
||||||
CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
|
CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
|
||||||
|
|
||||||
CONFIG_ARCH_BOOTLOADER - Set if you are using a bootloader.
|
CONFIG_ARCH_BOOTLOADER - Set if you are using a bootloader.
|
||||||
|
|
||||||
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to board architecture.
|
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to board architecture.
|
||||||
|
|
||||||
CONFIG_ARCH_BUTTONS - Enable support for buttons. Unique to board architecture.
|
CONFIG_ARCH_BUTTONS - Enable support for buttons. Unique to board architecture.
|
||||||
|
|
||||||
CONFIG_ARCH_CALIBRATION - Enables some build in instrumentation that
|
CONFIG_ARCH_CALIBRATION - Enables some build in instrumentation that
|
||||||
cause a 100 second delay during boot-up. This 100 second delay
|
cause a 100 second delay during boot-up. This 100 second delay
|
||||||
serves no purpose other than it allows you to calibratre
|
serves no purpose other than it allows you to calibratre
|
||||||
CONFIG_ARCH_LOOPSPERMSEC. You simply use a stop watch to measure
|
CONFIG_ARCH_LOOPSPERMSEC. You simply use a stop watch to measure
|
||||||
the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until
|
the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until
|
||||||
the delay actually is 100 seconds.
|
the delay actually is 100 seconds.
|
||||||
CONFIG_ARCH_DMA - Support DMA initialization
|
CONFIG_ARCH_DMA - Support DMA initialization
|
||||||
CONFIG_ARCH_LOWVECTORS - define if vectors reside at address 0x0000:00000
|
CONFIG_ARCH_LOWVECTORS - define if vectors reside at address 0x0000:00000
|
||||||
Undefine if vectors reside at address 0xffff:0000
|
Undefine if vectors reside at address 0xffff:0000
|
||||||
CONFIG_ARCH_ROMPGTABLE - A pre-initialized, read-only page table is available.
|
CONFIG_ARCH_ROMPGTABLE - A pre-initialized, read-only page table is available.
|
||||||
If defined, then board-specific logic must also define PGTABLE_BASE_PADDR,
|
If defined, then board-specific logic must also define PGTABLE_BASE_PADDR,
|
||||||
PGTABLE_BASE_VADDR, and all memory section mapping in a file named
|
PGTABLE_BASE_VADDR, and all memory section mapping in a file named
|
||||||
board_memorymap.h.
|
board_memorymap.h.
|
||||||
|
|
||||||
Individual subsystems can be enabled:
|
Individual subsystems can be enabled:
|
||||||
|
|
||||||
CONFIG_LPC31_MCI, CONFIG_LPC31_SPI, CONFIG_LPC31_UART
|
CONFIG_LPC31_MCI, CONFIG_LPC31_SPI, CONFIG_LPC31_UART
|
||||||
|
|
||||||
External memory available on the board (see also CONFIG_MM_REGIONS)
|
External memory available on the board (see also CONFIG_MM_REGIONS)
|
||||||
|
|
||||||
CONFIG_LPC31_EXTSRAM0 - Select if external SRAM0 is present
|
CONFIG_LPC31_EXTSRAM0 - Select if external SRAM0 is present
|
||||||
CONFIG_LPC31_EXTSRAM0HEAP - Select if external SRAM0 should be
|
CONFIG_LPC31_EXTSRAM0HEAP - Select if external SRAM0 should be
|
||||||
configured as part of the NuttX heap.
|
configured as part of the NuttX heap.
|
||||||
CONFIG_LPC31_EXTSRAM0SIZE - Size (in bytes) of the installed
|
CONFIG_LPC31_EXTSRAM0SIZE - Size (in bytes) of the installed
|
||||||
external SRAM0 memory
|
external SRAM0 memory
|
||||||
CONFIG_LPC31_EXTSRAM1 - Select if external SRAM1 is present
|
CONFIG_LPC31_EXTSRAM1 - Select if external SRAM1 is present
|
||||||
CONFIG_LPC31_EXTSRAM1HEAP - Select if external SRAM1 should be
|
CONFIG_LPC31_EXTSRAM1HEAP - Select if external SRAM1 should be
|
||||||
configured as part of the NuttX heap.
|
configured as part of the NuttX heap.
|
||||||
CONFIG_LPC31_EXTSRAM1SIZE - Size (in bytes) of the installed
|
CONFIG_LPC31_EXTSRAM1SIZE - Size (in bytes) of the installed
|
||||||
external SRAM1 memory
|
external SRAM1 memory
|
||||||
CONFIG_LPC31_EXTSDRAM - Select if external SDRAM is present
|
CONFIG_LPC31_EXTSDRAM - Select if external SDRAM is present
|
||||||
CONFIG_LPC31_EXTSDRAMHEAP - Select if external SDRAM should be
|
CONFIG_LPC31_EXTSDRAMHEAP - Select if external SDRAM should be
|
||||||
configured as part of the NuttX heap.
|
configured as part of the NuttX heap.
|
||||||
CONFIG_LPC31_EXTSDRAMSIZE - Size (in bytes) of the installed
|
CONFIG_LPC31_EXTSDRAMSIZE - Size (in bytes) of the installed
|
||||||
external SDRAM memory
|
external SDRAM memory
|
||||||
CONFIG_LPC31_EXTNAND - Select if external NAND is present
|
CONFIG_LPC31_EXTNAND - Select if external NAND is present
|
||||||
CONFIG_LPC31_EXTSDRAMSIZE - Size (in bytes) of the installed
|
CONFIG_LPC31_EXTSDRAMSIZE - Size (in bytes) of the installed
|
||||||
external NAND memory
|
external NAND memory
|
||||||
|
|
||||||
LPC313X specific device driver settings
|
LPC313X specific device driver settings
|
||||||
|
|
||||||
CONFIG_UART_SERIAL_CONSOLE - selects the UART for the
|
CONFIG_UART_SERIAL_CONSOLE - selects the UART for the
|
||||||
console and ttys0
|
console and ttys0
|
||||||
CONFIG_UART_RXBUFSIZE - Characters are buffered as received.
|
CONFIG_UART_RXBUFSIZE - Characters are buffered as received.
|
||||||
This specific the size of the receive buffer
|
This specific the size of the receive buffer
|
||||||
CONFIG_UART_TXBUFSIZE - Characters are buffered before
|
CONFIG_UART_TXBUFSIZE - Characters are buffered before
|
||||||
being sent. This specific the size of the transmit buffer
|
being sent. This specific the size of the transmit buffer
|
||||||
CONFIG_UART_BAUD - The configure BAUD of the UART. Must be
|
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_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_PARTIY - 0=no parity, 1=odd parity, 2=even parity
|
||||||
CONFIG_UART_2STOP - Two stop bits
|
CONFIG_UART_2STOP - Two stop bits
|
||||||
|
|
||||||
Configurations
|
Configurations
|
||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
@@ -591,10 +591,10 @@ Configurations
|
|||||||
Each EA3131 configuration is maintained in a sudirectory and can be
|
Each EA3131 configuration is maintained in a sudirectory and can be
|
||||||
selected as follow:
|
selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
./configure.sh ea3131/<subdir>
|
./configure.sh ea3131/<subdir>
|
||||||
cd -
|
cd -
|
||||||
. ./setenv.sh
|
. ./setenv.sh
|
||||||
|
|
||||||
Where <subdir> is one of the following:
|
Where <subdir> is one of the following:
|
||||||
|
|
||||||
|
|||||||
+94
-94
@@ -45,7 +45,7 @@ GNU Toolchain Options
|
|||||||
CONFIG_LPC31_CODESOURCERYW=y : CodeSourcery under Windows
|
CONFIG_LPC31_CODESOURCERYW=y : CodeSourcery under Windows
|
||||||
CONFIG_LPC31_CODESOURCERYL=y : CodeSourcery under Linux
|
CONFIG_LPC31_CODESOURCERYL=y : CodeSourcery under Linux
|
||||||
CONFIG_LPC31_DEVKITARM=y : devkitARM under Windows
|
CONFIG_LPC31_DEVKITARM=y : devkitARM under Windows
|
||||||
CONFIG_LPC31_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
|
CONFIG_LPC31_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
|
||||||
|
|
||||||
If you are not using CONFIG_LPC31_BUILDROOT, then you may also have to modify
|
If you are not using CONFIG_LPC31_BUILDROOT, then you may also have to modify
|
||||||
the PATH in the setenv.h file if your make cannot find the tools.
|
the PATH in the setenv.h file if your make cannot find the tools.
|
||||||
@@ -165,7 +165,7 @@ NuttX buildroot Toolchain
|
|||||||
|
|
||||||
Boot Sequence
|
Boot Sequence
|
||||||
^^^^^^^^^^^^^
|
^^^^^^^^^^^^^
|
||||||
LPC313x has on chip bootrom which loads properly formatted images from multiple
|
LPC315x has on chip bootrom which loads properly formatted images from multiple
|
||||||
sources into SRAM. These sources include including SPI Flash, NOR Flash, UART,
|
sources into SRAM. These sources include including SPI Flash, NOR Flash, UART,
|
||||||
USB, SD Card, and NAND Flash.
|
USB, SD Card, and NAND Flash.
|
||||||
|
|
||||||
@@ -195,12 +195,12 @@ Image Format
|
|||||||
Then, to build the NuttX binary ready to load with the bootloader, just
|
Then, to build the NuttX binary ready to load with the bootloader, just
|
||||||
following these steps:
|
following these steps:
|
||||||
|
|
||||||
- cd tools/ # Configure Nuttx
|
- cd tools/ # Configure Nuttx
|
||||||
- ./configure.sh ea3152/ostest # (using the ostest configuration for this example)
|
- ./configure.sh ea3152/ostest # (using the ostest configuration for this example)
|
||||||
- cd .. # Set up environment
|
- cd .. # Set up environment
|
||||||
- . ./setenv.sh # (see notes below)
|
- . ./setenv.sh # (see notes below)
|
||||||
- make # Make NuttX. This will produce nuttx.bin
|
- make # Make NuttX. This will produce nuttx.bin
|
||||||
- mklpc.sh # Make the bootloader binary (nuttx.lpc)
|
- mklpc.sh # Make the bootloader binary (nuttx.lpc)
|
||||||
|
|
||||||
NOTES:
|
NOTES:
|
||||||
|
|
||||||
@@ -238,7 +238,7 @@ are the steps that I use for loading new code into the EA3152:
|
|||||||
|
|
||||||
That will load the NuttX binary into ISRAM and attempt to execute it.
|
That will load the NuttX binary into ISRAM and attempt to execute it.
|
||||||
|
|
||||||
*See the LPC313x documentation if you do not have the FTDI driver installed.
|
*See the LPC315x documentation if you do not have the FTDI driver installed.
|
||||||
|
|
||||||
Using OpenOCD and GDB
|
Using OpenOCD and GDB
|
||||||
^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^
|
||||||
@@ -275,121 +275,121 @@ Using OpenOCD and GDB
|
|||||||
ARM/EA3152-specific Configuration Options
|
ARM/EA3152-specific Configuration Options
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
CONFIG_ARCH - Identifies the arch/ subdirectory. This should
|
CONFIG_ARCH - Identifies the arch/ subdirectory. This should
|
||||||
be set to:
|
be set to:
|
||||||
|
|
||||||
CONFIG_ARCH=arm
|
CONFIG_ARCH=arm
|
||||||
|
|
||||||
CONFIG_ARCH_family - For use in C code:
|
CONFIG_ARCH_family - For use in C code:
|
||||||
|
|
||||||
CONFIG_ARCH_ARM=y
|
CONFIG_ARCH_ARM=y
|
||||||
|
|
||||||
CONFIG_ARCH_architecture - For use in C code:
|
CONFIG_ARCH_architecture - For use in C code:
|
||||||
|
|
||||||
CONFIG_ARCH_ARM926EJS=y
|
CONFIG_ARCH_ARM926EJS=y
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
|
CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP=lpc313x
|
CONFIG_ARCH_CHIP=lpc31xx
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP_name - For use in C code
|
CONFIG_ARCH_CHIP_name - For use in C code
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP_LPC3152
|
CONFIG_ARCH_CHIP_LPC3152
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD - Identifies the configs subdirectory and
|
CONFIG_ARCH_BOARD - Identifies the configs subdirectory and
|
||||||
hence, the board that supports the particular chip or SoC.
|
hence, the board that supports the particular chip or SoC.
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD=ea3152
|
CONFIG_ARCH_BOARD=ea3152
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD_name - For use in C code
|
CONFIG_ARCH_BOARD_name - For use in C code
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD_EA3152
|
CONFIG_ARCH_BOARD_EA3152
|
||||||
|
|
||||||
CONFIG_ARCH_LOOPSPERMSEC - Must be calibrated for correct operation
|
CONFIG_ARCH_LOOPSPERMSEC - Must be calibrated for correct operation
|
||||||
of delay loops
|
of delay loops
|
||||||
|
|
||||||
CONFIG_ENDIAN_BIG - define if big endian (default is little
|
CONFIG_ENDIAN_BIG - define if big endian (default is little
|
||||||
endian)
|
endian)
|
||||||
|
|
||||||
CONFIG_DRAM_SIZE - For most ARM9 architectures, this describes the
|
CONFIG_DRAM_SIZE - For most ARM9 architectures, this describes the
|
||||||
size of installed DRAM. For the LPC313X, it is used only to
|
size of installed DRAM. For the LPC315X, it is used only to
|
||||||
deterimine how to map the executable regions. It is SDRAM size
|
deterimine how to map the executable regions. It is SDRAM size
|
||||||
only if you are executing out of the external SDRAM; or it could
|
only if you are executing out of the external SDRAM; or it could
|
||||||
be NOR FLASH size, external SRAM size, or internal SRAM size.
|
be NOR FLASH size, external SRAM size, or internal SRAM size.
|
||||||
|
|
||||||
CONFIG_DRAM_START - The start address of installed DRAM (physical)
|
CONFIG_DRAM_START - The start address of installed DRAM (physical)
|
||||||
|
|
||||||
CONFIG_DRAM_VSTART - The startaddress of DRAM (virtual)
|
CONFIG_DRAM_VSTART - The startaddress of DRAM (virtual)
|
||||||
|
|
||||||
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to boards that
|
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to boards that
|
||||||
have LEDs
|
have LEDs
|
||||||
|
|
||||||
CONFIG_ARCH_IRQPRIO - The LPC313x supports interrupt prioritization
|
CONFIG_ARCH_IRQPRIO - The LPC315x supports interrupt prioritization
|
||||||
|
|
||||||
CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
|
CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
|
||||||
stack. If defined, this symbol is the size of the interrupt
|
stack. If defined, this symbol is the size of the interrupt
|
||||||
stack in bytes. If not defined, the user task stacks will be
|
stack in bytes. If not defined, the user task stacks will be
|
||||||
used during interrupt handling.
|
used during interrupt handling.
|
||||||
|
|
||||||
CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
|
CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
|
||||||
|
|
||||||
CONFIG_ARCH_BOOTLOADER - Set if you are using a bootloader.
|
CONFIG_ARCH_BOOTLOADER - Set if you are using a bootloader.
|
||||||
|
|
||||||
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to board architecture.
|
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to board architecture.
|
||||||
|
|
||||||
CONFIG_ARCH_BUTTONS - Enable support for buttons. Unique to board architecture.
|
CONFIG_ARCH_BUTTONS - Enable support for buttons. Unique to board architecture.
|
||||||
|
|
||||||
CONFIG_ARCH_CALIBRATION - Enables some build in instrumentation that
|
CONFIG_ARCH_CALIBRATION - Enables some build in instrumentation that
|
||||||
cause a 100 second delay during boot-up. This 100 second delay
|
cause a 100 second delay during boot-up. This 100 second delay
|
||||||
serves no purpose other than it allows you to calibratre
|
serves no purpose other than it allows you to calibratre
|
||||||
CONFIG_ARCH_LOOPSPERMSEC. You simply use a stop watch to measure
|
CONFIG_ARCH_LOOPSPERMSEC. You simply use a stop watch to measure
|
||||||
the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until
|
the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until
|
||||||
the delay actually is 100 seconds.
|
the delay actually is 100 seconds.
|
||||||
CONFIG_ARCH_DMA - Support DMA initialization
|
CONFIG_ARCH_DMA - Support DMA initialization
|
||||||
CONFIG_ARCH_LOWVECTORS - define if vectors reside at address 0x0000:00000
|
CONFIG_ARCH_LOWVECTORS - define if vectors reside at address 0x0000:00000
|
||||||
Undefine if vectors reside at address 0xffff:0000
|
Undefine if vectors reside at address 0xffff:0000
|
||||||
CONFIG_ARCH_ROMPGTABLE - A pre-initialized, read-only page table is available.
|
CONFIG_ARCH_ROMPGTABLE - A pre-initialized, read-only page table is available.
|
||||||
If defined, then board-specific logic must also define PGTABLE_BASE_PADDR,
|
If defined, then board-specific logic must also define PGTABLE_BASE_PADDR,
|
||||||
PGTABLE_BASE_VADDR, and all memory section mapping in a file named
|
PGTABLE_BASE_VADDR, and all memory section mapping in a file named
|
||||||
board_memorymap.h.
|
board_memorymap.h.
|
||||||
|
|
||||||
Individual subsystems can be enabled:
|
Individual subsystems can be enabled:
|
||||||
|
|
||||||
CONFIG_LPC31_MCI, CONFIG_LPC31_SPI, CONFIG_LPC31_UART
|
CONFIG_LPC31_MCI, CONFIG_LPC31_SPI, CONFIG_LPC31_UART
|
||||||
|
|
||||||
External memory available on the board (see also CONFIG_MM_REGIONS)
|
External memory available on the board (see also CONFIG_MM_REGIONS)
|
||||||
|
|
||||||
CONFIG_LPC31_EXTSRAM0 - Select if external SRAM0 is present
|
CONFIG_LPC31_EXTSRAM0 - Select if external SRAM0 is present
|
||||||
CONFIG_LPC31_EXTSRAM0HEAP - Select if external SRAM0 should be
|
CONFIG_LPC31_EXTSRAM0HEAP - Select if external SRAM0 should be
|
||||||
configured as part of the NuttX heap.
|
configured as part of the NuttX heap.
|
||||||
CONFIG_LPC31_EXTSRAM0SIZE - Size (in bytes) of the installed
|
CONFIG_LPC31_EXTSRAM0SIZE - Size (in bytes) of the installed
|
||||||
external SRAM0 memory
|
external SRAM0 memory
|
||||||
CONFIG_LPC31_EXTSRAM1 - Select if external SRAM1 is present
|
CONFIG_LPC31_EXTSRAM1 - Select if external SRAM1 is present
|
||||||
CONFIG_LPC31_EXTSRAM1HEAP - Select if external SRAM1 should be
|
CONFIG_LPC31_EXTSRAM1HEAP - Select if external SRAM1 should be
|
||||||
configured as part of the NuttX heap.
|
configured as part of the NuttX heap.
|
||||||
CONFIG_LPC31_EXTSRAM1SIZE - Size (in bytes) of the installed
|
CONFIG_LPC31_EXTSRAM1SIZE - Size (in bytes) of the installed
|
||||||
external SRAM1 memory
|
external SRAM1 memory
|
||||||
CONFIG_LPC31_EXTSDRAM - Select if external SDRAM is present
|
CONFIG_LPC31_EXTSDRAM - Select if external SDRAM is present
|
||||||
CONFIG_LPC31_EXTSDRAMHEAP - Select if external SDRAM should be
|
CONFIG_LPC31_EXTSDRAMHEAP - Select if external SDRAM should be
|
||||||
configured as part of the NuttX heap.
|
configured as part of the NuttX heap.
|
||||||
CONFIG_LPC31_EXTSDRAMSIZE - Size (in bytes) of the installed
|
CONFIG_LPC31_EXTSDRAMSIZE - Size (in bytes) of the installed
|
||||||
external SDRAM memory
|
external SDRAM memory
|
||||||
CONFIG_LPC31_EXTNAND - Select if external NAND is present
|
CONFIG_LPC31_EXTNAND - Select if external NAND is present
|
||||||
CONFIG_LPC31_EXTSDRAMSIZE - Size (in bytes) of the installed
|
CONFIG_LPC31_EXTSDRAMSIZE - Size (in bytes) of the installed
|
||||||
external NAND memory
|
external NAND memory
|
||||||
|
|
||||||
LPC313X specific device driver settings
|
LPC315X specific device driver settings
|
||||||
|
|
||||||
CONFIG_UART_SERIAL_CONSOLE - selects the UART for the
|
CONFIG_UART_SERIAL_CONSOLE - selects the UART for the
|
||||||
console and ttys0
|
console and ttys0
|
||||||
CONFIG_UART_RXBUFSIZE - Characters are buffered as received.
|
CONFIG_UART_RXBUFSIZE - Characters are buffered as received.
|
||||||
This specific the size of the receive buffer
|
This specific the size of the receive buffer
|
||||||
CONFIG_UART_TXBUFSIZE - Characters are buffered before
|
CONFIG_UART_TXBUFSIZE - Characters are buffered before
|
||||||
being sent. This specific the size of the transmit buffer
|
being sent. This specific the size of the transmit buffer
|
||||||
CONFIG_UART_BAUD - The configure BAUD of the UART. Must be
|
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_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_PARTIY - 0=no parity, 1=odd parity, 2=even parity
|
||||||
CONFIG_UART_2STOP - Two stop bits
|
CONFIG_UART_2STOP - Two stop bits
|
||||||
|
|
||||||
Configurations
|
Configurations
|
||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
@@ -397,10 +397,10 @@ Configurations
|
|||||||
Each EA3152 configuration is maintained in a sudirectory and can be
|
Each EA3152 configuration is maintained in a sudirectory and can be
|
||||||
selected as follow:
|
selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
./configure.sh ea3152/<subdir>
|
./configure.sh ea3152/<subdir>
|
||||||
cd -
|
cd -
|
||||||
. ./setenv.sh
|
. ./setenv.sh
|
||||||
|
|
||||||
Where <subdir> is one of the following:
|
Where <subdir> is one of the following:
|
||||||
|
|
||||||
|
|||||||
+141
-91
@@ -110,8 +110,8 @@ CodeSourcery on Linux
|
|||||||
For an example of a CodeSourcery-under-Linux Make.defs file, see
|
For an example of a CodeSourcery-under-Linux Make.defs file, see
|
||||||
configs/stm3210e-eval/nsh/Make.defs.
|
configs/stm3210e-eval/nsh/Make.defs.
|
||||||
|
|
||||||
NuttX buildroot Toolchain
|
NuttX EABI "buildroot" Toolchain
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
||||||
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
||||||
@@ -134,7 +134,7 @@ NuttX buildroot Toolchain
|
|||||||
|
|
||||||
4. cd <some-dir>/buildroot
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
5. cp configs/cortexm3-defconfig-4.3.3 .config
|
5. cp configs/cortexm3-eabi-defconfig-4.6.3 .config
|
||||||
|
|
||||||
6. make oldconfig
|
6. make oldconfig
|
||||||
|
|
||||||
@@ -144,9 +144,59 @@ NuttX buildroot Toolchain
|
|||||||
the path to the newly built binaries.
|
the path to the newly built binaries.
|
||||||
|
|
||||||
See the file configs/README.txt in the buildroot source tree. That has more
|
See the file configs/README.txt in the buildroot source tree. That has more
|
||||||
detailed PLUS some special instructions that you will need to follow if you are
|
details PLUS some special instructions that you will need to follow if you are
|
||||||
building a Cortex-M3 toolchain for Cygwin under Windows.
|
building a Cortex-M3 toolchain for Cygwin under Windows.
|
||||||
|
|
||||||
|
NuttX OABI "buildroot" Toolchain
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
The older, OABI buildroot toolchain is also available. To use the OABI
|
||||||
|
toolchain:
|
||||||
|
|
||||||
|
1. When building the buildroot toolchain, either (1) modify the cortexm3-eabi-defconfig-4.6.3
|
||||||
|
configuration to use EABI (using 'make menuconfig'), or (2) use an exising OABI
|
||||||
|
configuration such as cortexm3-defconfig-4.3.3
|
||||||
|
|
||||||
|
2. Modify the Make.defs file to use the OABI converntions:
|
||||||
|
|
||||||
|
+CROSSDEV = arm-nuttx-elf-
|
||||||
|
+ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
|
||||||
|
-CROSSDEV = arm-nuttx-eabi-
|
||||||
|
-ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
|
|
||||||
|
NXFLAT Toolchain
|
||||||
|
^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
If you are *not* using the NuttX buildroot toolchain and you want to use
|
||||||
|
the NXFLAT tools, then you will still have to build a portion of the buildroot
|
||||||
|
tools -- just the NXFLAT tools. The buildroot with the NXFLAT tools can
|
||||||
|
be downloaded from the NuttX SourceForge download site
|
||||||
|
(https://sourceforge.net/projects/nuttx/files/).
|
||||||
|
|
||||||
|
This GNU toolchain builds and executes in the Linux or Cygwin environment.
|
||||||
|
|
||||||
|
1. You must have already configured Nuttx in <some-dir>/nuttx.
|
||||||
|
|
||||||
|
cd tools
|
||||||
|
./configure.sh lpcxpresso-lpc1768/<sub-dir>
|
||||||
|
|
||||||
|
2. Download the latest buildroot package into <some-dir>
|
||||||
|
|
||||||
|
3. unpack the buildroot tarball. The resulting directory may
|
||||||
|
have versioning information on it like buildroot-x.y.z. If so,
|
||||||
|
rename <some-dir>/buildroot-x.y.z to <some-dir>/buildroot.
|
||||||
|
|
||||||
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
|
5. cp configs/cortexm3-defconfig-nxflat .config
|
||||||
|
|
||||||
|
6. make oldconfig
|
||||||
|
|
||||||
|
7. make
|
||||||
|
|
||||||
|
8. Edit setenv.h, if necessary, so that the PATH variable includes
|
||||||
|
the path to the newly builtNXFLAT binaries.
|
||||||
|
|
||||||
Ethernet-Bootloader
|
Ethernet-Bootloader
|
||||||
^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
@@ -207,127 +257,127 @@ Ethernet-Bootloader
|
|||||||
Eagle100-specific Configuration Options
|
Eagle100-specific Configuration Options
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
CONFIG_ARCH - Identifies the arch/ subdirectory. This should
|
CONFIG_ARCH - Identifies the arch/ subdirectory. This should
|
||||||
be set to:
|
be set to:
|
||||||
|
|
||||||
CONFIG_ARCH=arm
|
CONFIG_ARCH=arm
|
||||||
|
|
||||||
CONFIG_ARCH_family - For use in C code:
|
CONFIG_ARCH_family - For use in C code:
|
||||||
|
|
||||||
CONFIG_ARCH_ARM=y
|
CONFIG_ARCH_ARM=y
|
||||||
|
|
||||||
CONFIG_ARCH_architecture - For use in C code:
|
CONFIG_ARCH_architecture - For use in C code:
|
||||||
|
|
||||||
CONFIG_ARCH_CORTEXM3=y
|
CONFIG_ARCH_CORTEXM3=y
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
|
CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP=lm3s
|
CONFIG_ARCH_CHIP=lm3s
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP_name - For use in C code to identify the exact
|
CONFIG_ARCH_CHIP_name - For use in C code to identify the exact
|
||||||
chip:
|
chip:
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP_LM3S6918
|
CONFIG_ARCH_CHIP_LM3S6918
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD - Identifies the configs subdirectory and
|
CONFIG_ARCH_BOARD - Identifies the configs subdirectory and
|
||||||
hence, the board that supports the particular chip or SoC.
|
hence, the board that supports the particular chip or SoC.
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD=eagle100 (for the MicroMint Eagle-100 development board)
|
CONFIG_ARCH_BOARD=eagle100 (for the MicroMint Eagle-100 development board)
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD_name - For use in C code
|
CONFIG_ARCH_BOARD_name - For use in C code
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD_EAGLE100
|
CONFIG_ARCH_BOARD_EAGLE100
|
||||||
|
|
||||||
CONFIG_ARCH_LOOPSPERMSEC - Must be calibrated for correct operation
|
CONFIG_ARCH_LOOPSPERMSEC - Must be calibrated for correct operation
|
||||||
of delay loops
|
of delay loops
|
||||||
|
|
||||||
CONFIG_ENDIAN_BIG - define if big endian (default is little
|
CONFIG_ENDIAN_BIG - define if big endian (default is little
|
||||||
endian)
|
endian)
|
||||||
|
|
||||||
CONFIG_DRAM_SIZE - Describes the installed DRAM (SRAM in this case):
|
CONFIG_DRAM_SIZE - Describes the installed DRAM (SRAM in this case):
|
||||||
|
|
||||||
CONFIG_DRAM_SIZE=0x00010000 (64Kb)
|
CONFIG_DRAM_SIZE=0x00010000 (64Kb)
|
||||||
|
|
||||||
CONFIG_DRAM_START - The start address of installed DRAM
|
CONFIG_DRAM_START - The start address of installed DRAM
|
||||||
|
|
||||||
CONFIG_DRAM_START=0x20000000
|
CONFIG_DRAM_START=0x20000000
|
||||||
|
|
||||||
CONFIG_ARCH_IRQPRIO - The LM3S6918 supports interrupt prioritization
|
CONFIG_ARCH_IRQPRIO - The LM3S6918 supports interrupt prioritization
|
||||||
|
|
||||||
CONFIG_ARCH_IRQPRIO=y
|
CONFIG_ARCH_IRQPRIO=y
|
||||||
|
|
||||||
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to boards that
|
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to boards that
|
||||||
have LEDs
|
have LEDs
|
||||||
|
|
||||||
CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
|
CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
|
||||||
stack. If defined, this symbol is the size of the interrupt
|
stack. If defined, this symbol is the size of the interrupt
|
||||||
stack in bytes. If not defined, the user task stacks will be
|
stack in bytes. If not defined, the user task stacks will be
|
||||||
used during interrupt handling.
|
used during interrupt handling.
|
||||||
|
|
||||||
CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
|
CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
|
||||||
|
|
||||||
CONFIG_ARCH_BOOTLOADER - Configure to use the MicroMint Eagle-100
|
CONFIG_ARCH_BOOTLOADER - Configure to use the MicroMint Eagle-100
|
||||||
Ethernet bootloader.
|
Ethernet bootloader.
|
||||||
|
|
||||||
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to board architecture.
|
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to board architecture.
|
||||||
|
|
||||||
CONFIG_ARCH_CALIBRATION - Enables some build in instrumentation that
|
CONFIG_ARCH_CALIBRATION - Enables some build in instrumentation that
|
||||||
cause a 100 second delay during boot-up. This 100 second delay
|
cause a 100 second delay during boot-up. This 100 second delay
|
||||||
serves no purpose other than it allows you to calibratre
|
serves no purpose other than it allows you to calibratre
|
||||||
CONFIG_ARCH_LOOPSPERMSEC. You simply use a stop watch to measure
|
CONFIG_ARCH_LOOPSPERMSEC. You simply use a stop watch to measure
|
||||||
the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until
|
the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until
|
||||||
the delay actually is 100 seconds.
|
the delay actually is 100 seconds.
|
||||||
|
|
||||||
There are configurations for disabling support for interrupts GPIO ports.
|
There are configurations for disabling support for interrupts GPIO ports.
|
||||||
GPIOH and GPIOJ must be disabled because they do not exist on the LM3S6918.
|
GPIOH and GPIOJ must be disabled because they do not exist on the LM3S6918.
|
||||||
Additional interrupt support can be disabled if desired to reduce memory
|
Additional interrupt support can be disabled if desired to reduce memory
|
||||||
footprint.
|
footprint.
|
||||||
|
|
||||||
CONFIG_LM3S_DISABLE_GPIOA_IRQS=n
|
CONFIG_LM3S_DISABLE_GPIOA_IRQS=n
|
||||||
CONFIG_LM3S_DISABLE_GPIOB_IRQS=n
|
CONFIG_LM3S_DISABLE_GPIOB_IRQS=n
|
||||||
CONFIG_LM3S_DISABLE_GPIOC_IRQS=n
|
CONFIG_LM3S_DISABLE_GPIOC_IRQS=n
|
||||||
CONFIG_LM3S_DISABLE_GPIOD_IRQS=n
|
CONFIG_LM3S_DISABLE_GPIOD_IRQS=n
|
||||||
CONFIG_LM3S_DISABLE_GPIOE_IRQS=n
|
CONFIG_LM3S_DISABLE_GPIOE_IRQS=n
|
||||||
CONFIG_LM3S_DISABLE_GPIOF_IRQS=n
|
CONFIG_LM3S_DISABLE_GPIOF_IRQS=n
|
||||||
CONFIG_LM3S_DISABLE_GPIOG_IRQS=n
|
CONFIG_LM3S_DISABLE_GPIOG_IRQS=n
|
||||||
CONFIG_LM3S_DISABLE_GPIOH_IRQS=y
|
CONFIG_LM3S_DISABLE_GPIOH_IRQS=y
|
||||||
CONFIG_LM3S_DISABLE_GPIOJ_IRQS=y
|
CONFIG_LM3S_DISABLE_GPIOJ_IRQS=y
|
||||||
|
|
||||||
LM3S6818 specific device driver settings
|
LM3S6818 specific device driver settings
|
||||||
|
|
||||||
CONFIG_UARTn_SERIAL_CONSOLE - selects the UARTn for the
|
CONFIG_UARTn_SERIAL_CONSOLE - selects the UARTn for the
|
||||||
console and ttys0 (default is the UART0).
|
console and ttys0 (default is the UART0).
|
||||||
CONFIG_UARTn_RXBUFSIZE - Characters are buffered as received.
|
CONFIG_UARTn_RXBUFSIZE - Characters are buffered as received.
|
||||||
This specific the size of the receive buffer
|
This specific the size of the receive buffer
|
||||||
CONFIG_UARTn_TXBUFSIZE - Characters are buffered before
|
CONFIG_UARTn_TXBUFSIZE - Characters are buffered before
|
||||||
being sent. This specific the size of the transmit buffer
|
being sent. This specific the size of the transmit buffer
|
||||||
CONFIG_UARTn_BAUD - The configure BAUD of the UART. Must be
|
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_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_PARTIY - 0=no parity, 1=odd parity, 2=even parity
|
||||||
CONFIG_UARTn_2STOP - Two stop bits
|
CONFIG_UARTn_2STOP - Two stop bits
|
||||||
|
|
||||||
CONFIG_SSI0_DISABLE - Select to disable support for SSI0
|
CONFIG_SSI0_DISABLE - Select to disable support for SSI0
|
||||||
CONFIG_SSI1_DISABLE - Select to disable support for SSI1
|
CONFIG_SSI1_DISABLE - Select to disable support for SSI1
|
||||||
CONFIG_SSI_POLLWAIT - Select to disable interrupt driven SSI support.
|
CONFIG_SSI_POLLWAIT - Select to disable interrupt driven SSI support.
|
||||||
Poll-waiting is recommended if the interrupt rate would be to
|
Poll-waiting is recommended if the interrupt rate would be to
|
||||||
high in the interrupt driven case.
|
high in the interrupt driven case.
|
||||||
CONFIG_SSI_TXLIMIT - Write this many words to the Tx FIFO before
|
CONFIG_SSI_TXLIMIT - Write this many words to the Tx FIFO before
|
||||||
emptying the Rx FIFO. If the SPI frequency is high and this
|
emptying the Rx FIFO. If the SPI frequency is high and this
|
||||||
value is large, then larger values of this setting may cause
|
value is large, then larger values of this setting may cause
|
||||||
Rx FIFO overrun errors. Default: half of the Tx FIFO size (4).
|
Rx FIFO overrun errors. Default: half of the Tx FIFO size (4).
|
||||||
|
|
||||||
CONFIG_LM3S_ETHERNET - This must be set (along with CONFIG_NET)
|
CONFIG_LM3S_ETHERNET - This must be set (along with CONFIG_NET)
|
||||||
to build the LM3S Ethernet driver
|
to build the LM3S Ethernet driver
|
||||||
CONFIG_LM3S_ETHLEDS - Enable to use Ethernet LEDs on the board.
|
CONFIG_LM3S_ETHLEDS - Enable to use Ethernet LEDs on the board.
|
||||||
CONFIG_LM3S_BOARDMAC - If the board-specific logic can provide
|
CONFIG_LM3S_BOARDMAC - If the board-specific logic can provide
|
||||||
a MAC address (via lm3s_ethernetmac()), then this should be selected.
|
a MAC address (via lm3s_ethernetmac()), then this should be selected.
|
||||||
CONFIG_LM3S_ETHHDUPLEX - Set to force half duplex operation
|
CONFIG_LM3S_ETHHDUPLEX - Set to force half duplex operation
|
||||||
CONFIG_LM3S_ETHNOAUTOCRC - Set to suppress auto-CRC generation
|
CONFIG_LM3S_ETHNOAUTOCRC - Set to suppress auto-CRC generation
|
||||||
CONFIG_LM3S_ETHNOPAD - Set to suppress Tx padding
|
CONFIG_LM3S_ETHNOPAD - Set to suppress Tx padding
|
||||||
CONFIG_LM3S_MULTICAST - Set to enable multicast frames
|
CONFIG_LM3S_MULTICAST - Set to enable multicast frames
|
||||||
CONFIG_LM3S_PROMISCUOUS - Set to enable promiscuous mode
|
CONFIG_LM3S_PROMISCUOUS - Set to enable promiscuous mode
|
||||||
CONFIG_LM3S_BADCRC - Set to enable bad CRC rejection.
|
CONFIG_LM3S_BADCRC - Set to enable bad CRC rejection.
|
||||||
CONFIG_LM3S_DUMPPACKET - Dump each packet received/sent to the console.
|
CONFIG_LM3S_DUMPPACKET - Dump each packet received/sent to the console.
|
||||||
|
|
||||||
Configurations
|
Configurations
|
||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
@@ -335,10 +385,10 @@ Configurations
|
|||||||
Each Eagle-100 configuration is maintained in a sudirectory and
|
Each Eagle-100 configuration is maintained in a sudirectory and
|
||||||
can be selected as follow:
|
can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
./configure.sh eagle100/<subdir>
|
./configure.sh eagle100/<subdir>
|
||||||
cd -
|
cd -
|
||||||
. ./setenv.sh
|
. ./setenv.sh
|
||||||
|
|
||||||
Where <subdir> is one of the following:
|
Where <subdir> is one of the following:
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,9 @@ Contents
|
|||||||
Development Environment
|
Development Environment
|
||||||
GNU Toolchain Options
|
GNU Toolchain Options
|
||||||
IDEs
|
IDEs
|
||||||
NuttX buildroot Toolchain
|
NuttX EABI "buildroot" Toolchain
|
||||||
|
NuttX OABI "buildroot" Toolchain
|
||||||
|
NXFLAT Toolchain
|
||||||
Stellaris EKK-LM3S9B96 Evaluation Kit Configuration Options
|
Stellaris EKK-LM3S9B96 Evaluation Kit Configuration Options
|
||||||
Configurations
|
Configurations
|
||||||
|
|
||||||
@@ -186,8 +188,8 @@ IDEs
|
|||||||
Startup files will probably cause you some headaches. The NuttX startup file
|
Startup files will probably cause you some headaches. The NuttX startup file
|
||||||
is arch/arm/src/lm3s/lm3s_vectors.S.
|
is arch/arm/src/lm3s/lm3s_vectors.S.
|
||||||
|
|
||||||
NuttX buildroot Toolchain
|
NuttX EABI "buildroot" Toolchain
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
||||||
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
||||||
@@ -210,7 +212,7 @@ NuttX buildroot Toolchain
|
|||||||
|
|
||||||
4. cd <some-dir>/buildroot
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
5. cp configs/cortexm3-defconfig-4.3.3 .config
|
5. cp configs/cortexm3-eabi-defconfig-4.6.3 .config
|
||||||
|
|
||||||
6. make oldconfig
|
6. make oldconfig
|
||||||
|
|
||||||
@@ -220,11 +222,58 @@ NuttX buildroot Toolchain
|
|||||||
the path to the newly built binaries.
|
the path to the newly built binaries.
|
||||||
|
|
||||||
See the file configs/README.txt in the buildroot source tree. That has more
|
See the file configs/README.txt in the buildroot source tree. That has more
|
||||||
detailed PLUS some special instructions that you will need to follow if you
|
details PLUS some special instructions that you will need to follow if you
|
||||||
are building a Cortex-M3 toolchain for Cygwin under Windows.
|
are building a Cortex-M3 toolchain for Cygwin under Windows.
|
||||||
|
|
||||||
NOTE: This is an OABI toolchain.
|
NuttX OABI "buildroot" Toolchain
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
The older, OABI buildroot toolchain is also available. To use the OABI
|
||||||
|
toolchain:
|
||||||
|
|
||||||
|
1. When building the buildroot toolchain, either (1) modify the cortexm3-eabi-defconfig-4.6.3
|
||||||
|
configuration to use EABI (using 'make menuconfig'), or (2) use an exising OABI
|
||||||
|
configuration such as cortexm3-defconfig-4.3.3
|
||||||
|
|
||||||
|
2. Modify the Make.defs file to use the OABI converntions:
|
||||||
|
|
||||||
|
+CROSSDEV = arm-nuttx-elf-
|
||||||
|
+ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
|
||||||
|
-CROSSDEV = arm-nuttx-eabi-
|
||||||
|
-ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
|
|
||||||
|
NXFLAT Toolchain
|
||||||
|
^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
If you are *not* using the NuttX buildroot toolchain and you want to use
|
||||||
|
the NXFLAT tools, then you will still have to build a portion of the buildroot
|
||||||
|
tools -- just the NXFLAT tools. The buildroot with the NXFLAT tools can
|
||||||
|
be downloaded from the NuttX SourceForge download site
|
||||||
|
(https://sourceforge.net/projects/nuttx/files/).
|
||||||
|
|
||||||
|
This GNU toolchain builds and executes in the Linux or Cygwin environment.
|
||||||
|
|
||||||
|
1. You must have already configured Nuttx in <some-dir>/nuttx.
|
||||||
|
|
||||||
|
cd tools
|
||||||
|
./configure.sh lpcxpresso-lpc1768/<sub-dir>
|
||||||
|
|
||||||
|
2. Download the latest buildroot package into <some-dir>
|
||||||
|
|
||||||
|
3. unpack the buildroot tarball. The resulting directory may
|
||||||
|
have versioning information on it like buildroot-x.y.z. If so,
|
||||||
|
rename <some-dir>/buildroot-x.y.z to <some-dir>/buildroot.
|
||||||
|
|
||||||
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
|
5. cp configs/cortexm3-defconfig-nxflat .config
|
||||||
|
|
||||||
|
6. make oldconfig
|
||||||
|
|
||||||
|
7. make
|
||||||
|
|
||||||
|
8. Edit setenv.h, if necessary, so that the PATH variable includes
|
||||||
|
the path to the newly builtNXFLAT binaries.
|
||||||
|
|
||||||
Stellaris EKK-LM3S9B96 Evaluation Kit Configuration Options
|
Stellaris EKK-LM3S9B96 Evaluation Kit Configuration Options
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|||||||
@@ -15,7 +15,9 @@ Contents
|
|||||||
- Development Environment
|
- Development Environment
|
||||||
- GNU Toolchain Options
|
- GNU Toolchain Options
|
||||||
- IDEs
|
- IDEs
|
||||||
- NuttX buildroot Toolchain
|
- NuttX EABI "buildroot" Toolchain
|
||||||
|
- NuttX OABI "buildroot" Toolchain
|
||||||
|
- NXFLAT Toolchain
|
||||||
- DFU and JTAG
|
- DFU and JTAG
|
||||||
- OpenOCD
|
- OpenOCD
|
||||||
- LEDs
|
- LEDs
|
||||||
@@ -308,8 +310,8 @@ IDEs
|
|||||||
one time from the Cygwin command line in order to obtain the pre-built
|
one time from the Cygwin command line in order to obtain the pre-built
|
||||||
startup object needed by RIDE.
|
startup object needed by RIDE.
|
||||||
|
|
||||||
NuttX buildroot Toolchain
|
NuttX EABI "buildroot" Toolchain
|
||||||
=========================
|
================================
|
||||||
|
|
||||||
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
||||||
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
||||||
@@ -332,7 +334,7 @@ NuttX buildroot Toolchain
|
|||||||
|
|
||||||
4. cd <some-dir>/buildroot
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
5. cp configs/cortexm3-defconfig-4.3.3 .config
|
5. cp configs/cortexm3-eabi-defconfig-4.6.3 .config
|
||||||
|
|
||||||
6. make oldconfig
|
6. make oldconfig
|
||||||
|
|
||||||
@@ -342,9 +344,59 @@ NuttX buildroot Toolchain
|
|||||||
the path to the newly built binaries.
|
the path to the newly built binaries.
|
||||||
|
|
||||||
See the file configs/README.txt in the buildroot source tree. That has more
|
See the file configs/README.txt in the buildroot source tree. That has more
|
||||||
detailed PLUS some special instructions that you will need to follow if you are
|
details PLUS some special instructions that you will need to follow if you are
|
||||||
building a Cortex-M3 toolchain for Cygwin under Windows.
|
building a Cortex-M3 toolchain for Cygwin under Windows.
|
||||||
|
|
||||||
|
NuttX OABI "buildroot" Toolchain
|
||||||
|
================================
|
||||||
|
|
||||||
|
The older, OABI buildroot toolchain is also available. To use the OABI
|
||||||
|
toolchain:
|
||||||
|
|
||||||
|
1. When building the buildroot toolchain, either (1) modify the cortexm3-eabi-defconfig-4.6.3
|
||||||
|
configuration to use EABI (using 'make menuconfig'), or (2) use an exising OABI
|
||||||
|
configuration such as cortexm3-defconfig-4.3.3
|
||||||
|
|
||||||
|
2. Modify the Make.defs file to use the OABI converntions:
|
||||||
|
|
||||||
|
+CROSSDEV = arm-nuttx-elf-
|
||||||
|
+ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
|
||||||
|
-CROSSDEV = arm-nuttx-eabi-
|
||||||
|
-ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
|
|
||||||
|
NXFLAT Toolchain
|
||||||
|
================
|
||||||
|
|
||||||
|
If you are *not* using the NuttX buildroot toolchain and you want to use
|
||||||
|
the NXFLAT tools, then you will still have to build a portion of the buildroot
|
||||||
|
tools -- just the NXFLAT tools. The buildroot with the NXFLAT tools can
|
||||||
|
be downloaded from the NuttX SourceForge download site
|
||||||
|
(https://sourceforge.net/projects/nuttx/files/).
|
||||||
|
|
||||||
|
This GNU toolchain builds and executes in the Linux or Cygwin environment.
|
||||||
|
|
||||||
|
1. You must have already configured Nuttx in <some-dir>/nuttx.
|
||||||
|
|
||||||
|
cd tools
|
||||||
|
./configure.sh lpcxpresso-lpc1768/<sub-dir>
|
||||||
|
|
||||||
|
2. Download the latest buildroot package into <some-dir>
|
||||||
|
|
||||||
|
3. unpack the buildroot tarball. The resulting directory may
|
||||||
|
have versioning information on it like buildroot-x.y.z. If so,
|
||||||
|
rename <some-dir>/buildroot-x.y.z to <some-dir>/buildroot.
|
||||||
|
|
||||||
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
|
5. cp configs/cortexm3-defconfig-nxflat .config
|
||||||
|
|
||||||
|
6. make oldconfig
|
||||||
|
|
||||||
|
7. make
|
||||||
|
|
||||||
|
8. Edit setenv.h, if necessary, so that the PATH variable includes
|
||||||
|
the path to the newly builtNXFLAT binaries.
|
||||||
|
|
||||||
DFU and JTAG
|
DFU and JTAG
|
||||||
============
|
============
|
||||||
|
|
||||||
|
|||||||
+217
-165
@@ -10,7 +10,9 @@ Contents
|
|||||||
- Development Environment
|
- Development Environment
|
||||||
- GNU Toolchain Options
|
- GNU Toolchain Options
|
||||||
- IDEs
|
- IDEs
|
||||||
- NuttX buildroot Toolchain
|
- NuttX EABI "buildroot" Toolchain
|
||||||
|
- NuttX OABI "buildroot" Toolchain
|
||||||
|
- NXFLAT Toolchain
|
||||||
- DFU
|
- DFU
|
||||||
- LEDs
|
- LEDs
|
||||||
- RTC
|
- RTC
|
||||||
@@ -47,7 +49,7 @@ GNU Toolchain Options
|
|||||||
CONFIG_STM32_CODESOURCERYL=y : CodeSourcery under Linux
|
CONFIG_STM32_CODESOURCERYL=y : CodeSourcery under Linux
|
||||||
CONFIG_STM32_DEVKITARM=y : devkitARM under Windows
|
CONFIG_STM32_DEVKITARM=y : devkitARM under Windows
|
||||||
CONFIG_STM32_RAISONANCE=y : Raisonance RIDE7 under Windows
|
CONFIG_STM32_RAISONANCE=y : Raisonance RIDE7 under Windows
|
||||||
CONFIG_STM32_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
|
CONFIG_STM32_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
|
||||||
|
|
||||||
If you are not using CONFIG_STM32_BUILDROOT, then you may also have to modify
|
If you are not using CONFIG_STM32_BUILDROOT, then you may also have to modify
|
||||||
the PATH in the setenv.h file if your make cannot find the tools.
|
the PATH in the setenv.h file if your make cannot find the tools.
|
||||||
@@ -128,8 +130,8 @@ IDEs
|
|||||||
one time from the Cygwin command line in order to obtain the pre-built
|
one time from the Cygwin command line in order to obtain the pre-built
|
||||||
startup object needed by RIDE.
|
startup object needed by RIDE.
|
||||||
|
|
||||||
NuttX buildroot Toolchain
|
NuttX EABI "buildroot" Toolchain
|
||||||
=========================
|
================================
|
||||||
|
|
||||||
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
||||||
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
||||||
@@ -152,7 +154,7 @@ NuttX buildroot Toolchain
|
|||||||
|
|
||||||
4. cd <some-dir>/buildroot
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
5. cp configs/cortexm3-defconfig-4.3.3 .config
|
5. cp configs/cortexm3-eabi-defconfig-4.6.3 .config
|
||||||
|
|
||||||
6. make oldconfig
|
6. make oldconfig
|
||||||
|
|
||||||
@@ -162,9 +164,59 @@ NuttX buildroot Toolchain
|
|||||||
the path to the newly built binaries.
|
the path to the newly built binaries.
|
||||||
|
|
||||||
See the file configs/README.txt in the buildroot source tree. That has more
|
See the file configs/README.txt in the buildroot source tree. That has more
|
||||||
detailed PLUS some special instructions that you will need to follow if you are
|
details PLUS some special instructions that you will need to follow if you are
|
||||||
building a Cortex-M3 toolchain for Cygwin under Windows.
|
building a Cortex-M3 toolchain for Cygwin under Windows.
|
||||||
|
|
||||||
|
NuttX OABI "buildroot" Toolchain
|
||||||
|
================================
|
||||||
|
|
||||||
|
The older, OABI buildroot toolchain is also available. To use the OABI
|
||||||
|
toolchain:
|
||||||
|
|
||||||
|
1. When building the buildroot toolchain, either (1) modify the cortexm3-eabi-defconfig-4.6.3
|
||||||
|
configuration to use EABI (using 'make menuconfig'), or (2) use an exising OABI
|
||||||
|
configuration such as cortexm3-defconfig-4.3.3
|
||||||
|
|
||||||
|
2. Modify the Make.defs file to use the OABI converntions:
|
||||||
|
|
||||||
|
+CROSSDEV = arm-nuttx-elf-
|
||||||
|
+ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
|
||||||
|
-CROSSDEV = arm-nuttx-eabi-
|
||||||
|
-ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
|
|
||||||
|
NXFLAT Toolchain
|
||||||
|
================
|
||||||
|
|
||||||
|
If you are *not* using the NuttX buildroot toolchain and you want to use
|
||||||
|
the NXFLAT tools, then you will still have to build a portion of the buildroot
|
||||||
|
tools -- just the NXFLAT tools. The buildroot with the NXFLAT tools can
|
||||||
|
be downloaded from the NuttX SourceForge download site
|
||||||
|
(https://sourceforge.net/projects/nuttx/files/).
|
||||||
|
|
||||||
|
This GNU toolchain builds and executes in the Linux or Cygwin environment.
|
||||||
|
|
||||||
|
1. You must have already configured Nuttx in <some-dir>/nuttx.
|
||||||
|
|
||||||
|
cd tools
|
||||||
|
./configure.sh lpcxpresso-lpc1768/<sub-dir>
|
||||||
|
|
||||||
|
2. Download the latest buildroot package into <some-dir>
|
||||||
|
|
||||||
|
3. unpack the buildroot tarball. The resulting directory may
|
||||||
|
have versioning information on it like buildroot-x.y.z. If so,
|
||||||
|
rename <some-dir>/buildroot-x.y.z to <some-dir>/buildroot.
|
||||||
|
|
||||||
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
|
5. cp configs/cortexm3-defconfig-nxflat .config
|
||||||
|
|
||||||
|
6. make oldconfig
|
||||||
|
|
||||||
|
7. make
|
||||||
|
|
||||||
|
8. Edit setenv.h, if necessary, so that the PATH variable includes
|
||||||
|
the path to the newly builtNXFLAT binaries.
|
||||||
|
|
||||||
DFU
|
DFU
|
||||||
===
|
===
|
||||||
|
|
||||||
@@ -218,16 +270,16 @@ The HY-MiniSTM32 board provides only two controlable LEDs labeled LED1 and LED2.
|
|||||||
Usage of these LEDs is defined in include/board.h and src/up_leds.c.
|
Usage of these LEDs is defined in include/board.h and src/up_leds.c.
|
||||||
They are encoded as follows:
|
They are encoded as follows:
|
||||||
|
|
||||||
SYMBOL Meaning LED1* LED2
|
SYMBOL Meaning LED1* LED2
|
||||||
------------------- ----------------------- ------- -------
|
------------------- ----------------------- ------- -------
|
||||||
LED_STARTED NuttX has been started OFF OFF
|
LED_STARTED NuttX has been started OFF OFF
|
||||||
LED_HEAPALLOCATE Heap has been allocated ON OFF
|
LED_HEAPALLOCATE Heap has been allocated ON OFF
|
||||||
LED_IRQSENABLED Interrupts enabled OFF ON
|
LED_IRQSENABLED Interrupts enabled OFF ON
|
||||||
LED_STACKCREATED Idle stack created ON OFF
|
LED_STACKCREATED Idle stack created ON OFF
|
||||||
LED_INIRQ In an interrupt** OFF N/C
|
LED_INIRQ In an interrupt** OFF N/C
|
||||||
LED_SIGNAL In a signal handler*** N/C ON
|
LED_SIGNAL In a signal handler*** N/C ON
|
||||||
LED_ASSERTION An assertion failed ON ON
|
LED_ASSERTION An assertion failed ON ON
|
||||||
LED_PANIC The system has crashed BLINK BLINK
|
LED_PANIC The system has crashed BLINK BLINK
|
||||||
LED_IDLE STM32 is is sleep mode (Optional, not used)
|
LED_IDLE STM32 is is sleep mode (Optional, not used)
|
||||||
|
|
||||||
* If Nuttx starts correctly, normal state is to have LED1 on and LED2 off.
|
* If Nuttx starts correctly, normal state is to have LED1 on and LED2 off.
|
||||||
@@ -269,123 +321,123 @@ RTC
|
|||||||
HY-Mini specific Configuration Options
|
HY-Mini specific Configuration Options
|
||||||
============================================
|
============================================
|
||||||
|
|
||||||
CONFIG_ARCH - Identifies the arch/ subdirectory. This should
|
CONFIG_ARCH - Identifies the arch/ subdirectory. This should
|
||||||
be set to:
|
be set to:
|
||||||
|
|
||||||
CONFIG_ARCH=arm
|
CONFIG_ARCH=arm
|
||||||
|
|
||||||
CONFIG_ARCH_family - For use in C code:
|
CONFIG_ARCH_family - For use in C code:
|
||||||
|
|
||||||
CONFIG_ARCH_ARM=y
|
CONFIG_ARCH_ARM=y
|
||||||
|
|
||||||
CONFIG_ARCH_architecture - For use in C code:
|
CONFIG_ARCH_architecture - For use in C code:
|
||||||
|
|
||||||
CONFIG_ARCH_CORTEXM3=y
|
CONFIG_ARCH_CORTEXM3=y
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
|
CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP=stm32
|
CONFIG_ARCH_CHIP=stm32
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP_name - For use in C code to identify the exact
|
CONFIG_ARCH_CHIP_name - For use in C code to identify the exact
|
||||||
chip:
|
chip:
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP_STM32F103VCT6
|
CONFIG_ARCH_CHIP_STM32F103VCT6
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD_STM32_CUSTOM_CLOCKCONFIG - Enables special STM32 clock
|
CONFIG_ARCH_BOARD_STM32_CUSTOM_CLOCKCONFIG - Enables special STM32 clock
|
||||||
configuration features.
|
configuration features.
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD_STM32_CUSTOM_CLOCKCONFIG=n
|
CONFIG_ARCH_BOARD_STM32_CUSTOM_CLOCKCONFIG=n
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD - Identifies the configs subdirectory and
|
CONFIG_ARCH_BOARD - Identifies the configs subdirectory and
|
||||||
hence, the board that supports the particular chip or SoC.
|
hence, the board that supports the particular chip or SoC.
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD=hymini-stm32v (for the HY-Mini development board)
|
CONFIG_ARCH_BOARD=hymini-stm32v (for the HY-Mini development board)
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD_name - For use in C code
|
CONFIG_ARCH_BOARD_name - For use in C code
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD_HYMINI_STM32V=y
|
CONFIG_ARCH_BOARD_HYMINI_STM32V=y
|
||||||
|
|
||||||
CONFIG_ARCH_LOOPSPERMSEC - Must be calibrated for correct operation
|
CONFIG_ARCH_LOOPSPERMSEC - Must be calibrated for correct operation
|
||||||
of delay loops
|
of delay loops
|
||||||
|
|
||||||
CONFIG_ENDIAN_BIG - define if big endian (default is little
|
CONFIG_ENDIAN_BIG - define if big endian (default is little
|
||||||
endian)
|
endian)
|
||||||
|
|
||||||
CONFIG_DRAM_SIZE - Describes the installed DRAM (SRAM in this case):
|
CONFIG_DRAM_SIZE - Describes the installed DRAM (SRAM in this case):
|
||||||
|
|
||||||
CONFIG_DRAM_SIZE=0x0000C000 (48Kb)
|
CONFIG_DRAM_SIZE=0x0000C000 (48Kb)
|
||||||
|
|
||||||
CONFIG_DRAM_START - The start address of installed DRAM
|
CONFIG_DRAM_START - The start address of installed DRAM
|
||||||
|
|
||||||
CONFIG_DRAM_START=0x20000000
|
CONFIG_DRAM_START=0x20000000
|
||||||
|
|
||||||
CONFIG_ARCH_IRQPRIO - The STM32F103V supports interrupt prioritization
|
CONFIG_ARCH_IRQPRIO - The STM32F103V supports interrupt prioritization
|
||||||
|
|
||||||
CONFIG_ARCH_IRQPRIO=y
|
CONFIG_ARCH_IRQPRIO=y
|
||||||
|
|
||||||
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to boards that
|
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to boards that
|
||||||
have LEDs
|
have LEDs
|
||||||
|
|
||||||
CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
|
CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
|
||||||
stack. If defined, this symbol is the size of the interrupt
|
stack. If defined, this symbol is the size of the interrupt
|
||||||
stack in bytes. If not defined, the user task stacks will be
|
stack in bytes. If not defined, the user task stacks will be
|
||||||
used during interrupt handling.
|
used during interrupt handling.
|
||||||
|
|
||||||
CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
|
CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
|
||||||
|
|
||||||
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to board architecture.
|
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to board architecture.
|
||||||
|
|
||||||
CONFIG_ARCH_CALIBRATION - Enables some build in instrumentation that
|
CONFIG_ARCH_CALIBRATION - Enables some build in instrumentation that
|
||||||
cause a 100 second delay during boot-up. This 100 second delay
|
cause a 100 second delay during boot-up. This 100 second delay
|
||||||
serves no purpose other than it allows you to calibratre
|
serves no purpose other than it allows you to calibratre
|
||||||
CONFIG_ARCH_LOOPSPERMSEC. You simply use a stop watch to measure
|
CONFIG_ARCH_LOOPSPERMSEC. You simply use a stop watch to measure
|
||||||
the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until
|
the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until
|
||||||
the delay actually is 100 seconds.
|
the delay actually is 100 seconds.
|
||||||
|
|
||||||
Individual subsystems can be enabled:
|
Individual subsystems can be enabled:
|
||||||
AHB
|
AHB
|
||||||
---
|
---
|
||||||
CONFIG_STM32_DMA1
|
CONFIG_STM32_DMA1
|
||||||
CONFIG_STM32_DMA2
|
CONFIG_STM32_DMA2
|
||||||
CONFIG_STM32_CRC
|
CONFIG_STM32_CRC
|
||||||
CONFIG_STM32_FSMC
|
CONFIG_STM32_FSMC
|
||||||
CONFIG_STM32_SDIO
|
CONFIG_STM32_SDIO
|
||||||
|
|
||||||
APB1
|
APB1
|
||||||
----
|
----
|
||||||
CONFIG_STM32_TIM2
|
CONFIG_STM32_TIM2
|
||||||
CONFIG_STM32_TIM3 (required for PWM control of LCD backlight)
|
CONFIG_STM32_TIM3 (required for PWM control of LCD backlight)
|
||||||
CONFIG_STM32_TIM4
|
CONFIG_STM32_TIM4
|
||||||
CONFIG_STM32_TIM5
|
CONFIG_STM32_TIM5
|
||||||
CONFIG_STM32_TIM6
|
CONFIG_STM32_TIM6
|
||||||
CONFIG_STM32_TIM7
|
CONFIG_STM32_TIM7
|
||||||
CONFIG_STM32_IWDG
|
CONFIG_STM32_IWDG
|
||||||
CONFIG_STM32_WWDG
|
CONFIG_STM32_WWDG
|
||||||
CONFIG_STM32_IWDG
|
CONFIG_STM32_IWDG
|
||||||
CONFIG_STM32_SPI2
|
CONFIG_STM32_SPI2
|
||||||
CONFIG_STM32_SPI4
|
CONFIG_STM32_SPI4
|
||||||
CONFIG_STM32_USART2
|
CONFIG_STM32_USART2
|
||||||
CONFIG_STM32_USART3
|
CONFIG_STM32_USART3
|
||||||
CONFIG_STM32_UART4
|
CONFIG_STM32_UART4
|
||||||
CONFIG_STM32_UART5
|
CONFIG_STM32_UART5
|
||||||
CONFIG_STM32_I2C1
|
CONFIG_STM32_I2C1
|
||||||
CONFIG_STM32_I2C2
|
CONFIG_STM32_I2C2
|
||||||
CONFIG_STM32_USB
|
CONFIG_STM32_USB
|
||||||
CONFIG_STM32_CAN1
|
CONFIG_STM32_CAN1
|
||||||
CONFIG_STM32_BKP
|
CONFIG_STM32_BKP
|
||||||
CONFIG_STM32_PWR
|
CONFIG_STM32_PWR
|
||||||
CONFIG_STM32_DAC
|
CONFIG_STM32_DAC
|
||||||
CONFIG_STM32_USB
|
CONFIG_STM32_USB
|
||||||
|
|
||||||
APB2
|
APB2
|
||||||
----
|
----
|
||||||
CONFIG_STM32_ADC1
|
CONFIG_STM32_ADC1
|
||||||
CONFIG_STM32_ADC2
|
CONFIG_STM32_ADC2
|
||||||
CONFIG_STM32_TIM1
|
CONFIG_STM32_TIM1
|
||||||
CONFIG_STM32_SPI1
|
CONFIG_STM32_SPI1
|
||||||
CONFIG_STM32_TIM8
|
CONFIG_STM32_TIM8
|
||||||
CONFIG_STM32_USART1
|
CONFIG_STM32_USART1
|
||||||
CONFIG_STM32_ADC3
|
CONFIG_STM32_ADC3
|
||||||
|
|
||||||
Timer and I2C devices may need to the following to force power to be applied
|
Timer and I2C devices may need to the following to force power to be applied
|
||||||
unconditionally at power up. (Otherwise, the device is powered when it is
|
unconditionally at power up. (Otherwise, the device is powered when it is
|
||||||
@@ -405,84 +457,84 @@ HY-Mini specific Configuration Options
|
|||||||
to assign the timer (n) for used by the ADC or DAC, but then you also have to
|
to assign the timer (n) for used by the ADC or DAC, but then you also have to
|
||||||
configure which ADC or DAC (m) it is assigned to.
|
configure which ADC or DAC (m) it is assigned to.
|
||||||
|
|
||||||
CONFIG_STM32_TIMn_PWM Reserve timer n for use by PWM, n=1,..,8
|
CONFIG_STM32_TIMn_PWM Reserve timer n for use by PWM, n=1,..,8
|
||||||
CONFIG_STM32_TIMn_ADC Reserve timer n for use by ADC, n=1,..,8
|
CONFIG_STM32_TIMn_ADC Reserve timer n for use by ADC, n=1,..,8
|
||||||
CONFIG_STM32_TIMn_ADCm Reserve timer n to trigger ADCm, n=1,..,8, m=1,..,3
|
CONFIG_STM32_TIMn_ADCm Reserve timer n to trigger ADCm, n=1,..,8, m=1,..,3
|
||||||
CONFIG_STM32_TIMn_DAC Reserve timer n for use by DAC, n=1,..,8
|
CONFIG_STM32_TIMn_DAC Reserve timer n for use by DAC, n=1,..,8
|
||||||
CONFIG_STM32_TIMn_DACm Reserve timer n to trigger DACm, n=1,..,8, m=1,..,2
|
CONFIG_STM32_TIMn_DACm Reserve timer n to trigger DACm, n=1,..,8, m=1,..,2
|
||||||
|
|
||||||
Others alternate pin mappings available:
|
Others alternate pin mappings available:
|
||||||
|
|
||||||
CONFIG_STM32_TIM1_FULL_REMAP
|
CONFIG_STM32_TIM1_FULL_REMAP
|
||||||
CONFIG_STM32_TIM1_PARTIAL_REMAP
|
CONFIG_STM32_TIM1_PARTIAL_REMAP
|
||||||
CONFIG_STM32_TIM2_FULL_REMAP
|
CONFIG_STM32_TIM2_FULL_REMAP
|
||||||
CONFIG_STM32_TIM2_PARTIAL_REMAP_1
|
CONFIG_STM32_TIM2_PARTIAL_REMAP_1
|
||||||
CONFIG_STM32_TIM2_PARTIAL_REMAP_2
|
CONFIG_STM32_TIM2_PARTIAL_REMAP_2
|
||||||
CONFIG_STM32_TIM3_FULL_REMAP
|
CONFIG_STM32_TIM3_FULL_REMAP
|
||||||
CONFIG_STM32_TIM3_PARTIAL_REMAP
|
CONFIG_STM32_TIM3_PARTIAL_REMAP
|
||||||
CONFIG_STM32_TIM4_REMAP
|
CONFIG_STM32_TIM4_REMAP
|
||||||
CONFIG_STM32_USART1_REMAP
|
CONFIG_STM32_USART1_REMAP
|
||||||
CONFIG_STM32_USART2_REMAP
|
CONFIG_STM32_USART2_REMAP
|
||||||
CONFIG_STM32_USART3_FULL_REMAP
|
CONFIG_STM32_USART3_FULL_REMAP
|
||||||
CONFIG_STM32_USART3_PARTIAL_REMAP
|
CONFIG_STM32_USART3_PARTIAL_REMAP
|
||||||
CONFIG_STM32_SPI1_REMAP
|
CONFIG_STM32_SPI1_REMAP
|
||||||
CONFIG_STM32_SPI3_REMAP
|
CONFIG_STM32_SPI3_REMAP
|
||||||
CONFIG_STM32_I2C1_REMAP
|
CONFIG_STM32_I2C1_REMAP
|
||||||
CONFIG_STM32_CAN1_REMAP1
|
CONFIG_STM32_CAN1_REMAP1
|
||||||
CONFIG_STM32_CAN1_REMAP2
|
CONFIG_STM32_CAN1_REMAP2
|
||||||
CONFIG_STM32_CAN2_REMAP
|
CONFIG_STM32_CAN2_REMAP
|
||||||
|
|
||||||
STM32F103V specific device driver settings
|
STM32F103V specific device driver settings
|
||||||
|
|
||||||
CONFIG_U[S]ARTn_SERIAL_CONSOLE - selects the USARTn (n=1,2,3) or UART
|
CONFIG_U[S]ARTn_SERIAL_CONSOLE - selects the USARTn (n=1,2,3) or UART
|
||||||
m (m=4,5) for the console and ttys0 (default is the USART1).
|
m (m=4,5) for the console and ttys0 (default is the USART1).
|
||||||
|
|
||||||
Note: USART1 is connected to a PL2303 serial to USB converter.
|
Note: USART1 is connected to a PL2303 serial to USB converter.
|
||||||
So USART1 is available through USB port labeled CN3 on the board.
|
So USART1 is available through USB port labeled CN3 on the board.
|
||||||
|
|
||||||
CONFIG_U[S]ARTn_RXBUFSIZE - Characters are buffered as received.
|
CONFIG_U[S]ARTn_RXBUFSIZE - Characters are buffered as received.
|
||||||
This specific the size of the receive buffer
|
This specific the size of the receive buffer
|
||||||
CONFIG_U[S]ARTn_TXBUFSIZE - Characters are buffered before
|
CONFIG_U[S]ARTn_TXBUFSIZE - Characters are buffered before
|
||||||
being sent. This specific the size of the transmit buffer
|
being sent. This specific the size of the transmit buffer
|
||||||
CONFIG_U[S]ARTn_BAUD - The configure BAUD of the UART. Must be
|
CONFIG_U[S]ARTn_BAUD - The configure BAUD of the UART. Must be
|
||||||
CONFIG_U[S]ARTn_BITS - The number of bits. Must be either 7 or 8.
|
CONFIG_U[S]ARTn_BITS - The number of bits. Must be either 7 or 8.
|
||||||
CONFIG_U[S]ARTn_PARTIY - 0=no parity, 1=odd parity, 2=even parity
|
CONFIG_U[S]ARTn_PARTIY - 0=no parity, 1=odd parity, 2=even parity
|
||||||
CONFIG_U[S]ARTn_2STOP - Two stop bits
|
CONFIG_U[S]ARTn_2STOP - Two stop bits
|
||||||
|
|
||||||
CONFIG_STM32_SPI_INTERRUPTS - Select to enable interrupt driven SPI
|
CONFIG_STM32_SPI_INTERRUPTS - Select to enable interrupt driven SPI
|
||||||
support. Non-interrupt-driven, poll-waiting is recommended if the
|
support. Non-interrupt-driven, poll-waiting is recommended if the
|
||||||
interrupt rate would be to high in the interrupt driven case.
|
interrupt rate would be to high in the interrupt driven case.
|
||||||
CONFIG_STM32_SPI_DMA - Use DMA to improve SPI transfer performance.
|
CONFIG_STM32_SPI_DMA - Use DMA to improve SPI transfer performance.
|
||||||
Cannot be used with CONFIG_STM32_SPI_INTERRUPT.
|
Cannot be used with CONFIG_STM32_SPI_INTERRUPT.
|
||||||
|
|
||||||
CONFIG_SDIO_DMA - Support DMA data transfers. Requires CONFIG_STM32_SDIO
|
CONFIG_SDIO_DMA - Support DMA data transfers. Requires CONFIG_STM32_SDIO
|
||||||
and CONFIG_STM32_DMA2.
|
and CONFIG_STM32_DMA2.
|
||||||
CONFIG_SDIO_PRI - Select SDIO interrupt prority. Default: 128
|
CONFIG_SDIO_PRI - Select SDIO interrupt prority. Default: 128
|
||||||
CONFIG_SDIO_DMAPRIO - Select SDIO DMA interrupt priority.
|
CONFIG_SDIO_DMAPRIO - Select SDIO DMA interrupt priority.
|
||||||
Default: Medium
|
Default: Medium
|
||||||
CONFIG_SDIO_WIDTH_D1_ONLY - Select 1-bit transfer mode. Default:
|
CONFIG_SDIO_WIDTH_D1_ONLY - Select 1-bit transfer mode. Default:
|
||||||
4-bit transfer mode.
|
4-bit transfer mode.
|
||||||
CONFIG_MMCSD_HAVECARDDETECT - Select if SDIO driver card detection
|
CONFIG_MMCSD_HAVECARDDETECT - Select if SDIO driver card detection
|
||||||
is 100% accurate (it is on the HY-MiniSTM32V)
|
is 100% accurate (it is on the HY-MiniSTM32V)
|
||||||
|
|
||||||
HY-MiniSTM32V CAN Configuration
|
HY-MiniSTM32V CAN Configuration
|
||||||
|
|
||||||
CONFIG_CAN - Enables CAN support (one or both of CONFIG_STM32_CAN1 or
|
CONFIG_CAN - Enables CAN support (one or both of CONFIG_STM32_CAN1 or
|
||||||
CONFIG_STM32_CAN2 must also be defined)
|
CONFIG_STM32_CAN2 must also be defined)
|
||||||
CONFIG_CAN_EXTID - Enables support for the 29-bit extended ID. Default
|
CONFIG_CAN_EXTID - Enables support for the 29-bit extended ID. Default
|
||||||
Standard 11-bit IDs.
|
Standard 11-bit IDs.
|
||||||
CONFIG_CAN_FIFOSIZE - The size of the circular buffer of CAN messages.
|
CONFIG_CAN_FIFOSIZE - The size of the circular buffer of CAN messages.
|
||||||
Default: 8
|
Default: 8
|
||||||
CONFIG_CAN_NPENDINGRTR - The size of the list of pending RTR requests.
|
CONFIG_CAN_NPENDINGRTR - The size of the list of pending RTR requests.
|
||||||
Default: 4
|
Default: 4
|
||||||
CONFIG_CAN_LOOPBACK - A CAN driver may or may not support a loopback
|
CONFIG_CAN_LOOPBACK - A CAN driver may or may not support a loopback
|
||||||
mode for testing. The STM32 CAN driver does support loopback mode.
|
mode for testing. The STM32 CAN driver does support loopback mode.
|
||||||
CONFIG_CAN1_BAUD - CAN1 BAUD rate. Required if CONFIG_STM32_CAN1 is defined.
|
CONFIG_CAN1_BAUD - CAN1 BAUD rate. Required if CONFIG_STM32_CAN1 is defined.
|
||||||
CONFIG_CAN2_BAUD - CAN1 BAUD rate. Required if CONFIG_STM32_CAN2 is defined.
|
CONFIG_CAN2_BAUD - CAN1 BAUD rate. Required if CONFIG_STM32_CAN2 is defined.
|
||||||
CONFIG_CAN_TSEG1 - The number of CAN time quanta in segment 1. Default: 6
|
CONFIG_CAN_TSEG1 - The number of CAN time quanta in segment 1. Default: 6
|
||||||
CONFIG_CAN_TSEG2 - the number of CAN time quanta in segment 2. Default: 7
|
CONFIG_CAN_TSEG2 - the number of CAN time quanta in segment 2. Default: 7
|
||||||
CONFIG_CAN_REGDEBUG - If CONFIG_DEBUG is set, this will generate an
|
CONFIG_CAN_REGDEBUG - If CONFIG_DEBUG is set, this will generate an
|
||||||
dump of all CAN registers.
|
dump of all CAN registers.
|
||||||
|
|
||||||
HY-MiniSTM32V LCD Hardware Configuration (SSD1289 controler)
|
HY-MiniSTM32V LCD Hardware Configuration (SSD1289 controler)
|
||||||
|
|
||||||
@@ -510,10 +562,10 @@ Configurations
|
|||||||
Each HY-MiniSTM32V configuration is maintained in a sudirectory and
|
Each HY-MiniSTM32V configuration is maintained in a sudirectory and
|
||||||
can be selected as follow:
|
can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
./configure.sh hymini-stm32v/<subdir>
|
./configure.sh hymini-stm32v/<subdir>
|
||||||
cd -
|
cd -
|
||||||
. ./setenv.sh
|
. ./setenv.sh
|
||||||
|
|
||||||
Where <subdir> is one of the following:
|
Where <subdir> is one of the following:
|
||||||
|
|
||||||
@@ -547,10 +599,10 @@ Where <subdir> is one of the following:
|
|||||||
FAT FS CONFIG_FAT_LCNAME=y CONFIG_FAT_LCNAME=y
|
FAT FS CONFIG_FAT_LCNAME=y CONFIG_FAT_LCNAME=y
|
||||||
Config CONFIG_FAT_LFN=n CONFIG_FAT_LFN=y (4)
|
Config CONFIG_FAT_LFN=n CONFIG_FAT_LFN=y (4)
|
||||||
----------- ----------------------- --------------------------------
|
----------- ----------------------- --------------------------------
|
||||||
LCD Driver No Yes
|
LCD Driver No Yes
|
||||||
Support
|
Support
|
||||||
----------- ----------------------- --------------------------------
|
----------- ----------------------- --------------------------------
|
||||||
RTC Support No Yes
|
RTC Support No Yes
|
||||||
----------- ----------------------- --------------------------------
|
----------- ----------------------- --------------------------------
|
||||||
Support for No Yes
|
Support for No Yes
|
||||||
Built-in
|
Built-in
|
||||||
|
|||||||
+123
-72
@@ -22,7 +22,9 @@ Contents
|
|||||||
o Development Environment
|
o Development Environment
|
||||||
o GNU Toolchain Options
|
o GNU Toolchain Options
|
||||||
o IDEs
|
o IDEs
|
||||||
o NuttX buildroot Toolchain
|
o NuttX EABI "buildroot" Toolchain
|
||||||
|
o NuttX OABI "buildroot" Toolchain
|
||||||
|
o NXFLAT Toolchain
|
||||||
|
|
||||||
Kinetis KwikStik-K40 Features:
|
Kinetis KwikStik-K40 Features:
|
||||||
==============================
|
==============================
|
||||||
@@ -171,7 +173,7 @@ GNU Toolchain Options
|
|||||||
CONFIG_KINETIS_CODESOURCERYW=y : CodeSourcery under Windows
|
CONFIG_KINETIS_CODESOURCERYW=y : CodeSourcery under Windows
|
||||||
CONFIG_KINETIS_CODESOURCERYL=y : CodeSourcery under Linux
|
CONFIG_KINETIS_CODESOURCERYL=y : CodeSourcery under Linux
|
||||||
CONFIG_KINETIS_DEVKITARM=y : devkitARM under Windows
|
CONFIG_KINETIS_DEVKITARM=y : devkitARM under Windows
|
||||||
CONFIG_KINETIS_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
|
CONFIG_KINETIS_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
|
||||||
|
|
||||||
If you are not using CONFIG_KINETIS_BUILDROOT, then you may also have to modify
|
If you are not using CONFIG_KINETIS_BUILDROOT, then you may also have to modify
|
||||||
the PATH in the setenv.h file if your make cannot find the tools.
|
the PATH in the setenv.h file if your make cannot find the tools.
|
||||||
@@ -249,8 +251,8 @@ IDEs
|
|||||||
Startup files will probably cause you some headaches. The NuttX startup file
|
Startup files will probably cause you some headaches. The NuttX startup file
|
||||||
is arch/arm/src/kinetis/k40_vectors.S.
|
is arch/arm/src/kinetis/k40_vectors.S.
|
||||||
|
|
||||||
NuttX buildroot Toolchain
|
NuttX EABI "buildroot" Toolchain
|
||||||
=========================
|
================================
|
||||||
|
|
||||||
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
||||||
be modified to point to the correct path to the Cortex-M4 GCC toolchain (if
|
be modified to point to the correct path to the Cortex-M4 GCC toolchain (if
|
||||||
@@ -260,8 +262,7 @@ NuttX buildroot Toolchain
|
|||||||
SourceForge download site (https://sourceforge.net/projects/nuttx/files/buildroot/).
|
SourceForge download site (https://sourceforge.net/projects/nuttx/files/buildroot/).
|
||||||
This GNU toolchain builds and executes in the Linux or Cygwin environment.
|
This GNU toolchain builds and executes in the Linux or Cygwin environment.
|
||||||
|
|
||||||
NOTE: The NuttX toolchain is an OABI toolchain (vs. the more common EABI)
|
NOTE: The NuttX toolchain may not include optimizations for Cortex-M4 (ARMv7E-M).
|
||||||
and does not include optimizations for Cortex-M4 (ARMv7E-M).
|
|
||||||
|
|
||||||
1. You must have already configured Nuttx in <some-dir>/nuttx.
|
1. You must have already configured Nuttx in <some-dir>/nuttx.
|
||||||
|
|
||||||
@@ -276,7 +277,7 @@ NuttX buildroot Toolchain
|
|||||||
|
|
||||||
4. cd <some-dir>/buildroot
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
5. cp configs/cortexm3-defconfig-4.3.3 .config
|
5. cp configs/cortexm3-eabi-defconfig-4.6.3 .config
|
||||||
|
|
||||||
6. make oldconfig
|
6. make oldconfig
|
||||||
|
|
||||||
@@ -286,92 +287,142 @@ NuttX buildroot Toolchain
|
|||||||
the path to the newly built binaries.
|
the path to the newly built binaries.
|
||||||
|
|
||||||
See the file configs/README.txt in the buildroot source tree. That has more
|
See the file configs/README.txt in the buildroot source tree. That has more
|
||||||
detailed PLUS some special instructions that you will need to follow if you are
|
details PLUS some special instructions that you will need to follow if you are
|
||||||
building a Cortex-M4 toolchain for Cygwin under Windows.
|
building a Cortex-M4 toolchain for Cygwin under Windows.
|
||||||
|
|
||||||
|
NuttX OABI "buildroot" Toolchain
|
||||||
|
================================
|
||||||
|
|
||||||
|
The older, OABI buildroot toolchain is also available. To use the OABI
|
||||||
|
toolchain:
|
||||||
|
|
||||||
|
1. When building the buildroot toolchain, either (1) modify the cortexm3-eabi-defconfig-4.6.3
|
||||||
|
configuration to use EABI (using 'make menuconfig'), or (2) use an exising OABI
|
||||||
|
configuration such as cortexm3-defconfig-4.3.3
|
||||||
|
|
||||||
|
2. Modify the Make.defs file to use the OABI converntions:
|
||||||
|
|
||||||
|
+CROSSDEV = arm-nuttx-elf-
|
||||||
|
+ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
|
||||||
|
-CROSSDEV = arm-nuttx-eabi-
|
||||||
|
-ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
|
|
||||||
|
NXFLAT Toolchain
|
||||||
|
================
|
||||||
|
|
||||||
|
If you are *not* using the NuttX buildroot toolchain and you want to use
|
||||||
|
the NXFLAT tools, then you will still have to build a portion of the buildroot
|
||||||
|
tools -- just the NXFLAT tools. The buildroot with the NXFLAT tools can
|
||||||
|
be downloaded from the NuttX SourceForge download site
|
||||||
|
(https://sourceforge.net/projects/nuttx/files/).
|
||||||
|
|
||||||
|
This GNU toolchain builds and executes in the Linux or Cygwin environment.
|
||||||
|
|
||||||
|
1. You must have already configured Nuttx in <some-dir>/nuttx.
|
||||||
|
|
||||||
|
cd tools
|
||||||
|
./configure.sh lpcxpresso-lpc1768/<sub-dir>
|
||||||
|
|
||||||
|
2. Download the latest buildroot package into <some-dir>
|
||||||
|
|
||||||
|
3. unpack the buildroot tarball. The resulting directory may
|
||||||
|
have versioning information on it like buildroot-x.y.z. If so,
|
||||||
|
rename <some-dir>/buildroot-x.y.z to <some-dir>/buildroot.
|
||||||
|
|
||||||
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
|
5. cp configs/cortexm3-defconfig-nxflat .config
|
||||||
|
|
||||||
|
6. make oldconfig
|
||||||
|
|
||||||
|
7. make
|
||||||
|
|
||||||
|
8. Edit setenv.h, if necessary, so that the PATH variable includes
|
||||||
|
the path to the newly builtNXFLAT binaries.
|
||||||
|
|
||||||
KwikStik-K40-specific Configuration Options
|
KwikStik-K40-specific Configuration Options
|
||||||
============================================
|
============================================
|
||||||
|
|
||||||
CONFIG_ARCH - Identifies the arch/ subdirectory. This sould
|
CONFIG_ARCH - Identifies the arch/ subdirectory. This sould
|
||||||
be set to:
|
be set to:
|
||||||
|
|
||||||
CONFIG_ARCH=arm
|
CONFIG_ARCH=arm
|
||||||
|
|
||||||
CONFIG_ARCH_family - For use in C code:
|
CONFIG_ARCH_family - For use in C code:
|
||||||
|
|
||||||
CONFIG_ARCH_ARM=y
|
CONFIG_ARCH_ARM=y
|
||||||
|
|
||||||
CONFIG_ARCH_architecture - For use in C code:
|
CONFIG_ARCH_architecture - For use in C code:
|
||||||
|
|
||||||
CONFIG_ARCH_CORTEXM4=y
|
CONFIG_ARCH_CORTEXM4=y
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
|
CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP=k40
|
CONFIG_ARCH_CHIP=k40
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP_name - For use in C code to identify the exact
|
CONFIG_ARCH_CHIP_name - For use in C code to identify the exact
|
||||||
chip:
|
chip:
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP_MK40X256VLQ100
|
CONFIG_ARCH_CHIP_MK40X256VLQ100
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD - Identifies the configs subdirectory and
|
CONFIG_ARCH_BOARD - Identifies the configs subdirectory and
|
||||||
hence, the board that supports the particular chip or SoC.
|
hence, the board that supports the particular chip or SoC.
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD=kwikstik-k40 (for the KwikStik-K40 development board)
|
CONFIG_ARCH_BOARD=kwikstik-k40 (for the KwikStik-K40 development board)
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD_name - For use in C code
|
CONFIG_ARCH_BOARD_name - For use in C code
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD_KWIKSTIK_K40=y
|
CONFIG_ARCH_BOARD_KWIKSTIK_K40=y
|
||||||
|
|
||||||
CONFIG_ARCH_LOOPSPERMSEC - Must be calibrated for correct operation
|
CONFIG_ARCH_LOOPSPERMSEC - Must be calibrated for correct operation
|
||||||
of delay loops
|
of delay loops
|
||||||
|
|
||||||
CONFIG_ENDIAN_BIG - define if big endian (default is little
|
CONFIG_ENDIAN_BIG - define if big endian (default is little
|
||||||
endian)
|
endian)
|
||||||
|
|
||||||
CONFIG_DRAM_SIZE - Describes the installed DRAM (SRAM in this case):
|
CONFIG_DRAM_SIZE - Describes the installed DRAM (SRAM in this case):
|
||||||
|
|
||||||
CONFIG_DRAM_SIZE=0x00010000 (64Kb)
|
CONFIG_DRAM_SIZE=0x00010000 (64Kb)
|
||||||
|
|
||||||
CONFIG_DRAM_START - The start address of installed DRAM
|
CONFIG_DRAM_START - The start address of installed DRAM
|
||||||
|
|
||||||
CONFIG_DRAM_START=0x20000000
|
CONFIG_DRAM_START=0x20000000
|
||||||
|
|
||||||
CONFIG_ARCH_IRQPRIO - The Kinetis K40 supports interrupt prioritization
|
CONFIG_ARCH_IRQPRIO - The Kinetis K40 supports interrupt prioritization
|
||||||
|
|
||||||
CONFIG_ARCH_IRQPRIO=y
|
CONFIG_ARCH_IRQPRIO=y
|
||||||
|
|
||||||
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to boards that
|
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to boards that
|
||||||
have LEDs
|
have LEDs
|
||||||
|
|
||||||
CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
|
CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
|
||||||
stack. If defined, this symbol is the size of the interrupt
|
stack. If defined, this symbol is the size of the interrupt
|
||||||
stack in bytes. If not defined, the user task stacks will be
|
stack in bytes. If not defined, the user task stacks will be
|
||||||
used during interrupt handling.
|
used during interrupt handling.
|
||||||
|
|
||||||
CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
|
CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
|
||||||
|
|
||||||
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to board architecture.
|
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to board architecture.
|
||||||
|
|
||||||
CONFIG_ARCH_CALIBRATION - Enables some build in instrumentation that
|
CONFIG_ARCH_CALIBRATION - Enables some build in instrumentation that
|
||||||
cause a 100 second delay during boot-up. This 100 second delay
|
cause a 100 second delay during boot-up. This 100 second delay
|
||||||
serves no purpose other than it allows you to calibratre
|
serves no purpose other than it allows you to calibratre
|
||||||
CONFIG_ARCH_LOOPSPERMSEC. You simply use a stop watch to measure
|
CONFIG_ARCH_LOOPSPERMSEC. You simply use a stop watch to measure
|
||||||
the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until
|
the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until
|
||||||
the delay actually is 100 seconds.
|
the delay actually is 100 seconds.
|
||||||
|
|
||||||
Individual subsystems can be enabled:
|
Individual subsystems can be enabled:
|
||||||
|
|
||||||
CONFIG_KINETIS_TRACE -- Enable trace clocking on power up.
|
CONFIG_KINETIS_TRACE -- Enable trace clocking on power up.
|
||||||
CONFIG_KINETIS_FLEXBUS -- Enable flexbus clocking on power up.
|
CONFIG_KINETIS_FLEXBUS -- Enable flexbus clocking on power up.
|
||||||
CONFIG_KINETIS_UART0 -- Support UART0
|
CONFIG_KINETIS_UART0 -- Support UART0
|
||||||
CONFIG_KINETIS_UART1 -- Support UART1
|
CONFIG_KINETIS_UART1 -- Support UART1
|
||||||
CONFIG_KINETIS_UART2 -- Support UART2
|
CONFIG_KINETIS_UART2 -- Support UART2
|
||||||
CONFIG_KINETIS_UART3 -- Support UART3
|
CONFIG_KINETIS_UART3 -- Support UART3
|
||||||
CONFIG_KINETIS_UART4 -- Support UART4
|
CONFIG_KINETIS_UART4 -- Support UART4
|
||||||
CONFIG_KINETIS_UART5 -- Support UART5
|
CONFIG_KINETIS_UART5 -- Support UART5
|
||||||
CONFIG_KINETIS_ENET -- Support Ethernet (K60 only)
|
CONFIG_KINETIS_ENET -- Support Ethernet (K60 only)
|
||||||
CONFIG_KINETIS_RNGB -- Support the random number generator(K60 only)
|
CONFIG_KINETIS_RNGB -- Support the random number generator(K60 only)
|
||||||
CONFIG_KINETIS_FLEXCAN0 -- Support FlexCAN0
|
CONFIG_KINETIS_FLEXCAN0 -- Support FlexCAN0
|
||||||
CONFIG_KINETIS_FLEXCAN1 -- Support FlexCAN1
|
CONFIG_KINETIS_FLEXCAN1 -- Support FlexCAN1
|
||||||
CONFIG_KINETIS_SPI0 -- Support SPI0
|
CONFIG_KINETIS_SPI0 -- Support SPI0
|
||||||
@@ -380,8 +431,8 @@ KwikStik-K40-specific Configuration Options
|
|||||||
CONFIG_KINETIS_I2C0 -- Support I2C0
|
CONFIG_KINETIS_I2C0 -- Support I2C0
|
||||||
CONFIG_KINETIS_I2C1 -- Support I2C1
|
CONFIG_KINETIS_I2C1 -- Support I2C1
|
||||||
CONFIG_KINETIS_I2S -- Support I2S
|
CONFIG_KINETIS_I2S -- Support I2S
|
||||||
CONFIG_KINETIS_DAC0 -- Support DAC0
|
CONFIG_KINETIS_DAC0 -- Support DAC0
|
||||||
CONFIG_KINETIS_DAC1 -- Support DAC1
|
CONFIG_KINETIS_DAC1 -- Support DAC1
|
||||||
CONFIG_KINETIS_ADC0 -- Support ADC0
|
CONFIG_KINETIS_ADC0 -- Support ADC0
|
||||||
CONFIG_KINETIS_ADC1 -- Support ADC1
|
CONFIG_KINETIS_ADC1 -- Support ADC1
|
||||||
CONFIG_KINETIS_CMP -- Support CMP
|
CONFIG_KINETIS_CMP -- Support CMP
|
||||||
@@ -429,15 +480,15 @@ KwikStik-K40-specific Configuration Options
|
|||||||
|
|
||||||
Kinetis K40 specific device driver settings
|
Kinetis K40 specific device driver settings
|
||||||
|
|
||||||
CONFIG_UARTn_SERIAL_CONSOLE - selects the UARTn (n=0..5) for the
|
CONFIG_UARTn_SERIAL_CONSOLE - selects the UARTn (n=0..5) for the
|
||||||
console and ttys0 (default is the UART0).
|
console and ttys0 (default is the UART0).
|
||||||
CONFIG_UARTn_RXBUFSIZE - Characters are buffered as received.
|
CONFIG_UARTn_RXBUFSIZE - Characters are buffered as received.
|
||||||
This specific the size of the receive buffer
|
This specific the size of the receive buffer
|
||||||
CONFIG_UARTn_TXBUFSIZE - Characters are buffered before
|
CONFIG_UARTn_TXBUFSIZE - Characters are buffered before
|
||||||
being sent. This specific the size of the transmit buffer
|
being sent. This specific the size of the transmit buffer
|
||||||
CONFIG_UARTn_BAUD - The configure BAUD of the UART.
|
CONFIG_UARTn_BAUD - The configure BAUD of the UART.
|
||||||
CONFIG_UARTn_BITS - The number of bits. Must be either 8 or 8.
|
CONFIG_UARTn_BITS - The number of bits. Must be either 8 or 8.
|
||||||
CONFIG_UARTn_PARTIY - 0=no parity, 1=odd parity, 2=even parity
|
CONFIG_UARTn_PARTIY - 0=no parity, 1=odd parity, 2=even parity
|
||||||
|
|
||||||
KwikStik-K40 LCD Hardware Configuration
|
KwikStik-K40 LCD Hardware Configuration
|
||||||
|
|
||||||
@@ -462,10 +513,10 @@ Configurations
|
|||||||
Each KwikStik-K40 configuration is maintained in a sudirectory and
|
Each KwikStik-K40 configuration is maintained in a sudirectory and
|
||||||
can be selected as follow:
|
can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
./configure.sh kwikstik-k40/<subdir>
|
./configure.sh kwikstik-k40/<subdir>
|
||||||
cd -
|
cd -
|
||||||
. ./setenv.sh
|
. ./setenv.sh
|
||||||
|
|
||||||
Where <subdir> is one of the following:
|
Where <subdir> is one of the following:
|
||||||
|
|
||||||
@@ -475,4 +526,4 @@ Where <subdir> is one of the following:
|
|||||||
examples/ostest. By default, this project assumes that you are
|
examples/ostest. By default, this project assumes that you are
|
||||||
using the DFU bootloader.
|
using the DFU bootloader.
|
||||||
|
|
||||||
CONFIG_KINETIS_BUILDROOT=y : NuttX buildroot under Linux or Cygwin
|
CONFIG_KINETIS_BUILDROOT=y : NuttX buildroot under Linux or Cygwin
|
||||||
|
|||||||
+185
-135
@@ -10,7 +10,9 @@ Contents
|
|||||||
Development Environment
|
Development Environment
|
||||||
GNU Toolchain Options
|
GNU Toolchain Options
|
||||||
IDEs
|
IDEs
|
||||||
NuttX buildroot Toolchain
|
NuttX EABI "buildroot" Toolchain
|
||||||
|
NuttX OABI "buildroot" Toolchain
|
||||||
|
NXFLAT Toolchain
|
||||||
USB Device Controller Functions
|
USB Device Controller Functions
|
||||||
Lincoln 60 Configuration Options
|
Lincoln 60 Configuration Options
|
||||||
USB Host Configuration
|
USB Host Configuration
|
||||||
@@ -150,8 +152,8 @@ IDEs
|
|||||||
Startup files will probably cause you some headaches. The NuttX startup file
|
Startup files will probably cause you some headaches. The NuttX startup file
|
||||||
is arch/arm/src/lpc17x/lpc17_vectors.S.
|
is arch/arm/src/lpc17x/lpc17_vectors.S.
|
||||||
|
|
||||||
NuttX buildroot Toolchain
|
NuttX EABI "buildroot" Toolchain
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
||||||
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
||||||
@@ -174,7 +176,7 @@ NuttX buildroot Toolchain
|
|||||||
|
|
||||||
4. cd <some-dir>/buildroot
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
5. cp configs/cortexm3-defconfig-4.3.3 .config
|
5. cp configs/cortexm3-eabi-defconfig-4.6.3 .config
|
||||||
|
|
||||||
6. make oldconfig
|
6. make oldconfig
|
||||||
|
|
||||||
@@ -184,184 +186,232 @@ NuttX buildroot Toolchain
|
|||||||
the path to the newly built binaries.
|
the path to the newly built binaries.
|
||||||
|
|
||||||
See the file configs/README.txt in the buildroot source tree. That has more
|
See the file configs/README.txt in the buildroot source tree. That has more
|
||||||
detailed PLUS some special instructions that you will need to follow if you
|
details PLUS some special instructions that you will need to follow if you
|
||||||
are building a Cortex-M3 toolchain for Cygwin under Windows.
|
are building a Cortex-M3 toolchain for Cygwin under Windows.
|
||||||
|
|
||||||
NOTE: This is an OABI toolchain.
|
NuttX OABI "buildroot" Toolchain
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
The older, OABI buildroot toolchain is also available. To use the OABI
|
||||||
|
toolchain:
|
||||||
|
|
||||||
|
1. When building the buildroot toolchain, either (1) modify the cortexm3-eabi-defconfig-4.6.3
|
||||||
|
configuration to use EABI (using 'make menuconfig'), or (2) use an exising OABI
|
||||||
|
configuration such as cortexm3-defconfig-4.3.3
|
||||||
|
|
||||||
|
2. Modify the Make.defs file to use the OABI converntions:
|
||||||
|
|
||||||
|
+CROSSDEV = arm-nuttx-elf-
|
||||||
|
+ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
|
||||||
|
-CROSSDEV = arm-nuttx-eabi-
|
||||||
|
-ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
|
|
||||||
|
NXFLAT Toolchain
|
||||||
|
^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
If you are *not* using the NuttX buildroot toolchain and you want to use
|
||||||
|
the NXFLAT tools, then you will still have to build a portion of the buildroot
|
||||||
|
tools -- just the NXFLAT tools. The buildroot with the NXFLAT tools can
|
||||||
|
be downloaded from the NuttX SourceForge download site
|
||||||
|
(https://sourceforge.net/projects/nuttx/files/).
|
||||||
|
|
||||||
|
This GNU toolchain builds and executes in the Linux or Cygwin environment.
|
||||||
|
|
||||||
|
1. You must have already configured Nuttx in <some-dir>/nuttx.
|
||||||
|
|
||||||
|
cd tools
|
||||||
|
./configure.sh lpcxpresso-lpc1768/<sub-dir>
|
||||||
|
|
||||||
|
2. Download the latest buildroot package into <some-dir>
|
||||||
|
|
||||||
|
3. unpack the buildroot tarball. The resulting directory may
|
||||||
|
have versioning information on it like buildroot-x.y.z. If so,
|
||||||
|
rename <some-dir>/buildroot-x.y.z to <some-dir>/buildroot.
|
||||||
|
|
||||||
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
|
5. cp configs/cortexm3-defconfig-nxflat .config
|
||||||
|
|
||||||
|
6. make oldconfig
|
||||||
|
|
||||||
|
7. make
|
||||||
|
|
||||||
|
8. Edit setenv.h, if necessary, so that the PATH variable includes
|
||||||
|
the path to the newly builtNXFLAT binaries.
|
||||||
|
|
||||||
Lincoln 60 Configuration Options
|
Lincoln 60 Configuration Options
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
CONFIG_ARCH - Identifies the arch/ subdirectory. This should
|
CONFIG_ARCH - Identifies the arch/ subdirectory. This should
|
||||||
be set to:
|
be set to:
|
||||||
|
|
||||||
CONFIG_ARCH=arm
|
CONFIG_ARCH=arm
|
||||||
|
|
||||||
CONFIG_ARCH_family - For use in C code:
|
CONFIG_ARCH_family - For use in C code:
|
||||||
|
|
||||||
CONFIG_ARCH_ARM=y
|
CONFIG_ARCH_ARM=y
|
||||||
|
|
||||||
CONFIG_ARCH_architecture - For use in C code:
|
CONFIG_ARCH_architecture - For use in C code:
|
||||||
|
|
||||||
CONFIG_ARCH_CORTEXM3=y
|
CONFIG_ARCH_CORTEXM3=y
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
|
CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP=lpc17xx
|
CONFIG_ARCH_CHIP=lpc17xx
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP_name - For use in C code to identify the exact
|
CONFIG_ARCH_CHIP_name - For use in C code to identify the exact
|
||||||
chip:
|
chip:
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP_LPC1768=y
|
CONFIG_ARCH_CHIP_LPC1768=y
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD - Identifies the configs subdirectory and
|
CONFIG_ARCH_BOARD - Identifies the configs subdirectory and
|
||||||
hence, the board that supports the particular chip or SoC.
|
hence, the board that supports the particular chip or SoC.
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD=lincoln60 (for the Lincoln 60 board)
|
CONFIG_ARCH_BOARD=lincoln60 (for the Lincoln 60 board)
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD_name - For use in C code
|
CONFIG_ARCH_BOARD_name - For use in C code
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD_LINCOLN60=y
|
CONFIG_ARCH_BOARD_LINCOLN60=y
|
||||||
|
|
||||||
CONFIG_ARCH_LOOPSPERMSEC - Must be calibrated for correct operation
|
CONFIG_ARCH_LOOPSPERMSEC - Must be calibrated for correct operation
|
||||||
of delay loops
|
of delay loops
|
||||||
|
|
||||||
CONFIG_ENDIAN_BIG - define if big endian (default is little
|
CONFIG_ENDIAN_BIG - define if big endian (default is little
|
||||||
endian)
|
endian)
|
||||||
|
|
||||||
CONFIG_DRAM_SIZE - Describes the installed DRAM (CPU SRAM in this case):
|
CONFIG_DRAM_SIZE - Describes the installed DRAM (CPU SRAM in this case):
|
||||||
|
|
||||||
CONFIG_DRAM_SIZE=(32*1024) (32Kb)
|
CONFIG_DRAM_SIZE=(32*1024) (32Kb)
|
||||||
|
|
||||||
There is an additional 32Kb of SRAM in AHB SRAM banks 0 and 1.
|
There is an additional 32Kb of SRAM in AHB SRAM banks 0 and 1.
|
||||||
|
|
||||||
CONFIG_DRAM_START - The start address of installed DRAM
|
CONFIG_DRAM_START - The start address of installed DRAM
|
||||||
|
|
||||||
CONFIG_DRAM_START=0x10000000
|
CONFIG_DRAM_START=0x10000000
|
||||||
|
|
||||||
CONFIG_ARCH_IRQPRIO - The LPC17xx supports interrupt prioritization
|
CONFIG_ARCH_IRQPRIO - The LPC17xx supports interrupt prioritization
|
||||||
|
|
||||||
CONFIG_ARCH_IRQPRIO=y
|
CONFIG_ARCH_IRQPRIO=y
|
||||||
|
|
||||||
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to boards that
|
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to boards that
|
||||||
have LEDs
|
have LEDs
|
||||||
|
|
||||||
CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
|
CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
|
||||||
stack. If defined, this symbol is the size of the interrupt
|
stack. If defined, this symbol is the size of the interrupt
|
||||||
stack in bytes. If not defined, the user task stacks will be
|
stack in bytes. If not defined, the user task stacks will be
|
||||||
used during interrupt handling.
|
used during interrupt handling.
|
||||||
|
|
||||||
CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
|
CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
|
||||||
|
|
||||||
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to board architecture.
|
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to board architecture.
|
||||||
|
|
||||||
CONFIG_ARCH_CALIBRATION - Enables some build in instrumentation that
|
CONFIG_ARCH_CALIBRATION - Enables some build in instrumentation that
|
||||||
cause a 100 second delay during boot-up. This 100 second delay
|
cause a 100 second delay during boot-up. This 100 second delay
|
||||||
serves no purpose other than it allows you to calibratre
|
serves no purpose other than it allows you to calibratre
|
||||||
CONFIG_ARCH_LOOPSPERMSEC. You simply use a stop watch to measure
|
CONFIG_ARCH_LOOPSPERMSEC. You simply use a stop watch to measure
|
||||||
the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until
|
the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until
|
||||||
the delay actually is 100 seconds.
|
the delay actually is 100 seconds.
|
||||||
|
|
||||||
Individual subsystems can be enabled:
|
Individual subsystems can be enabled:
|
||||||
CONFIG_LPC17_MAINOSC=y
|
CONFIG_LPC17_MAINOSC=y
|
||||||
CONFIG_LPC17_PLL0=y
|
CONFIG_LPC17_PLL0=y
|
||||||
CONFIG_LPC17_PLL1=n
|
CONFIG_LPC17_PLL1=n
|
||||||
CONFIG_LPC17_ETHERNET=n
|
CONFIG_LPC17_ETHERNET=n
|
||||||
CONFIG_LPC17_USBHOST=n
|
CONFIG_LPC17_USBHOST=n
|
||||||
CONFIG_LPC17_USBOTG=n
|
CONFIG_LPC17_USBOTG=n
|
||||||
CONFIG_LPC17_USBDEV=n
|
CONFIG_LPC17_USBDEV=n
|
||||||
CONFIG_LPC17_UART0=y
|
CONFIG_LPC17_UART0=y
|
||||||
CONFIG_LPC17_UART1=n
|
CONFIG_LPC17_UART1=n
|
||||||
CONFIG_LPC17_UART2=n
|
CONFIG_LPC17_UART2=n
|
||||||
CONFIG_LPC17_UART3=n
|
CONFIG_LPC17_UART3=n
|
||||||
CONFIG_LPC17_CAN1=n
|
CONFIG_LPC17_CAN1=n
|
||||||
CONFIG_LPC17_CAN2=n
|
CONFIG_LPC17_CAN2=n
|
||||||
CONFIG_LPC17_SPI=n
|
CONFIG_LPC17_SPI=n
|
||||||
CONFIG_LPC17_SSP0=n
|
CONFIG_LPC17_SSP0=n
|
||||||
CONFIG_LPC17_SSP1=n
|
CONFIG_LPC17_SSP1=n
|
||||||
CONFIG_LPC17_I2C0=n
|
CONFIG_LPC17_I2C0=n
|
||||||
CONFIG_LPC17_I2C1=n
|
CONFIG_LPC17_I2C1=n
|
||||||
CONFIG_LPC17_I2S=n
|
CONFIG_LPC17_I2S=n
|
||||||
CONFIG_LPC17_TMR0=n
|
CONFIG_LPC17_TMR0=n
|
||||||
CONFIG_LPC17_TMR1=n
|
CONFIG_LPC17_TMR1=n
|
||||||
CONFIG_LPC17_TMR2=n
|
CONFIG_LPC17_TMR2=n
|
||||||
CONFIG_LPC17_TMR3=n
|
CONFIG_LPC17_TMR3=n
|
||||||
CONFIG_LPC17_RIT=n
|
CONFIG_LPC17_RIT=n
|
||||||
CONFIG_LPC17_PWM=n
|
CONFIG_LPC17_PWM=n
|
||||||
CONFIG_LPC17_MCPWM=n
|
CONFIG_LPC17_MCPWM=n
|
||||||
CONFIG_LPC17_QEI=n
|
CONFIG_LPC17_QEI=n
|
||||||
CONFIG_LPC17_RTC=n
|
CONFIG_LPC17_RTC=n
|
||||||
CONFIG_LPC17_WDT=n
|
CONFIG_LPC17_WDT=n
|
||||||
CONFIG_LPC17_ADC=n
|
CONFIG_LPC17_ADC=n
|
||||||
CONFIG_LPC17_DAC=n
|
CONFIG_LPC17_DAC=n
|
||||||
CONFIG_LPC17_GPDMA=n
|
CONFIG_LPC17_GPDMA=n
|
||||||
CONFIG_LPC17_FLASH=n
|
CONFIG_LPC17_FLASH=n
|
||||||
|
|
||||||
LPC17xx specific device driver settings
|
LPC17xx specific device driver settings
|
||||||
|
|
||||||
CONFIG_UARTn_SERIAL_CONSOLE - selects the UARTn for the
|
CONFIG_UARTn_SERIAL_CONSOLE - selects the UARTn for the
|
||||||
console and ttys0 (default is the UART0).
|
console and ttys0 (default is the UART0).
|
||||||
CONFIG_UARTn_RXBUFSIZE - Characters are buffered as received.
|
CONFIG_UARTn_RXBUFSIZE - Characters are buffered as received.
|
||||||
This specific the size of the receive buffer
|
This specific the size of the receive buffer
|
||||||
CONFIG_UARTn_TXBUFSIZE - Characters are buffered before
|
CONFIG_UARTn_TXBUFSIZE - Characters are buffered before
|
||||||
being sent. This specific the size of the transmit buffer
|
being sent. This specific the size of the transmit buffer
|
||||||
CONFIG_UARTn_BAUD - The configure BAUD of the UART. Must be
|
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_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_PARTIY - 0=no parity, 1=odd parity, 2=even parity
|
||||||
CONFIG_UARTn_2STOP - Two stop bits
|
CONFIG_UARTn_2STOP - Two stop bits
|
||||||
|
|
||||||
LPC17xx specific CAN device driver settings. These settings all
|
LPC17xx specific CAN device driver settings. These settings all
|
||||||
require CONFIG_CAN:
|
require CONFIG_CAN:
|
||||||
|
|
||||||
CONFIG_CAN_EXTID - Enables support for the 29-bit extended ID. Default
|
CONFIG_CAN_EXTID - Enables support for the 29-bit extended ID. Default
|
||||||
Standard 11-bit IDs.
|
Standard 11-bit IDs.
|
||||||
CONFIG_CAN1_BAUD - CAN1 BAUD rate. Required if CONFIG_LPC17_CAN1 is defined.
|
CONFIG_CAN1_BAUD - CAN1 BAUD rate. Required if CONFIG_LPC17_CAN1 is defined.
|
||||||
CONFIG_CAN2_BAUD - CAN1 BAUD rate. Required if CONFIG_LPC17_CAN2 is defined.
|
CONFIG_CAN2_BAUD - CAN1 BAUD rate. Required if CONFIG_LPC17_CAN2 is defined.
|
||||||
CONFIG_CAN1_DIVISOR - CAN1 is clocked at CCLK divided by this number.
|
CONFIG_CAN1_DIVISOR - CAN1 is clocked at CCLK divided by this number.
|
||||||
(the CCLK frequency is divided by this number to get the CAN clock).
|
(the CCLK frequency is divided by this number to get the CAN clock).
|
||||||
Options = {1,2,4,6}. Default: 4.
|
Options = {1,2,4,6}. Default: 4.
|
||||||
CONFIG_CAN2_DIVISOR - CAN2 is clocked at CCLK divided by this number.
|
CONFIG_CAN2_DIVISOR - CAN2 is clocked at CCLK divided by this number.
|
||||||
(the CCLK frequency is divided by this number to get the CAN clock).
|
(the CCLK frequency is divided by this number to get the CAN clock).
|
||||||
Options = {1,2,4,6}. Default: 4.
|
Options = {1,2,4,6}. Default: 4.
|
||||||
CONFIG_CAN_TSEG1 - The number of CAN time quanta in segment 1. Default: 6
|
CONFIG_CAN_TSEG1 - The number of CAN time quanta in segment 1. Default: 6
|
||||||
CONFIG_CAN_TSEG2 = the number of CAN time quanta in segment 2. Default: 7
|
CONFIG_CAN_TSEG2 = the number of CAN time quanta in segment 2. Default: 7
|
||||||
|
|
||||||
LPC17xx specific PHY/Ethernet device driver settings. These setting
|
LPC17xx specific PHY/Ethernet device driver settings. These setting
|
||||||
also require CONFIG_NET and CONFIG_LPC17_ETHERNET.
|
also require CONFIG_NET and CONFIG_LPC17_ETHERNET.
|
||||||
|
|
||||||
CONFIG_PHY_KS8721 - Selects Micrel KS8721 PHY
|
CONFIG_PHY_KS8721 - Selects Micrel KS8721 PHY
|
||||||
CONFIG_PHY_AUTONEG - Enable auto-negotion
|
CONFIG_PHY_AUTONEG - Enable auto-negotion
|
||||||
CONFIG_PHY_SPEED100 - Select 100Mbit vs. 10Mbit speed.
|
CONFIG_PHY_SPEED100 - Select 100Mbit vs. 10Mbit speed.
|
||||||
CONFIG_PHY_FDUPLEX - Select full (vs. half) duplex
|
CONFIG_PHY_FDUPLEX - Select full (vs. half) duplex
|
||||||
|
|
||||||
CONFIG_NET_EMACRAM_SIZE - Size of EMAC RAM. Default: 16Kb
|
CONFIG_NET_EMACRAM_SIZE - Size of EMAC RAM. Default: 16Kb
|
||||||
CONFIG_NET_NTXDESC - Configured number of Tx descriptors. Default: 18
|
CONFIG_NET_NTXDESC - Configured number of Tx descriptors. Default: 18
|
||||||
CONFIG_NET_NRXDESC - Configured number of Rx descriptors. Default: 18
|
CONFIG_NET_NRXDESC - Configured number of Rx descriptors. Default: 18
|
||||||
CONFIG_NET_PRIORITY - Ethernet interrupt priority. The is default is
|
CONFIG_NET_PRIORITY - Ethernet interrupt priority. The is default is
|
||||||
the higest priority.
|
the higest priority.
|
||||||
CONFIG_NET_WOL - Enable Wake-up on Lan (not fully implemented).
|
CONFIG_NET_WOL - Enable Wake-up on Lan (not fully implemented).
|
||||||
CONFIG_NET_REGDEBUG - Enabled low level register debug. Also needs
|
CONFIG_NET_REGDEBUG - Enabled low level register debug. Also needs
|
||||||
CONFIG_DEBUG.
|
CONFIG_DEBUG.
|
||||||
CONFIG_NET_DUMPPACKET - Dump all received and transmitted packets.
|
CONFIG_NET_DUMPPACKET - Dump all received and transmitted packets.
|
||||||
Also needs CONFIG_DEBUG.
|
Also needs CONFIG_DEBUG.
|
||||||
CONFIG_NET_HASH - Enable receipt of near-perfect match frames.
|
CONFIG_NET_HASH - Enable receipt of near-perfect match frames.
|
||||||
CONFIG_NET_MULTICAST - Enable receipt of multicast (and unicast) frames.
|
CONFIG_NET_MULTICAST - Enable receipt of multicast (and unicast) frames.
|
||||||
Automatically set if CONFIG_NET_IGMP is selected.
|
Automatically set if CONFIG_NET_IGMP is selected.
|
||||||
|
|
||||||
LPC17xx USB Device Configuration
|
LPC17xx USB Device Configuration
|
||||||
|
|
||||||
CONFIG_LPC17_USBDEV_FRAME_INTERRUPT
|
CONFIG_LPC17_USBDEV_FRAME_INTERRUPT
|
||||||
Handle USB Start-Of-Frame events.
|
Handle USB Start-Of-Frame events.
|
||||||
Enable reading SOF from interrupt handler vs. simply reading on demand.
|
Enable reading SOF from interrupt handler vs. simply reading on demand.
|
||||||
Probably a bad idea... Unless there is some issue with sampling the SOF
|
Probably a bad idea... Unless there is some issue with sampling the SOF
|
||||||
from hardware asynchronously.
|
from hardware asynchronously.
|
||||||
CONFIG_LPC17_USBDEV_EPFAST_INTERRUPT
|
CONFIG_LPC17_USBDEV_EPFAST_INTERRUPT
|
||||||
Enable high priority interrupts. I have no idea why you might want to
|
Enable high priority interrupts. I have no idea why you might want to
|
||||||
do that
|
do that
|
||||||
CONFIG_LPC17_USBDEV_NDMADESCRIPTORS
|
CONFIG_LPC17_USBDEV_NDMADESCRIPTORS
|
||||||
Number of DMA descriptors to allocate in SRAM.
|
Number of DMA descriptors to allocate in SRAM.
|
||||||
CONFIG_LPC17_USBDEV_DMA
|
CONFIG_LPC17_USBDEV_DMA
|
||||||
Enable lpc17xx-specific DMA support
|
Enable lpc17xx-specific DMA support
|
||||||
CONFIG_LPC17_USBDEV_NOVBUS
|
CONFIG_LPC17_USBDEV_NOVBUS
|
||||||
Define if the hardware implementation does not support the VBUS signal
|
Define if the hardware implementation does not support the VBUS signal
|
||||||
CONFIG_LPC17_USBDEV_NOLED
|
CONFIG_LPC17_USBDEV_NOLED
|
||||||
@@ -425,10 +475,10 @@ Configurations
|
|||||||
Each Lincoln 60 configuration is maintained in a sudirectory and can be selected
|
Each Lincoln 60 configuration is maintained in a sudirectory and can be selected
|
||||||
as follow:
|
as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
./configure.sh lincoln60/<subdir>
|
./configure.sh lincoln60/<subdir>
|
||||||
cd -
|
cd -
|
||||||
. ./setenv.sh
|
. ./setenv.sh
|
||||||
|
|
||||||
Where <subdir> is one of the following:
|
Where <subdir> is one of the following:
|
||||||
|
|
||||||
|
|||||||
+149
-100
@@ -11,7 +11,9 @@ Contents
|
|||||||
Development Environment
|
Development Environment
|
||||||
GNU Toolchain Options
|
GNU Toolchain Options
|
||||||
IDEs
|
IDEs
|
||||||
NuttX buildroot Toolchain
|
NuttX EABI "buildroot" Toolchain
|
||||||
|
NuttX OABI "buildroot" Toolchain
|
||||||
|
NXFLFAT Toolchain
|
||||||
Stellaris MDL-S2E Reference Design Configuration Options
|
Stellaris MDL-S2E Reference Design Configuration Options
|
||||||
Configurations
|
Configurations
|
||||||
|
|
||||||
@@ -176,8 +178,8 @@ IDEs
|
|||||||
Startup files will probably cause you some headaches. The NuttX startup file
|
Startup files will probably cause you some headaches. The NuttX startup file
|
||||||
is arch/arm/src/lm3s/lm3s_vectors.S.
|
is arch/arm/src/lm3s/lm3s_vectors.S.
|
||||||
|
|
||||||
NuttX buildroot Toolchain
|
NuttX EABI "buildroot" Toolchain
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
||||||
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
||||||
@@ -204,7 +206,7 @@ NuttX buildroot Toolchain
|
|||||||
|
|
||||||
4. cd <some-dir>/buildroot
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
5. cp configs/cortexm3-defconfig-4.3.3 .config
|
5. cp configs/cortexm3-eabi-defconfig-4.6.3 .config
|
||||||
|
|
||||||
6. make oldconfig
|
6. make oldconfig
|
||||||
|
|
||||||
@@ -214,142 +216,189 @@ NuttX buildroot Toolchain
|
|||||||
the path to the newly built binaries.
|
the path to the newly built binaries.
|
||||||
|
|
||||||
See the file configs/README.txt in the buildroot source tree. That has more
|
See the file configs/README.txt in the buildroot source tree. That has more
|
||||||
detailed PLUS some special instructions that you will need to follow if you
|
details PLUS some special instructions that you will need to follow if you
|
||||||
are building a Cortex-M3 toolchain for Cygwin under Windows.
|
are building a Cortex-M3 toolchain for Cygwin under Windows.
|
||||||
|
|
||||||
NOTE: This is an OABI toolchain.
|
NuttX OABI "buildroot" Toolchain
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
The older, OABI buildroot toolchain is also available. To use the OABI
|
||||||
|
toolchain:
|
||||||
|
|
||||||
|
1. When building the buildroot toolchain, either (1) modify the cortexm3-eabi-defconfig-4.6.3
|
||||||
|
configuration to use EABI (using 'make menuconfig'), or (2) use an exising OABI
|
||||||
|
configuration such as cortexm3-defconfig-4.3.3
|
||||||
|
|
||||||
|
2. Modify the Make.defs file to use the OABI converntions:
|
||||||
|
|
||||||
|
+CROSSDEV = arm-nuttx-elf-
|
||||||
|
+ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
|
||||||
|
-CROSSDEV = arm-nuttx-eabi-
|
||||||
|
-ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
|
|
||||||
|
NXFLAT Toolchain
|
||||||
|
^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
If you are *not* using the NuttX buildroot toolchain and you want to use
|
||||||
|
the NXFLAT tools, then you will still have to build a portion of the buildroot
|
||||||
|
tools -- just the NXFLAT tools. The buildroot with the NXFLAT tools can
|
||||||
|
be downloaded from the NuttX SourceForge download site
|
||||||
|
(https://sourceforge.net/projects/nuttx/files/).
|
||||||
|
|
||||||
|
This GNU toolchain builds and executes in the Linux or Cygwin environment.
|
||||||
|
|
||||||
|
1. You must have already configured Nuttx in <some-dir>/nuttx.
|
||||||
|
|
||||||
|
cd tools
|
||||||
|
./configure.sh lpcxpresso-lpc1768/<sub-dir>
|
||||||
|
|
||||||
|
2. Download the latest buildroot package into <some-dir>
|
||||||
|
|
||||||
|
3. unpack the buildroot tarball. The resulting directory may
|
||||||
|
have versioning information on it like buildroot-x.y.z. If so,
|
||||||
|
rename <some-dir>/buildroot-x.y.z to <some-dir>/buildroot.
|
||||||
|
|
||||||
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
|
5. cp configs/cortexm3-defconfig-nxflat .config
|
||||||
|
|
||||||
|
6. make oldconfig
|
||||||
|
|
||||||
|
7. make
|
||||||
|
|
||||||
|
8. Edit setenv.h, if necessary, so that the PATH variable includes
|
||||||
|
the path to the newly builtNXFLAT binaries.
|
||||||
|
|
||||||
Stellaris MDL-S2E Reference Design Configuration Options
|
Stellaris MDL-S2E Reference Design Configuration Options
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
CONFIG_ARCH - Identifies the arch/ subdirectory. This should
|
CONFIG_ARCH - Identifies the arch/ subdirectory. This should
|
||||||
be set to:
|
be set to:
|
||||||
|
|
||||||
CONFIG_ARCH=arm
|
CONFIG_ARCH=arm
|
||||||
|
|
||||||
CONFIG_ARCH_family - For use in C code:
|
CONFIG_ARCH_family - For use in C code:
|
||||||
|
|
||||||
CONFIG_ARCH_ARM=y
|
CONFIG_ARCH_ARM=y
|
||||||
|
|
||||||
CONFIG_ARCH_architecture - For use in C code:
|
CONFIG_ARCH_architecture - For use in C code:
|
||||||
|
|
||||||
CONFIG_ARCH_CORTEXM3=y
|
CONFIG_ARCH_CORTEXM3=y
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
|
CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP=lm3s
|
CONFIG_ARCH_CHIP=lm3s
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP_name - For use in C code to identify the exact
|
CONFIG_ARCH_CHIP_name - For use in C code to identify the exact
|
||||||
chip:
|
chip:
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP_LM3S6432
|
CONFIG_ARCH_CHIP_LM3S6432
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD - Identifies the configs subdirectory and
|
CONFIG_ARCH_BOARD - Identifies the configs subdirectory and
|
||||||
hence, the board that supports the particular chip or SoC.
|
hence, the board that supports the particular chip or SoC.
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD=lm3s6432-s2e (for the Stellaris MDL-S2E Reference Design)
|
CONFIG_ARCH_BOARD=lm3s6432-s2e (for the Stellaris MDL-S2E Reference Design)
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD_name - For use in C code
|
CONFIG_ARCH_BOARD_name - For use in C code
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD_LM3S6432S2E
|
CONFIG_ARCH_BOARD_LM3S6432S2E
|
||||||
|
|
||||||
CONFIG_ARCH_LOOPSPERMSEC - As supplied, calibrated for correct operation
|
CONFIG_ARCH_LOOPSPERMSEC - As supplied, calibrated for correct operation
|
||||||
of delay loops assuming 50MHz CPU frequency.
|
of delay loops assuming 50MHz CPU frequency.
|
||||||
|
|
||||||
CONFIG_ENDIAN_BIG - define if big endian (default is little
|
CONFIG_ENDIAN_BIG - define if big endian (default is little
|
||||||
endian)
|
endian)
|
||||||
|
|
||||||
CONFIG_DRAM_SIZE - Describes the installed DRAM (SRAM in this case):
|
CONFIG_DRAM_SIZE - Describes the installed DRAM (SRAM in this case):
|
||||||
|
|
||||||
CONFIG_DRAM_SIZE=0x00010000 (64Kb)
|
CONFIG_DRAM_SIZE=0x00010000 (64Kb)
|
||||||
|
|
||||||
CONFIG_DRAM_START - The start address of installed DRAM
|
CONFIG_DRAM_START - The start address of installed DRAM
|
||||||
|
|
||||||
CONFIG_DRAM_START=0x20000000
|
CONFIG_DRAM_START=0x20000000
|
||||||
|
|
||||||
CONFIG_ARCH_IRQPRIO - The LM3S6918 supports interrupt prioritization
|
CONFIG_ARCH_IRQPRIO - The LM3S6918 supports interrupt prioritization
|
||||||
|
|
||||||
CONFIG_ARCH_IRQPRIO=y
|
CONFIG_ARCH_IRQPRIO=y
|
||||||
|
|
||||||
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to boards that
|
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to boards that
|
||||||
have LEDs
|
have LEDs
|
||||||
|
|
||||||
CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
|
CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
|
||||||
stack. If defined, this symbol is the size of the interrupt
|
stack. If defined, this symbol is the size of the interrupt
|
||||||
stack in bytes. If not defined, the user task stacks will be
|
stack in bytes. If not defined, the user task stacks will be
|
||||||
used during interrupt handling.
|
used during interrupt handling.
|
||||||
|
|
||||||
CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
|
CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
|
||||||
|
|
||||||
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to board architecture.
|
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to board architecture.
|
||||||
|
|
||||||
CONFIG_ARCH_CALIBRATION - Enables some build in instrumentation that
|
CONFIG_ARCH_CALIBRATION - Enables some build in instrumentation that
|
||||||
cause a 100 second delay during boot-up. This 100 second delay
|
cause a 100 second delay during boot-up. This 100 second delay
|
||||||
serves no purpose other than it allows you to calibratre
|
serves no purpose other than it allows you to calibratre
|
||||||
CONFIG_ARCH_LOOPSPERMSEC. You simply use a stop watch to measure
|
CONFIG_ARCH_LOOPSPERMSEC. You simply use a stop watch to measure
|
||||||
the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until
|
the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until
|
||||||
the delay actually is 100 seconds.
|
the delay actually is 100 seconds.
|
||||||
|
|
||||||
There are configurations for disabling support for interrupts GPIO ports.
|
There are configurations for disabling support for interrupts GPIO ports.
|
||||||
GPIOH and GPIOJ must be disabled because they do not exist on the LM3S6432.
|
GPIOH and GPIOJ must be disabled because they do not exist on the LM3S6432.
|
||||||
Additional interrupt support can be disabled if desired to reduce memory
|
Additional interrupt support can be disabled if desired to reduce memory
|
||||||
footprint - GPIOs C-G are not pinned out on the MDL-S2E board.
|
footprint - GPIOs C-G are not pinned out on the MDL-S2E board.
|
||||||
|
|
||||||
CONFIG_LM3S_DISABLE_GPIOA_IRQS=n
|
CONFIG_LM3S_DISABLE_GPIOA_IRQS=n
|
||||||
CONFIG_LM3S_DISABLE_GPIOB_IRQS=n
|
CONFIG_LM3S_DISABLE_GPIOB_IRQS=n
|
||||||
CONFIG_LM3S_DISABLE_GPIOC_IRQS=y
|
CONFIG_LM3S_DISABLE_GPIOC_IRQS=y
|
||||||
CONFIG_LM3S_DISABLE_GPIOD_IRQS=y
|
CONFIG_LM3S_DISABLE_GPIOD_IRQS=y
|
||||||
CONFIG_LM3S_DISABLE_GPIOE_IRQS=y
|
CONFIG_LM3S_DISABLE_GPIOE_IRQS=y
|
||||||
CONFIG_LM3S_DISABLE_GPIOF_IRQS=y
|
CONFIG_LM3S_DISABLE_GPIOF_IRQS=y
|
||||||
CONFIG_LM3S_DISABLE_GPIOG_IRQS=y
|
CONFIG_LM3S_DISABLE_GPIOG_IRQS=y
|
||||||
CONFIG_LM3S_DISABLE_GPIOH_IRQS=y
|
CONFIG_LM3S_DISABLE_GPIOH_IRQS=y
|
||||||
CONFIG_LM3S_DISABLE_GPIOJ_IRQS=y
|
CONFIG_LM3S_DISABLE_GPIOJ_IRQS=y
|
||||||
|
|
||||||
LM3S6432 specific device driver settings
|
LM3S6432 specific device driver settings
|
||||||
|
|
||||||
CONFIG_UARTn_DISABLE
|
CONFIG_UARTn_DISABLE
|
||||||
The TX and RX pins for UART1 share I/O pins with the TX and RX pins
|
The TX and RX pins for UART1 share I/O pins with the TX and RX pins
|
||||||
for SSI0. To avoid conflicts, only one of SSI0 and UART1 should
|
for SSI0. To avoid conflicts, only one of SSI0 and UART1 should
|
||||||
be enabled in a configuration.
|
be enabled in a configuration.
|
||||||
CONFIG_UARTn_SERIAL_CONSOLE - selects the UARTn for the
|
CONFIG_UARTn_SERIAL_CONSOLE - selects the UARTn for the
|
||||||
console and ttys0 (default is UART1).
|
console and ttys0 (default is UART1).
|
||||||
CONFIG_UARTn_RXBUFSIZE - Characters are buffered as received.
|
CONFIG_UARTn_RXBUFSIZE - Characters are buffered as received.
|
||||||
This specific the size of the receive buffer
|
This specific the size of the receive buffer
|
||||||
CONFIG_UARTn_TXBUFSIZE - Characters are buffered before
|
CONFIG_UARTn_TXBUFSIZE - Characters are buffered before
|
||||||
being sent. This specific the size of the transmit buffer
|
being sent. This specific the size of the transmit buffer
|
||||||
CONFIG_UARTn_BAUD - The configure BAUD of the UART. Must be
|
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_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_PARTIY - 0=no parity, 1=odd parity, 2=even parity
|
||||||
CONFIG_UARTn_2STOP - Two stop bits
|
CONFIG_UARTn_2STOP - Two stop bits
|
||||||
|
|
||||||
CONFIG_SSI0_DISABLE - Select to disable support for SSI0
|
CONFIG_SSI0_DISABLE - Select to disable support for SSI0
|
||||||
The TX and RX pins for SSI0 share I/O pins with the TX and RX pins
|
The TX and RX pins for SSI0 share I/O pins with the TX and RX pins
|
||||||
for UART1. To avoid conflicts, only one of SSI0 and UART1 should
|
for UART1. To avoid conflicts, only one of SSI0 and UART1 should
|
||||||
be enabled in a configuration.
|
be enabled in a configuration.
|
||||||
CONFIG_SSI1_DISABLE - Select to disable support for SSI1
|
CONFIG_SSI1_DISABLE - Select to disable support for SSI1
|
||||||
Note that the LM3S6432 only has one SSI, so SSI1 should always be
|
Note that the LM3S6432 only has one SSI, so SSI1 should always be
|
||||||
disabled.
|
disabled.
|
||||||
CONFIG_SSI_POLLWAIT - Select to disable interrupt driven SSI support.
|
CONFIG_SSI_POLLWAIT - Select to disable interrupt driven SSI support.
|
||||||
Poll-waiting is recommended if the interrupt rate would be to
|
Poll-waiting is recommended if the interrupt rate would be to
|
||||||
high in the interrupt driven case.
|
high in the interrupt driven case.
|
||||||
CONFIG_SSI_TXLIMIT - Write this many words to the Tx FIFO before
|
CONFIG_SSI_TXLIMIT - Write this many words to the Tx FIFO before
|
||||||
emptying the Rx FIFO. If the SPI frequency is high and this
|
emptying the Rx FIFO. If the SPI frequency is high and this
|
||||||
value is large, then larger values of this setting may cause
|
value is large, then larger values of this setting may cause
|
||||||
Rx FIFO overrun errors. Default: half of the Tx FIFO size (4).
|
Rx FIFO overrun errors. Default: half of the Tx FIFO size (4).
|
||||||
|
|
||||||
CONFIG_LM3S_ETHERNET - This must be set (along with CONFIG_NET)
|
CONFIG_LM3S_ETHERNET - This must be set (along with CONFIG_NET)
|
||||||
to build the LM3S Ethernet driver
|
to build the LM3S Ethernet driver
|
||||||
CONFIG_LM3S_ETHLEDS - Enable to use Ethernet LEDs on the board.
|
CONFIG_LM3S_ETHLEDS - Enable to use Ethernet LEDs on the board.
|
||||||
CONFIG_LM3S_BOARDMAC - This should be set in order to use the
|
CONFIG_LM3S_BOARDMAC - This should be set in order to use the
|
||||||
MAC address configured in the flash USER registers.
|
MAC address configured in the flash USER registers.
|
||||||
CONFIG_LM3S_ETHHDUPLEX - Set to force half duplex operation
|
CONFIG_LM3S_ETHHDUPLEX - Set to force half duplex operation
|
||||||
CONFIG_LM3S_ETHNOAUTOCRC - Set to suppress auto-CRC generation
|
CONFIG_LM3S_ETHNOAUTOCRC - Set to suppress auto-CRC generation
|
||||||
CONFIG_LM3S_ETHNOPAD - Set to suppress Tx padding
|
CONFIG_LM3S_ETHNOPAD - Set to suppress Tx padding
|
||||||
CONFIG_LM3S_MULTICAST - Set to enable multicast frames
|
CONFIG_LM3S_MULTICAST - Set to enable multicast frames
|
||||||
CONFIG_LM3S_PROMISCUOUS - Set to enable promiscuous mode
|
CONFIG_LM3S_PROMISCUOUS - Set to enable promiscuous mode
|
||||||
CONFIG_LM3S_BADCRC - Set to enable bad CRC rejection.
|
CONFIG_LM3S_BADCRC - Set to enable bad CRC rejection.
|
||||||
CONFIG_LM3S_DUMPPACKET - Dump each packet received/sent to the console.
|
CONFIG_LM3S_DUMPPACKET - Dump each packet received/sent to the console.
|
||||||
|
|
||||||
Configurations
|
Configurations
|
||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
@@ -357,10 +406,10 @@ Configurations
|
|||||||
Each Stellaris MDL-S2E Reference Design configuration is maintained in a
|
Each Stellaris MDL-S2E Reference Design configuration is maintained in a
|
||||||
sudirectory and can be selected as follow:
|
sudirectory and can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
./configure.sh lm3s6432-s2e/<subdir>
|
./configure.sh lm3s6432-s2e/<subdir>
|
||||||
cd -
|
cd -
|
||||||
. ./setenv.sh
|
. ./setenv.sh
|
||||||
|
|
||||||
Where <subdir> is one of the following:
|
Where <subdir> is one of the following:
|
||||||
|
|
||||||
|
|||||||
+142
-90
@@ -10,7 +10,9 @@ Contents
|
|||||||
Development Environment
|
Development Environment
|
||||||
GNU Toolchain Options
|
GNU Toolchain Options
|
||||||
IDEs
|
IDEs
|
||||||
NuttX buildroot Toolchain
|
NuttX EABI "buildroot" Toolchain
|
||||||
|
NuttX OABI "buildroot" Toolchain
|
||||||
|
NXFLAT Toolchain
|
||||||
USB Device Controller Functions
|
USB Device Controller Functions
|
||||||
OLED
|
OLED
|
||||||
Stellaris LM3S6965 Evaluation Kit Configuration Options
|
Stellaris LM3S6965 Evaluation Kit Configuration Options
|
||||||
@@ -210,8 +212,8 @@ IDEs
|
|||||||
Startup files will probably cause you some headaches. The NuttX startup file
|
Startup files will probably cause you some headaches. The NuttX startup file
|
||||||
is arch/arm/src/lm3s/lm3s_vectors.S.
|
is arch/arm/src/lm3s/lm3s_vectors.S.
|
||||||
|
|
||||||
NuttX buildroot Toolchain
|
NuttX EABI "buildroot" Toolchain
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
||||||
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
||||||
@@ -234,7 +236,7 @@ NuttX buildroot Toolchain
|
|||||||
|
|
||||||
4. cd <some-dir>/buildroot
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
5. cp configs/cortexm3-defconfig-4.3.3 .config
|
5. cp configs/cortexm3-eabi-defconfig-4.6.3 .config
|
||||||
|
|
||||||
6. make oldconfig
|
6. make oldconfig
|
||||||
|
|
||||||
@@ -244,11 +246,61 @@ NuttX buildroot Toolchain
|
|||||||
the path to the newly built binaries.
|
the path to the newly built binaries.
|
||||||
|
|
||||||
See the file configs/README.txt in the buildroot source tree. That has more
|
See the file configs/README.txt in the buildroot source tree. That has more
|
||||||
detailed PLUS some special instructions that you will need to follow if you
|
details PLUS some special instructions that you will need to follow if you
|
||||||
are building a Cortex-M3 toolchain for Cygwin under Windows.
|
are building a Cortex-M3 toolchain for Cygwin under Windows.
|
||||||
|
|
||||||
NOTE: This is an OABI toolchain.
|
NOTE: This is an OABI toolchain.
|
||||||
|
|
||||||
|
NuttX OABI "buildroot" Toolchain
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
The older, OABI buildroot toolchain is also available. To use the OABI
|
||||||
|
toolchain:
|
||||||
|
|
||||||
|
1. When building the buildroot toolchain, either (1) modify the cortexm3-eabi-defconfig-4.6.3
|
||||||
|
configuration to use EABI (using 'make menuconfig'), or (2) use an exising OABI
|
||||||
|
configuration such as cortexm3-defconfig-4.3.3
|
||||||
|
|
||||||
|
2. Modify the Make.defs file to use the OABI converntions:
|
||||||
|
|
||||||
|
+CROSSDEV = arm-nuttx-elf-
|
||||||
|
+ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
|
||||||
|
-CROSSDEV = arm-nuttx-eabi-
|
||||||
|
-ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
|
|
||||||
|
NXFLAT Toolchain
|
||||||
|
^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
If you are *not* using the NuttX buildroot toolchain and you want to use
|
||||||
|
the NXFLAT tools, then you will still have to build a portion of the buildroot
|
||||||
|
tools -- just the NXFLAT tools. The buildroot with the NXFLAT tools can
|
||||||
|
be downloaded from the NuttX SourceForge download site
|
||||||
|
(https://sourceforge.net/projects/nuttx/files/).
|
||||||
|
|
||||||
|
This GNU toolchain builds and executes in the Linux or Cygwin environment.
|
||||||
|
|
||||||
|
1. You must have already configured Nuttx in <some-dir>/nuttx.
|
||||||
|
|
||||||
|
cd tools
|
||||||
|
./configure.sh lpcxpresso-lpc1768/<sub-dir>
|
||||||
|
|
||||||
|
2. Download the latest buildroot package into <some-dir>
|
||||||
|
|
||||||
|
3. unpack the buildroot tarball. The resulting directory may
|
||||||
|
have versioning information on it like buildroot-x.y.z. If so,
|
||||||
|
rename <some-dir>/buildroot-x.y.z to <some-dir>/buildroot.
|
||||||
|
|
||||||
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
|
5. cp configs/cortexm3-defconfig-nxflat .config
|
||||||
|
|
||||||
|
6. make oldconfig
|
||||||
|
|
||||||
|
7. make
|
||||||
|
|
||||||
|
8. Edit setenv.h, if necessary, so that the PATH variable includes
|
||||||
|
the path to the newly builtNXFLAT binaries.
|
||||||
|
|
||||||
USB Device Controller Functions
|
USB Device Controller Functions
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
@@ -291,124 +343,124 @@ USB Device Controller Functions
|
|||||||
Stellaris LM3S6965 Evaluation Kit Configuration Options
|
Stellaris LM3S6965 Evaluation Kit Configuration Options
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
CONFIG_ARCH - Identifies the arch/ subdirectory. This should
|
CONFIG_ARCH - Identifies the arch/ subdirectory. This should
|
||||||
be set to:
|
be set to:
|
||||||
|
|
||||||
CONFIG_ARCH=arm
|
CONFIG_ARCH=arm
|
||||||
|
|
||||||
CONFIG_ARCH_family - For use in C code:
|
CONFIG_ARCH_family - For use in C code:
|
||||||
|
|
||||||
CONFIG_ARCH_ARM=y
|
CONFIG_ARCH_ARM=y
|
||||||
|
|
||||||
CONFIG_ARCH_architecture - For use in C code:
|
CONFIG_ARCH_architecture - For use in C code:
|
||||||
|
|
||||||
CONFIG_ARCH_CORTEXM3=y
|
CONFIG_ARCH_CORTEXM3=y
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
|
CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP=lm3s
|
CONFIG_ARCH_CHIP=lm3s
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP_name - For use in C code to identify the exact
|
CONFIG_ARCH_CHIP_name - For use in C code to identify the exact
|
||||||
chip:
|
chip:
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP_LM3S6965
|
CONFIG_ARCH_CHIP_LM3S6965
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD - Identifies the configs subdirectory and
|
CONFIG_ARCH_BOARD - Identifies the configs subdirectory and
|
||||||
hence, the board that supports the particular chip or SoC.
|
hence, the board that supports the particular chip or SoC.
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD=lm3s6965-ek (for the Stellaris LM3S6965 Evaluation Kit)
|
CONFIG_ARCH_BOARD=lm3s6965-ek (for the Stellaris LM3S6965 Evaluation Kit)
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD_name - For use in C code
|
CONFIG_ARCH_BOARD_name - For use in C code
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD_LM3S6965EK
|
CONFIG_ARCH_BOARD_LM3S6965EK
|
||||||
|
|
||||||
CONFIG_ARCH_LOOPSPERMSEC - Must be calibrated for correct operation
|
CONFIG_ARCH_LOOPSPERMSEC - Must be calibrated for correct operation
|
||||||
of delay loops
|
of delay loops
|
||||||
|
|
||||||
CONFIG_ENDIAN_BIG - define if big endian (default is little
|
CONFIG_ENDIAN_BIG - define if big endian (default is little
|
||||||
endian)
|
endian)
|
||||||
|
|
||||||
CONFIG_DRAM_SIZE - Describes the installed DRAM (SRAM in this case):
|
CONFIG_DRAM_SIZE - Describes the installed DRAM (SRAM in this case):
|
||||||
|
|
||||||
CONFIG_DRAM_SIZE=0x00010000 (64Kb)
|
CONFIG_DRAM_SIZE=0x00010000 (64Kb)
|
||||||
|
|
||||||
CONFIG_DRAM_START - The start address of installed DRAM
|
CONFIG_DRAM_START - The start address of installed DRAM
|
||||||
|
|
||||||
CONFIG_DRAM_START=0x20000000
|
CONFIG_DRAM_START=0x20000000
|
||||||
|
|
||||||
CONFIG_ARCH_IRQPRIO - The LM3S6918 supports interrupt prioritization
|
CONFIG_ARCH_IRQPRIO - The LM3S6918 supports interrupt prioritization
|
||||||
|
|
||||||
CONFIG_ARCH_IRQPRIO=y
|
CONFIG_ARCH_IRQPRIO=y
|
||||||
|
|
||||||
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to boards that
|
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to boards that
|
||||||
have LEDs
|
have LEDs
|
||||||
|
|
||||||
CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
|
CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
|
||||||
stack. If defined, this symbol is the size of the interrupt
|
stack. If defined, this symbol is the size of the interrupt
|
||||||
stack in bytes. If not defined, the user task stacks will be
|
stack in bytes. If not defined, the user task stacks will be
|
||||||
used during interrupt handling.
|
used during interrupt handling.
|
||||||
|
|
||||||
CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
|
CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
|
||||||
|
|
||||||
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to board architecture.
|
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to board architecture.
|
||||||
|
|
||||||
CONFIG_ARCH_CALIBRATION - Enables some build in instrumentation that
|
CONFIG_ARCH_CALIBRATION - Enables some build in instrumentation that
|
||||||
cause a 100 second delay during boot-up. This 100 second delay
|
cause a 100 second delay during boot-up. This 100 second delay
|
||||||
serves no purpose other than it allows you to calibratre
|
serves no purpose other than it allows you to calibratre
|
||||||
CONFIG_ARCH_LOOPSPERMSEC. You simply use a stop watch to measure
|
CONFIG_ARCH_LOOPSPERMSEC. You simply use a stop watch to measure
|
||||||
the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until
|
the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until
|
||||||
the delay actually is 100 seconds.
|
the delay actually is 100 seconds.
|
||||||
|
|
||||||
There are configurations for disabling support for interrupts GPIO ports.
|
There are configurations for disabling support for interrupts GPIO ports.
|
||||||
GPIOJ must be disabled because it does not exist on the LM3S6918.
|
GPIOJ must be disabled because it does not exist on the LM3S6918.
|
||||||
Additional interrupt support can be disabled if desired to reduce memory
|
Additional interrupt support can be disabled if desired to reduce memory
|
||||||
footprint.
|
footprint.
|
||||||
|
|
||||||
CONFIG_LM3S_DISABLE_GPIOA_IRQS=n
|
CONFIG_LM3S_DISABLE_GPIOA_IRQS=n
|
||||||
CONFIG_LM3S_DISABLE_GPIOB_IRQS=n
|
CONFIG_LM3S_DISABLE_GPIOB_IRQS=n
|
||||||
CONFIG_LM3S_DISABLE_GPIOC_IRQS=n
|
CONFIG_LM3S_DISABLE_GPIOC_IRQS=n
|
||||||
CONFIG_LM3S_DISABLE_GPIOD_IRQS=n
|
CONFIG_LM3S_DISABLE_GPIOD_IRQS=n
|
||||||
CONFIG_LM3S_DISABLE_GPIOE_IRQS=n
|
CONFIG_LM3S_DISABLE_GPIOE_IRQS=n
|
||||||
CONFIG_LM3S_DISABLE_GPIOF_IRQS=n
|
CONFIG_LM3S_DISABLE_GPIOF_IRQS=n
|
||||||
CONFIG_LM3S_DISABLE_GPIOG_IRQS=n
|
CONFIG_LM3S_DISABLE_GPIOG_IRQS=n
|
||||||
CONFIG_LM3S_DISABLE_GPIOH_IRQS=n
|
CONFIG_LM3S_DISABLE_GPIOH_IRQS=n
|
||||||
CONFIG_LM3S_DISABLE_GPIOJ_IRQS=y
|
CONFIG_LM3S_DISABLE_GPIOJ_IRQS=y
|
||||||
|
|
||||||
LM3S6818 specific device driver settings
|
LM3S6818 specific device driver settings
|
||||||
|
|
||||||
CONFIG_UARTn_SERIAL_CONSOLE - selects the UARTn for the
|
CONFIG_UARTn_SERIAL_CONSOLE - selects the UARTn for the
|
||||||
console and ttys0 (default is the UART0).
|
console and ttys0 (default is the UART0).
|
||||||
CONFIG_UARTn_RXBUFSIZE - Characters are buffered as received.
|
CONFIG_UARTn_RXBUFSIZE - Characters are buffered as received.
|
||||||
This specific the size of the receive buffer
|
This specific the size of the receive buffer
|
||||||
CONFIG_UARTn_TXBUFSIZE - Characters are buffered before
|
CONFIG_UARTn_TXBUFSIZE - Characters are buffered before
|
||||||
being sent. This specific the size of the transmit buffer
|
being sent. This specific the size of the transmit buffer
|
||||||
CONFIG_UARTn_BAUD - The configure BAUD of the UART. Must be
|
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_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_PARTIY - 0=no parity, 1=odd parity, 2=even parity
|
||||||
CONFIG_UARTn_2STOP - Two stop bits
|
CONFIG_UARTn_2STOP - Two stop bits
|
||||||
|
|
||||||
CONFIG_SSI0_DISABLE - Select to disable support for SSI0
|
CONFIG_SSI0_DISABLE - Select to disable support for SSI0
|
||||||
CONFIG_SSI1_DISABLE - Select to disable support for SSI1
|
CONFIG_SSI1_DISABLE - Select to disable support for SSI1
|
||||||
CONFIG_SSI_POLLWAIT - Select to disable interrupt driven SSI support.
|
CONFIG_SSI_POLLWAIT - Select to disable interrupt driven SSI support.
|
||||||
Poll-waiting is recommended if the interrupt rate would be to
|
Poll-waiting is recommended if the interrupt rate would be to
|
||||||
high in the interrupt driven case.
|
high in the interrupt driven case.
|
||||||
CONFIG_SSI_TXLIMIT - Write this many words to the Tx FIFO before
|
CONFIG_SSI_TXLIMIT - Write this many words to the Tx FIFO before
|
||||||
emptying the Rx FIFO. If the SPI frequency is high and this
|
emptying the Rx FIFO. If the SPI frequency is high and this
|
||||||
value is large, then larger values of this setting may cause
|
value is large, then larger values of this setting may cause
|
||||||
Rx FIFO overrun errors. Default: half of the Tx FIFO size (4).
|
Rx FIFO overrun errors. Default: half of the Tx FIFO size (4).
|
||||||
|
|
||||||
CONFIG_LM3S_ETHERNET - This must be set (along with CONFIG_NET)
|
CONFIG_LM3S_ETHERNET - This must be set (along with CONFIG_NET)
|
||||||
to build the LM3S Ethernet driver
|
to build the LM3S Ethernet driver
|
||||||
CONFIG_LM3S_ETHLEDS - Enable to use Ethernet LEDs on the board.
|
CONFIG_LM3S_ETHLEDS - Enable to use Ethernet LEDs on the board.
|
||||||
CONFIG_LM3S_BOARDMAC - If the board-specific logic can provide
|
CONFIG_LM3S_BOARDMAC - If the board-specific logic can provide
|
||||||
a MAC address (via lm3s_ethernetmac()), then this should be selected.
|
a MAC address (via lm3s_ethernetmac()), then this should be selected.
|
||||||
CONFIG_LM3S_ETHHDUPLEX - Set to force half duplex operation
|
CONFIG_LM3S_ETHHDUPLEX - Set to force half duplex operation
|
||||||
CONFIG_LM3S_ETHNOAUTOCRC - Set to suppress auto-CRC generation
|
CONFIG_LM3S_ETHNOAUTOCRC - Set to suppress auto-CRC generation
|
||||||
CONFIG_LM3S_ETHNOPAD - Set to suppress Tx padding
|
CONFIG_LM3S_ETHNOPAD - Set to suppress Tx padding
|
||||||
CONFIG_LM3S_MULTICAST - Set to enable multicast frames
|
CONFIG_LM3S_MULTICAST - Set to enable multicast frames
|
||||||
CONFIG_LM3S_PROMISCUOUS - Set to enable promiscuous mode
|
CONFIG_LM3S_PROMISCUOUS - Set to enable promiscuous mode
|
||||||
CONFIG_LM3S_BADCRC - Set to enable bad CRC rejection.
|
CONFIG_LM3S_BADCRC - Set to enable bad CRC rejection.
|
||||||
CONFIG_LM3S_DUMPPACKET - Dump each packet received/sent to the console.
|
CONFIG_LM3S_DUMPPACKET - Dump each packet received/sent to the console.
|
||||||
|
|
||||||
Configurations
|
Configurations
|
||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
@@ -416,10 +468,10 @@ Configurations
|
|||||||
Each Stellaris LM3S6965 Evaluation Kit configuration is maintained in a
|
Each Stellaris LM3S6965 Evaluation Kit configuration is maintained in a
|
||||||
sudirectory and can be selected as follow:
|
sudirectory and can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
./configure.sh lm3s6965-ek/<subdir>
|
./configure.sh lm3s6965-ek/<subdir>
|
||||||
cd -
|
cd -
|
||||||
. ./setenv.sh
|
. ./setenv.sh
|
||||||
|
|
||||||
Where <subdir> is one of the following:
|
Where <subdir> is one of the following:
|
||||||
|
|
||||||
|
|||||||
+142
-90
@@ -10,7 +10,9 @@ Contents
|
|||||||
Development Environment
|
Development Environment
|
||||||
GNU Toolchain Options
|
GNU Toolchain Options
|
||||||
IDEs
|
IDEs
|
||||||
NuttX buildroot Toolchain
|
NuttX EABI "buildroot" Toolchain
|
||||||
|
NuttX OABI "buildroot" Toolchain
|
||||||
|
NXFLAT Toolchain
|
||||||
USB Device Controller Functions
|
USB Device Controller Functions
|
||||||
OLED
|
OLED
|
||||||
Stellaris LM3S8962 Evaluation Kit Configuration Options
|
Stellaris LM3S8962 Evaluation Kit Configuration Options
|
||||||
@@ -194,8 +196,8 @@ IDEs
|
|||||||
Startup files will probably cause you some headaches. The NuttX startup file
|
Startup files will probably cause you some headaches. The NuttX startup file
|
||||||
is arch/arm/src/lm3s/lm3s_vectors.S.
|
is arch/arm/src/lm3s/lm3s_vectors.S.
|
||||||
|
|
||||||
NuttX buildroot Toolchain
|
NuttX EABI "buildroot" Toolchain
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
||||||
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
||||||
@@ -218,7 +220,7 @@ NuttX buildroot Toolchain
|
|||||||
|
|
||||||
4. cd <some-dir>/buildroot
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
5. cp configs/cortexm3-defconfig-4.3.3 .config
|
5. cp configs/cortexm3-eabi-defconfig-4.6.3 .config
|
||||||
|
|
||||||
6. make oldconfig
|
6. make oldconfig
|
||||||
|
|
||||||
@@ -228,11 +230,61 @@ NuttX buildroot Toolchain
|
|||||||
the path to the newly built binaries.
|
the path to the newly built binaries.
|
||||||
|
|
||||||
See the file configs/README.txt in the buildroot source tree. That has more
|
See the file configs/README.txt in the buildroot source tree. That has more
|
||||||
detailed PLUS some special instructions that you will need to follow if you
|
details PLUS some special instructions that you will need to follow if you
|
||||||
are building a Cortex-M3 toolchain for Cygwin under Windows.
|
are building a Cortex-M3 toolchain for Cygwin under Windows.
|
||||||
|
|
||||||
NOTE: This is an OABI toolchain.
|
NOTE: This is an OABI toolchain.
|
||||||
|
|
||||||
|
NuttX OABI "buildroot" Toolchain
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
The older, OABI buildroot toolchain is also available. To use the OABI
|
||||||
|
toolchain:
|
||||||
|
|
||||||
|
1. When building the buildroot toolchain, either (1) modify the cortexm3-eabi-defconfig-4.6.3
|
||||||
|
configuration to use EABI (using 'make menuconfig'), or (2) use an exising OABI
|
||||||
|
configuration such as cortexm3-defconfig-4.3.3
|
||||||
|
|
||||||
|
2. Modify the Make.defs file to use the OABI converntions:
|
||||||
|
|
||||||
|
+CROSSDEV = arm-nuttx-elf-
|
||||||
|
+ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
|
||||||
|
-CROSSDEV = arm-nuttx-eabi-
|
||||||
|
-ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
|
|
||||||
|
NXFLAT Toolchain
|
||||||
|
^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
If you are *not* using the NuttX buildroot toolchain and you want to use
|
||||||
|
the NXFLAT tools, then you will still have to build a portion of the buildroot
|
||||||
|
tools -- just the NXFLAT tools. The buildroot with the NXFLAT tools can
|
||||||
|
be downloaded from the NuttX SourceForge download site
|
||||||
|
(https://sourceforge.net/projects/nuttx/files/).
|
||||||
|
|
||||||
|
This GNU toolchain builds and executes in the Linux or Cygwin environment.
|
||||||
|
|
||||||
|
1. You must have already configured Nuttx in <some-dir>/nuttx.
|
||||||
|
|
||||||
|
cd tools
|
||||||
|
./configure.sh lpcxpresso-lpc1768/<sub-dir>
|
||||||
|
|
||||||
|
2. Download the latest buildroot package into <some-dir>
|
||||||
|
|
||||||
|
3. unpack the buildroot tarball. The resulting directory may
|
||||||
|
have versioning information on it like buildroot-x.y.z. If so,
|
||||||
|
rename <some-dir>/buildroot-x.y.z to <some-dir>/buildroot.
|
||||||
|
|
||||||
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
|
5. cp configs/cortexm3-defconfig-nxflat .config
|
||||||
|
|
||||||
|
6. make oldconfig
|
||||||
|
|
||||||
|
7. make
|
||||||
|
|
||||||
|
8. Edit setenv.h, if necessary, so that the PATH variable includes
|
||||||
|
the path to the newly builtNXFLAT binaries.
|
||||||
|
|
||||||
USB Device Controller Functions
|
USB Device Controller Functions
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
@@ -275,124 +327,124 @@ USB Device Controller Functions
|
|||||||
Stellaris LM3S8962 Evaluation Kit Configuration Options
|
Stellaris LM3S8962 Evaluation Kit Configuration Options
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
CONFIG_ARCH - Identifies the arch/ subdirectory. This should
|
CONFIG_ARCH - Identifies the arch/ subdirectory. This should
|
||||||
be set to:
|
be set to:
|
||||||
|
|
||||||
CONFIG_ARCH=arm
|
CONFIG_ARCH=arm
|
||||||
|
|
||||||
CONFIG_ARCH_family - For use in C code:
|
CONFIG_ARCH_family - For use in C code:
|
||||||
|
|
||||||
CONFIG_ARCH_ARM=y
|
CONFIG_ARCH_ARM=y
|
||||||
|
|
||||||
CONFIG_ARCH_architecture - For use in C code:
|
CONFIG_ARCH_architecture - For use in C code:
|
||||||
|
|
||||||
CONFIG_ARCH_CORTEXM3=y
|
CONFIG_ARCH_CORTEXM3=y
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
|
CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP=lm3s
|
CONFIG_ARCH_CHIP=lm3s
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP_name - For use in C code to identify the exact
|
CONFIG_ARCH_CHIP_name - For use in C code to identify the exact
|
||||||
chip:
|
chip:
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP_LM3S8962
|
CONFIG_ARCH_CHIP_LM3S8962
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD - Identifies the configs subdirectory and
|
CONFIG_ARCH_BOARD - Identifies the configs subdirectory and
|
||||||
hence, the board that supports the particular chip or SoC.
|
hence, the board that supports the particular chip or SoC.
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD=lm3s8962-ek (for the Stellaris LM3S8962 Evaluation Kit)
|
CONFIG_ARCH_BOARD=lm3s8962-ek (for the Stellaris LM3S8962 Evaluation Kit)
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD_name - For use in C code
|
CONFIG_ARCH_BOARD_name - For use in C code
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD_LM3S8962EK
|
CONFIG_ARCH_BOARD_LM3S8962EK
|
||||||
|
|
||||||
CONFIG_ARCH_LOOPSPERMSEC - Must be calibrated for correct operation
|
CONFIG_ARCH_LOOPSPERMSEC - Must be calibrated for correct operation
|
||||||
of delay loops
|
of delay loops
|
||||||
|
|
||||||
CONFIG_ENDIAN_BIG - define if big endian (default is little
|
CONFIG_ENDIAN_BIG - define if big endian (default is little
|
||||||
endian)
|
endian)
|
||||||
|
|
||||||
CONFIG_DRAM_SIZE - Describes the installed DRAM (SRAM in this case):
|
CONFIG_DRAM_SIZE - Describes the installed DRAM (SRAM in this case):
|
||||||
|
|
||||||
CONFIG_DRAM_SIZE=0x00010000 (64Kb)
|
CONFIG_DRAM_SIZE=0x00010000 (64Kb)
|
||||||
|
|
||||||
CONFIG_DRAM_START - The start address of installed DRAM
|
CONFIG_DRAM_START - The start address of installed DRAM
|
||||||
|
|
||||||
CONFIG_DRAM_START=0x20000000
|
CONFIG_DRAM_START=0x20000000
|
||||||
|
|
||||||
CONFIG_ARCH_IRQPRIO - The LM3S6918 supports interrupt prioritization
|
CONFIG_ARCH_IRQPRIO - The LM3S6918 supports interrupt prioritization
|
||||||
|
|
||||||
CONFIG_ARCH_IRQPRIO=y
|
CONFIG_ARCH_IRQPRIO=y
|
||||||
|
|
||||||
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to boards that
|
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to boards that
|
||||||
have LEDs
|
have LEDs
|
||||||
|
|
||||||
CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
|
CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
|
||||||
stack. If defined, this symbol is the size of the interrupt
|
stack. If defined, this symbol is the size of the interrupt
|
||||||
stack in bytes. If not defined, the user task stacks will be
|
stack in bytes. If not defined, the user task stacks will be
|
||||||
used during interrupt handling.
|
used during interrupt handling.
|
||||||
|
|
||||||
CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
|
CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
|
||||||
|
|
||||||
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to board architecture.
|
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to board architecture.
|
||||||
|
|
||||||
CONFIG_ARCH_CALIBRATION - Enables some build in instrumentation that
|
CONFIG_ARCH_CALIBRATION - Enables some build in instrumentation that
|
||||||
cause a 100 second delay during boot-up. This 100 second delay
|
cause a 100 second delay during boot-up. This 100 second delay
|
||||||
serves no purpose other than it allows you to calibratre
|
serves no purpose other than it allows you to calibratre
|
||||||
CONFIG_ARCH_LOOPSPERMSEC. You simply use a stop watch to measure
|
CONFIG_ARCH_LOOPSPERMSEC. You simply use a stop watch to measure
|
||||||
the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until
|
the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until
|
||||||
the delay actually is 100 seconds.
|
the delay actually is 100 seconds.
|
||||||
|
|
||||||
There are configurations for disabling support for interrupts GPIO ports.
|
There are configurations for disabling support for interrupts GPIO ports.
|
||||||
GPIOJ must be disabled because it does not exist on the LM3S6918.
|
GPIOJ must be disabled because it does not exist on the LM3S6918.
|
||||||
Additional interrupt support can be disabled if desired to reduce memory
|
Additional interrupt support can be disabled if desired to reduce memory
|
||||||
footprint.
|
footprint.
|
||||||
|
|
||||||
CONFIG_LM3S_DISABLE_GPIOA_IRQS=n
|
CONFIG_LM3S_DISABLE_GPIOA_IRQS=n
|
||||||
CONFIG_LM3S_DISABLE_GPIOB_IRQS=n
|
CONFIG_LM3S_DISABLE_GPIOB_IRQS=n
|
||||||
CONFIG_LM3S_DISABLE_GPIOC_IRQS=n
|
CONFIG_LM3S_DISABLE_GPIOC_IRQS=n
|
||||||
CONFIG_LM3S_DISABLE_GPIOD_IRQS=n
|
CONFIG_LM3S_DISABLE_GPIOD_IRQS=n
|
||||||
CONFIG_LM3S_DISABLE_GPIOE_IRQS=n
|
CONFIG_LM3S_DISABLE_GPIOE_IRQS=n
|
||||||
CONFIG_LM3S_DISABLE_GPIOF_IRQS=n
|
CONFIG_LM3S_DISABLE_GPIOF_IRQS=n
|
||||||
CONFIG_LM3S_DISABLE_GPIOG_IRQS=n
|
CONFIG_LM3S_DISABLE_GPIOG_IRQS=n
|
||||||
CONFIG_LM3S_DISABLE_GPIOH_IRQS=n
|
CONFIG_LM3S_DISABLE_GPIOH_IRQS=n
|
||||||
CONFIG_LM3S_DISABLE_GPIOJ_IRQS=y
|
CONFIG_LM3S_DISABLE_GPIOJ_IRQS=y
|
||||||
|
|
||||||
LM3S6818 specific device driver settings
|
LM3S6818 specific device driver settings
|
||||||
|
|
||||||
CONFIG_UARTn_SERIAL_CONSOLE - selects the UARTn for the
|
CONFIG_UARTn_SERIAL_CONSOLE - selects the UARTn for the
|
||||||
console and ttys0 (default is the UART0).
|
console and ttys0 (default is the UART0).
|
||||||
CONFIG_UARTn_RXBUFSIZE - Characters are buffered as received.
|
CONFIG_UARTn_RXBUFSIZE - Characters are buffered as received.
|
||||||
This specific the size of the receive buffer
|
This specific the size of the receive buffer
|
||||||
CONFIG_UARTn_TXBUFSIZE - Characters are buffered before
|
CONFIG_UARTn_TXBUFSIZE - Characters are buffered before
|
||||||
being sent. This specific the size of the transmit buffer
|
being sent. This specific the size of the transmit buffer
|
||||||
CONFIG_UARTn_BAUD - The configure BAUD of the UART. Must be
|
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_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_PARTIY - 0=no parity, 1=odd parity, 2=even parity
|
||||||
CONFIG_UARTn_2STOP - Two stop bits
|
CONFIG_UARTn_2STOP - Two stop bits
|
||||||
|
|
||||||
CONFIG_SSI0_DISABLE - Select to disable support for SSI0
|
CONFIG_SSI0_DISABLE - Select to disable support for SSI0
|
||||||
CONFIG_SSI1_DISABLE - Select to disable support for SSI1
|
CONFIG_SSI1_DISABLE - Select to disable support for SSI1
|
||||||
CONFIG_SSI_POLLWAIT - Select to disable interrupt driven SSI support.
|
CONFIG_SSI_POLLWAIT - Select to disable interrupt driven SSI support.
|
||||||
Poll-waiting is recommended if the interrupt rate would be to
|
Poll-waiting is recommended if the interrupt rate would be to
|
||||||
high in the interrupt driven case.
|
high in the interrupt driven case.
|
||||||
CONFIG_SSI_TXLIMIT - Write this many words to the Tx FIFO before
|
CONFIG_SSI_TXLIMIT - Write this many words to the Tx FIFO before
|
||||||
emptying the Rx FIFO. If the SPI frequency is high and this
|
emptying the Rx FIFO. If the SPI frequency is high and this
|
||||||
value is large, then larger values of this setting may cause
|
value is large, then larger values of this setting may cause
|
||||||
Rx FIFO overrun errors. Default: half of the Tx FIFO size (4).
|
Rx FIFO overrun errors. Default: half of the Tx FIFO size (4).
|
||||||
|
|
||||||
CONFIG_LM3S_ETHERNET - This must be set (along with CONFIG_NET)
|
CONFIG_LM3S_ETHERNET - This must be set (along with CONFIG_NET)
|
||||||
to build the LM3S Ethernet driver
|
to build the LM3S Ethernet driver
|
||||||
CONFIG_LM3S_ETHLEDS - Enable to use Ethernet LEDs on the board.
|
CONFIG_LM3S_ETHLEDS - Enable to use Ethernet LEDs on the board.
|
||||||
CONFIG_LM3S_BOARDMAC - If the board-specific logic can provide
|
CONFIG_LM3S_BOARDMAC - If the board-specific logic can provide
|
||||||
a MAC address (via lm3s_ethernetmac()), then this should be selected.
|
a MAC address (via lm3s_ethernetmac()), then this should be selected.
|
||||||
CONFIG_LM3S_ETHHDUPLEX - Set to force half duplex operation
|
CONFIG_LM3S_ETHHDUPLEX - Set to force half duplex operation
|
||||||
CONFIG_LM3S_ETHNOAUTOCRC - Set to suppress auto-CRC generation
|
CONFIG_LM3S_ETHNOAUTOCRC - Set to suppress auto-CRC generation
|
||||||
CONFIG_LM3S_ETHNOPAD - Set to suppress Tx padding
|
CONFIG_LM3S_ETHNOPAD - Set to suppress Tx padding
|
||||||
CONFIG_LM3S_MULTICAST - Set to enable multicast frames
|
CONFIG_LM3S_MULTICAST - Set to enable multicast frames
|
||||||
CONFIG_LM3S_PROMISCUOUS - Set to enable promiscuous mode
|
CONFIG_LM3S_PROMISCUOUS - Set to enable promiscuous mode
|
||||||
CONFIG_LM3S_BADCRC - Set to enable bad CRC rejection.
|
CONFIG_LM3S_BADCRC - Set to enable bad CRC rejection.
|
||||||
CONFIG_LM3S_DUMPPACKET - Dump each packet received/sent to the console.
|
CONFIG_LM3S_DUMPPACKET - Dump each packet received/sent to the console.
|
||||||
|
|
||||||
Configurations
|
Configurations
|
||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
@@ -400,10 +452,10 @@ Configurations
|
|||||||
Each Stellaris LM3S8962 Evaluation Kit configuration is maintained in a
|
Each Stellaris LM3S8962 Evaluation Kit configuration is maintained in a
|
||||||
sudirectory and can be selected as follow:
|
sudirectory and can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
./configure.sh lm3s8962-ek/<subdir>
|
./configure.sh lm3s8962-ek/<subdir>
|
||||||
cd -
|
cd -
|
||||||
. ./setenv.sh
|
. ./setenv.sh
|
||||||
|
|
||||||
Where <subdir> is one of the following:
|
Where <subdir> is one of the following:
|
||||||
|
|
||||||
|
|||||||
@@ -19,7 +19,9 @@ Contents
|
|||||||
Command Line Flash Programming
|
Command Line Flash Programming
|
||||||
Executing from SPIFI
|
Executing from SPIFI
|
||||||
USB DFU Booting
|
USB DFU Booting
|
||||||
- NuttX buildroot Toolchain
|
- NuttX EABI "buildroot" Toolchain
|
||||||
|
- NuttX OABI "buildroot" Toolchain
|
||||||
|
- NXFLAT Toolchain
|
||||||
- Serial Console
|
- Serial Console
|
||||||
- FPU
|
- FPU
|
||||||
- LPC4330-Xplorer Configuration Options
|
- LPC4330-Xplorer Configuration Options
|
||||||
@@ -462,8 +464,8 @@ Code Red IDE/Tools
|
|||||||
|
|
||||||
To be provided.
|
To be provided.
|
||||||
|
|
||||||
NuttX buildroot Toolchain
|
NuttX EABI "buildroot" Toolchain
|
||||||
=========================
|
================================
|
||||||
|
|
||||||
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
||||||
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
||||||
@@ -486,7 +488,7 @@ NuttX buildroot Toolchain
|
|||||||
|
|
||||||
4. cd <some-dir>/buildroot
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
5. cp configs/cortexm3-defconfig-4.3.3 .config
|
5. cp configs/cortexm3-eabi-defconfig-4.6.3 .config
|
||||||
|
|
||||||
6. make oldconfig
|
6. make oldconfig
|
||||||
|
|
||||||
@@ -496,10 +498,58 @@ NuttX buildroot Toolchain
|
|||||||
the path to the newly built binaries.
|
the path to the newly built binaries.
|
||||||
|
|
||||||
See the file configs/README.txt in the buildroot source tree. That has more
|
See the file configs/README.txt in the buildroot source tree. That has more
|
||||||
detailed PLUS some special instructions that you will need to follow if you
|
details PLUS some special instructions that you will need to follow if you
|
||||||
are building a Cortex-M3 toolchain for Cygwin under Windows.
|
are building a Cortex-M3 toolchain for Cygwin under Windows.
|
||||||
|
|
||||||
NOTE: This is an OABI toolchain.
|
NuttX OABI "buildroot" Toolchain
|
||||||
|
================================
|
||||||
|
|
||||||
|
The older, OABI buildroot toolchain is also available. To use the OABI
|
||||||
|
toolchain:
|
||||||
|
|
||||||
|
1. When building the buildroot toolchain, either (1) modify the cortexm3-eabi-defconfig-4.6.3
|
||||||
|
configuration to use EABI (using 'make menuconfig'), or (2) use an exising OABI
|
||||||
|
configuration such as cortexm3-defconfig-4.3.3
|
||||||
|
|
||||||
|
2. Modify the Make.defs file to use the OABI converntions:
|
||||||
|
|
||||||
|
+CROSSDEV = arm-nuttx-elf-
|
||||||
|
+ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
|
||||||
|
-CROSSDEV = arm-nuttx-eabi-
|
||||||
|
-ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
|
|
||||||
|
NXFLAT Toolchain
|
||||||
|
================
|
||||||
|
|
||||||
|
If you are *not* using the NuttX buildroot toolchain and you want to use
|
||||||
|
the NXFLAT tools, then you will still have to build a portion of the buildroot
|
||||||
|
tools -- just the NXFLAT tools. The buildroot with the NXFLAT tools can
|
||||||
|
be downloaded from the NuttX SourceForge download site
|
||||||
|
(https://sourceforge.net/projects/nuttx/files/).
|
||||||
|
|
||||||
|
This GNU toolchain builds and executes in the Linux or Cygwin environment.
|
||||||
|
|
||||||
|
1. You must have already configured Nuttx in <some-dir>/nuttx.
|
||||||
|
|
||||||
|
cd tools
|
||||||
|
./configure.sh lpcxpresso-lpc1768/<sub-dir>
|
||||||
|
|
||||||
|
2. Download the latest buildroot package into <some-dir>
|
||||||
|
|
||||||
|
3. unpack the buildroot tarball. The resulting directory may
|
||||||
|
have versioning information on it like buildroot-x.y.z. If so,
|
||||||
|
rename <some-dir>/buildroot-x.y.z to <some-dir>/buildroot.
|
||||||
|
|
||||||
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
|
5. cp configs/cortexm3-defconfig-nxflat .config
|
||||||
|
|
||||||
|
6. make oldconfig
|
||||||
|
|
||||||
|
7. make
|
||||||
|
|
||||||
|
8. Edit setenv.h, if necessary, so that the PATH variable includes
|
||||||
|
the path to the newly builtNXFLAT binaries.
|
||||||
|
|
||||||
Serial Console
|
Serial Console
|
||||||
==============
|
==============
|
||||||
|
|||||||
@@ -11,7 +11,9 @@ Contents
|
|||||||
Embedded Artist's Base Board
|
Embedded Artist's Base Board
|
||||||
Development Environment
|
Development Environment
|
||||||
GNU Toolchain Options
|
GNU Toolchain Options
|
||||||
NuttX buildroot Toolchain
|
NuttX EABI "buildroot" Toolchain
|
||||||
|
NuttX OABI "buildroot" Toolchain
|
||||||
|
NXFLAT Toolchain
|
||||||
Code Red IDE
|
Code Red IDE
|
||||||
LEDs
|
LEDs
|
||||||
LPCXpresso Configuration Options
|
LPCXpresso Configuration Options
|
||||||
@@ -406,8 +408,8 @@ Code Red IDE
|
|||||||
All of the above steps are automated in the bash script flash.sh that can
|
All of the above steps are automated in the bash script flash.sh that can
|
||||||
be found in the configs/lpcxpresso/tools directory.
|
be found in the configs/lpcxpresso/tools directory.
|
||||||
|
|
||||||
NuttX buildroot Toolchain
|
NuttX EABI "buildroot" Toolchain
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
||||||
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
||||||
@@ -430,7 +432,7 @@ NuttX buildroot Toolchain
|
|||||||
|
|
||||||
4. cd <some-dir>/buildroot
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
5. cp configs/cortexm3-defconfig-4.3.3 .config
|
5. cp configs/cortexm3-eabi-defconfig-4.6.3 .config
|
||||||
|
|
||||||
6. make oldconfig
|
6. make oldconfig
|
||||||
|
|
||||||
@@ -440,10 +442,25 @@ NuttX buildroot Toolchain
|
|||||||
the path to the newly built binaries.
|
the path to the newly built binaries.
|
||||||
|
|
||||||
See the file configs/README.txt in the buildroot source tree. That has more
|
See the file configs/README.txt in the buildroot source tree. That has more
|
||||||
detailed PLUS some special instructions that you will need to follow if you
|
details PLUS some special instructions that you will need to follow if you
|
||||||
are building a Cortex-M3 toolchain for Cygwin under Windows.
|
are building a Cortex-M3 toolchain for Cygwin under Windows.
|
||||||
|
|
||||||
NOTE: This is an OABI toolchain.
|
NuttX OABI "buildroot" Toolchain
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
The older, OABI buildroot toolchain is also available. To use the OABI
|
||||||
|
toolchain:
|
||||||
|
|
||||||
|
1. When building the buildroot toolchain, either (1) modify the cortexm3-eabi-defconfig-4.6.3
|
||||||
|
configuration to use EABI (using 'make menuconfig'), or (2) use an exising OABI
|
||||||
|
configuration such as cortexm3-defconfig-4.3.3
|
||||||
|
|
||||||
|
2. Modify the Make.defs file to use the OABI converntions:
|
||||||
|
|
||||||
|
+CROSSDEV = arm-nuttx-elf-
|
||||||
|
+ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
|
||||||
|
-CROSSDEV = arm-nuttx-eabi-
|
||||||
|
-ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
|
|
||||||
NXFLAT Toolchain
|
NXFLAT Toolchain
|
||||||
^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^
|
||||||
|
|||||||
+185
-135
@@ -9,7 +9,9 @@ Contents
|
|||||||
Development Environment
|
Development Environment
|
||||||
GNU Toolchain Options
|
GNU Toolchain Options
|
||||||
IDEs
|
IDEs
|
||||||
NuttX buildroot Toolchain
|
NuttX EABI "buildroot" Toolchain
|
||||||
|
NuttX OABI "buildroot" Toolchain
|
||||||
|
NXFLAT Toolchain
|
||||||
USB Device Controller Functions
|
USB Device Controller Functions
|
||||||
mbed Configuration Options
|
mbed Configuration Options
|
||||||
USB Host Configuration
|
USB Host Configuration
|
||||||
@@ -120,8 +122,8 @@ IDEs
|
|||||||
Startup files will probably cause you some headaches. The NuttX startup file
|
Startup files will probably cause you some headaches. The NuttX startup file
|
||||||
is arch/arm/src/lpc17x/lpc17_vectors.S.
|
is arch/arm/src/lpc17x/lpc17_vectors.S.
|
||||||
|
|
||||||
NuttX buildroot Toolchain
|
NuttX EABI "buildroot" Toolchain
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
||||||
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
||||||
@@ -144,7 +146,7 @@ NuttX buildroot Toolchain
|
|||||||
|
|
||||||
4. cd <some-dir>/buildroot
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
5. cp configs/cortexm3-defconfig-4.3.3 .config
|
5. cp configs/cortexm3-eabi-defconfig-4.6.3 .config
|
||||||
|
|
||||||
6. make oldconfig
|
6. make oldconfig
|
||||||
|
|
||||||
@@ -154,184 +156,232 @@ NuttX buildroot Toolchain
|
|||||||
the path to the newly built binaries.
|
the path to the newly built binaries.
|
||||||
|
|
||||||
See the file configs/README.txt in the buildroot source tree. That has more
|
See the file configs/README.txt in the buildroot source tree. That has more
|
||||||
detailed PLUS some special instructions that you will need to follow if you
|
details PLUS some special instructions that you will need to follow if you
|
||||||
are building a Cortex-M3 toolchain for Cygwin under Windows.
|
are building a Cortex-M3 toolchain for Cygwin under Windows.
|
||||||
|
|
||||||
NOTE: This is an OABI toolchain.
|
NuttX OABI "buildroot" Toolchain
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
The older, OABI buildroot toolchain is also available. To use the OABI
|
||||||
|
toolchain:
|
||||||
|
|
||||||
|
1. When building the buildroot toolchain, either (1) modify the cortexm3-eabi-defconfig-4.6.3
|
||||||
|
configuration to use EABI (using 'make menuconfig'), or (2) use an exising OABI
|
||||||
|
configuration such as cortexm3-defconfig-4.3.3
|
||||||
|
|
||||||
|
2. Modify the Make.defs file to use the OABI converntions:
|
||||||
|
|
||||||
|
+CROSSDEV = arm-nuttx-elf-
|
||||||
|
+ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
|
||||||
|
-CROSSDEV = arm-nuttx-eabi-
|
||||||
|
-ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
|
|
||||||
|
NXFLAT Toolchain
|
||||||
|
^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
If you are *not* using the NuttX buildroot toolchain and you want to use
|
||||||
|
the NXFLAT tools, then you will still have to build a portion of the buildroot
|
||||||
|
tools -- just the NXFLAT tools. The buildroot with the NXFLAT tools can
|
||||||
|
be downloaded from the NuttX SourceForge download site
|
||||||
|
(https://sourceforge.net/projects/nuttx/files/).
|
||||||
|
|
||||||
|
This GNU toolchain builds and executes in the Linux or Cygwin environment.
|
||||||
|
|
||||||
|
1. You must have already configured Nuttx in <some-dir>/nuttx.
|
||||||
|
|
||||||
|
cd tools
|
||||||
|
./configure.sh lpcxpresso-lpc1768/<sub-dir>
|
||||||
|
|
||||||
|
2. Download the latest buildroot package into <some-dir>
|
||||||
|
|
||||||
|
3. unpack the buildroot tarball. The resulting directory may
|
||||||
|
have versioning information on it like buildroot-x.y.z. If so,
|
||||||
|
rename <some-dir>/buildroot-x.y.z to <some-dir>/buildroot.
|
||||||
|
|
||||||
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
|
5. cp configs/cortexm3-defconfig-nxflat .config
|
||||||
|
|
||||||
|
6. make oldconfig
|
||||||
|
|
||||||
|
7. make
|
||||||
|
|
||||||
|
8. Edit setenv.h, if necessary, so that the PATH variable includes
|
||||||
|
the path to the newly builtNXFLAT binaries.
|
||||||
|
|
||||||
mbed Configuration Options
|
mbed Configuration Options
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
CONFIG_ARCH - Identifies the arch/ subdirectory. This should
|
CONFIG_ARCH - Identifies the arch/ subdirectory. This should
|
||||||
be set to:
|
be set to:
|
||||||
|
|
||||||
CONFIG_ARCH=arm
|
CONFIG_ARCH=arm
|
||||||
|
|
||||||
CONFIG_ARCH_family - For use in C code:
|
CONFIG_ARCH_family - For use in C code:
|
||||||
|
|
||||||
CONFIG_ARCH_ARM=y
|
CONFIG_ARCH_ARM=y
|
||||||
|
|
||||||
CONFIG_ARCH_architecture - For use in C code:
|
CONFIG_ARCH_architecture - For use in C code:
|
||||||
|
|
||||||
CONFIG_ARCH_CORTEXM3=y
|
CONFIG_ARCH_CORTEXM3=y
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
|
CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP=lpc17xx
|
CONFIG_ARCH_CHIP=lpc17xx
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP_name - For use in C code to identify the exact
|
CONFIG_ARCH_CHIP_name - For use in C code to identify the exact
|
||||||
chip:
|
chip:
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP_LPC1768=y
|
CONFIG_ARCH_CHIP_LPC1768=y
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD - Identifies the configs subdirectory and
|
CONFIG_ARCH_BOARD - Identifies the configs subdirectory and
|
||||||
hence, the board that supports the particular chip or SoC.
|
hence, the board that supports the particular chip or SoC.
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD=mbed (for the mbed.org board)
|
CONFIG_ARCH_BOARD=mbed (for the mbed.org board)
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD_name - For use in C code
|
CONFIG_ARCH_BOARD_name - For use in C code
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD_MBED=y
|
CONFIG_ARCH_BOARD_MBED=y
|
||||||
|
|
||||||
CONFIG_ARCH_LOOPSPERMSEC - Must be calibrated for correct operation
|
CONFIG_ARCH_LOOPSPERMSEC - Must be calibrated for correct operation
|
||||||
of delay loops
|
of delay loops
|
||||||
|
|
||||||
CONFIG_ENDIAN_BIG - define if big endian (default is little
|
CONFIG_ENDIAN_BIG - define if big endian (default is little
|
||||||
endian)
|
endian)
|
||||||
|
|
||||||
CONFIG_DRAM_SIZE - Describes the installed DRAM (CPU SRAM in this case):
|
CONFIG_DRAM_SIZE - Describes the installed DRAM (CPU SRAM in this case):
|
||||||
|
|
||||||
CONFIG_DRAM_SIZE=(32*1024) (32Kb)
|
CONFIG_DRAM_SIZE=(32*1024) (32Kb)
|
||||||
|
|
||||||
There is an additional 32Kb of SRAM in AHB SRAM banks 0 and 1.
|
There is an additional 32Kb of SRAM in AHB SRAM banks 0 and 1.
|
||||||
|
|
||||||
CONFIG_DRAM_START - The start address of installed DRAM
|
CONFIG_DRAM_START - The start address of installed DRAM
|
||||||
|
|
||||||
CONFIG_DRAM_START=0x10000000
|
CONFIG_DRAM_START=0x10000000
|
||||||
|
|
||||||
CONFIG_ARCH_IRQPRIO - The LPC17xx supports interrupt prioritization
|
CONFIG_ARCH_IRQPRIO - The LPC17xx supports interrupt prioritization
|
||||||
|
|
||||||
CONFIG_ARCH_IRQPRIO=y
|
CONFIG_ARCH_IRQPRIO=y
|
||||||
|
|
||||||
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to boards that
|
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to boards that
|
||||||
have LEDs
|
have LEDs
|
||||||
|
|
||||||
CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
|
CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
|
||||||
stack. If defined, this symbol is the size of the interrupt
|
stack. If defined, this symbol is the size of the interrupt
|
||||||
stack in bytes. If not defined, the user task stacks will be
|
stack in bytes. If not defined, the user task stacks will be
|
||||||
used during interrupt handling.
|
used during interrupt handling.
|
||||||
|
|
||||||
CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
|
CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
|
||||||
|
|
||||||
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to board architecture.
|
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to board architecture.
|
||||||
|
|
||||||
CONFIG_ARCH_CALIBRATION - Enables some build in instrumentation that
|
CONFIG_ARCH_CALIBRATION - Enables some build in instrumentation that
|
||||||
cause a 100 second delay during boot-up. This 100 second delay
|
cause a 100 second delay during boot-up. This 100 second delay
|
||||||
serves no purpose other than it allows you to calibratre
|
serves no purpose other than it allows you to calibratre
|
||||||
CONFIG_ARCH_LOOPSPERMSEC. You simply use a stop watch to measure
|
CONFIG_ARCH_LOOPSPERMSEC. You simply use a stop watch to measure
|
||||||
the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until
|
the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until
|
||||||
the delay actually is 100 seconds.
|
the delay actually is 100 seconds.
|
||||||
|
|
||||||
Individual subsystems can be enabled:
|
Individual subsystems can be enabled:
|
||||||
CONFIG_LPC17_MAINOSC=y
|
CONFIG_LPC17_MAINOSC=y
|
||||||
CONFIG_LPC17_PLL0=y
|
CONFIG_LPC17_PLL0=y
|
||||||
CONFIG_LPC17_PLL1=n
|
CONFIG_LPC17_PLL1=n
|
||||||
CONFIG_LPC17_ETHERNET=n
|
CONFIG_LPC17_ETHERNET=n
|
||||||
CONFIG_LPC17_USBHOST=n
|
CONFIG_LPC17_USBHOST=n
|
||||||
CONFIG_LPC17_USBOTG=n
|
CONFIG_LPC17_USBOTG=n
|
||||||
CONFIG_LPC17_USBDEV=n
|
CONFIG_LPC17_USBDEV=n
|
||||||
CONFIG_LPC17_UART0=y
|
CONFIG_LPC17_UART0=y
|
||||||
CONFIG_LPC17_UART1=n
|
CONFIG_LPC17_UART1=n
|
||||||
CONFIG_LPC17_UART2=n
|
CONFIG_LPC17_UART2=n
|
||||||
CONFIG_LPC17_UART3=n
|
CONFIG_LPC17_UART3=n
|
||||||
CONFIG_LPC17_CAN1=n
|
CONFIG_LPC17_CAN1=n
|
||||||
CONFIG_LPC17_CAN2=n
|
CONFIG_LPC17_CAN2=n
|
||||||
CONFIG_LPC17_SPI=n
|
CONFIG_LPC17_SPI=n
|
||||||
CONFIG_LPC17_SSP0=n
|
CONFIG_LPC17_SSP0=n
|
||||||
CONFIG_LPC17_SSP1=n
|
CONFIG_LPC17_SSP1=n
|
||||||
CONFIG_LPC17_I2C0=n
|
CONFIG_LPC17_I2C0=n
|
||||||
CONFIG_LPC17_I2C1=n
|
CONFIG_LPC17_I2C1=n
|
||||||
CONFIG_LPC17_I2S=n
|
CONFIG_LPC17_I2S=n
|
||||||
CONFIG_LPC17_TMR0=n
|
CONFIG_LPC17_TMR0=n
|
||||||
CONFIG_LPC17_TMR1=n
|
CONFIG_LPC17_TMR1=n
|
||||||
CONFIG_LPC17_TMR2=n
|
CONFIG_LPC17_TMR2=n
|
||||||
CONFIG_LPC17_TMR3=n
|
CONFIG_LPC17_TMR3=n
|
||||||
CONFIG_LPC17_RIT=n
|
CONFIG_LPC17_RIT=n
|
||||||
CONFIG_LPC17_PWM=n
|
CONFIG_LPC17_PWM=n
|
||||||
CONFIG_LPC17_MCPWM=n
|
CONFIG_LPC17_MCPWM=n
|
||||||
CONFIG_LPC17_QEI=n
|
CONFIG_LPC17_QEI=n
|
||||||
CONFIG_LPC17_RTC=n
|
CONFIG_LPC17_RTC=n
|
||||||
CONFIG_LPC17_WDT=n
|
CONFIG_LPC17_WDT=n
|
||||||
CONFIG_LPC17_ADC=n
|
CONFIG_LPC17_ADC=n
|
||||||
CONFIG_LPC17_DAC=n
|
CONFIG_LPC17_DAC=n
|
||||||
CONFIG_LPC17_GPDMA=n
|
CONFIG_LPC17_GPDMA=n
|
||||||
CONFIG_LPC17_FLASH=n
|
CONFIG_LPC17_FLASH=n
|
||||||
|
|
||||||
LPC17xx specific device driver settings
|
LPC17xx specific device driver settings
|
||||||
|
|
||||||
CONFIG_UARTn_SERIAL_CONSOLE - selects the UARTn for the
|
CONFIG_UARTn_SERIAL_CONSOLE - selects the UARTn for the
|
||||||
console and ttys0 (default is the UART0).
|
console and ttys0 (default is the UART0).
|
||||||
CONFIG_UARTn_RXBUFSIZE - Characters are buffered as received.
|
CONFIG_UARTn_RXBUFSIZE - Characters are buffered as received.
|
||||||
This specific the size of the receive buffer
|
This specific the size of the receive buffer
|
||||||
CONFIG_UARTn_TXBUFSIZE - Characters are buffered before
|
CONFIG_UARTn_TXBUFSIZE - Characters are buffered before
|
||||||
being sent. This specific the size of the transmit buffer
|
being sent. This specific the size of the transmit buffer
|
||||||
CONFIG_UARTn_BAUD - The configure BAUD of the UART. Must be
|
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_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_PARTIY - 0=no parity, 1=odd parity, 2=even parity
|
||||||
CONFIG_UARTn_2STOP - Two stop bits
|
CONFIG_UARTn_2STOP - Two stop bits
|
||||||
|
|
||||||
LPC17xx specific CAN device driver settings. These settings all
|
LPC17xx specific CAN device driver settings. These settings all
|
||||||
require CONFIG_CAN:
|
require CONFIG_CAN:
|
||||||
|
|
||||||
CONFIG_CAN_EXTID - Enables support for the 29-bit extended ID. Default
|
CONFIG_CAN_EXTID - Enables support for the 29-bit extended ID. Default
|
||||||
Standard 11-bit IDs.
|
Standard 11-bit IDs.
|
||||||
CONFIG_CAN1_BAUD - CAN1 BAUD rate. Required if CONFIG_LPC17_CAN1 is defined.
|
CONFIG_CAN1_BAUD - CAN1 BAUD rate. Required if CONFIG_LPC17_CAN1 is defined.
|
||||||
CONFIG_CAN2_BAUD - CAN1 BAUD rate. Required if CONFIG_LPC17_CAN2 is defined.
|
CONFIG_CAN2_BAUD - CAN1 BAUD rate. Required if CONFIG_LPC17_CAN2 is defined.
|
||||||
CONFIG_CAN1_DIVISOR - CAN1 is clocked at CCLK divided by this number.
|
CONFIG_CAN1_DIVISOR - CAN1 is clocked at CCLK divided by this number.
|
||||||
(the CCLK frequency is divided by this number to get the CAN clock).
|
(the CCLK frequency is divided by this number to get the CAN clock).
|
||||||
Options = {1,2,4,6}. Default: 4.
|
Options = {1,2,4,6}. Default: 4.
|
||||||
CONFIG_CAN2_DIVISOR - CAN2 is clocked at CCLK divided by this number.
|
CONFIG_CAN2_DIVISOR - CAN2 is clocked at CCLK divided by this number.
|
||||||
(the CCLK frequency is divided by this number to get the CAN clock).
|
(the CCLK frequency is divided by this number to get the CAN clock).
|
||||||
Options = {1,2,4,6}. Default: 4.
|
Options = {1,2,4,6}. Default: 4.
|
||||||
CONFIG_CAN_TSEG1 - The number of CAN time quanta in segment 1. Default: 6
|
CONFIG_CAN_TSEG1 - The number of CAN time quanta in segment 1. Default: 6
|
||||||
CONFIG_CAN_TSEG2 = the number of CAN time quanta in segment 2. Default: 7
|
CONFIG_CAN_TSEG2 = the number of CAN time quanta in segment 2. Default: 7
|
||||||
|
|
||||||
LPC17xx specific PHY/Ethernet device driver settings. These setting
|
LPC17xx specific PHY/Ethernet device driver settings. These setting
|
||||||
also require CONFIG_NET and CONFIG_LPC17_ETHERNET.
|
also require CONFIG_NET and CONFIG_LPC17_ETHERNET.
|
||||||
|
|
||||||
CONFIG_PHY_KS8721 - Selects Micrel KS8721 PHY
|
CONFIG_PHY_KS8721 - Selects Micrel KS8721 PHY
|
||||||
CONFIG_PHY_AUTONEG - Enable auto-negotion
|
CONFIG_PHY_AUTONEG - Enable auto-negotion
|
||||||
CONFIG_PHY_SPEED100 - Select 100Mbit vs. 10Mbit speed.
|
CONFIG_PHY_SPEED100 - Select 100Mbit vs. 10Mbit speed.
|
||||||
CONFIG_PHY_FDUPLEX - Select full (vs. half) duplex
|
CONFIG_PHY_FDUPLEX - Select full (vs. half) duplex
|
||||||
|
|
||||||
CONFIG_NET_EMACRAM_SIZE - Size of EMAC RAM. Default: 16Kb
|
CONFIG_NET_EMACRAM_SIZE - Size of EMAC RAM. Default: 16Kb
|
||||||
CONFIG_NET_NTXDESC - Configured number of Tx descriptors. Default: 18
|
CONFIG_NET_NTXDESC - Configured number of Tx descriptors. Default: 18
|
||||||
CONFIG_NET_NRXDESC - Configured number of Rx descriptors. Default: 18
|
CONFIG_NET_NRXDESC - Configured number of Rx descriptors. Default: 18
|
||||||
CONFIG_NET_PRIORITY - Ethernet interrupt priority. The is default is
|
CONFIG_NET_PRIORITY - Ethernet interrupt priority. The is default is
|
||||||
the higest priority.
|
the higest priority.
|
||||||
CONFIG_NET_WOL - Enable Wake-up on Lan (not fully implemented).
|
CONFIG_NET_WOL - Enable Wake-up on Lan (not fully implemented).
|
||||||
CONFIG_NET_REGDEBUG - Enabled low level register debug. Also needs
|
CONFIG_NET_REGDEBUG - Enabled low level register debug. Also needs
|
||||||
CONFIG_DEBUG.
|
CONFIG_DEBUG.
|
||||||
CONFIG_NET_DUMPPACKET - Dump all received and transmitted packets.
|
CONFIG_NET_DUMPPACKET - Dump all received and transmitted packets.
|
||||||
Also needs CONFIG_DEBUG.
|
Also needs CONFIG_DEBUG.
|
||||||
CONFIG_NET_HASH - Enable receipt of near-perfect match frames.
|
CONFIG_NET_HASH - Enable receipt of near-perfect match frames.
|
||||||
CONFIG_NET_MULTICAST - Enable receipt of multicast (and unicast) frames.
|
CONFIG_NET_MULTICAST - Enable receipt of multicast (and unicast) frames.
|
||||||
Automatically set if CONFIG_NET_IGMP is selected.
|
Automatically set if CONFIG_NET_IGMP is selected.
|
||||||
|
|
||||||
LPC17xx USB Device Configuration
|
LPC17xx USB Device Configuration
|
||||||
|
|
||||||
CONFIG_LPC17_USBDEV_FRAME_INTERRUPT
|
CONFIG_LPC17_USBDEV_FRAME_INTERRUPT
|
||||||
Handle USB Start-Of-Frame events.
|
Handle USB Start-Of-Frame events.
|
||||||
Enable reading SOF from interrupt handler vs. simply reading on demand.
|
Enable reading SOF from interrupt handler vs. simply reading on demand.
|
||||||
Probably a bad idea... Unless there is some issue with sampling the SOF
|
Probably a bad idea... Unless there is some issue with sampling the SOF
|
||||||
from hardware asynchronously.
|
from hardware asynchronously.
|
||||||
CONFIG_LPC17_USBDEV_EPFAST_INTERRUPT
|
CONFIG_LPC17_USBDEV_EPFAST_INTERRUPT
|
||||||
Enable high priority interrupts. I have no idea why you might want to
|
Enable high priority interrupts. I have no idea why you might want to
|
||||||
do that
|
do that
|
||||||
CONFIG_LPC17_USBDEV_NDMADESCRIPTORS
|
CONFIG_LPC17_USBDEV_NDMADESCRIPTORS
|
||||||
Number of DMA descriptors to allocate in SRAM.
|
Number of DMA descriptors to allocate in SRAM.
|
||||||
CONFIG_LPC17_USBDEV_DMA
|
CONFIG_LPC17_USBDEV_DMA
|
||||||
Enable lpc17xx-specific DMA support
|
Enable lpc17xx-specific DMA support
|
||||||
CONFIG_LPC17_USBDEV_NOVBUS
|
CONFIG_LPC17_USBDEV_NOVBUS
|
||||||
Define if the hardware implementation does not support the VBUS signal
|
Define if the hardware implementation does not support the VBUS signal
|
||||||
CONFIG_LPC17_USBDEV_NOLED
|
CONFIG_LPC17_USBDEV_NOLED
|
||||||
@@ -396,10 +446,10 @@ Configurations
|
|||||||
Each mbed configuration is maintained in a sudirectory and can be selected
|
Each mbed configuration is maintained in a sudirectory and can be selected
|
||||||
as follow:
|
as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
./configure.sh mbed/<subdir>
|
./configure.sh mbed/<subdir>
|
||||||
cd -
|
cd -
|
||||||
. ./setenv.sh
|
. ./setenv.sh
|
||||||
|
|
||||||
Where <subdir> is one of the following:
|
Where <subdir> is one of the following:
|
||||||
|
|
||||||
|
|||||||
@@ -113,7 +113,7 @@ NuttX buildroot Toolchain
|
|||||||
|
|
||||||
4. cd <some-dir>/buildroot
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
5. cp configs/cortexm3-defconfig-4.3.3 .config
|
5. cp configs/arm7tdmi-defconfig-4.3.3 .config
|
||||||
|
|
||||||
6. make oldconfig
|
6. make oldconfig
|
||||||
|
|
||||||
|
|||||||
+185
-135
@@ -11,7 +11,9 @@ Contents
|
|||||||
Development Environment
|
Development Environment
|
||||||
GNU Toolchain Options
|
GNU Toolchain Options
|
||||||
IDEs
|
IDEs
|
||||||
NuttX buildroot Toolchain
|
NuttX EABI "buildroot" Toolchain
|
||||||
|
NuttX OABI "buildroot" Toolchain
|
||||||
|
NXFLAT Toolchain
|
||||||
LEDs
|
LEDs
|
||||||
Nucleus 2G Configuration Options
|
Nucleus 2G Configuration Options
|
||||||
Configurations
|
Configurations
|
||||||
@@ -180,8 +182,8 @@ IDEs
|
|||||||
Startup files will probably cause you some headaches. The NuttX startup file
|
Startup files will probably cause you some headaches. The NuttX startup file
|
||||||
is arch/arm/src/lpc17x/lpc17_vectors.S.
|
is arch/arm/src/lpc17x/lpc17_vectors.S.
|
||||||
|
|
||||||
NuttX buildroot Toolchain
|
NuttX EABI "buildroot" Toolchain
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
||||||
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
||||||
@@ -204,7 +206,7 @@ NuttX buildroot Toolchain
|
|||||||
|
|
||||||
4. cd <some-dir>/buildroot
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
5. cp configs/cortexm3-defconfig-4.3.3 .config
|
5. cp configs/cortexm3-eabi-defconfig-4.6.3 .config
|
||||||
|
|
||||||
6. make oldconfig
|
6. make oldconfig
|
||||||
|
|
||||||
@@ -214,10 +216,58 @@ NuttX buildroot Toolchain
|
|||||||
the path to the newly built binaries.
|
the path to the newly built binaries.
|
||||||
|
|
||||||
See the file configs/README.txt in the buildroot source tree. That has more
|
See the file configs/README.txt in the buildroot source tree. That has more
|
||||||
detailed PLUS some special instructions that you will need to follow if you
|
details PLUS some special instructions that you will need to follow if you
|
||||||
are building a Cortex-M3 toolchain for Cygwin under Windows.
|
are building a Cortex-M3 toolchain for Cygwin under Windows.
|
||||||
|
|
||||||
NOTE: This is an OABI toolchain.
|
NuttX OABI "buildroot" Toolchain
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
The older, OABI buildroot toolchain is also available. To use the OABI
|
||||||
|
toolchain:
|
||||||
|
|
||||||
|
1. When building the buildroot toolchain, either (1) modify the cortexm3-eabi-defconfig-4.6.3
|
||||||
|
configuration to use EABI (using 'make menuconfig'), or (2) use an exising OABI
|
||||||
|
configuration such as cortexm3-defconfig-4.3.3
|
||||||
|
|
||||||
|
2. Modify the Make.defs file to use the OABI converntions:
|
||||||
|
|
||||||
|
+CROSSDEV = arm-nuttx-elf-
|
||||||
|
+ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
|
||||||
|
-CROSSDEV = arm-nuttx-eabi-
|
||||||
|
-ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
|
|
||||||
|
NXFLAT Toolchain
|
||||||
|
^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
If you are *not* using the NuttX buildroot toolchain and you want to use
|
||||||
|
the NXFLAT tools, then you will still have to build a portion of the buildroot
|
||||||
|
tools -- just the NXFLAT tools. The buildroot with the NXFLAT tools can
|
||||||
|
be downloaded from the NuttX SourceForge download site
|
||||||
|
(https://sourceforge.net/projects/nuttx/files/).
|
||||||
|
|
||||||
|
This GNU toolchain builds and executes in the Linux or Cygwin environment.
|
||||||
|
|
||||||
|
1. You must have already configured Nuttx in <some-dir>/nuttx.
|
||||||
|
|
||||||
|
cd tools
|
||||||
|
./configure.sh lpcxpresso-lpc1768/<sub-dir>
|
||||||
|
|
||||||
|
2. Download the latest buildroot package into <some-dir>
|
||||||
|
|
||||||
|
3. unpack the buildroot tarball. The resulting directory may
|
||||||
|
have versioning information on it like buildroot-x.y.z. If so,
|
||||||
|
rename <some-dir>/buildroot-x.y.z to <some-dir>/buildroot.
|
||||||
|
|
||||||
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
|
5. cp configs/cortexm3-defconfig-nxflat .config
|
||||||
|
|
||||||
|
6. make oldconfig
|
||||||
|
|
||||||
|
7. make
|
||||||
|
|
||||||
|
8. Edit setenv.h, if necessary, so that the PATH variable includes
|
||||||
|
the path to the newly builtNXFLAT binaries.
|
||||||
|
|
||||||
LEDs
|
LEDs
|
||||||
^^^^
|
^^^^
|
||||||
@@ -274,176 +324,176 @@ LEDs
|
|||||||
Nucleus 2G Configuration Options
|
Nucleus 2G Configuration Options
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
CONFIG_ARCH - Identifies the arch/ subdirectory. This should
|
CONFIG_ARCH - Identifies the arch/ subdirectory. This should
|
||||||
be set to:
|
be set to:
|
||||||
|
|
||||||
CONFIG_ARCH=arm
|
CONFIG_ARCH=arm
|
||||||
|
|
||||||
CONFIG_ARCH_family - For use in C code:
|
CONFIG_ARCH_family - For use in C code:
|
||||||
|
|
||||||
CONFIG_ARCH_ARM=y
|
CONFIG_ARCH_ARM=y
|
||||||
|
|
||||||
CONFIG_ARCH_architecture - For use in C code:
|
CONFIG_ARCH_architecture - For use in C code:
|
||||||
|
|
||||||
CONFIG_ARCH_CORTEXM3=y
|
CONFIG_ARCH_CORTEXM3=y
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
|
CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP=lpc17xx
|
CONFIG_ARCH_CHIP=lpc17xx
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP_name - For use in C code to identify the exact
|
CONFIG_ARCH_CHIP_name - For use in C code to identify the exact
|
||||||
chip:
|
chip:
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP_LPC1768=y
|
CONFIG_ARCH_CHIP_LPC1768=y
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD - Identifies the configs subdirectory and
|
CONFIG_ARCH_BOARD - Identifies the configs subdirectory and
|
||||||
hence, the board that supports the particular chip or SoC.
|
hence, the board that supports the particular chip or SoC.
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD=nucleus2g (for the Nucleus 2G)
|
CONFIG_ARCH_BOARD=nucleus2g (for the Nucleus 2G)
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD_name - For use in C code
|
CONFIG_ARCH_BOARD_name - For use in C code
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD_NUCLEUS2G=y
|
CONFIG_ARCH_BOARD_NUCLEUS2G=y
|
||||||
|
|
||||||
CONFIG_ARCH_LOOPSPERMSEC - Must be calibrated for correct operation
|
CONFIG_ARCH_LOOPSPERMSEC - Must be calibrated for correct operation
|
||||||
of delay loops
|
of delay loops
|
||||||
|
|
||||||
CONFIG_ENDIAN_BIG - define if big endian (default is little
|
CONFIG_ENDIAN_BIG - define if big endian (default is little
|
||||||
endian)
|
endian)
|
||||||
|
|
||||||
CONFIG_DRAM_SIZE - Describes the installed DRAM (CPU SRAM in this case):
|
CONFIG_DRAM_SIZE - Describes the installed DRAM (CPU SRAM in this case):
|
||||||
|
|
||||||
CONFIG_DRAM_SIZE=(32*1024) (32Kb)
|
CONFIG_DRAM_SIZE=(32*1024) (32Kb)
|
||||||
|
|
||||||
There is an additional 32Kb of SRAM in AHB SRAM banks 0 and 1.
|
There is an additional 32Kb of SRAM in AHB SRAM banks 0 and 1.
|
||||||
|
|
||||||
CONFIG_DRAM_START - The start address of installed DRAM
|
CONFIG_DRAM_START - The start address of installed DRAM
|
||||||
|
|
||||||
CONFIG_DRAM_START=0x10000000
|
CONFIG_DRAM_START=0x10000000
|
||||||
|
|
||||||
CONFIG_ARCH_IRQPRIO - The LPC17xx supports interrupt prioritization
|
CONFIG_ARCH_IRQPRIO - The LPC17xx supports interrupt prioritization
|
||||||
|
|
||||||
CONFIG_ARCH_IRQPRIO=y
|
CONFIG_ARCH_IRQPRIO=y
|
||||||
|
|
||||||
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to boards that
|
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to boards that
|
||||||
have LEDs
|
have LEDs
|
||||||
|
|
||||||
CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
|
CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
|
||||||
stack. If defined, this symbol is the size of the interrupt
|
stack. If defined, this symbol is the size of the interrupt
|
||||||
stack in bytes. If not defined, the user task stacks will be
|
stack in bytes. If not defined, the user task stacks will be
|
||||||
used during interrupt handling.
|
used during interrupt handling.
|
||||||
|
|
||||||
CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
|
CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
|
||||||
|
|
||||||
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to board architecture.
|
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to board architecture.
|
||||||
|
|
||||||
CONFIG_ARCH_CALIBRATION - Enables some build in instrumentation that
|
CONFIG_ARCH_CALIBRATION - Enables some build in instrumentation that
|
||||||
cause a 100 second delay during boot-up. This 100 second delay
|
cause a 100 second delay during boot-up. This 100 second delay
|
||||||
serves no purpose other than it allows you to calibratre
|
serves no purpose other than it allows you to calibratre
|
||||||
CONFIG_ARCH_LOOPSPERMSEC. You simply use a stop watch to measure
|
CONFIG_ARCH_LOOPSPERMSEC. You simply use a stop watch to measure
|
||||||
the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until
|
the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until
|
||||||
the delay actually is 100 seconds.
|
the delay actually is 100 seconds.
|
||||||
|
|
||||||
Individual subsystems can be enabled:
|
Individual subsystems can be enabled:
|
||||||
CONFIG_LPC17_MAINOSC=y
|
CONFIG_LPC17_MAINOSC=y
|
||||||
CONFIG_LPC17_PLL0=y
|
CONFIG_LPC17_PLL0=y
|
||||||
CONFIG_LPC17_PLL1=n
|
CONFIG_LPC17_PLL1=n
|
||||||
CONFIG_LPC17_ETHERNET=n
|
CONFIG_LPC17_ETHERNET=n
|
||||||
CONFIG_LPC17_USBHOST=n
|
CONFIG_LPC17_USBHOST=n
|
||||||
CONFIG_LPC17_USBOTG=n
|
CONFIG_LPC17_USBOTG=n
|
||||||
CONFIG_LPC17_USBDEV=n
|
CONFIG_LPC17_USBDEV=n
|
||||||
CONFIG_LPC17_UART0=y
|
CONFIG_LPC17_UART0=y
|
||||||
CONFIG_LPC17_UART1=n
|
CONFIG_LPC17_UART1=n
|
||||||
CONFIG_LPC17_UART2=n
|
CONFIG_LPC17_UART2=n
|
||||||
CONFIG_LPC17_UART3=n
|
CONFIG_LPC17_UART3=n
|
||||||
CONFIG_LPC17_CAN1=n
|
CONFIG_LPC17_CAN1=n
|
||||||
CONFIG_LPC17_CAN2=n
|
CONFIG_LPC17_CAN2=n
|
||||||
CONFIG_LPC17_SPI=n
|
CONFIG_LPC17_SPI=n
|
||||||
CONFIG_LPC17_SSP0=n
|
CONFIG_LPC17_SSP0=n
|
||||||
CONFIG_LPC17_SSP1=n
|
CONFIG_LPC17_SSP1=n
|
||||||
CONFIG_LPC17_I2C0=n
|
CONFIG_LPC17_I2C0=n
|
||||||
CONFIG_LPC17_I2C1=n
|
CONFIG_LPC17_I2C1=n
|
||||||
CONFIG_LPC17_I2S=n
|
CONFIG_LPC17_I2S=n
|
||||||
CONFIG_LPC17_TMR0=n
|
CONFIG_LPC17_TMR0=n
|
||||||
CONFIG_LPC17_TMR1=n
|
CONFIG_LPC17_TMR1=n
|
||||||
CONFIG_LPC17_TMR2=n
|
CONFIG_LPC17_TMR2=n
|
||||||
CONFIG_LPC17_TMR3=n
|
CONFIG_LPC17_TMR3=n
|
||||||
CONFIG_LPC17_RIT=n
|
CONFIG_LPC17_RIT=n
|
||||||
CONFIG_LPC17_PWM=n
|
CONFIG_LPC17_PWM=n
|
||||||
CONFIG_LPC17_MCPWM=n
|
CONFIG_LPC17_MCPWM=n
|
||||||
CONFIG_LPC17_QEI=n
|
CONFIG_LPC17_QEI=n
|
||||||
CONFIG_LPC17_RTC=n
|
CONFIG_LPC17_RTC=n
|
||||||
CONFIG_LPC17_WDT=n
|
CONFIG_LPC17_WDT=n
|
||||||
CONFIG_LPC17_ADC=n
|
CONFIG_LPC17_ADC=n
|
||||||
CONFIG_LPC17_DAC=n
|
CONFIG_LPC17_DAC=n
|
||||||
CONFIG_LPC17_GPDMA=n
|
CONFIG_LPC17_GPDMA=n
|
||||||
CONFIG_LPC17_FLASH=n
|
CONFIG_LPC17_FLASH=n
|
||||||
|
|
||||||
LPC17xx specific device driver settings
|
LPC17xx specific device driver settings
|
||||||
|
|
||||||
CONFIG_UARTn_SERIAL_CONSOLE - selects the UARTn for the
|
CONFIG_UARTn_SERIAL_CONSOLE - selects the UARTn for the
|
||||||
console and ttys0 (default is the UART0).
|
console and ttys0 (default is the UART0).
|
||||||
CONFIG_UARTn_RXBUFSIZE - Characters are buffered as received.
|
CONFIG_UARTn_RXBUFSIZE - Characters are buffered as received.
|
||||||
This specific the size of the receive buffer
|
This specific the size of the receive buffer
|
||||||
CONFIG_UARTn_TXBUFSIZE - Characters are buffered before
|
CONFIG_UARTn_TXBUFSIZE - Characters are buffered before
|
||||||
being sent. This specific the size of the transmit buffer
|
being sent. This specific the size of the transmit buffer
|
||||||
CONFIG_UARTn_BAUD - The configure BAUD of the UART. Must be
|
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_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_PARTIY - 0=no parity, 1=odd parity, 2=even parity
|
||||||
CONFIG_UARTn_2STOP - Two stop bits
|
CONFIG_UARTn_2STOP - Two stop bits
|
||||||
|
|
||||||
LPC17xx specific CAN device driver settings. These settings all
|
LPC17xx specific CAN device driver settings. These settings all
|
||||||
require CONFIG_CAN:
|
require CONFIG_CAN:
|
||||||
|
|
||||||
CONFIG_CAN_EXTID - Enables support for the 29-bit extended ID. Default
|
CONFIG_CAN_EXTID - Enables support for the 29-bit extended ID. Default
|
||||||
Standard 11-bit IDs.
|
Standard 11-bit IDs.
|
||||||
CONFIG_CAN1_BAUD - CAN1 BAUD rate. Required if CONFIG_LPC17_CAN1 is defined.
|
CONFIG_CAN1_BAUD - CAN1 BAUD rate. Required if CONFIG_LPC17_CAN1 is defined.
|
||||||
CONFIG_CAN2_BAUD - CAN1 BAUD rate. Required if CONFIG_LPC17_CAN2 is defined.
|
CONFIG_CAN2_BAUD - CAN1 BAUD rate. Required if CONFIG_LPC17_CAN2 is defined.
|
||||||
CONFIG_CAN1_DIVISOR - CAN1 is clocked at CCLK divided by this number.
|
CONFIG_CAN1_DIVISOR - CAN1 is clocked at CCLK divided by this number.
|
||||||
(the CCLK frequency is divided by this number to get the CAN clock).
|
(the CCLK frequency is divided by this number to get the CAN clock).
|
||||||
Options = {1,2,4,6}. Default: 4.
|
Options = {1,2,4,6}. Default: 4.
|
||||||
CONFIG_CAN2_DIVISOR - CAN2 is clocked at CCLK divided by this number.
|
CONFIG_CAN2_DIVISOR - CAN2 is clocked at CCLK divided by this number.
|
||||||
(the CCLK frequency is divided by this number to get the CAN clock).
|
(the CCLK frequency is divided by this number to get the CAN clock).
|
||||||
Options = {1,2,4,6}. Default: 4.
|
Options = {1,2,4,6}. Default: 4.
|
||||||
CONFIG_CAN_TSEG1 - The number of CAN time quanta in segment 1. Default: 6
|
CONFIG_CAN_TSEG1 - The number of CAN time quanta in segment 1. Default: 6
|
||||||
CONFIG_CAN_TSEG2 = the number of CAN time quanta in segment 2. Default: 7
|
CONFIG_CAN_TSEG2 = the number of CAN time quanta in segment 2. Default: 7
|
||||||
|
|
||||||
LPC17xx specific PHY/Ethernet device driver settings. These setting
|
LPC17xx specific PHY/Ethernet device driver settings. These setting
|
||||||
also require CONFIG_NET and CONFIG_LPC17_ETHERNET.
|
also require CONFIG_NET and CONFIG_LPC17_ETHERNET.
|
||||||
|
|
||||||
CONFIG_PHY_KS8721 - Selects Micrel KS8721 PHY
|
CONFIG_PHY_KS8721 - Selects Micrel KS8721 PHY
|
||||||
CONFIG_PHY_AUTONEG - Enable auto-negotion
|
CONFIG_PHY_AUTONEG - Enable auto-negotion
|
||||||
CONFIG_PHY_SPEED100 - Select 100Mbit vs. 10Mbit speed.
|
CONFIG_PHY_SPEED100 - Select 100Mbit vs. 10Mbit speed.
|
||||||
CONFIG_PHY_FDUPLEX - Select full (vs. half) duplex
|
CONFIG_PHY_FDUPLEX - Select full (vs. half) duplex
|
||||||
|
|
||||||
CONFIG_NET_EMACRAM_SIZE - Size of EMAC RAM. Default: 16Kb
|
CONFIG_NET_EMACRAM_SIZE - Size of EMAC RAM. Default: 16Kb
|
||||||
CONFIG_NET_NTXDESC - Configured number of Tx descriptors. Default: 18
|
CONFIG_NET_NTXDESC - Configured number of Tx descriptors. Default: 18
|
||||||
CONFIG_NET_NRXDESC - Configured number of Rx descriptors. Default: 18
|
CONFIG_NET_NRXDESC - Configured number of Rx descriptors. Default: 18
|
||||||
CONFIG_NET_PRIORITY - Ethernet interrupt priority. The is default is
|
CONFIG_NET_PRIORITY - Ethernet interrupt priority. The is default is
|
||||||
the higest priority.
|
the higest priority.
|
||||||
CONFIG_NET_WOL - Enable Wake-up on Lan (not fully implemented).
|
CONFIG_NET_WOL - Enable Wake-up on Lan (not fully implemented).
|
||||||
CONFIG_NET_REGDEBUG - Enabled low level register debug. Also needs
|
CONFIG_NET_REGDEBUG - Enabled low level register debug. Also needs
|
||||||
CONFIG_DEBUG.
|
CONFIG_DEBUG.
|
||||||
CONFIG_NET_DUMPPACKET - Dump all received and transmitted packets.
|
CONFIG_NET_DUMPPACKET - Dump all received and transmitted packets.
|
||||||
Also needs CONFIG_DEBUG.
|
Also needs CONFIG_DEBUG.
|
||||||
CONFIG_NET_HASH - Enable receipt of near-perfect match frames.
|
CONFIG_NET_HASH - Enable receipt of near-perfect match frames.
|
||||||
CONFIG_NET_MULTICAST - Enable receipt of multicast (and unicast) frames.
|
CONFIG_NET_MULTICAST - Enable receipt of multicast (and unicast) frames.
|
||||||
Automatically set if CONFIG_NET_IGMP is selected.
|
Automatically set if CONFIG_NET_IGMP is selected.
|
||||||
|
|
||||||
LPC17xx USB Device Configuration
|
LPC17xx USB Device Configuration
|
||||||
|
|
||||||
CONFIG_LPC17_USBDEV_FRAME_INTERRUPT
|
CONFIG_LPC17_USBDEV_FRAME_INTERRUPT
|
||||||
Handle USB Start-Of-Frame events.
|
Handle USB Start-Of-Frame events.
|
||||||
Enable reading SOF from interrupt handler vs. simply reading on demand.
|
Enable reading SOF from interrupt handler vs. simply reading on demand.
|
||||||
Probably a bad idea... Unless there is some issue with sampling the SOF
|
Probably a bad idea... Unless there is some issue with sampling the SOF
|
||||||
from hardware asynchronously.
|
from hardware asynchronously.
|
||||||
CONFIG_LPC17_USBDEV_EPFAST_INTERRUPT
|
CONFIG_LPC17_USBDEV_EPFAST_INTERRUPT
|
||||||
Enable high priority interrupts. I have no idea why you might want to
|
Enable high priority interrupts. I have no idea why you might want to
|
||||||
do that
|
do that
|
||||||
CONFIG_LPC17_USBDEV_NDMADESCRIPTORS
|
CONFIG_LPC17_USBDEV_NDMADESCRIPTORS
|
||||||
Number of DMA descriptors to allocate in SRAM.
|
Number of DMA descriptors to allocate in SRAM.
|
||||||
CONFIG_LPC17_USBDEV_DMA
|
CONFIG_LPC17_USBDEV_DMA
|
||||||
Enable lpc17xx-specific DMA support
|
Enable lpc17xx-specific DMA support
|
||||||
CONFIG_LPC17_USBDEV_NOVBUS
|
CONFIG_LPC17_USBDEV_NOVBUS
|
||||||
Define if the hardware implementation does not support the VBUS signal
|
Define if the hardware implementation does not support the VBUS signal
|
||||||
CONFIG_LPC17_USBDEV_NOLED
|
CONFIG_LPC17_USBDEV_NOLED
|
||||||
@@ -472,10 +522,10 @@ Configurations
|
|||||||
Each Nucleus 2G configuration is maintained in a
|
Each Nucleus 2G configuration is maintained in a
|
||||||
sudirectory and can be selected as follow:
|
sudirectory and can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
./configure.sh nucleus2g/<subdir>
|
./configure.sh nucleus2g/<subdir>
|
||||||
cd -
|
cd -
|
||||||
. ./setenv.sh
|
. ./setenv.sh
|
||||||
|
|
||||||
Where <subdir> is one of the following:
|
Where <subdir> is one of the following:
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,9 @@ Contents
|
|||||||
Development Environment
|
Development Environment
|
||||||
GNU Toolchain Options
|
GNU Toolchain Options
|
||||||
IDEs
|
IDEs
|
||||||
NuttX buildroot Toolchain
|
NuttX EABI "buildroot" Toolchain
|
||||||
|
NuttX OABI "buildroot" Toolchain
|
||||||
|
NXFLAT Toolchain
|
||||||
LEDs
|
LEDs
|
||||||
Using OpenOCD and GDB with an FT2232 JTAG emulator
|
Using OpenOCD and GDB with an FT2232 JTAG emulator
|
||||||
Olimex LPC1766-STK Configuration Options
|
Olimex LPC1766-STK Configuration Options
|
||||||
@@ -268,8 +270,8 @@ IDEs
|
|||||||
Startup files will probably cause you some headaches. The NuttX startup file
|
Startup files will probably cause you some headaches. The NuttX startup file
|
||||||
is arch/arm/src/lpc17x/lpc17_vectors.S.
|
is arch/arm/src/lpc17x/lpc17_vectors.S.
|
||||||
|
|
||||||
NuttX buildroot Toolchain
|
NuttX EABI "buildroot" Toolchain
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
||||||
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
||||||
@@ -292,7 +294,7 @@ NuttX buildroot Toolchain
|
|||||||
|
|
||||||
4. cd <some-dir>/buildroot
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
5. cp configs/cortexm3-defconfig-4.3.3 .config
|
5. cp configs/cortexm3-eabi-defconfig-4.6.3 .config
|
||||||
|
|
||||||
6. make oldconfig
|
6. make oldconfig
|
||||||
|
|
||||||
@@ -302,10 +304,58 @@ NuttX buildroot Toolchain
|
|||||||
the path to the newly built binaries.
|
the path to the newly built binaries.
|
||||||
|
|
||||||
See the file configs/README.txt in the buildroot source tree. That has more
|
See the file configs/README.txt in the buildroot source tree. That has more
|
||||||
detailed PLUS some special instructions that you will need to follow if you
|
details PLUS some special instructions that you will need to follow if you
|
||||||
are building a Cortex-M3 toolchain for Cygwin under Windows.
|
are building a Cortex-M3 toolchain for Cygwin under Windows.
|
||||||
|
|
||||||
NOTE: This is an OABI toolchain.
|
NuttX OABI "buildroot" Toolchain
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
The older, OABI buildroot toolchain is also available. To use the OABI
|
||||||
|
toolchain:
|
||||||
|
|
||||||
|
1. When building the buildroot toolchain, either (1) modify the cortexm3-eabi-defconfig-4.6.3
|
||||||
|
configuration to use EABI (using 'make menuconfig'), or (2) use an exising OABI
|
||||||
|
configuration such as cortexm3-defconfig-4.3.3
|
||||||
|
|
||||||
|
2. Modify the Make.defs file to use the OABI converntions:
|
||||||
|
|
||||||
|
+CROSSDEV = arm-nuttx-elf-
|
||||||
|
+ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
|
||||||
|
-CROSSDEV = arm-nuttx-eabi-
|
||||||
|
-ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
|
|
||||||
|
NXFLAT Toolchain
|
||||||
|
^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
If you are *not* using the NuttX buildroot toolchain and you want to use
|
||||||
|
the NXFLAT tools, then you will still have to build a portion of the buildroot
|
||||||
|
tools -- just the NXFLAT tools. The buildroot with the NXFLAT tools can
|
||||||
|
be downloaded from the NuttX SourceForge download site
|
||||||
|
(https://sourceforge.net/projects/nuttx/files/).
|
||||||
|
|
||||||
|
This GNU toolchain builds and executes in the Linux or Cygwin environment.
|
||||||
|
|
||||||
|
1. You must have already configured Nuttx in <some-dir>/nuttx.
|
||||||
|
|
||||||
|
cd tools
|
||||||
|
./configure.sh lpcxpresso-lpc1768/<sub-dir>
|
||||||
|
|
||||||
|
2. Download the latest buildroot package into <some-dir>
|
||||||
|
|
||||||
|
3. unpack the buildroot tarball. The resulting directory may
|
||||||
|
have versioning information on it like buildroot-x.y.z. If so,
|
||||||
|
rename <some-dir>/buildroot-x.y.z to <some-dir>/buildroot.
|
||||||
|
|
||||||
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
|
5. cp configs/cortexm3-defconfig-nxflat .config
|
||||||
|
|
||||||
|
6. make oldconfig
|
||||||
|
|
||||||
|
7. make
|
||||||
|
|
||||||
|
8. Edit setenv.h, if necessary, so that the PATH variable includes
|
||||||
|
the path to the newly builtNXFLAT binaries.
|
||||||
|
|
||||||
LEDs
|
LEDs
|
||||||
^^^^
|
^^^^
|
||||||
@@ -570,177 +620,177 @@ Using OpenOCD and GDB with an FT2232 JTAG emulator
|
|||||||
Olimex LPC1766-STK Configuration Options
|
Olimex LPC1766-STK Configuration Options
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
CONFIG_ARCH - Identifies the arch/ subdirectory. This should
|
CONFIG_ARCH - Identifies the arch/ subdirectory. This should
|
||||||
be set to:
|
be set to:
|
||||||
|
|
||||||
CONFIG_ARCH=arm
|
CONFIG_ARCH=arm
|
||||||
|
|
||||||
CONFIG_ARCH_family - For use in C code:
|
CONFIG_ARCH_family - For use in C code:
|
||||||
|
|
||||||
CONFIG_ARCH_ARM=y
|
CONFIG_ARCH_ARM=y
|
||||||
|
|
||||||
CONFIG_ARCH_architecture - For use in C code:
|
CONFIG_ARCH_architecture - For use in C code:
|
||||||
|
|
||||||
CONFIG_ARCH_CORTEXM3=y
|
CONFIG_ARCH_CORTEXM3=y
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
|
CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP=lpc17xx
|
CONFIG_ARCH_CHIP=lpc17xx
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP_name - For use in C code to identify the exact
|
CONFIG_ARCH_CHIP_name - For use in C code to identify the exact
|
||||||
chip:
|
chip:
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP_LPC1766=y
|
CONFIG_ARCH_CHIP_LPC1766=y
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD - Identifies the configs subdirectory and
|
CONFIG_ARCH_BOARD - Identifies the configs subdirectory and
|
||||||
hence, the board that supports the particular chip or SoC.
|
hence, the board that supports the particular chip or SoC.
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD=olimex-lpc1766stk (for the Olimex LPC1766-STK)
|
CONFIG_ARCH_BOARD=olimex-lpc1766stk (for the Olimex LPC1766-STK)
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD_name - For use in C code
|
CONFIG_ARCH_BOARD_name - For use in C code
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD_LPC1766STK=y
|
CONFIG_ARCH_BOARD_LPC1766STK=y
|
||||||
|
|
||||||
CONFIG_ARCH_LOOPSPERMSEC - Must be calibrated for correct operation
|
CONFIG_ARCH_LOOPSPERMSEC - Must be calibrated for correct operation
|
||||||
of delay loops
|
of delay loops
|
||||||
|
|
||||||
CONFIG_ENDIAN_BIG - define if big endian (default is little
|
CONFIG_ENDIAN_BIG - define if big endian (default is little
|
||||||
endian)
|
endian)
|
||||||
|
|
||||||
CONFIG_DRAM_SIZE - Describes the installed DRAM (CPU SRAM in this case):
|
CONFIG_DRAM_SIZE - Describes the installed DRAM (CPU SRAM in this case):
|
||||||
|
|
||||||
CONFIG_DRAM_SIZE=(32*1024) (32Kb)
|
CONFIG_DRAM_SIZE=(32*1024) (32Kb)
|
||||||
|
|
||||||
There is an additional 32Kb of SRAM in AHB SRAM banks 0 and 1.
|
There is an additional 32Kb of SRAM in AHB SRAM banks 0 and 1.
|
||||||
|
|
||||||
CONFIG_DRAM_START - The start address of installed DRAM
|
CONFIG_DRAM_START - The start address of installed DRAM
|
||||||
|
|
||||||
CONFIG_DRAM_START=0x10000000
|
CONFIG_DRAM_START=0x10000000
|
||||||
|
|
||||||
CONFIG_ARCH_IRQPRIO - The LPC17xx supports interrupt prioritization
|
CONFIG_ARCH_IRQPRIO - The LPC17xx supports interrupt prioritization
|
||||||
|
|
||||||
CONFIG_ARCH_IRQPRIO=y
|
CONFIG_ARCH_IRQPRIO=y
|
||||||
|
|
||||||
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to boards that
|
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to boards that
|
||||||
have LEDs
|
have LEDs
|
||||||
|
|
||||||
CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
|
CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
|
||||||
stack. If defined, this symbol is the size of the interrupt
|
stack. If defined, this symbol is the size of the interrupt
|
||||||
stack in bytes. If not defined, the user task stacks will be
|
stack in bytes. If not defined, the user task stacks will be
|
||||||
used during interrupt handling.
|
used during interrupt handling.
|
||||||
|
|
||||||
CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
|
CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
|
||||||
|
|
||||||
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to board architecture.
|
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to board architecture.
|
||||||
|
|
||||||
CONFIG_ARCH_CALIBRATION - Enables some build in instrumentation that
|
CONFIG_ARCH_CALIBRATION - Enables some build in instrumentation that
|
||||||
cause a 100 second delay during boot-up. This 100 second delay
|
cause a 100 second delay during boot-up. This 100 second delay
|
||||||
serves no purpose other than it allows you to calibratre
|
serves no purpose other than it allows you to calibratre
|
||||||
CONFIG_ARCH_LOOPSPERMSEC. You simply use a stop watch to measure
|
CONFIG_ARCH_LOOPSPERMSEC. You simply use a stop watch to measure
|
||||||
the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until
|
the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until
|
||||||
the delay actually is 100 seconds.
|
the delay actually is 100 seconds.
|
||||||
|
|
||||||
Individual subsystems can be enabled:
|
Individual subsystems can be enabled:
|
||||||
|
|
||||||
CONFIG_LPC17_MAINOSC=y
|
CONFIG_LPC17_MAINOSC=y
|
||||||
CONFIG_LPC17_PLL0=y
|
CONFIG_LPC17_PLL0=y
|
||||||
CONFIG_LPC17_PLL1=n
|
CONFIG_LPC17_PLL1=n
|
||||||
CONFIG_LPC17_ETHERNET=n
|
CONFIG_LPC17_ETHERNET=n
|
||||||
CONFIG_LPC17_USBHOST=n
|
CONFIG_LPC17_USBHOST=n
|
||||||
CONFIG_LPC17_USBOTG=n
|
CONFIG_LPC17_USBOTG=n
|
||||||
CONFIG_LPC17_USBDEV=n
|
CONFIG_LPC17_USBDEV=n
|
||||||
CONFIG_LPC17_UART0=y
|
CONFIG_LPC17_UART0=y
|
||||||
CONFIG_LPC17_UART1=n
|
CONFIG_LPC17_UART1=n
|
||||||
CONFIG_LPC17_UART2=n
|
CONFIG_LPC17_UART2=n
|
||||||
CONFIG_LPC17_UART3=n
|
CONFIG_LPC17_UART3=n
|
||||||
CONFIG_LPC17_CAN1=n
|
CONFIG_LPC17_CAN1=n
|
||||||
CONFIG_LPC17_CAN2=n
|
CONFIG_LPC17_CAN2=n
|
||||||
CONFIG_LPC17_SPI=n
|
CONFIG_LPC17_SPI=n
|
||||||
CONFIG_LPC17_SSP0=n
|
CONFIG_LPC17_SSP0=n
|
||||||
CONFIG_LPC17_SSP1=n
|
CONFIG_LPC17_SSP1=n
|
||||||
CONFIG_LPC17_I2C0=n
|
CONFIG_LPC17_I2C0=n
|
||||||
CONFIG_LPC17_I2C1=n
|
CONFIG_LPC17_I2C1=n
|
||||||
CONFIG_LPC17_I2S=n
|
CONFIG_LPC17_I2S=n
|
||||||
CONFIG_LPC17_TMR0=n
|
CONFIG_LPC17_TMR0=n
|
||||||
CONFIG_LPC17_TMR1=n
|
CONFIG_LPC17_TMR1=n
|
||||||
CONFIG_LPC17_TMR2=n
|
CONFIG_LPC17_TMR2=n
|
||||||
CONFIG_LPC17_TMR3=n
|
CONFIG_LPC17_TMR3=n
|
||||||
CONFIG_LPC17_RIT=n
|
CONFIG_LPC17_RIT=n
|
||||||
CONFIG_LPC17_PWM=n
|
CONFIG_LPC17_PWM=n
|
||||||
CONFIG_LPC17_MCPWM=n
|
CONFIG_LPC17_MCPWM=n
|
||||||
CONFIG_LPC17_QEI=n
|
CONFIG_LPC17_QEI=n
|
||||||
CONFIG_LPC17_RTC=n
|
CONFIG_LPC17_RTC=n
|
||||||
CONFIG_LPC17_WDT=n
|
CONFIG_LPC17_WDT=n
|
||||||
CONFIG_LPC17_ADC=n
|
CONFIG_LPC17_ADC=n
|
||||||
CONFIG_LPC17_DAC=n
|
CONFIG_LPC17_DAC=n
|
||||||
CONFIG_LPC17_GPDMA=n
|
CONFIG_LPC17_GPDMA=n
|
||||||
CONFIG_LPC17_FLASH=n
|
CONFIG_LPC17_FLASH=n
|
||||||
|
|
||||||
LPC17xx specific device driver settings
|
LPC17xx specific device driver settings
|
||||||
|
|
||||||
CONFIG_UARTn_SERIAL_CONSOLE - selects the UARTn for the
|
CONFIG_UARTn_SERIAL_CONSOLE - selects the UARTn for the
|
||||||
console and ttys0 (default is the UART0).
|
console and ttys0 (default is the UART0).
|
||||||
CONFIG_UARTn_RXBUFSIZE - Characters are buffered as received.
|
CONFIG_UARTn_RXBUFSIZE - Characters are buffered as received.
|
||||||
This specific the size of the receive buffer
|
This specific the size of the receive buffer
|
||||||
CONFIG_UARTn_TXBUFSIZE - Characters are buffered before
|
CONFIG_UARTn_TXBUFSIZE - Characters are buffered before
|
||||||
being sent. This specific the size of the transmit buffer
|
being sent. This specific the size of the transmit buffer
|
||||||
CONFIG_UARTn_BAUD - The configure BAUD of the UART. Must be
|
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_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_PARTIY - 0=no parity, 1=odd parity, 2=even parity
|
||||||
CONFIG_UARTn_2STOP - Two stop bits
|
CONFIG_UARTn_2STOP - Two stop bits
|
||||||
|
|
||||||
LPC17xx specific CAN device driver settings. These settings all
|
LPC17xx specific CAN device driver settings. These settings all
|
||||||
require CONFIG_CAN:
|
require CONFIG_CAN:
|
||||||
|
|
||||||
CONFIG_CAN_EXTID - Enables support for the 29-bit extended ID. Default
|
CONFIG_CAN_EXTID - Enables support for the 29-bit extended ID. Default
|
||||||
Standard 11-bit IDs.
|
Standard 11-bit IDs.
|
||||||
CONFIG_CAN1_BAUD - CAN1 BAUD rate. Required if CONFIG_LPC17_CAN1 is defined.
|
CONFIG_CAN1_BAUD - CAN1 BAUD rate. Required if CONFIG_LPC17_CAN1 is defined.
|
||||||
CONFIG_CAN2_BAUD - CAN1 BAUD rate. Required if CONFIG_LPC17_CAN2 is defined.
|
CONFIG_CAN2_BAUD - CAN1 BAUD rate. Required if CONFIG_LPC17_CAN2 is defined.
|
||||||
CONFIG_CAN1_DIVISOR - CAN1 is clocked at CCLK divided by this number.
|
CONFIG_CAN1_DIVISOR - CAN1 is clocked at CCLK divided by this number.
|
||||||
(the CCLK frequency is divided by this number to get the CAN clock).
|
(the CCLK frequency is divided by this number to get the CAN clock).
|
||||||
Options = {1,2,4,6}. Default: 4.
|
Options = {1,2,4,6}. Default: 4.
|
||||||
CONFIG_CAN2_DIVISOR - CAN2 is clocked at CCLK divided by this number.
|
CONFIG_CAN2_DIVISOR - CAN2 is clocked at CCLK divided by this number.
|
||||||
(the CCLK frequency is divided by this number to get the CAN clock).
|
(the CCLK frequency is divided by this number to get the CAN clock).
|
||||||
Options = {1,2,4,6}. Default: 4.
|
Options = {1,2,4,6}. Default: 4.
|
||||||
CONFIG_CAN_TSEG1 - The number of CAN time quanta in segment 1. Default: 6
|
CONFIG_CAN_TSEG1 - The number of CAN time quanta in segment 1. Default: 6
|
||||||
CONFIG_CAN_TSEG2 - the number of CAN time quanta in segment 2. Default: 7
|
CONFIG_CAN_TSEG2 - the number of CAN time quanta in segment 2. Default: 7
|
||||||
|
|
||||||
LPC17xx specific PHY/Ethernet device driver settings. These setting
|
LPC17xx specific PHY/Ethernet device driver settings. These setting
|
||||||
also require CONFIG_NET and CONFIG_LPC17_ETHERNET.
|
also require CONFIG_NET and CONFIG_LPC17_ETHERNET.
|
||||||
|
|
||||||
CONFIG_PHY_KS8721 - Selects Micrel KS8721 PHY
|
CONFIG_PHY_KS8721 - Selects Micrel KS8721 PHY
|
||||||
CONFIG_PHY_AUTONEG - Enable auto-negotion
|
CONFIG_PHY_AUTONEG - Enable auto-negotion
|
||||||
CONFIG_PHY_SPEED100 - Select 100Mbit vs. 10Mbit speed.
|
CONFIG_PHY_SPEED100 - Select 100Mbit vs. 10Mbit speed.
|
||||||
CONFIG_PHY_FDUPLEX - Select full (vs. half) duplex
|
CONFIG_PHY_FDUPLEX - Select full (vs. half) duplex
|
||||||
|
|
||||||
CONFIG_NET_EMACRAM_SIZE - Size of EMAC RAM. Default: 16Kb
|
CONFIG_NET_EMACRAM_SIZE - Size of EMAC RAM. Default: 16Kb
|
||||||
CONFIG_NET_NTXDESC - Configured number of Tx descriptors. Default: 18
|
CONFIG_NET_NTXDESC - Configured number of Tx descriptors. Default: 18
|
||||||
CONFIG_NET_NRXDESC - Configured number of Rx descriptors. Default: 18
|
CONFIG_NET_NRXDESC - Configured number of Rx descriptors. Default: 18
|
||||||
CONFIG_NET_PRIORITY - Ethernet interrupt priority. The is default is
|
CONFIG_NET_PRIORITY - Ethernet interrupt priority. The is default is
|
||||||
the higest priority.
|
the higest priority.
|
||||||
CONFIG_NET_WOL - Enable Wake-up on Lan (not fully implemented).
|
CONFIG_NET_WOL - Enable Wake-up on Lan (not fully implemented).
|
||||||
CONFIG_NET_REGDEBUG - Enabled low level register debug. Also needs
|
CONFIG_NET_REGDEBUG - Enabled low level register debug. Also needs
|
||||||
CONFIG_DEBUG.
|
CONFIG_DEBUG.
|
||||||
CONFIG_NET_DUMPPACKET - Dump all received and transmitted packets.
|
CONFIG_NET_DUMPPACKET - Dump all received and transmitted packets.
|
||||||
Also needs CONFIG_DEBUG.
|
Also needs CONFIG_DEBUG.
|
||||||
CONFIG_NET_HASH - Enable receipt of near-perfect match frames.
|
CONFIG_NET_HASH - Enable receipt of near-perfect match frames.
|
||||||
CONFIG_NET_MULTICAST - Enable receipt of multicast (and unicast) frames.
|
CONFIG_NET_MULTICAST - Enable receipt of multicast (and unicast) frames.
|
||||||
Automatically set if CONFIG_NET_IGMP is selected.
|
Automatically set if CONFIG_NET_IGMP is selected.
|
||||||
|
|
||||||
LPC17xx USB Device Configuration
|
LPC17xx USB Device Configuration
|
||||||
|
|
||||||
CONFIG_LPC17_USBDEV_FRAME_INTERRUPT
|
CONFIG_LPC17_USBDEV_FRAME_INTERRUPT
|
||||||
Handle USB Start-Of-Frame events.
|
Handle USB Start-Of-Frame events.
|
||||||
Enable reading SOF from interrupt handler vs. simply reading on demand.
|
Enable reading SOF from interrupt handler vs. simply reading on demand.
|
||||||
Probably a bad idea... Unless there is some issue with sampling the SOF
|
Probably a bad idea... Unless there is some issue with sampling the SOF
|
||||||
from hardware asynchronously.
|
from hardware asynchronously.
|
||||||
CONFIG_LPC17_USBDEV_EPFAST_INTERRUPT
|
CONFIG_LPC17_USBDEV_EPFAST_INTERRUPT
|
||||||
Enable high priority interrupts. I have no idea why you might want to
|
Enable high priority interrupts. I have no idea why you might want to
|
||||||
do that
|
do that
|
||||||
CONFIG_LPC17_USBDEV_NDMADESCRIPTORS
|
CONFIG_LPC17_USBDEV_NDMADESCRIPTORS
|
||||||
Number of DMA descriptors to allocate in SRAM.
|
Number of DMA descriptors to allocate in SRAM.
|
||||||
CONFIG_LPC17_USBDEV_DMA
|
CONFIG_LPC17_USBDEV_DMA
|
||||||
Enable lpc17xx-specific DMA support
|
Enable lpc17xx-specific DMA support
|
||||||
CONFIG_LPC17_USBDEV_NOVBUS
|
CONFIG_LPC17_USBDEV_NOVBUS
|
||||||
Define if the hardware implementation does not support the VBUS signal
|
Define if the hardware implementation does not support the VBUS signal
|
||||||
CONFIG_LPC17_USBDEV_NOLED
|
CONFIG_LPC17_USBDEV_NOLED
|
||||||
@@ -800,10 +850,10 @@ Configurations
|
|||||||
Each Olimex LPC1766-STK configuration is maintained in a
|
Each Olimex LPC1766-STK configuration is maintained in a
|
||||||
sudirectory and can be selected as follow:
|
sudirectory and can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
./configure.sh olimex-lpc1766stk/<subdir>
|
./configure.sh olimex-lpc1766stk/<subdir>
|
||||||
cd -
|
cd -
|
||||||
. ./setenv.sh
|
. ./setenv.sh
|
||||||
|
|
||||||
Where <subdir> is one of the following:
|
Where <subdir> is one of the following:
|
||||||
|
|
||||||
|
|||||||
+151
-99
@@ -10,7 +10,9 @@ Contents
|
|||||||
- Development Environment
|
- Development Environment
|
||||||
- GNU Toolchain Options
|
- GNU Toolchain Options
|
||||||
- IDEs
|
- IDEs
|
||||||
- NuttX buildroot Toolchain
|
- NuttX EABI "buildroot" Toolchain
|
||||||
|
- NuttX OABI "buildroot" Toolchain
|
||||||
|
- NXFLAT Toolchain
|
||||||
- LEDs
|
- LEDs
|
||||||
- SAM3U-EK-specific Configuration Options
|
- SAM3U-EK-specific Configuration Options
|
||||||
- Configurations
|
- Configurations
|
||||||
@@ -42,7 +44,7 @@ GNU Toolchain Options
|
|||||||
CONFIG_SAM3U_CODESOURCERYW=y : CodeSourcery under Windows
|
CONFIG_SAM3U_CODESOURCERYW=y : CodeSourcery under Windows
|
||||||
CONFIG_SAM3U_CODESOURCERYL=y : CodeSourcery under Linux
|
CONFIG_SAM3U_CODESOURCERYL=y : CodeSourcery under Linux
|
||||||
CONFIG_SAM3U_DEVKITARM=y : devkitARM under Windows
|
CONFIG_SAM3U_DEVKITARM=y : devkitARM under Windows
|
||||||
CONFIG_SAM3U_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
|
CONFIG_SAM3U_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
|
||||||
|
|
||||||
If you are not using CONFIG_SAM3U_BUILDROOT, then you may also have to modify
|
If you are not using CONFIG_SAM3U_BUILDROOT, then you may also have to modify
|
||||||
the PATH in the setenv.h file if your make cannot find the tools.
|
the PATH in the setenv.h file if your make cannot find the tools.
|
||||||
@@ -123,8 +125,8 @@ IDEs
|
|||||||
one time from the Cygwin command line in order to obtain the pre-built
|
one time from the Cygwin command line in order to obtain the pre-built
|
||||||
startup object needed by RIDE.
|
startup object needed by RIDE.
|
||||||
|
|
||||||
NuttX buildroot Toolchain
|
NuttX EABI "buildroot" Toolchain
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
||||||
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
||||||
@@ -147,7 +149,7 @@ NuttX buildroot Toolchain
|
|||||||
|
|
||||||
4. cd <some-dir>/buildroot
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
5. cp configs/cortexm3-defconfig-4.3.3 .config
|
5. cp configs/cortexm3-eabi-defconfig-4.6.3 .config
|
||||||
|
|
||||||
6. make oldconfig
|
6. make oldconfig
|
||||||
|
|
||||||
@@ -157,9 +159,59 @@ NuttX buildroot Toolchain
|
|||||||
the path to the newly built binaries.
|
the path to the newly built binaries.
|
||||||
|
|
||||||
See the file configs/README.txt in the buildroot source tree. That has more
|
See the file configs/README.txt in the buildroot source tree. That has more
|
||||||
detailed PLUS some special instructions that you will need to follow if you are
|
details PLUS some special instructions that you will need to follow if you are
|
||||||
building a Cortex-M3 toolchain for Cygwin under Windows.
|
building a Cortex-M3 toolchain for Cygwin under Windows.
|
||||||
|
|
||||||
|
NuttX OABI "buildroot" Toolchain
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
The older, OABI buildroot toolchain is also available. To use the OABI
|
||||||
|
toolchain:
|
||||||
|
|
||||||
|
1. When building the buildroot toolchain, either (1) modify the cortexm3-eabi-defconfig-4.6.3
|
||||||
|
configuration to use EABI (using 'make menuconfig'), or (2) use an exising OABI
|
||||||
|
configuration such as cortexm3-defconfig-4.3.3
|
||||||
|
|
||||||
|
2. Modify the Make.defs file to use the OABI converntions:
|
||||||
|
|
||||||
|
+CROSSDEV = arm-nuttx-elf-
|
||||||
|
+ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
|
||||||
|
-CROSSDEV = arm-nuttx-eabi-
|
||||||
|
-ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
|
|
||||||
|
NXFLAT Toolchain
|
||||||
|
^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
If you are *not* using the NuttX buildroot toolchain and you want to use
|
||||||
|
the NXFLAT tools, then you will still have to build a portion of the buildroot
|
||||||
|
tools -- just the NXFLAT tools. The buildroot with the NXFLAT tools can
|
||||||
|
be downloaded from the NuttX SourceForge download site
|
||||||
|
(https://sourceforge.net/projects/nuttx/files/).
|
||||||
|
|
||||||
|
This GNU toolchain builds and executes in the Linux or Cygwin environment.
|
||||||
|
|
||||||
|
1. You must have already configured Nuttx in <some-dir>/nuttx.
|
||||||
|
|
||||||
|
cd tools
|
||||||
|
./configure.sh lpcxpresso-lpc1768/<sub-dir>
|
||||||
|
|
||||||
|
2. Download the latest buildroot package into <some-dir>
|
||||||
|
|
||||||
|
3. unpack the buildroot tarball. The resulting directory may
|
||||||
|
have versioning information on it like buildroot-x.y.z. If so,
|
||||||
|
rename <some-dir>/buildroot-x.y.z to <some-dir>/buildroot.
|
||||||
|
|
||||||
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
|
5. cp configs/cortexm3-defconfig-nxflat .config
|
||||||
|
|
||||||
|
6. make oldconfig
|
||||||
|
|
||||||
|
7. make
|
||||||
|
|
||||||
|
8. Edit setenv.h, if necessary, so that the PATH variable includes
|
||||||
|
the path to the newly builtNXFLAT binaries.
|
||||||
|
|
||||||
LEDs
|
LEDs
|
||||||
^^^^
|
^^^^
|
||||||
|
|
||||||
@@ -167,16 +219,16 @@ The SAM3U-EK board has four LEDs labeled LD1, LD2, LD3 and LD4 on the
|
|||||||
the board. Usage of these LEDs is defined in include/board.h and src/up_leds.c.
|
the board. Usage of these LEDs is defined in include/board.h and src/up_leds.c.
|
||||||
They are encoded as follows:
|
They are encoded as follows:
|
||||||
|
|
||||||
SYMBOL Meaning LED0* LED1 LED2
|
SYMBOL Meaning LED0* LED1 LED2
|
||||||
------------------- ----------------------- ------- ------- -------
|
------------------- ----------------------- ------- ------- -------
|
||||||
LED_STARTED NuttX has been started OFF OFF OFF
|
LED_STARTED NuttX has been started OFF OFF OFF
|
||||||
LED_HEAPALLOCATE Heap has been allocated OFF OFF ON
|
LED_HEAPALLOCATE Heap has been allocated OFF OFF ON
|
||||||
LED_IRQSENABLED Interrupts enabled OFF ON OFF
|
LED_IRQSENABLED Interrupts enabled OFF ON OFF
|
||||||
LED_STACKCREATED Idle stack created OFF ON ON
|
LED_STACKCREATED Idle stack created OFF ON ON
|
||||||
LED_INIRQ In an interrupt** N/C FLASH N/C
|
LED_INIRQ In an interrupt** N/C FLASH N/C
|
||||||
LED_SIGNAL In a signal handler*** N/C N/C FLASH
|
LED_SIGNAL In a signal handler*** N/C N/C FLASH
|
||||||
LED_ASSERTION An assertion failed FLASH N/C N/C
|
LED_ASSERTION An assertion failed FLASH N/C N/C
|
||||||
LED_PANIC The system has crashed FLASH N/C N/C
|
LED_PANIC The system has crashed FLASH N/C N/C
|
||||||
|
|
||||||
* If LED1 and LED2 are statically on, then NuttX probably failed to boot
|
* If LED1 and LED2 are statically on, then NuttX probably failed to boot
|
||||||
and these LEDs will give you some indication of where the failure was
|
and these LEDs will give you some indication of where the failure was
|
||||||
@@ -188,116 +240,116 @@ They are encoded as follows:
|
|||||||
SAM3U-EK-specific Configuration Options
|
SAM3U-EK-specific Configuration Options
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
CONFIG_ARCH - Identifies the arch/ subdirectory. This should
|
CONFIG_ARCH - Identifies the arch/ subdirectory. This should
|
||||||
be set to:
|
be set to:
|
||||||
|
|
||||||
CONFIG_ARCH=arm
|
CONFIG_ARCH=arm
|
||||||
|
|
||||||
CONFIG_ARCH_family - For use in C code:
|
CONFIG_ARCH_family - For use in C code:
|
||||||
|
|
||||||
CONFIG_ARCH_ARM=y
|
CONFIG_ARCH_ARM=y
|
||||||
|
|
||||||
CONFIG_ARCH_architecture - For use in C code:
|
CONFIG_ARCH_architecture - For use in C code:
|
||||||
|
|
||||||
CONFIG_ARCH_CORTEXM3=y
|
CONFIG_ARCH_CORTEXM3=y
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
|
CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP=sam3u
|
CONFIG_ARCH_CHIP=sam3u
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP_name - For use in C code to identify the exact
|
CONFIG_ARCH_CHIP_name - For use in C code to identify the exact
|
||||||
chip:
|
chip:
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP_AT91SAM3U4
|
CONFIG_ARCH_CHIP_AT91SAM3U4
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD - Identifies the configs subdirectory and
|
CONFIG_ARCH_BOARD - Identifies the configs subdirectory and
|
||||||
hence, the board that supports the particular chip or SoC.
|
hence, the board that supports the particular chip or SoC.
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD=sam3u_ek (for the SAM3U-EK development board)
|
CONFIG_ARCH_BOARD=sam3u_ek (for the SAM3U-EK development board)
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD_name - For use in C code
|
CONFIG_ARCH_BOARD_name - For use in C code
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD_SAM3UEK=y
|
CONFIG_ARCH_BOARD_SAM3UEK=y
|
||||||
|
|
||||||
CONFIG_ARCH_LOOPSPERMSEC - Must be calibrated for correct operation
|
CONFIG_ARCH_LOOPSPERMSEC - Must be calibrated for correct operation
|
||||||
of delay loops
|
of delay loops
|
||||||
|
|
||||||
CONFIG_ENDIAN_BIG - define if big endian (default is little
|
CONFIG_ENDIAN_BIG - define if big endian (default is little
|
||||||
endian)
|
endian)
|
||||||
|
|
||||||
CONFIG_DRAM_SIZE - Describes the installed DRAM (SRAM in this case):
|
CONFIG_DRAM_SIZE - Describes the installed DRAM (SRAM in this case):
|
||||||
|
|
||||||
CONFIG_DRAM_SIZE=0x0000c000 (48Kb)
|
CONFIG_DRAM_SIZE=0x0000c000 (48Kb)
|
||||||
|
|
||||||
CONFIG_DRAM_START - The start address of installed DRAM
|
CONFIG_DRAM_START - The start address of installed DRAM
|
||||||
|
|
||||||
CONFIG_DRAM_START=0x20000000
|
CONFIG_DRAM_START=0x20000000
|
||||||
|
|
||||||
CONFIG_ARCH_IRQPRIO - The SAM3UF103Z supports interrupt prioritization
|
CONFIG_ARCH_IRQPRIO - The SAM3UF103Z supports interrupt prioritization
|
||||||
|
|
||||||
CONFIG_ARCH_IRQPRIO=y
|
CONFIG_ARCH_IRQPRIO=y
|
||||||
|
|
||||||
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to boards that
|
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to boards that
|
||||||
have LEDs
|
have LEDs
|
||||||
|
|
||||||
CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
|
CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
|
||||||
stack. If defined, this symbol is the size of the interrupt
|
stack. If defined, this symbol is the size of the interrupt
|
||||||
stack in bytes. If not defined, the user task stacks will be
|
stack in bytes. If not defined, the user task stacks will be
|
||||||
used during interrupt handling.
|
used during interrupt handling.
|
||||||
|
|
||||||
CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
|
CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
|
||||||
|
|
||||||
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to board architecture.
|
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to board architecture.
|
||||||
|
|
||||||
CONFIG_ARCH_CALIBRATION - Enables some build in instrumentation that
|
CONFIG_ARCH_CALIBRATION - Enables some build in instrumentation that
|
||||||
cause a 100 second delay during boot-up. This 100 second delay
|
cause a 100 second delay during boot-up. This 100 second delay
|
||||||
serves no purpose other than it allows you to calibratre
|
serves no purpose other than it allows you to calibratre
|
||||||
CONFIG_ARCH_LOOPSPERMSEC. You simply use a stop watch to measure
|
CONFIG_ARCH_LOOPSPERMSEC. You simply use a stop watch to measure
|
||||||
the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until
|
the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until
|
||||||
the delay actually is 100 seconds.
|
the delay actually is 100 seconds.
|
||||||
|
|
||||||
Individual subsystems can be enabled:
|
Individual subsystems can be enabled:
|
||||||
|
|
||||||
CONFIG_SAM3U_DMA
|
CONFIG_SAM3U_DMA
|
||||||
CONFIG_SAM3U_HSMCI
|
CONFIG_SAM3U_HSMCI
|
||||||
CONFIG_SAM3U_NAND
|
CONFIG_SAM3U_NAND
|
||||||
CONFIG_SAM3U_SPI
|
CONFIG_SAM3U_SPI
|
||||||
CONFIG_SAM3U_UART
|
CONFIG_SAM3U_UART
|
||||||
CONFIG_SAM3U_USART0
|
CONFIG_SAM3U_USART0
|
||||||
CONFIG_SAM3U_USART1
|
CONFIG_SAM3U_USART1
|
||||||
CONFIG_SAM3U_USART2
|
CONFIG_SAM3U_USART2
|
||||||
CONFIG_SAM3U_USART3
|
CONFIG_SAM3U_USART3
|
||||||
|
|
||||||
Some subsystems can be configured to operate in different ways. The drivers
|
Some subsystems can be configured to operate in different ways. The drivers
|
||||||
need to know how to configure the subsystem.
|
need to know how to configure the subsystem.
|
||||||
|
|
||||||
CONFIG_GPIOA_IRQ
|
CONFIG_GPIOA_IRQ
|
||||||
CONFIG_GPIOB_IRQ
|
CONFIG_GPIOB_IRQ
|
||||||
CONFIG_GPIOC_IRQ
|
CONFIG_GPIOC_IRQ
|
||||||
CONFIG_USART0_ISUART
|
CONFIG_USART0_ISUART
|
||||||
CONFIG_USART1_ISUART
|
CONFIG_USART1_ISUART
|
||||||
CONFIG_USART2_ISUART
|
CONFIG_USART2_ISUART
|
||||||
CONFIG_USART3_ISUART
|
CONFIG_USART3_ISUART
|
||||||
|
|
||||||
AT91SAM3U specific device driver settings
|
AT91SAM3U specific device driver settings
|
||||||
|
|
||||||
CONFIG_U[S]ARTn_SERIAL_CONSOLE - selects the USARTn (n=0,1,2,3) or UART
|
CONFIG_U[S]ARTn_SERIAL_CONSOLE - selects the USARTn (n=0,1,2,3) or UART
|
||||||
m (m=4,5) for the console and ttys0 (default is the USART1).
|
m (m=4,5) for the console and ttys0 (default is the USART1).
|
||||||
CONFIG_U[S]ARTn_RXBUFSIZE - Characters are buffered as received.
|
CONFIG_U[S]ARTn_RXBUFSIZE - Characters are buffered as received.
|
||||||
This specific the size of the receive buffer
|
This specific the size of the receive buffer
|
||||||
CONFIG_U[S]ARTn_TXBUFSIZE - Characters are buffered before
|
CONFIG_U[S]ARTn_TXBUFSIZE - Characters are buffered before
|
||||||
being sent. This specific the size of the transmit buffer
|
being sent. This specific the size of the transmit buffer
|
||||||
CONFIG_U[S]ARTn_BAUD - The configure BAUD of the UART. Must be
|
CONFIG_U[S]ARTn_BAUD - The configure BAUD of the UART. Must be
|
||||||
CONFIG_U[S]ARTn_BITS - The number of bits. Must be either 7 or 8.
|
CONFIG_U[S]ARTn_BITS - The number of bits. Must be either 7 or 8.
|
||||||
CONFIG_U[S]ARTn_PARTIY - 0=no parity, 1=odd parity, 2=even parity
|
CONFIG_U[S]ARTn_PARTIY - 0=no parity, 1=odd parity, 2=even parity
|
||||||
CONFIG_U[S]ARTn_2STOP - Two stop bits
|
CONFIG_U[S]ARTn_2STOP - Two stop bits
|
||||||
|
|
||||||
LCD Options. Other than the standard LCD configuration options
|
LCD Options. Other than the standard LCD configuration options
|
||||||
(see configs/README.txt), the SAM3U-EK driver also supports:
|
(see configs/README.txt), the SAM3U-EK driver also supports:
|
||||||
|
|
||||||
CONFIG_LCD_PORTRAIT - Present the display in the standard 240x320
|
CONFIG_LCD_PORTRAIT - Present the display in the standard 240x320
|
||||||
"Portrait" orientation. Default: The display is rotated to
|
"Portrait" orientation. Default: The display is rotated to
|
||||||
support a 320x240 "Landscape" orientation.
|
support a 320x240 "Landscape" orientation.
|
||||||
|
|
||||||
Configurations
|
Configurations
|
||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
@@ -305,10 +357,10 @@ Configurations
|
|||||||
Each SAM3U-EK configuration is maintained in a sudirectory and
|
Each SAM3U-EK configuration is maintained in a sudirectory and
|
||||||
can be selected as follow:
|
can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
./configure.sh sam3u-ek/<subdir>
|
./configure.sh sam3u-ek/<subdir>
|
||||||
cd -
|
cd -
|
||||||
. ./setenv.sh
|
. ./setenv.sh
|
||||||
|
|
||||||
Before sourcing the setenv.sh file above, you should examine it and perform
|
Before sourcing the setenv.sh file above, you should examine it and perform
|
||||||
edits as necessary so that BUILDROOT_BIN is the correct path to the directory
|
edits as necessary so that BUILDROOT_BIN is the correct path to the directory
|
||||||
@@ -317,7 +369,7 @@ than holds your toolchain binaries.
|
|||||||
And then build NuttX by simply typing the following. At the conclusion of
|
And then build NuttX by simply typing the following. At the conclusion of
|
||||||
the make, the nuttx binary will reside in an ELF file called, simply, nuttx.
|
the make, the nuttx binary will reside in an ELF file called, simply, nuttx.
|
||||||
|
|
||||||
make
|
make
|
||||||
|
|
||||||
The <subdir> that is provided above as an argument to the tools/configure.sh
|
The <subdir> that is provided above as an argument to the tools/configure.sh
|
||||||
must be is one of the following:
|
must be is one of the following:
|
||||||
@@ -328,7 +380,7 @@ must be is one of the following:
|
|||||||
are built separately. This build requires a special make command; not
|
are built separately. This build requires a special make command; not
|
||||||
just 'make' but make with the following two arguments:
|
just 'make' but make with the following two arguments:
|
||||||
|
|
||||||
make pass1 pass2
|
make pass1 pass2
|
||||||
|
|
||||||
This is required because in the normal case (just 'make'), make will
|
This is required because in the normal case (just 'make'), make will
|
||||||
create all dependencies then execute the pass1 and pass2 targets. But
|
create all dependencies then execute the pass1 and pass2 targets. But
|
||||||
@@ -336,16 +388,16 @@ must be is one of the following:
|
|||||||
This specall make command ('make pass1 pass2') will make the dependencies
|
This specall make command ('make pass1 pass2') will make the dependencies
|
||||||
separately for each pass.
|
separately for each pass.
|
||||||
|
|
||||||
At there end of the build, there four files will top-level build
|
At there end of the build, there four files will top-level build
|
||||||
directory:
|
directory:
|
||||||
|
|
||||||
nuttx_user.elf - The pass1 ELF file
|
nuttx_user.elf - The pass1 ELF file
|
||||||
nuttx - The pass2 ELF file
|
nuttx - The pass2 ELF file
|
||||||
nuttx_user.hex - The pass1 Intel HEX format file
|
nuttx_user.hex - The pass1 Intel HEX format file
|
||||||
nuttx.hex - The pass2 Intel HEX file
|
nuttx.hex - The pass2 Intel HEX file
|
||||||
|
|
||||||
The J-Link program will except files in .hex, .mot, .srec, and .bin
|
The J-Link program will except files in .hex, .mot, .srec, and .bin
|
||||||
formats.
|
formats.
|
||||||
|
|
||||||
nsh:
|
nsh:
|
||||||
Configures the NuttShell (nsh) located at examples/nsh. The
|
Configures the NuttShell (nsh) located at examples/nsh. The
|
||||||
|
|||||||
@@ -10,7 +10,9 @@ Contents
|
|||||||
- Development Environment
|
- Development Environment
|
||||||
- GNU Toolchain Options
|
- GNU Toolchain Options
|
||||||
- IDEs
|
- IDEs
|
||||||
- NuttX buildroot Toolchain
|
- NuttX EABI "buildroot" Toolchain
|
||||||
|
- NuttX OABI "buildroot" Toolchain
|
||||||
|
- NXFLAT Toolchain
|
||||||
- DFU and JTAG
|
- DFU and JTAG
|
||||||
- OpenOCD
|
- OpenOCD
|
||||||
- LEDs
|
- LEDs
|
||||||
@@ -131,8 +133,8 @@ IDEs
|
|||||||
one time from the Cygwin command line in order to obtain the pre-built
|
one time from the Cygwin command line in order to obtain the pre-built
|
||||||
startup object needed by RIDE.
|
startup object needed by RIDE.
|
||||||
|
|
||||||
NuttX buildroot Toolchain
|
NuttX EABI "buildroot" Toolchain
|
||||||
=========================
|
================================
|
||||||
|
|
||||||
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
||||||
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
||||||
@@ -155,7 +157,7 @@ NuttX buildroot Toolchain
|
|||||||
|
|
||||||
4. cd <some-dir>/buildroot
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
5. cp configs/cortexm3-defconfig-4.3.3 .config
|
5. cp configs/cortexm3-eabi-defconfig-4.6.3 .config
|
||||||
|
|
||||||
6. make oldconfig
|
6. make oldconfig
|
||||||
|
|
||||||
@@ -165,9 +167,59 @@ NuttX buildroot Toolchain
|
|||||||
the path to the newly built binaries.
|
the path to the newly built binaries.
|
||||||
|
|
||||||
See the file configs/README.txt in the buildroot source tree. That has more
|
See the file configs/README.txt in the buildroot source tree. That has more
|
||||||
detailed PLUS some special instructions that you will need to follow if you are
|
details PLUS some special instructions that you will need to follow if you are
|
||||||
building a Cortex-M3 toolchain for Cygwin under Windows.
|
building a Cortex-M3 toolchain for Cygwin under Windows.
|
||||||
|
|
||||||
|
NuttX OABI "buildroot" Toolchain
|
||||||
|
================================
|
||||||
|
|
||||||
|
The older, OABI buildroot toolchain is also available. To use the OABI
|
||||||
|
toolchain:
|
||||||
|
|
||||||
|
1. When building the buildroot toolchain, either (1) modify the cortexm3-eabi-defconfig-4.6.3
|
||||||
|
configuration to use EABI (using 'make menuconfig'), or (2) use an exising OABI
|
||||||
|
configuration such as cortexm3-defconfig-4.3.3
|
||||||
|
|
||||||
|
2. Modify the Make.defs file to use the OABI converntions:
|
||||||
|
|
||||||
|
+CROSSDEV = arm-nuttx-elf-
|
||||||
|
+ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
|
||||||
|
-CROSSDEV = arm-nuttx-eabi-
|
||||||
|
-ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
|
|
||||||
|
NXFLAT Toolchain
|
||||||
|
================
|
||||||
|
|
||||||
|
If you are *not* using the NuttX buildroot toolchain and you want to use
|
||||||
|
the NXFLAT tools, then you will still have to build a portion of the buildroot
|
||||||
|
tools -- just the NXFLAT tools. The buildroot with the NXFLAT tools can
|
||||||
|
be downloaded from the NuttX SourceForge download site
|
||||||
|
(https://sourceforge.net/projects/nuttx/files/).
|
||||||
|
|
||||||
|
This GNU toolchain builds and executes in the Linux or Cygwin environment.
|
||||||
|
|
||||||
|
1. You must have already configured Nuttx in <some-dir>/nuttx.
|
||||||
|
|
||||||
|
cd tools
|
||||||
|
./configure.sh lpcxpresso-lpc1768/<sub-dir>
|
||||||
|
|
||||||
|
2. Download the latest buildroot package into <some-dir>
|
||||||
|
|
||||||
|
3. unpack the buildroot tarball. The resulting directory may
|
||||||
|
have versioning information on it like buildroot-x.y.z. If so,
|
||||||
|
rename <some-dir>/buildroot-x.y.z to <some-dir>/buildroot.
|
||||||
|
|
||||||
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
|
5. cp configs/cortexm3-defconfig-nxflat .config
|
||||||
|
|
||||||
|
6. make oldconfig
|
||||||
|
|
||||||
|
7. make
|
||||||
|
|
||||||
|
8. Edit setenv.h, if necessary, so that the PATH variable includes
|
||||||
|
the path to the newly builtNXFLAT binaries.
|
||||||
|
|
||||||
DFU and JTAG
|
DFU and JTAG
|
||||||
============
|
============
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,9 @@ Contents
|
|||||||
- Development Environment
|
- Development Environment
|
||||||
- GNU Toolchain Options
|
- GNU Toolchain Options
|
||||||
- IDEs
|
- IDEs
|
||||||
- NuttX buildroot Toolchain
|
- NuttX EABI "buildroot" Toolchain
|
||||||
|
- NuttX OABI "buildroot" Toolchain
|
||||||
|
- NXFLAT Toolchain
|
||||||
- STM3220G-EVAL-specific Configuration Options
|
- STM3220G-EVAL-specific Configuration Options
|
||||||
- LEDs
|
- LEDs
|
||||||
- Ethernet
|
- Ethernet
|
||||||
@@ -170,8 +172,8 @@ IDEs
|
|||||||
one time from the Cygwin command line in order to obtain the pre-built
|
one time from the Cygwin command line in order to obtain the pre-built
|
||||||
startup object needed by RIDE.
|
startup object needed by RIDE.
|
||||||
|
|
||||||
NuttX buildroot Toolchain
|
NuttX EABI "buildroot" Toolchain
|
||||||
=========================
|
================================
|
||||||
|
|
||||||
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
||||||
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
||||||
@@ -194,7 +196,7 @@ NuttX buildroot Toolchain
|
|||||||
|
|
||||||
4. cd <some-dir>/buildroot
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
5. cp configs/cortexm3-defconfig-4.3.3 .config
|
5. cp configs/cortexm3-eabi-defconfig-4.6.3 .config
|
||||||
|
|
||||||
6. make oldconfig
|
6. make oldconfig
|
||||||
|
|
||||||
@@ -204,9 +206,59 @@ NuttX buildroot Toolchain
|
|||||||
the path to the newly built binaries.
|
the path to the newly built binaries.
|
||||||
|
|
||||||
See the file configs/README.txt in the buildroot source tree. That has more
|
See the file configs/README.txt in the buildroot source tree. That has more
|
||||||
detailed PLUS some special instructions that you will need to follow if you are
|
details PLUS some special instructions that you will need to follow if you are
|
||||||
building a Cortex-M3 toolchain for Cygwin under Windows.
|
building a Cortex-M3 toolchain for Cygwin under Windows.
|
||||||
|
|
||||||
|
NuttX OABI "buildroot" Toolchain
|
||||||
|
================================
|
||||||
|
|
||||||
|
The older, OABI buildroot toolchain is also available. To use the OABI
|
||||||
|
toolchain:
|
||||||
|
|
||||||
|
1. When building the buildroot toolchain, either (1) modify the cortexm3-eabi-defconfig-4.6.3
|
||||||
|
configuration to use EABI (using 'make menuconfig'), or (2) use an exising OABI
|
||||||
|
configuration such as cortexm3-defconfig-4.3.3
|
||||||
|
|
||||||
|
2. Modify the Make.defs file to use the OABI converntions:
|
||||||
|
|
||||||
|
+CROSSDEV = arm-nuttx-elf-
|
||||||
|
+ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
|
||||||
|
-CROSSDEV = arm-nuttx-eabi-
|
||||||
|
-ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
|
|
||||||
|
NXFLAT Toolchain
|
||||||
|
================
|
||||||
|
|
||||||
|
If you are *not* using the NuttX buildroot toolchain and you want to use
|
||||||
|
the NXFLAT tools, then you will still have to build a portion of the buildroot
|
||||||
|
tools -- just the NXFLAT tools. The buildroot with the NXFLAT tools can
|
||||||
|
be downloaded from the NuttX SourceForge download site
|
||||||
|
(https://sourceforge.net/projects/nuttx/files/).
|
||||||
|
|
||||||
|
This GNU toolchain builds and executes in the Linux or Cygwin environment.
|
||||||
|
|
||||||
|
1. You must have already configured Nuttx in <some-dir>/nuttx.
|
||||||
|
|
||||||
|
cd tools
|
||||||
|
./configure.sh lpcxpresso-lpc1768/<sub-dir>
|
||||||
|
|
||||||
|
2. Download the latest buildroot package into <some-dir>
|
||||||
|
|
||||||
|
3. unpack the buildroot tarball. The resulting directory may
|
||||||
|
have versioning information on it like buildroot-x.y.z. If so,
|
||||||
|
rename <some-dir>/buildroot-x.y.z to <some-dir>/buildroot.
|
||||||
|
|
||||||
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
|
5. cp configs/cortexm3-defconfig-nxflat .config
|
||||||
|
|
||||||
|
6. make oldconfig
|
||||||
|
|
||||||
|
7. make
|
||||||
|
|
||||||
|
8. Edit setenv.h, if necessary, so that the PATH variable includes
|
||||||
|
the path to the newly builtNXFLAT binaries.
|
||||||
|
|
||||||
Ethernet
|
Ethernet
|
||||||
========
|
========
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,9 @@ Contents
|
|||||||
- Development Environment
|
- Development Environment
|
||||||
- GNU Toolchain Options
|
- GNU Toolchain Options
|
||||||
- IDEs
|
- IDEs
|
||||||
- NuttX buildroot Toolchain
|
- NuttX EABI "buildroot" Toolchain
|
||||||
|
- NuttX OABI "buildroot" Toolchain
|
||||||
|
- NXFLAT Toolchain
|
||||||
- STM3240G-EVAL-specific Configuration Options
|
- STM3240G-EVAL-specific Configuration Options
|
||||||
- LEDs
|
- LEDs
|
||||||
- Ethernet
|
- Ethernet
|
||||||
@@ -177,8 +179,8 @@ IDEs
|
|||||||
one time from the Cygwin command line in order to obtain the pre-built
|
one time from the Cygwin command line in order to obtain the pre-built
|
||||||
startup object needed by RIDE.
|
startup object needed by RIDE.
|
||||||
|
|
||||||
NuttX buildroot Toolchain
|
NuttX EABI "buildroot" Toolchain
|
||||||
=========================
|
================================
|
||||||
|
|
||||||
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
||||||
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
||||||
@@ -201,7 +203,7 @@ NuttX buildroot Toolchain
|
|||||||
|
|
||||||
4. cd <some-dir>/buildroot
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
5. cp configs/cortexm3-defconfig-4.3.3 .config
|
5. cp configs/cortexm3-eabi-defconfig-4.6.3 .config
|
||||||
|
|
||||||
6. make oldconfig
|
6. make oldconfig
|
||||||
|
|
||||||
@@ -211,9 +213,59 @@ NuttX buildroot Toolchain
|
|||||||
the path to the newly built binaries.
|
the path to the newly built binaries.
|
||||||
|
|
||||||
See the file configs/README.txt in the buildroot source tree. That has more
|
See the file configs/README.txt in the buildroot source tree. That has more
|
||||||
detailed PLUS some special instructions that you will need to follow if you are
|
details PLUS some special instructions that you will need to follow if you are
|
||||||
building a Cortex-M3 toolchain for Cygwin under Windows.
|
building a Cortex-M3 toolchain for Cygwin under Windows.
|
||||||
|
|
||||||
|
NuttX OABI "buildroot" Toolchain
|
||||||
|
================================
|
||||||
|
|
||||||
|
The older, OABI buildroot toolchain is also available. To use the OABI
|
||||||
|
toolchain:
|
||||||
|
|
||||||
|
1. When building the buildroot toolchain, either (1) modify the cortexm3-eabi-defconfig-4.6.3
|
||||||
|
configuration to use EABI (using 'make menuconfig'), or (2) use an exising OABI
|
||||||
|
configuration such as cortexm3-defconfig-4.3.3
|
||||||
|
|
||||||
|
2. Modify the Make.defs file to use the OABI converntions:
|
||||||
|
|
||||||
|
+CROSSDEV = arm-nuttx-elf-
|
||||||
|
+ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
|
||||||
|
-CROSSDEV = arm-nuttx-eabi-
|
||||||
|
-ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
|
|
||||||
|
NXFLAT Toolchain
|
||||||
|
================
|
||||||
|
|
||||||
|
If you are *not* using the NuttX buildroot toolchain and you want to use
|
||||||
|
the NXFLAT tools, then you will still have to build a portion of the buildroot
|
||||||
|
tools -- just the NXFLAT tools. The buildroot with the NXFLAT tools can
|
||||||
|
be downloaded from the NuttX SourceForge download site
|
||||||
|
(https://sourceforge.net/projects/nuttx/files/).
|
||||||
|
|
||||||
|
This GNU toolchain builds and executes in the Linux or Cygwin environment.
|
||||||
|
|
||||||
|
1. You must have already configured Nuttx in <some-dir>/nuttx.
|
||||||
|
|
||||||
|
cd tools
|
||||||
|
./configure.sh lpcxpresso-lpc1768/<sub-dir>
|
||||||
|
|
||||||
|
2. Download the latest buildroot package into <some-dir>
|
||||||
|
|
||||||
|
3. unpack the buildroot tarball. The resulting directory may
|
||||||
|
have versioning information on it like buildroot-x.y.z. If so,
|
||||||
|
rename <some-dir>/buildroot-x.y.z to <some-dir>/buildroot.
|
||||||
|
|
||||||
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
|
5. cp configs/cortexm3-defconfig-nxflat .config
|
||||||
|
|
||||||
|
6. make oldconfig
|
||||||
|
|
||||||
|
7. make
|
||||||
|
|
||||||
|
8. Edit setenv.h, if necessary, so that the PATH variable includes
|
||||||
|
the path to the newly builtNXFLAT binaries.
|
||||||
|
|
||||||
Ethernet
|
Ethernet
|
||||||
========
|
========
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,9 @@ Contents
|
|||||||
- Development Environment
|
- Development Environment
|
||||||
- GNU Toolchain Options
|
- GNU Toolchain Options
|
||||||
- IDEs
|
- IDEs
|
||||||
- NuttX buildroot Toolchain
|
- NuttX EABI "buildroot" Toolchain
|
||||||
|
- NuttX OABI "buildroot" Toolchain
|
||||||
|
- NXFLAT Toolchain
|
||||||
- LEDs
|
- LEDs
|
||||||
- PWM
|
- PWM
|
||||||
- UARTs
|
- UARTs
|
||||||
@@ -174,8 +176,8 @@ IDEs
|
|||||||
one time from the Cygwin command line in order to obtain the pre-built
|
one time from the Cygwin command line in order to obtain the pre-built
|
||||||
startup object needed by RIDE.
|
startup object needed by RIDE.
|
||||||
|
|
||||||
NuttX buildroot Toolchain
|
NuttX EABI "buildroot" Toolchain
|
||||||
=========================
|
================================
|
||||||
|
|
||||||
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
||||||
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
||||||
@@ -198,7 +200,7 @@ NuttX buildroot Toolchain
|
|||||||
|
|
||||||
4. cd <some-dir>/buildroot
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
5. cp configs/cortexm3-defconfig-4.3.3 .config
|
5. cp configs/cortexm3-eabi-defconfig-4.6.3 .config
|
||||||
|
|
||||||
6. make oldconfig
|
6. make oldconfig
|
||||||
|
|
||||||
@@ -208,9 +210,59 @@ NuttX buildroot Toolchain
|
|||||||
the path to the newly built binaries.
|
the path to the newly built binaries.
|
||||||
|
|
||||||
See the file configs/README.txt in the buildroot source tree. That has more
|
See the file configs/README.txt in the buildroot source tree. That has more
|
||||||
detailed PLUS some special instructions that you will need to follow if you are
|
details PLUS some special instructions that you will need to follow if you are
|
||||||
building a Cortex-M3 toolchain for Cygwin under Windows.
|
building a Cortex-M3 toolchain for Cygwin under Windows.
|
||||||
|
|
||||||
|
NuttX OABI "buildroot" Toolchain
|
||||||
|
================================
|
||||||
|
|
||||||
|
The older, OABI buildroot toolchain is also available. To use the OABI
|
||||||
|
toolchain:
|
||||||
|
|
||||||
|
1. When building the buildroot toolchain, either (1) modify the cortexm3-eabi-defconfig-4.6.3
|
||||||
|
configuration to use EABI (using 'make menuconfig'), or (2) use an exising OABI
|
||||||
|
configuration such as cortexm3-defconfig-4.3.3
|
||||||
|
|
||||||
|
2. Modify the Make.defs file to use the OABI converntions:
|
||||||
|
|
||||||
|
+CROSSDEV = arm-nuttx-elf-
|
||||||
|
+ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
|
||||||
|
-CROSSDEV = arm-nuttx-eabi-
|
||||||
|
-ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
|
|
||||||
|
NXFLAT Toolchain
|
||||||
|
================
|
||||||
|
|
||||||
|
If you are *not* using the NuttX buildroot toolchain and you want to use
|
||||||
|
the NXFLAT tools, then you will still have to build a portion of the buildroot
|
||||||
|
tools -- just the NXFLAT tools. The buildroot with the NXFLAT tools can
|
||||||
|
be downloaded from the NuttX SourceForge download site
|
||||||
|
(https://sourceforge.net/projects/nuttx/files/).
|
||||||
|
|
||||||
|
This GNU toolchain builds and executes in the Linux or Cygwin environment.
|
||||||
|
|
||||||
|
1. You must have already configured Nuttx in <some-dir>/nuttx.
|
||||||
|
|
||||||
|
cd tools
|
||||||
|
./configure.sh lpcxpresso-lpc1768/<sub-dir>
|
||||||
|
|
||||||
|
2. Download the latest buildroot package into <some-dir>
|
||||||
|
|
||||||
|
3. unpack the buildroot tarball. The resulting directory may
|
||||||
|
have versioning information on it like buildroot-x.y.z. If so,
|
||||||
|
rename <some-dir>/buildroot-x.y.z to <some-dir>/buildroot.
|
||||||
|
|
||||||
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
|
5. cp configs/cortexm3-defconfig-nxflat .config
|
||||||
|
|
||||||
|
6. make oldconfig
|
||||||
|
|
||||||
|
7. make
|
||||||
|
|
||||||
|
8. Edit setenv.h, if necessary, so that the PATH variable includes
|
||||||
|
the path to the newly builtNXFLAT binaries.
|
||||||
|
|
||||||
LEDs
|
LEDs
|
||||||
====
|
====
|
||||||
|
|
||||||
|
|||||||
+135
-84
@@ -23,7 +23,9 @@ Contents
|
|||||||
o Development Environment
|
o Development Environment
|
||||||
o GNU Toolchain Options
|
o GNU Toolchain Options
|
||||||
o IDEs
|
o IDEs
|
||||||
o NuttX buildroot Toolchain
|
o NuttX EABI "buildroot" Toolchain
|
||||||
|
o NuttX OABI "buildroot" Toolchain
|
||||||
|
o NXFLAT Toolchain
|
||||||
|
|
||||||
Kinetis TWR-K60N512 Features:
|
Kinetis TWR-K60N512 Features:
|
||||||
=============================
|
=============================
|
||||||
@@ -264,17 +266,17 @@ The TWR-K60N100 board has four LEDs labeled D2..D4 on the board. Usage of
|
|||||||
these LEDs is defined in include/board.h and src/up_leds.c. They are encoded
|
these LEDs is defined in include/board.h and src/up_leds.c. They are encoded
|
||||||
as follows:
|
as follows:
|
||||||
|
|
||||||
SYMBOL Meaning LED1* LED2 LED3 LED4
|
SYMBOL Meaning LED1* LED2 LED3 LED4
|
||||||
------------------- ----------------------- ------- ------- ------- ------
|
------------------- ----------------------- ------- ------- ------- ------
|
||||||
LED_STARTED NuttX has been started ON OFF OFF OFF
|
LED_STARTED NuttX has been started ON OFF OFF OFF
|
||||||
LED_HEAPALLOCATE Heap has been allocated OFF ON OFF OFF
|
LED_HEAPALLOCATE Heap has been allocated OFF ON OFF OFF
|
||||||
LED_IRQSENABLED Interrupts enabled ON ON OFF OFF
|
LED_IRQSENABLED Interrupts enabled ON ON OFF OFF
|
||||||
LED_STACKCREATED Idle stack created OFF OFF ON OFF
|
LED_STACKCREATED Idle stack created OFF OFF ON OFF
|
||||||
LED_INIRQ In an interrupt** ON N/C N/C OFF
|
LED_INIRQ In an interrupt** ON N/C N/C OFF
|
||||||
LED_SIGNAL In a signal handler*** N/C ON N/C OFF
|
LED_SIGNAL In a signal handler*** N/C ON N/C OFF
|
||||||
LED_ASSERTION An assertion failed ON ON N/C OFF
|
LED_ASSERTION An assertion failed ON ON N/C OFF
|
||||||
LED_PANIC The system has crashed N/C N/C N/C ON
|
LED_PANIC The system has crashed N/C N/C N/C ON
|
||||||
LED_IDLE STM32 is is sleep mode (Optional, not used)
|
LED_IDLE STM32 is is sleep mode (Optional, not used)
|
||||||
|
|
||||||
* If LED1, LED2, LED3 are statically on, then NuttX probably failed to boot
|
* If LED1, LED2, LED3 are statically on, then NuttX probably failed to boot
|
||||||
and these LEDs will give you some indication of where the failure was
|
and these LEDs will give you some indication of where the failure was
|
||||||
@@ -308,7 +310,7 @@ GNU Toolchain Options
|
|||||||
CONFIG_KINETIS_CODESOURCERYW=y : CodeSourcery under Windows
|
CONFIG_KINETIS_CODESOURCERYW=y : CodeSourcery under Windows
|
||||||
CONFIG_KINETIS_CODESOURCERYL=y : CodeSourcery under Linux
|
CONFIG_KINETIS_CODESOURCERYL=y : CodeSourcery under Linux
|
||||||
CONFIG_KINETIS_DEVKITARM=y : devkitARM under Windows
|
CONFIG_KINETIS_DEVKITARM=y : devkitARM under Windows
|
||||||
CONFIG_KINETIS_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
|
CONFIG_KINETIS_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
|
||||||
|
|
||||||
If you are not using CONFIG_KINETIS_BUILDROOT, then you may also have to modify
|
If you are not using CONFIG_KINETIS_BUILDROOT, then you may also have to modify
|
||||||
the PATH in the setenv.h file if your make cannot find the tools.
|
the PATH in the setenv.h file if your make cannot find the tools.
|
||||||
@@ -386,8 +388,8 @@ IDEs
|
|||||||
Startup files will probably cause you some headaches. The NuttX startup file
|
Startup files will probably cause you some headaches. The NuttX startup file
|
||||||
is arch/arm/src/kinetis/k40_vectors.S.
|
is arch/arm/src/kinetis/k40_vectors.S.
|
||||||
|
|
||||||
NuttX buildroot Toolchain
|
NuttX EABI "buildroot" Toolchain
|
||||||
=========================
|
================================
|
||||||
|
|
||||||
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
||||||
be modified to point to the correct path to the Cortex-M4 GCC toolchain (if
|
be modified to point to the correct path to the Cortex-M4 GCC toolchain (if
|
||||||
@@ -397,8 +399,7 @@ NuttX buildroot Toolchain
|
|||||||
SourceForge download site (https://sourceforge.net/projects/nuttx/files/buildroot/).
|
SourceForge download site (https://sourceforge.net/projects/nuttx/files/buildroot/).
|
||||||
This GNU toolchain builds and executes in the Linux or Cygwin environment.
|
This GNU toolchain builds and executes in the Linux or Cygwin environment.
|
||||||
|
|
||||||
NOTE: The NuttX toolchain is an OABI toolchain (vs. the more common EABI)
|
NOTE: The NuttX toolchain may not include optimizations for Cortex-M4 (ARMv7E-M).
|
||||||
and does not include optimizations for Cortex-M4 (ARMv7E-M).
|
|
||||||
|
|
||||||
1. You must have already configured Nuttx in <some-dir>/nuttx.
|
1. You must have already configured Nuttx in <some-dir>/nuttx.
|
||||||
|
|
||||||
@@ -413,7 +414,7 @@ NuttX buildroot Toolchain
|
|||||||
|
|
||||||
4. cd <some-dir>/buildroot
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
5. cp configs/cortexm3-defconfig-4.3.3 .config
|
5. cp configs/cortexm3-eabi-defconfig-4.6.3 .config
|
||||||
|
|
||||||
6. make oldconfig
|
6. make oldconfig
|
||||||
|
|
||||||
@@ -423,92 +424,142 @@ NuttX buildroot Toolchain
|
|||||||
the path to the newly built binaries.
|
the path to the newly built binaries.
|
||||||
|
|
||||||
See the file configs/README.txt in the buildroot source tree. That has more
|
See the file configs/README.txt in the buildroot source tree. That has more
|
||||||
detailed PLUS some special instructions that you will need to follow if you are
|
details PLUS some special instructions that you will need to follow if you are
|
||||||
building a Cortex-M4 toolchain for Cygwin under Windows.
|
building a Cortex-M4 toolchain for Cygwin under Windows.
|
||||||
|
|
||||||
|
NuttX OABI "buildroot" Toolchain
|
||||||
|
================================
|
||||||
|
|
||||||
|
The older, OABI buildroot toolchain is also available. To use the OABI
|
||||||
|
toolchain:
|
||||||
|
|
||||||
|
1. When building the buildroot toolchain, either (1) modify the cortexm3-eabi-defconfig-4.6.3
|
||||||
|
configuration to use EABI (using 'make menuconfig'), or (2) use an exising OABI
|
||||||
|
configuration such as cortexm3-defconfig-4.3.3
|
||||||
|
|
||||||
|
2. Modify the Make.defs file to use the OABI converntions:
|
||||||
|
|
||||||
|
+CROSSDEV = arm-nuttx-elf-
|
||||||
|
+ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
|
||||||
|
-CROSSDEV = arm-nuttx-eabi-
|
||||||
|
-ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
|
|
||||||
|
NXFLAT Toolchain
|
||||||
|
================
|
||||||
|
|
||||||
|
If you are *not* using the NuttX buildroot toolchain and you want to use
|
||||||
|
the NXFLAT tools, then you will still have to build a portion of the buildroot
|
||||||
|
tools -- just the NXFLAT tools. The buildroot with the NXFLAT tools can
|
||||||
|
be downloaded from the NuttX SourceForge download site
|
||||||
|
(https://sourceforge.net/projects/nuttx/files/).
|
||||||
|
|
||||||
|
This GNU toolchain builds and executes in the Linux or Cygwin environment.
|
||||||
|
|
||||||
|
1. You must have already configured Nuttx in <some-dir>/nuttx.
|
||||||
|
|
||||||
|
cd tools
|
||||||
|
./configure.sh lpcxpresso-lpc1768/<sub-dir>
|
||||||
|
|
||||||
|
2. Download the latest buildroot package into <some-dir>
|
||||||
|
|
||||||
|
3. unpack the buildroot tarball. The resulting directory may
|
||||||
|
have versioning information on it like buildroot-x.y.z. If so,
|
||||||
|
rename <some-dir>/buildroot-x.y.z to <some-dir>/buildroot.
|
||||||
|
|
||||||
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
|
5. cp configs/cortexm3-defconfig-nxflat .config
|
||||||
|
|
||||||
|
6. make oldconfig
|
||||||
|
|
||||||
|
7. make
|
||||||
|
|
||||||
|
8. Edit setenv.h, if necessary, so that the PATH variable includes
|
||||||
|
the path to the newly builtNXFLAT binaries.
|
||||||
|
|
||||||
TWR-K60N512-specific Configuration Options
|
TWR-K60N512-specific Configuration Options
|
||||||
==========================================
|
==========================================
|
||||||
|
|
||||||
CONFIG_ARCH - Identifies the arch/ subdirectory. This sould
|
CONFIG_ARCH - Identifies the arch/ subdirectory. This sould
|
||||||
be set to:
|
be set to:
|
||||||
|
|
||||||
CONFIG_ARCH=arm
|
CONFIG_ARCH=arm
|
||||||
|
|
||||||
CONFIG_ARCH_family - For use in C code:
|
CONFIG_ARCH_family - For use in C code:
|
||||||
|
|
||||||
CONFIG_ARCH_ARM=y
|
CONFIG_ARCH_ARM=y
|
||||||
|
|
||||||
CONFIG_ARCH_architecture - For use in C code:
|
CONFIG_ARCH_architecture - For use in C code:
|
||||||
|
|
||||||
CONFIG_ARCH_CORTEXM4=y
|
CONFIG_ARCH_CORTEXM4=y
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
|
CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP=k40
|
CONFIG_ARCH_CHIP=k40
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP_name - For use in C code to identify the exact
|
CONFIG_ARCH_CHIP_name - For use in C code to identify the exact
|
||||||
chip:
|
chip:
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP_MK60N512VMD100
|
CONFIG_ARCH_CHIP_MK60N512VMD100
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD - Identifies the configs subdirectory and
|
CONFIG_ARCH_BOARD - Identifies the configs subdirectory and
|
||||||
hence, the board that supports the particular chip or SoC.
|
hence, the board that supports the particular chip or SoC.
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD=twr-k60n512 (for the TWR-K60N512 development board)
|
CONFIG_ARCH_BOARD=twr-k60n512 (for the TWR-K60N512 development board)
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD_name - For use in C code
|
CONFIG_ARCH_BOARD_name - For use in C code
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD_TWR_K60N512=y
|
CONFIG_ARCH_BOARD_TWR_K60N512=y
|
||||||
|
|
||||||
CONFIG_ARCH_LOOPSPERMSEC - Must be calibrated for correct operation
|
CONFIG_ARCH_LOOPSPERMSEC - Must be calibrated for correct operation
|
||||||
of delay loops
|
of delay loops
|
||||||
|
|
||||||
CONFIG_ENDIAN_BIG - define if big endian (default is little
|
CONFIG_ENDIAN_BIG - define if big endian (default is little
|
||||||
endian)
|
endian)
|
||||||
|
|
||||||
CONFIG_DRAM_SIZE - Describes the installed DRAM (SRAM in this case):
|
CONFIG_DRAM_SIZE - Describes the installed DRAM (SRAM in this case):
|
||||||
|
|
||||||
CONFIG_DRAM_SIZE=0x00010000 (64Kb)
|
CONFIG_DRAM_SIZE=0x00010000 (64Kb)
|
||||||
|
|
||||||
CONFIG_DRAM_START - The start address of installed DRAM
|
CONFIG_DRAM_START - The start address of installed DRAM
|
||||||
|
|
||||||
CONFIG_DRAM_START=0x20000000
|
CONFIG_DRAM_START=0x20000000
|
||||||
|
|
||||||
CONFIG_ARCH_IRQPRIO - The Kinetis K60 supports interrupt prioritization
|
CONFIG_ARCH_IRQPRIO - The Kinetis K60 supports interrupt prioritization
|
||||||
|
|
||||||
CONFIG_ARCH_IRQPRIO=y
|
CONFIG_ARCH_IRQPRIO=y
|
||||||
|
|
||||||
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to boards that
|
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to boards that
|
||||||
have LEDs
|
have LEDs
|
||||||
|
|
||||||
CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
|
CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
|
||||||
stack. If defined, this symbol is the size of the interrupt
|
stack. If defined, this symbol is the size of the interrupt
|
||||||
stack in bytes. If not defined, the user task stacks will be
|
stack in bytes. If not defined, the user task stacks will be
|
||||||
used during interrupt handling.
|
used during interrupt handling.
|
||||||
|
|
||||||
CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
|
CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
|
||||||
|
|
||||||
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to board architecture.
|
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to board architecture.
|
||||||
|
|
||||||
CONFIG_ARCH_CALIBRATION - Enables some build in instrumentation that
|
CONFIG_ARCH_CALIBRATION - Enables some build in instrumentation that
|
||||||
cause a 100 second delay during boot-up. This 100 second delay
|
cause a 100 second delay during boot-up. This 100 second delay
|
||||||
serves no purpose other than it allows you to calibratre
|
serves no purpose other than it allows you to calibratre
|
||||||
CONFIG_ARCH_LOOPSPERMSEC. You simply use a stop watch to measure
|
CONFIG_ARCH_LOOPSPERMSEC. You simply use a stop watch to measure
|
||||||
the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until
|
the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until
|
||||||
the delay actually is 100 seconds.
|
the delay actually is 100 seconds.
|
||||||
|
|
||||||
Individual subsystems can be enabled:
|
Individual subsystems can be enabled:
|
||||||
|
|
||||||
CONFIG_KINETIS_TRACE -- Enable trace clocking on power up.
|
CONFIG_KINETIS_TRACE -- Enable trace clocking on power up.
|
||||||
CONFIG_KINETIS_FLEXBUS -- Enable flexbus clocking on power up.
|
CONFIG_KINETIS_FLEXBUS -- Enable flexbus clocking on power up.
|
||||||
CONFIG_KINETIS_UART0 -- Support UART0
|
CONFIG_KINETIS_UART0 -- Support UART0
|
||||||
CONFIG_KINETIS_UART1 -- Support UART1
|
CONFIG_KINETIS_UART1 -- Support UART1
|
||||||
CONFIG_KINETIS_UART2 -- Support UART2
|
CONFIG_KINETIS_UART2 -- Support UART2
|
||||||
CONFIG_KINETIS_UART3 -- Support UART3
|
CONFIG_KINETIS_UART3 -- Support UART3
|
||||||
CONFIG_KINETIS_UART4 -- Support UART4
|
CONFIG_KINETIS_UART4 -- Support UART4
|
||||||
CONFIG_KINETIS_UART5 -- Support UART5
|
CONFIG_KINETIS_UART5 -- Support UART5
|
||||||
CONFIG_KINETIS_ENET -- Support Ethernet (K60 only)
|
CONFIG_KINETIS_ENET -- Support Ethernet (K60 only)
|
||||||
CONFIG_KINETIS_RNGB -- Support the random number generator(K60 only)
|
CONFIG_KINETIS_RNGB -- Support the random number generator(K60 only)
|
||||||
CONFIG_KINETIS_FLEXCAN0 -- Support FlexCAN0
|
CONFIG_KINETIS_FLEXCAN0 -- Support FlexCAN0
|
||||||
CONFIG_KINETIS_FLEXCAN1 -- Support FlexCAN1
|
CONFIG_KINETIS_FLEXCAN1 -- Support FlexCAN1
|
||||||
CONFIG_KINETIS_SPI0 -- Support SPI0
|
CONFIG_KINETIS_SPI0 -- Support SPI0
|
||||||
@@ -517,8 +568,8 @@ TWR-K60N512-specific Configuration Options
|
|||||||
CONFIG_KINETIS_I2C0 -- Support I2C0
|
CONFIG_KINETIS_I2C0 -- Support I2C0
|
||||||
CONFIG_KINETIS_I2C1 -- Support I2C1
|
CONFIG_KINETIS_I2C1 -- Support I2C1
|
||||||
CONFIG_KINETIS_I2S -- Support I2S
|
CONFIG_KINETIS_I2S -- Support I2S
|
||||||
CONFIG_KINETIS_DAC0 -- Support DAC0
|
CONFIG_KINETIS_DAC0 -- Support DAC0
|
||||||
CONFIG_KINETIS_DAC1 -- Support DAC1
|
CONFIG_KINETIS_DAC1 -- Support DAC1
|
||||||
CONFIG_KINETIS_ADC0 -- Support ADC0
|
CONFIG_KINETIS_ADC0 -- Support ADC0
|
||||||
CONFIG_KINETIS_ADC1 -- Support ADC1
|
CONFIG_KINETIS_ADC1 -- Support ADC1
|
||||||
CONFIG_KINETIS_CMP -- Support CMP
|
CONFIG_KINETIS_CMP -- Support CMP
|
||||||
@@ -571,15 +622,15 @@ TWR-K60N512-specific Configuration Options
|
|||||||
|
|
||||||
Kinetis K60 specific device driver settings
|
Kinetis K60 specific device driver settings
|
||||||
|
|
||||||
CONFIG_UARTn_SERIAL_CONSOLE - selects the UARTn (n=0..5) for the
|
CONFIG_UARTn_SERIAL_CONSOLE - selects the UARTn (n=0..5) for the
|
||||||
console and ttys0 (default is the UART0).
|
console and ttys0 (default is the UART0).
|
||||||
CONFIG_UARTn_RXBUFSIZE - Characters are buffered as received.
|
CONFIG_UARTn_RXBUFSIZE - Characters are buffered as received.
|
||||||
This specific the size of the receive buffer
|
This specific the size of the receive buffer
|
||||||
CONFIG_UARTn_TXBUFSIZE - Characters are buffered before
|
CONFIG_UARTn_TXBUFSIZE - Characters are buffered before
|
||||||
being sent. This specific the size of the transmit buffer
|
being sent. This specific the size of the transmit buffer
|
||||||
CONFIG_UARTn_BAUD - The configure BAUD of the UART.
|
CONFIG_UARTn_BAUD - The configure BAUD of the UART.
|
||||||
CONFIG_UARTn_BITS - The number of bits. Must be either 8 or 8.
|
CONFIG_UARTn_BITS - The number of bits. Must be either 8 or 8.
|
||||||
CONFIG_UARTn_PARTIY - 0=no parity, 1=odd parity, 2=even parity
|
CONFIG_UARTn_PARTIY - 0=no parity, 1=odd parity, 2=even parity
|
||||||
|
|
||||||
Kenetis ethernet controller settings
|
Kenetis ethernet controller settings
|
||||||
|
|
||||||
@@ -596,10 +647,10 @@ Configurations
|
|||||||
Each TWR-K60N512 configuration is maintained in a sudirectory and
|
Each TWR-K60N512 configuration is maintained in a sudirectory and
|
||||||
can be selected as follow:
|
can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
./configure.sh twr-k60n512/<subdir>
|
./configure.sh twr-k60n512/<subdir>
|
||||||
cd -
|
cd -
|
||||||
. ./setenv.sh
|
. ./setenv.sh
|
||||||
|
|
||||||
Where <subdir> is one of the following:
|
Where <subdir> is one of the following:
|
||||||
|
|
||||||
@@ -609,7 +660,7 @@ Where <subdir> is one of the following:
|
|||||||
examples/ostest. By default, this project assumes that you are
|
examples/ostest. By default, this project assumes that you are
|
||||||
using the DFU bootloader.
|
using the DFU bootloader.
|
||||||
|
|
||||||
CONFIG_KINETIS_BUILDROOT=y : NuttX buildroot under Linux or Cygwin
|
CONFIG_KINETIS_BUILDROOT=y : NuttX buildroot under Linux or Cygwin
|
||||||
|
|
||||||
nsh:
|
nsh:
|
||||||
---
|
---
|
||||||
@@ -618,7 +669,7 @@ Where <subdir> is one of the following:
|
|||||||
Support for the board's SPI-based MicroSD card is included
|
Support for the board's SPI-based MicroSD card is included
|
||||||
(but not passing tests as of this writing).
|
(but not passing tests as of this writing).
|
||||||
|
|
||||||
NOTE: An SDHC driver is underwork and can be enabled in the NSH
|
NOTE: An SDHC driver is underwork and can be enabled in the NSH
|
||||||
configuration for further testing be setting the following
|
configuration for further testing be setting the following
|
||||||
configuration faluesas follows:
|
configuration faluesas follows:
|
||||||
|
|
||||||
|
|||||||
+101
-50
@@ -11,7 +11,9 @@ Contents
|
|||||||
- Development Environment
|
- Development Environment
|
||||||
- GNU Toolchain Options
|
- GNU Toolchain Options
|
||||||
- IDEs
|
- IDEs
|
||||||
- NuttX buildroot Toolchain
|
- NuttX EABI "buildroot" Toolchain
|
||||||
|
- NuttX OABI "buildroot" Toolchain
|
||||||
|
- NXFLAT Toolchain
|
||||||
- DFU
|
- DFU
|
||||||
- LEDs
|
- LEDs
|
||||||
- VSN-specific Configuration Options
|
- VSN-specific Configuration Options
|
||||||
@@ -47,7 +49,7 @@ GNU Toolchain Options
|
|||||||
CONFIG_STM32_CODESOURCERYL=y : CodeSourcery under Linux
|
CONFIG_STM32_CODESOURCERYL=y : CodeSourcery under Linux
|
||||||
CONFIG_STM32_DEVKITARM=y : devkitARM under Windows
|
CONFIG_STM32_DEVKITARM=y : devkitARM under Windows
|
||||||
CONFIG_STM32_RAISONANCE=y : Raisonance RIDE7 under Windows
|
CONFIG_STM32_RAISONANCE=y : Raisonance RIDE7 under Windows
|
||||||
CONFIG_STM32_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
|
CONFIG_STM32_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
|
||||||
|
|
||||||
If you are not using CONFIG_STM32_BUILDROOT, then you may also have to modify
|
If you are not using CONFIG_STM32_BUILDROOT, then you may also have to modify
|
||||||
the PATH in the setenv.h file if your make cannot find the tools.
|
the PATH in the setenv.h file if your make cannot find the tools.
|
||||||
@@ -128,8 +130,8 @@ IDEs
|
|||||||
one time from the Cygwin command line in order to obtain the pre-built
|
one time from the Cygwin command line in order to obtain the pre-built
|
||||||
startup object needed by RIDE.
|
startup object needed by RIDE.
|
||||||
|
|
||||||
NuttX buildroot Toolchain
|
NuttX EABI "buildroot" Toolchain
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
||||||
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
be modified to point to the correct path to the Cortex-M3 GCC toolchain (if
|
||||||
@@ -152,7 +154,7 @@ NuttX buildroot Toolchain
|
|||||||
|
|
||||||
4. cd <some-dir>/buildroot
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
5. cp configs/cortexm3-defconfig-4.3.3 .config
|
5. cp configs/cortexm3-eabi-defconfig-4.6.3 .config
|
||||||
|
|
||||||
6. make oldconfig
|
6. make oldconfig
|
||||||
|
|
||||||
@@ -162,77 +164,126 @@ NuttX buildroot Toolchain
|
|||||||
the path to the newly built binaries.
|
the path to the newly built binaries.
|
||||||
|
|
||||||
See the file configs/README.txt in the buildroot source tree. That has more
|
See the file configs/README.txt in the buildroot source tree. That has more
|
||||||
detailed PLUS some special instructions that you will need to follow if you are
|
details PLUS some special instructions that you will need to follow if you are
|
||||||
building a Cortex-M3 toolchain for Cygwin under Windows.
|
building a Cortex-M3 toolchain for Cygwin under Windows.
|
||||||
|
|
||||||
|
NuttX OABI "buildroot" Toolchain
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
The older, OABI buildroot toolchain is also available. To use the OABI
|
||||||
|
toolchain:
|
||||||
|
|
||||||
|
1. When building the buildroot toolchain, either (1) modify the cortexm3-eabi-defconfig-4.6.3
|
||||||
|
configuration to use EABI (using 'make menuconfig'), or (2) use an exising OABI
|
||||||
|
configuration such as cortexm3-defconfig-4.3.3
|
||||||
|
|
||||||
|
2. Modify the Make.defs file to use the OABI converntions:
|
||||||
|
|
||||||
|
+CROSSDEV = arm-nuttx-elf-
|
||||||
|
+ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
|
||||||
|
-CROSSDEV = arm-nuttx-eabi-
|
||||||
|
-ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
|
||||||
|
|
||||||
|
NXFLAT Toolchain
|
||||||
|
^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
If you are *not* using the NuttX buildroot toolchain and you want to use
|
||||||
|
the NXFLAT tools, then you will still have to build a portion of the buildroot
|
||||||
|
tools -- just the NXFLAT tools. The buildroot with the NXFLAT tools can
|
||||||
|
be downloaded from the NuttX SourceForge download site
|
||||||
|
(https://sourceforge.net/projects/nuttx/files/).
|
||||||
|
|
||||||
|
This GNU toolchain builds and executes in the Linux or Cygwin environment.
|
||||||
|
|
||||||
|
1. You must have already configured Nuttx in <some-dir>/nuttx.
|
||||||
|
|
||||||
|
cd tools
|
||||||
|
./configure.sh lpcxpresso-lpc1768/<sub-dir>
|
||||||
|
|
||||||
|
2. Download the latest buildroot package into <some-dir>
|
||||||
|
|
||||||
|
3. unpack the buildroot tarball. The resulting directory may
|
||||||
|
have versioning information on it like buildroot-x.y.z. If so,
|
||||||
|
rename <some-dir>/buildroot-x.y.z to <some-dir>/buildroot.
|
||||||
|
|
||||||
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
|
5. cp configs/cortexm3-defconfig-nxflat .config
|
||||||
|
|
||||||
|
6. make oldconfig
|
||||||
|
|
||||||
|
7. make
|
||||||
|
|
||||||
|
8. Edit setenv.h, if necessary, so that the PATH variable includes
|
||||||
|
the path to the newly builtNXFLAT binaries.
|
||||||
|
|
||||||
VSN-specific Configuration Options
|
VSN-specific Configuration Options
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
CONFIG_ARCH - Identifies the arch/ subdirectory. This should
|
CONFIG_ARCH - Identifies the arch/ subdirectory. This should
|
||||||
be set to:
|
be set to:
|
||||||
|
|
||||||
CONFIG_ARCH=arm
|
CONFIG_ARCH=arm
|
||||||
|
|
||||||
CONFIG_ARCH_family - For use in C code:
|
CONFIG_ARCH_family - For use in C code:
|
||||||
|
|
||||||
CONFIG_ARCH_ARM=y
|
CONFIG_ARCH_ARM=y
|
||||||
|
|
||||||
CONFIG_ARCH_architecture - For use in C code:
|
CONFIG_ARCH_architecture - For use in C code:
|
||||||
|
|
||||||
CONFIG_ARCH_CORTEXM3=y
|
CONFIG_ARCH_CORTEXM3=y
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
|
CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP=stm32
|
CONFIG_ARCH_CHIP=stm32
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP_name - For use in C code to identify the exact
|
CONFIG_ARCH_CHIP_name - For use in C code to identify the exact
|
||||||
chip:
|
chip:
|
||||||
|
|
||||||
CONFIG_ARCH_CHIP_STM32F103RET6
|
CONFIG_ARCH_CHIP_STM32F103RET6
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD - Identifies the configs subdirectory and
|
CONFIG_ARCH_BOARD - Identifies the configs subdirectory and
|
||||||
hence, the board that supports the particular chip or SoC.
|
hence, the board that supports the particular chip or SoC.
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD=vsn (for the VSN development board)
|
CONFIG_ARCH_BOARD=vsn (for the VSN development board)
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD_name - For use in C code
|
CONFIG_ARCH_BOARD_name - For use in C code
|
||||||
|
|
||||||
CONFIG_ARCH_BOARD_VSN=y
|
CONFIG_ARCH_BOARD_VSN=y
|
||||||
|
|
||||||
CONFIG_ARCH_LOOPSPERMSEC - Must be calibrated for correct operation
|
CONFIG_ARCH_LOOPSPERMSEC - Must be calibrated for correct operation
|
||||||
of delay loops
|
of delay loops
|
||||||
|
|
||||||
CONFIG_ENDIAN_BIG - define if big endian (default is little
|
CONFIG_ENDIAN_BIG - define if big endian (default is little
|
||||||
endian)
|
endian)
|
||||||
|
|
||||||
CONFIG_DRAM_SIZE - Describes the installed DRAM (SRAM in this case):
|
CONFIG_DRAM_SIZE - Describes the installed DRAM (SRAM in this case):
|
||||||
|
|
||||||
CONFIG_DRAM_SIZE=0x00010000 (64Kb)
|
CONFIG_DRAM_SIZE=0x00010000 (64Kb)
|
||||||
|
|
||||||
CONFIG_DRAM_START - The start address of installed DRAM
|
CONFIG_DRAM_START - The start address of installed DRAM
|
||||||
|
|
||||||
CONFIG_DRAM_START=0x20000000
|
CONFIG_DRAM_START=0x20000000
|
||||||
|
|
||||||
CONFIG_ARCH_IRQPRIO - The STM32F103Z supports interrupt prioritization
|
CONFIG_ARCH_IRQPRIO - The STM32F103Z supports interrupt prioritization
|
||||||
|
|
||||||
CONFIG_ARCH_IRQPRIO=y
|
CONFIG_ARCH_IRQPRIO=y
|
||||||
|
|
||||||
CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
|
CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
|
||||||
stack. If defined, this symbol is the size of the interrupt
|
stack. If defined, this symbol is the size of the interrupt
|
||||||
stack in bytes. If not defined, the user task stacks will be
|
stack in bytes. If not defined, the user task stacks will be
|
||||||
used during interrupt handling.
|
used during interrupt handling.
|
||||||
|
|
||||||
CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
|
CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
|
||||||
|
|
||||||
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to board architecture.
|
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to board architecture.
|
||||||
|
|
||||||
CONFIG_ARCH_CALIBRATION - Enables some build in instrumentation that
|
CONFIG_ARCH_CALIBRATION - Enables some build in instrumentation that
|
||||||
cause a 100 second delay during boot-up. This 100 second delay
|
cause a 100 second delay during boot-up. This 100 second delay
|
||||||
serves no purpose other than it allows you to calibratre
|
serves no purpose other than it allows you to calibratre
|
||||||
CONFIG_ARCH_LOOPSPERMSEC. You simply use a stop watch to measure
|
CONFIG_ARCH_LOOPSPERMSEC. You simply use a stop watch to measure
|
||||||
the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until
|
the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until
|
||||||
the delay actually is 100 seconds.
|
the delay actually is 100 seconds.
|
||||||
|
|
||||||
|
|
||||||
Configurations
|
Configurations
|
||||||
@@ -241,10 +292,10 @@ Configurations
|
|||||||
Each VSN configuration is maintained in a sudirectory and
|
Each VSN configuration is maintained in a sudirectory and
|
||||||
can be selected as follow:
|
can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
./configure.sh vsn/<subdir>
|
./configure.sh vsn/<subdir>
|
||||||
cd -
|
cd -
|
||||||
. ./setenv.sh
|
. ./setenv.sh
|
||||||
|
|
||||||
Where <subdir> is one of the following:
|
Where <subdir> is one of the following:
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user