kylemanna
5/8/2017 - 9:45 PM

USB CDC ACM patch for K22 magick

USB CDC ACM patch for K22 magick

diff --git a/boards/twrk21f120m/usb_examples/usb_device_cdc_vcom/freertos/armgcc/CMakeLists.txt b/boards/twrk21f120m/usb_examples/usb_device_cdc_vcom/freertos/armgcc/CMakeLists.txt
index eef7e09..ce4c2d0 100644
--- a/boards/twrk21f120m/usb_examples/usb_device_cdc_vcom/freertos/armgcc/CMakeLists.txt
+++ b/boards/twrk21f120m/usb_examples/usb_device_cdc_vcom/freertos/armgcc/CMakeLists.txt
@@ -80,7 +80,7 @@ SET(CMAKE_ASM_FLAGS_RELEASE "${CMAKE_ASM_FLAGS_RELEASE} -std=gnu99")
 
 SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D_DEBUG=1")
 
-SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DCPU_MK21FN1M0AVMC12")
+SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DCPU_MK22FN1M0AVLK12")
 
 SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DUSB_STACK_FREERTOS_HEAP_SIZE=32768")
 
@@ -126,7 +126,7 @@ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -std=gnu99")
 
 SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -D_DEBUG=0")
 
-SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DCPU_MK21FN1M0AVMC12")
+SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DCPU_MK22FN1M0AVLK12")
 
 SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DUSB_STACK_FREERTOS_HEAP_SIZE=32768")
 
