diff --git a/arch/arm/include/kinetis/chip.h b/arch/arm/include/kinetis/chip.h index 0e8f216d04..7cbf732620 100644 --- a/arch/arm/include/kinetis/chip.h +++ b/arch/arm/include/kinetis/chip.h @@ -48,13 +48,40 @@ /* Get customizations for each supported chip */ -#if defined(CONFIG_ARCH_CHIP_MK20DX256VLH7) +/* MK20DX---VLH7 + * + * ------------- ------ --- ------- ------ ------- ------ ----- ---- + * PART NUMBER CPU PIN PACKAGE TOTAL PROGRAM EEPROM SRAM GPIO + * FREQ CNT FLASH FLASH + * ------------- ------ --- ------- ------ ------- ------ ----- ---- + * MK20DX64VLH7 72 MHz 64 LQFP 96 KB 64 KB 2 KB 16 KB 40 + * MK20DX128VLH7 72 MHz 64 LQFP 160 KB 128 KB 2 KB 32 KB 40 + * MK20DX256VLH7 72 MHz 64 LQFP 288 KB 256 KB 2 KB 64 KB 40 + * ------------- ------ --- ------- ------ ------- ------ ----- ---- + */ + +#if defined(CONFIG_ARCH_CHIP_MK20DX64VLH7) || \ + defined(CONFIG_ARCH_CHIP_MK20DX128VLH7) || \ + defined(CONFIG_ARCH_CHIP_MK20DX256VLH7) + # define KINETIS_K20 1 /* Kinetics K20 family */ # undef KINETIS_K40 /* Not Kinetics K40 family */ # undef KINETIS_K60 /* Not Kinetis K60 family */ + +#if defined(CONFIG_ARCH_CHIP_MK20DX64VLH7) +# define KINETIS_FLASH_SIZE (64*1024) /* 64Kb */ +# define KINETIS_FLEXMEM_SIZE (32*1024) /* 32Kb */ +# define KINETIS_SRAM_SIZE (16*1024) /* 16Kb */ +#elif defined(CONFIG_ARCH_CHIP_MK20DX128VLH7) +# define KINETIS_FLASH_SIZE (128*1024) /* 128Kb */ +# define KINETIS_FLEXMEM_SIZE (32*1024) /* 32Kb */ +# define KINETIS_SRAM_SIZE (32*1024) /* 32Kb */ +#else /* if defined(CONFIG_ARCH_CHIP_MK20DX256VLH7) */ # define KINETIS_FLASH_SIZE (256*1024) /* 256Kb */ # define KINETIS_FLEXMEM_SIZE (32*1024) /* 32Kb */ # define KINETIS_SRAM_SIZE (64*1024) /* 64Kb */ +#endif + # undef KINETIS_MPU /* No memory protection unit */ # undef KINETIS_EXTBUS /* No external bus interface */ # define KINETIS_NDMACH 16 /* Up to 16 DMA channels */ diff --git a/arch/arm/src/kinetis/Kconfig b/arch/arm/src/kinetis/Kconfig index ff1fd735c6..88c161de01 100644 --- a/arch/arm/src/kinetis/Kconfig +++ b/arch/arm/src/kinetis/Kconfig @@ -10,6 +10,14 @@ choice default ARCH_CHIP_MK60N512VMD100 depends on ARCH_CHIP_KINETIS +config ARCH_CHIP_MK20DX64VLH7 + bool "MK20DX64VLH7" + select ARCH_FAMILY_K20 + +config ARCH_CHIP_MK20DX128VLH7 + bool "MK20DX128VLH7" + select ARCH_FAMILY_K20 + config ARCH_CHIP_MK20DX256VLH7 bool "MK20DX256VLH7" select ARCH_FAMILY_K20 diff --git a/configs/teensy-3.x/README.txt b/configs/teensy-3.x/README.txt index 8079ec91e8..94b320b4e8 100644 --- a/configs/teensy-3.x/README.txt +++ b/configs/teensy-3.x/README.txt @@ -12,8 +12,22 @@ README This board configuration can also be used with the older Teensy-3.0. The Teensy-3.0 has the same schematic (although some pins are not used on the - Teensy-3.0). the primary difference is that the Teensy 3.0 has a - MK30DX128VLH5 with slightly less capability. + Teensy-3.0). The primary difference is that the Teensy 3.0 has a + MK30DX128VLH5 with slightly less capability. There are many difference + between the MK30DX256VLH7 and the MK30DX128VLH5 but the basic differences + that effect how you configure NuttX are: + + --------------- -------------- -------------- --------------------------- + Feature Teensy 3.0 Teensy 3.1 CONFIGURATION + --------------- -------------- -------------- --------------------------- + Processor + Core MK20DX128VLH5 MK20DX256VLH7 CONFIG_ARCH_CHIP_xyz + Rated Speed 48 MHz 72 MHz Settings in include/board.h + Overclockable 96 MHz 96 MHz Settings in include/board.h + Flash Memory 128 KB 256 KB See scripts/flash.ld + SRAM 16 KB 64 KB See scripts/flash.ld and + set CONFIG_RAM_SIZE=??? + --------------- -------------- -------------- --------------------------- Contents ========