Add Kinetis interrupt vectors

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3873 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo 2011-08-12 18:26:21 +00:00
parent a281052111
commit 7daa8c1969
7 changed files with 39 additions and 14 deletions

View File

@ -50,14 +50,11 @@ GNU Toolchain Options
1. The CodeSourcery GNU toolchain, 1. The CodeSourcery GNU toolchain,
2. The devkitARM GNU toolchain, 2. The devkitARM GNU toolchain,
3. Raisonance GNU toolchain, or 3. The NuttX buildroot Toolchain (see below).
4. The NuttX buildroot Toolchain (see below).
All testing has been conducted using the NuttX buildroot toolchain. However, All testing has been conducted using the CodeSourcery Windows toolchain. To
the make system is setup to default to use the devkitARM toolchain. To use use the devkitARM or the NuttX GNU toolchain, you simply need to change the
the CodeSourcery, devkitARM or Raisonance GNU toolchain, you simply need to the following configuration options to your .config (or defconfig) file:
add one of the following configuration options to your .config (or defconfig)
file:
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
@ -67,7 +64,7 @@ GNU Toolchain Options
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.
NOTE: the CodeSourcery (for Windows), devkitARM, and Raisonance toolchains are NOTE: the CodeSourcery (for Windows) and devkitARM toolchains are
Windows native toolchains. The CodeSourcey (for Linux) and NuttX buildroot Windows native toolchains. The CodeSourcey (for Linux) and NuttX buildroot
toolchains are Cygwin and/or Linux native toolchains. There are several limitations toolchains are Cygwin and/or Linux native toolchains. There are several limitations
to using a Windows based toolchain in a Cygwin environment. The three biggest are: to using a Windows based toolchain in a Cygwin environment. The three biggest are:
@ -151,6 +148,9 @@ NuttX buildroot Toolchain
SourceForge download site (https://sourceforge.net/project/showfiles.php?group_id=189573). SourceForge download site (https://sourceforge.net/project/showfiles.php?group_id=189573).
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)
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.
cd tools cd tools
@ -180,7 +180,7 @@ NuttX buildroot Toolchain
KwikStik-K40-specific Configuration Options KwikStik-K40-specific Configuration Options
============================================ ============================================
CONFIG_ARCH - Identifies the arch/ subdirectory. This should CONFIG_ARCH - Identifies the arch/ subdirectory. This sould
be set to: be set to:
CONFIG_ARCH=arm CONFIG_ARCH=arm
@ -200,7 +200,7 @@ KwikStik-K40-specific Configuration Options
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_K40X256VLQ100 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.

View File

@ -58,7 +58,7 @@ endif
ifeq ($(CONFIG_KINETIS_BUILDROOT),y) ifeq ($(CONFIG_KINETIS_BUILDROOT),y)
# NuttX buildroot under Linux or Cygwin # NuttX buildroot under Linux or Cygwin
CROSSDEV = arm-elf- CROSSDEV = arm-elf-
ARCHCPUFLAGS = -mtune=cortex-m4 -march=armv7e-m -mfloat-abi=soft ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
MAXOPTIMIZATION = -Os MAXOPTIMIZATION = -Os
endif endif

View File

@ -73,7 +73,7 @@ CONFIG_ARCH=arm
CONFIG_ARCH_ARM=y CONFIG_ARCH_ARM=y
CONFIG_ARCH_CORTEXM4=y CONFIG_ARCH_CORTEXM4=y
CONFIG_ARCH_CHIP=kinetis CONFIG_ARCH_CHIP=kinetis
CONFIG_ARCH_CHIP_K40X256VLQ100=y CONFIG_ARCH_CHIP_MK40X256VLQ100=y
CONFIG_ARCH_BOARD=kwikstik-k40 CONFIG_ARCH_BOARD=kwikstik-k40
CONFIG_ARCH_BOARD_KWIKSTIK_K40=y CONFIG_ARCH_BOARD_KWIKSTIK_K40=y
CONFIG_BOARD_LOOPSPERMSEC=5483 CONFIG_BOARD_LOOPSPERMSEC=5483

View File

@ -85,6 +85,18 @@
* Public Functions * Public Functions
************************************************************************************/ ************************************************************************************/
/************************************************************************************
* Name: up_ledinit
*
* Description:
* Initialize LED GPIOs so that LEDs can be controlled.
*
************************************************************************************/
#ifdef CONFIG_ARCH_LEDS
extern void up_ledinit(void);
#endif
/************************************************************************************ /************************************************************************************
* Name: kinetis_spiinitialize * Name: kinetis_spiinitialize
* *

View File

@ -39,8 +39,17 @@
**************************************************************************************/ **************************************************************************************/
#include <nuttx/config.h> #include <nuttx/config.h>
#include <sys/types.h>
#include <assert.h>
#include <debug.h>
#include <arch/board/board.h>
#include "up_arch.h"
#include "kwikstik-internal.h" #include "kwikstik-internal.h"
/************************************************************************************** /**************************************************************************************
* Pre-processor Definitions * Pre-processor Definitions
**************************************************************************************/ **************************************************************************************/

View File

@ -50,7 +50,7 @@
#include "up_arch.h" #include "up_arch.h"
#include "up_internal.h" #include "up_internal.h"
#include "kinetis_internal.h" #include "kinetis_internal.h"
#include "kwistik-internal.h" #include "kwikstik-internal.h"
/**************************************************************************** /****************************************************************************
* Definitions * Definitions
@ -84,6 +84,10 @@
/**************************************************************************** /****************************************************************************
* Name: up_ledinit * Name: up_ledinit
*
* Description:
* Initialize LED GPIOs so that LEDs can be controlled.
*
****************************************************************************/ ****************************************************************************/
#ifdef CONFIG_ARCH_LEDS #ifdef CONFIG_ARCH_LEDS

View File

@ -50,7 +50,7 @@
#include "up_arch.h" #include "up_arch.h"
#include "chip.h" #include "chip.h"
#include "kinetis_internal.h" #include "kinetis_internal.h"
#include "kwikstick-internal.h" #include "kwikstik-internal.h"
#if defined(CONFIG_KINETIS_SPI1) || defined(CONFIG_KINETIS_SPI2) #if defined(CONFIG_KINETIS_SPI1) || defined(CONFIG_KINETIS_SPI2)