@@ -350,23 +350,23 @@ include_directories(${ProjDirPath}/../../../../../../middleware/usb_1.6.3/device
 
 include_directories(${ProjDirPath}/../../../../../../CMSIS/Include)
 
-include_directories(${ProjDirPath}/../../../../../../devices/MK21FA12/drivers)
+include_directories(${ProjDirPath}/../../../../../../devices/MK22FA12/drivers)
 
-include_directories(${ProjDirPath}/../../../../../../devices/MK21FA12/utilities)
+include_directories(${ProjDirPath}/../../../../../../devices/MK22FA12/utilities)
 
-include_directories(${ProjDirPath}/../../../../../../devices/MK21FA12)
+include_directories(${ProjDirPath}/../../../../../../devices/MK22FA12)
 
 add_executable(dev_cdc_vcom_freertos.elf 
 "${ProjDirPath}/../../../../../../rtos/freertos_9.0.0/Source/portable/GCC/ARM_CM4F/port.c"
 "${ProjDirPath}/../../../../../../rtos/freertos_9.0.0/Source/portable/GCC/ARM_CM4F/fsl_tickless_systick.c"
 "${ProjDirPath}/../../../../../../rtos/freertos_9.0.0/Source/portable/GCC/ARM_CM4F/fsl_tickless_generic.h"
 "${ProjDirPath}/../../../../../../rtos/freertos_9.0.0/Source/portable/GCC/ARM_CM4F/portmacro.h"
-"${ProjDirPath}/../../../../../../devices/MK21FA12/gcc/startup_MK21FA12.S"
+"${ProjDirPath}/../../../../../../devices/MK22FA12/gcc/startup_MK22FA12.S"
 "${ProjDirPath}/../../../../../../middleware/usb_1.6.3/device/usb_device_khci.c"
 "${ProjDirPath}/../../../../../../middleware/usb_1.6.3/device/usb_device_khci.h"
 "${ProjDirPath}/../../../../../../middleware/usb_1.6.3/include/usb_khci.h"
-"${ProjDirPath}/../../../../../../devices/MK21FA12/drivers/fsl_uart.h"
-"${ProjDirPath}/../../../../../../devices/MK21FA12/drivers/fsl_uart.c"
+"${ProjDirPath}/../../../../../../devices/MK22FA12/drivers/fsl_uart.h"
+"${ProjDirPath}/../../../../../../devices/MK22FA12/drivers/fsl_uart.c"
 "${ProjDirPath}/../../../../../../middleware/usb_1.6.3/osa/usb_osa.h"
 "${ProjDirPath}/../../../../../../middleware/usb_1.6.3/osa/usb_osa_freertos.h"
 "${ProjDirPath}/../../../../../../middleware/usb_1.6.3/osa/usb_osa_freertos.c"
@@ -403,37 +403,37 @@ add_executable(dev_cdc_vcom_freertos.elf
 "${ProjDirPath}/../../../../../../rtos/freertos_9.0.0/Source/tasks.c"
 "${ProjDirPath}/../../../../../../rtos/freertos_9.0.0/Source/timers.c"
 "${ProjDirPath}/../../../../../../rtos/freertos_9.0.0/Source/event_groups.c"
-"${ProjDirPath}/../../../../../../devices/MK21FA12/system_MK21FA12.c"
-"${ProjDirPath}/../../../../../../devices/MK21FA12/system_MK21FA12.h"
-"${ProjDirPath}/../../../../../../devices/MK21FA12/utilities/fsl_debug_console.c"
-"${ProjDirPath}/../../../../../../devices/MK21FA12/utilities/fsl_debug_console.h"
+"${ProjDirPath}/../../../../../../devices/MK22FA12/system_MK22FA12.c"
+"${ProjDirPath}/../../../../../../devices/MK22FA12/system_MK22FA12.h"
+"${ProjDirPath}/../../../../../../devices/MK22FA12/utilities/fsl_debug_console.c"
+"${ProjDirPath}/../../../../../../devices/MK22FA12/utilities/fsl_debug_console.h"
 "${ProjDirPath}/../../../../../../middleware/usb_1.6.3/include/usb.h"
 "${ProjDirPath}/../../../../../../middleware/usb_1.6.3/include/usb_misc.h"
 "${ProjDirPath}/../../../../../../middleware/usb_1.6.3/include/usb_spec.h"
 "${ProjDirPath}/../../../../../../middleware/usb_1.6.3/device/usb_device.h"
 "${ProjDirPath}/../../../../../../middleware/usb_1.6.3/device/usb_device_dci.c"
 "${ProjDirPath}/../../../../../../middleware/usb_1.6.3/device/usb_device_dci.h"
-"${ProjDirPath}/../../../../../../devices/MK21FA12/drivers/fsl_port.h"
-"${ProjDirPath}/../../../../../../devices/MK21FA12/drivers/fsl_sim.h"
-"${ProjDirPath}/../../../../../../devices/MK21FA12/drivers/fsl_sim.c"
-"${ProjDirPath}/../../../../../../devices/MK21FA12/drivers/fsl_clock.h"
-"${ProjDirPath}/../../../../../../devices/MK21FA12/drivers/fsl_clock.c"
-"${ProjDirPath}/../../../../../../devices/MK21FA12/drivers/fsl_sysmpu.h"
-"${ProjDirPath}/../../../../../../devices/MK21FA12/drivers/fsl_sysmpu.c"
-"${ProjDirPath}/../../../../../../devices/MK21FA12/drivers/fsl_common.h"
-"${ProjDirPath}/../../../../../../devices/MK21FA12/drivers/fsl_common.c"
+"${ProjDirPath}/../../../../../../devices/MK22FA12/drivers/fsl_port.h"
+"${ProjDirPath}/../../../../../../devices/MK22FA12/drivers/fsl_sim.h"
+"${ProjDirPath}/../../../../../../devices/MK22FA12/drivers/fsl_sim.c"
+"${ProjDirPath}/../../../../../../devices/MK22FA12/drivers/fsl_clock.h"
+"${ProjDirPath}/../../../../../../devices/MK22FA12/drivers/fsl_clock.c"
+"${ProjDirPath}/../../../../../../devices/MK22FA12/drivers/fsl_sysmpu.h"
+"${ProjDirPath}/../../../../../../devices/MK22FA12/drivers/fsl_sysmpu.c"
+"${ProjDirPath}/../../../../../../devices/MK22FA12/drivers/fsl_common.h"
+"${ProjDirPath}/../../../../../../devices/MK22FA12/drivers/fsl_common.c"
 "${ProjDirPath}/../board.c"
 "${ProjDirPath}/../board.h"
 "${ProjDirPath}/../clock_config.c"
 "${ProjDirPath}/../clock_config.h"
 "${ProjDirPath}/../pin_mux.c"
 "${ProjDirPath}/../pin_mux.h"
-"${ProjDirPath}/../../../../../../devices/MK21FA12/drivers/fsl_gpio.h"
-"${ProjDirPath}/../../../../../../devices/MK21FA12/drivers/fsl_gpio.c"
-"${ProjDirPath}/../../../../../../devices/MK21FA12/drivers/fsl_smc.h"
-"${ProjDirPath}/../../../../../../devices/MK21FA12/drivers/fsl_smc.c"
-"${ProjDirPath}/../../../../../../devices/MK21FA12/drivers/fsl_flash.c"
-"${ProjDirPath}/../../../../../../devices/MK21FA12/drivers/fsl_flash.h"
+"${ProjDirPath}/../../../../../../devices/MK22FA12/drivers/fsl_gpio.h"
+"${ProjDirPath}/../../../../../../devices/MK22FA12/drivers/fsl_gpio.c"
+"${ProjDirPath}/../../../../../../devices/MK22FA12/drivers/fsl_smc.h"
+"${ProjDirPath}/../../../../../../devices/MK22FA12/drivers/fsl_smc.c"
+"${ProjDirPath}/../../../../../../devices/MK22FA12/drivers/fsl_flash.c"
+"${ProjDirPath}/../../../../../../devices/MK22FA12/drivers/fsl_flash.h"
 )
 
 
diff --git a/boards/twrk21f120m/usb_examples/usb_device_cdc_vcom/freertos/armgcc/MK21FN1M0Axxx12_flash.ld b/boards/twrk21f120m/usb_examples/usb_device_cdc_vcom/freertos/armgcc/MK21FN1M0Axxx12_flash.ld
index 037fb44..7319470 100644
--- a/boards/twrk21f120m/usb_examples/usb_device_cdc_vcom/freertos/armgcc/MK21FN1M0Axxx12_flash.ld
+++ b/boards/twrk21f120m/usb_examples/usb_device_cdc_vcom/freertos/armgcc/MK21FN1M0Axxx12_flash.ld
@@ -1,12 +1,15 @@
 /*
 ** ###################################################################
-**     Processors:          MK21FN1M0AVLQ12
-**                          MK21FN1M0AVMC12
-**                          MK21FN1M0AVMD12
+**     Processors:          MK22FN1M0AVLH12
+**                          MK22FN1M0AVLK12
+**                          MK22FN1M0AVLL12
+**                          MK22FN1M0AVLQ12
+**                          MK22FN1M0AVMC12
+**                          MK22FN1M0AVMD12
 **
 **     Compiler:            GNU C Compiler
-**     Reference manual:    K21P144M120SF5V2RM, Rev.3, Apr 2014
-**     Version:             rev. 1.1, 2015-02-19
+**     Reference manual:    K22P144M120SF5V2RM, Rev.5, March 2015
+**     Version:             rev. 1.0, 2015-04-07
 **     Build:               b170214
 **
 **     Abstract:
@@ -48,8 +51,8 @@
 /* Entry Point */
 ENTRY(Reset_Handler)
 
-HEAP_SIZE  = DEFINED(__heap_size__)  ? __heap_size__  : 0x100;
-STACK_SIZE = DEFINED(__stack_size__) ? __stack_size__ : 0x2000;
+HEAP_SIZE  = DEFINED(__heap_size__)  ? __heap_size__  : 0x0400;
+STACK_SIZE = DEFINED(__stack_size__) ? __stack_size__ : 0x0400;
 M_VECTOR_RAM_SIZE = DEFINED(__ram_vector_table__) ? 0x0400 : 0x0;
 
 /* Specify the memory areas */
diff --git a/boards/twrk21f120m/usb_examples/usb_device_cdc_vcom/freertos/board.h b/boards/twrk21f120m/usb_examples/usb_device_cdc_vcom/freertos/board.h
index 47b0b08..bdcd4d9 100644
--- a/boards/twrk21f120m/usb_examples/usb_device_cdc_vcom/freertos/board.h
+++ b/boards/twrk21f120m/usb_examples/usb_device_cdc_vcom/freertos/board.h
@@ -43,11 +43,11 @@
 /*! @brief The UART to use for debug messages. */
 #define BOARD_USE_UART
 #define BOARD_DEBUG_UART_TYPE DEBUG_CONSOLE_DEVICE_TYPE_UART
-#define BOARD_DEBUG_UART_BASEADDR (uint32_t) UART5
+#define BOARD_DEBUG_UART_BASEADDR (uint32_t) UART1
 #define BOARD_DEBUG_UART_CLKSRC kCLOCK_BusClk
 #define BOARD_DEBUG_UART_CLK_FREQ CLOCK_GetBusClkFreq()
-#define BOARD_UART_IRQ UART5_RX_TX_IRQn
-#define BOARD_UART_IRQ_HANDLER UART5_RX_TX_IRQHandler
+#define BOARD_UART_IRQ UART1_RX_TX_IRQn
+#define BOARD_UART_IRQ_HANDLER UART1_RX_TX_IRQHandler
 
 #ifndef BOARD_DEBUG_UART_BAUDRATE
 #define BOARD_DEBUG_UART_BAUDRATE 115200
diff --git a/boards/twrk21f120m/usb_examples/usb_device_cdc_vcom/freertos/clock_config.c b/boards/twrk21f120m/usb_examples/usb_device_cdc_vcom/freertos/clock_config.c
index ee9d1f4..712fcf6 100644
--- a/boards/twrk21f120m/usb_examples/usb_device_cdc_vcom/freertos/clock_config.c
+++ b/boards/twrk21f120m/usb_examples/usb_device_cdc_vcom/freertos/clock_config.c
@@ -157,13 +157,13 @@ const mcg_config_t mcgConfig_BOARD_BootClockRUN =
         .ircs = kMCG_IrcSlow,                     /* Slow internal reference clock selected */
         .fcrdiv = 0x0U,                           /* Fast IRC divider: divided by 1 */
         .frdiv = 0x0U,                            /* FLL reference clock divider: divided by 32 */
-        .drs = kMCG_DrsLow,                       /* Low frequency range */
+        .drs = kMCG_DrsHigh,                       /* Low frequency range */
         .dmx32 = kMCG_Dmx32Default,               /* DCO has a default range of 25% */
         .oscsel = kMCG_OscselOsc,                 /* Selects System Oscillator (OSCCLK) */
         .pll0Config =
             {
                 .enableMode = MCG_PLL_DISABLE,    /* MCGPLLCLK disabled */
-                .prdiv = 0x1U,                    /* PLL Reference divider: divided by 2 */
+                .prdiv = 0x3U,                    /* PLL Reference divider: divided by 2 */
                 .vdiv = 0x6U,                     /* VCO divider: multiplied by 30 */
             },
     };
@@ -171,12 +171,12 @@ const sim_clock_config_t simConfig_BOARD_BootClockRUN =
     {
         .pllFllSel = SIM_PLLFLLSEL_MCGPLLCLK_CLK, /* PLLFLL select: MCGPLLCLK clock */
         .er32kSrc = SIM_OSC32KSEL_RTC32KCLK_CLK,  /* OSC32KSEL select: RTC32KCLK clock (32.768kHz) */
-        .clkdiv1 = 0x1440000U,                    /* SIM_CLKDIV1 - OUTDIV1: /1, OUTDIV2: /2, OUTDIV3: /5, OUTDIV4: /5 */
+        .clkdiv1 = 0x1240000U,                    /* SIM_CLKDIV1 - OUTDIV1: /1, OUTDIV2: /2, OUTDIV3: /5, OUTDIV4: /5 */
     };
 const osc_config_t oscConfig_BOARD_BootClockRUN =
     {
-        .freq = 8000000U,                         /* Oscillator frequency: 8000000Hz */
-        .capLoad = (OSC_CAP0P),                   /* Oscillator capacity load: 0pF */
+        .freq = 16000000U,                         /* Oscillator frequency: 8000000Hz */
+        .capLoad = (kOSC_Cap2P | kOSC_Cap4P | kOSC_Cap8P),                   /* Oscillator capacity load: 0pF */
         .workMode = kOSC_ModeOscLowPower,         /* Oscillator low power */
         .oscerConfig =
             {
diff --git a/boards/twrk21f120m/usb_examples/usb_device_cdc_vcom/freertos/clock_config.h b/boards/twrk21f120m/usb_examples/usb_device_cdc_vcom/freertos/clock_config.h
index c2f94ee..d7a5bc1 100644
--- a/boards/twrk21f120m/usb_examples/usb_device_cdc_vcom/freertos/clock_config.h
+++ b/boards/twrk21f120m/usb_examples/usb_device_cdc_vcom/freertos/clock_config.h
@@ -36,7 +36,7 @@
 /*******************************************************************************
  * Definitions
  ******************************************************************************/
-#define BOARD_XTAL0_CLK_HZ                          8000000U  /*!< Board xtal0 frequency in Hz */
+#define BOARD_XTAL0_CLK_HZ                          16000000U  /*!< Board xtal0 frequency in Hz */
 
 /*******************************************************************************
  ********************** Configuration BOARD_BootClockRUN ***********************