Ver código fonte

Merge remote-tracking branch 'upstream/master'

JasonJiaJie 8 anos atrás
pai
commit
a2a8e2eee0
100 arquivos alterados com 4291 adições e 5250 exclusões
  1. 1 0
      .travis.yml
  2. 57 13
      bsp/imxrt1052-evk/.config
  3. 17 13
      bsp/imxrt1052-evk/Libraries/arm/MIMXRT1052xxxxx_flexspi_nor.scf
  4. 45 0
      bsp/imxrt1052-evk/Libraries/arm/evkmimxrt1050_flexspi_nor.ini
  5. 52 22
      bsp/imxrt1052-evk/Libraries/gcc/MIMXRT1052xxxxx_flexspi_nor.ld
  6. 34 22
      bsp/imxrt1052-evk/Libraries/gcc/MIMXRT1052xxxxx_ram.ld
  7. 4 0
      bsp/imxrt1052-evk/Libraries/gcc/startup_MIMXRT1052.S
  8. 31 15
      bsp/imxrt1052-evk/Libraries/iar/MIMXRT1052xxxxx_flexspi_nor.icf
  9. 2 0
      bsp/imxrt1052-evk/Libraries/system_MIMXRT1052.c
  10. 95 42
      bsp/imxrt1052-evk/applications/main.c
  11. 50 0
      bsp/imxrt1052-evk/applications/mem_dump.c
  12. 0 95
      bsp/imxrt1052-evk/bsp/imxrt/imxrt1052_sdram.icf
  13. 2 0
      bsp/imxrt1052-evk/drivers/SConscript
  14. 82 12
      bsp/imxrt1052-evk/drivers/board.c
  15. 18 7
      bsp/imxrt1052-evk/drivers/board.h
  16. 87 76
      bsp/imxrt1052-evk/drivers/drv_eth.c
  17. 195 0
      bsp/imxrt1052-evk/drivers/drv_sdram.c
  18. 7 3
      bsp/imxrt1052-evk/drivers/fsl_phy.c
  19. 66 0
      bsp/imxrt1052-evk/drivers/hyper_flash_boot.c
  20. 26 13
      bsp/imxrt1052-evk/drivers/usart.c
  21. 0 103
      bsp/imxrt1052-evk/imxrt1052_sdram.icf
  22. 0 259
      bsp/imxrt1052-evk/imxrt1052_sdram.ld
  23. 0 99
      bsp/imxrt1052-evk/imxrt1052_sdram.sct
  24. 37 21
      bsp/imxrt1052-evk/project.ewd
  25. 77 134
      bsp/imxrt1052-evk/project.ewp
  26. 0 2910
      bsp/imxrt1052-evk/project.ewt
  27. 2274 0
      bsp/imxrt1052-evk/project.uvoptx
  28. 83 157
      bsp/imxrt1052-evk/project.uvprojx
  29. 58 32
      bsp/imxrt1052-evk/rtconfig.h
  30. 8 6
      bsp/imxrt1052-evk/rtconfig.py
  31. 0 311
      bsp/imxrt1052-evk/sdram_init.jlinkscript
  32. 0 236
      bsp/imxrt1052-evk/sdram_mpu_init.ini
  33. 0 249
      bsp/imxrt1052-evk/sdram_mpu_init.mac
  34. 1 1
      bsp/imxrt1052-evk/template.ewp
  35. 190 0
      bsp/imxrt1052-evk/template.uvoptx
  36. 7 6
      bsp/imxrt1052-evk/template.uvprojx
  37. 10 0
      bsp/lpc178x/applications/application.c
  38. 0 10
      bsp/lpc178x/applications/startup.c
  39. 39 15
      bsp/lpc2148/applications/application.c
  40. 3 32
      bsp/lpc2148/applications/startup.c
  41. 11 1
      bsp/lpc2478/applications/application.c
  42. 43 58
      bsp/lpc2478/applications/startup.c
  43. 2 2
      bsp/lpc5410x/applications/application.c
  44. 1 1
      bsp/lpc5410x/applications/startup.c
  45. 1 1
      bsp/lpc54608-LPCXpresso/drivers/board.c
  46. 1 7
      bsp/lpc824/applications/startup.c
  47. 252 0
      bsp/simulator/.config
  48. 25 0
      bsp/simulator/Kconfig
  49. 7 0
      bsp/simulator/applications/application.c
  50. 10 0
      bsp/simulator/applications/platform.c
  51. 1 1
      bsp/simulator/drivers/SConscript
  52. 1 0
      bsp/simulator/drivers/board.c
  53. 3 3
      bsp/simulator/drivers/module_win32.c
  54. 5 5
      bsp/simulator/drivers/sdl_fb.c
  55. 199 215
      bsp/simulator/rtconfig.h
  56. 25 0
      bsp/simulator/rtconfig_project.h
  57. 0 4
      bsp/stm32f0x/applications/startup.c
  58. 20 0
      bsp/stm32f20x/applications/application.c
  59. 0 21
      bsp/stm32f20x/applications/startup.c
  60. 10 2
      bsp/stm32f40x/applications/application.c
  61. 0 10
      bsp/stm32f40x/applications/startup.c
  62. 0 4
      bsp/stm32f429-apollo/applications/startup.c
  63. 1 1
      bsp/stm32f429-apollo/drivers/drv_eth.c
  64. 15 0
      bsp/stm32f429-apollo/stm32f429_flash.sct
  65. 0 0
      bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Include/stm32f427xx.h
  66. 0 0
      bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h
  67. 0 0
      bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Include/stm32f437xx.h
  68. 0 0
      bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Include/stm32f439xx.h
  69. 0 0
      bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h
  70. 0 0
      bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h
  71. 0 0
      bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/arm/startup_stm32f427xx.s
  72. 0 0
      bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/arm/startup_stm32f429xx.s
  73. 0 0
      bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/arm/startup_stm32f437xx.s
  74. 0 0
      bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/arm/startup_stm32f439xx.s
  75. 0 0
      bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc/startup_stm32f427xx.s
  76. 0 0
      bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc/startup_stm32f429xx.s
  77. 0 0
      bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc/startup_stm32f437xx.s
  78. 0 0
      bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc/startup_stm32f439xx.s
  79. 0 0
      bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f427xx_flash.icf
  80. 0 0
      bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f427xx_sram.icf
  81. 0 0
      bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f429xx_flash.icf
  82. 0 0
      bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f429xx_sram.icf
  83. 0 0
      bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f437xx_flash.icf
  84. 0 0
      bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f437xx_sram.icf
  85. 0 0
      bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/startup_stm32f427xx.s
  86. 0 0
      bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/startup_stm32f429xx.s
  87. 0 0
      bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/startup_stm32f437xx.s
  88. 0 0
      bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/startup_stm32f439xx.s
  89. 0 0
      bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.c
  90. 0 0
      bsp/stm32f429-armfly/Libraries/CMSIS/Include/arm_common_tables.h
  91. 0 0
      bsp/stm32f429-armfly/Libraries/CMSIS/Include/arm_const_structs.h
  92. 0 0
      bsp/stm32f429-armfly/Libraries/CMSIS/Include/arm_math.h
  93. 0 0
      bsp/stm32f429-armfly/Libraries/CMSIS/Include/cmsis_armcc.h
  94. 0 0
      bsp/stm32f429-armfly/Libraries/CMSIS/Include/cmsis_armcc_V6.h
  95. 0 0
      bsp/stm32f429-armfly/Libraries/CMSIS/Include/cmsis_gcc.h
  96. 0 0
      bsp/stm32f429-armfly/Libraries/CMSIS/Include/core_cm0.h
  97. 0 0
      bsp/stm32f429-armfly/Libraries/CMSIS/Include/core_cm0plus.h
  98. 0 0
      bsp/stm32f429-armfly/Libraries/CMSIS/Include/core_cm3.h
  99. 0 0
      bsp/stm32f429-armfly/Libraries/CMSIS/Include/core_cm4.h
  100. 0 0
      bsp/stm32f429-armfly/Libraries/CMSIS/Include/core_cm7.h

+ 1 - 0
.travis.yml

@@ -70,6 +70,7 @@ env:
   - RTT_BSP='stm32f4xx-HAL' RTT_TOOL_CHAIN='sourcery-arm' 
   - RTT_BSP='stm32f411-nucleo' RTT_TOOL_CHAIN='sourcery-arm' 
   - RTT_BSP='stm32f429-apollo' RTT_TOOL_CHAIN='sourcery-arm' 
+#  - RTT_BSP='stm32f429-armfly' RTT_TOOL_CHAIN='sourcery-arm' 
   - RTT_BSP='stm32f429-disco' RTT_TOOL_CHAIN='sourcery-arm' 
   - RTT_BSP='stm32l475-iot-disco' RTT_TOOL_CHAIN='sourcery-arm' 
   - RTT_BSP='stm32l476-nucleo' RTT_TOOL_CHAIN='sourcery-arm' 

+ 57 - 13
bsp/imxrt1052-evk/.config

@@ -8,12 +8,15 @@
 #
 CONFIG_RT_NAME_MAX=8
 CONFIG_RT_ALIGN_SIZE=4
+# CONFIG_RT_THREAD_PRIORITY_8 is not set
+CONFIG_RT_THREAD_PRIORITY_32=y
+# CONFIG_RT_THREAD_PRIORITY_256 is not set
 CONFIG_RT_THREAD_PRIORITY_MAX=32
 CONFIG_RT_TICK_PER_SECOND=100
 CONFIG_RT_DEBUG=y
 CONFIG_RT_USING_OVERFLOW_CHECK=y
 CONFIG_RT_DEBUG_INIT=0
-# CONFIG_RT_DEBUG_THREAD is not set
+CONFIG_RT_DEBUG_THREAD=0
 CONFIG_RT_USING_HOOK=y
 CONFIG_IDLE_THREAD_STACK_SIZE=256
 # CONFIG_RT_USING_TIMER_SOFT is not set
@@ -32,15 +35,18 @@ CONFIG_RT_USING_MESSAGEQUEUE=y
 # Memory Management
 #
 # CONFIG_RT_USING_MEMPOOL is not set
-# CONFIG_RT_USING_MEMHEAP is not set
-CONFIG_RT_USING_HEAP=y
-CONFIG_RT_USING_SMALL_MEM=y
+CONFIG_RT_USING_MEMHEAP=y
+# CONFIG_RT_USING_NOHEAP is not set
+# CONFIG_RT_USING_SMALL_MEM is not set
 # CONFIG_RT_USING_SLAB is not set
+CONFIG_RT_USING_MEMHEAP_AS_HEAP=y
+CONFIG_RT_USING_HEAP=y
 
 #
 # Kernel Device Object
 #
 CONFIG_RT_USING_DEVICE=y
+# CONFIG_RT_USING_INTERRUPT_INFO is not set
 CONFIG_RT_USING_CONSOLE=y
 CONFIG_RT_CONSOLEBUF_SIZE=128
 CONFIG_RT_CONSOLE_DEVICE_NAME="uart1"
@@ -78,8 +84,13 @@ CONFIG_FINSH_USING_MSH_DEFAULT=y
 CONFIG_RT_USING_DFS=y
 CONFIG_DFS_USING_WORKDIR=y
 CONFIG_DFS_FILESYSTEMS_MAX=2
+CONFIG_DFS_FILESYSTEM_TYPES_MAX=2
 CONFIG_DFS_FD_MAX=4
 CONFIG_RT_USING_DFS_ELMFAT=y
+
+#
+# elm-chan's FatFs, Generic FAT Filesystem Module
+#
 CONFIG_RT_DFS_ELM_CODE_PAGE=437
 CONFIG_RT_DFS_ELM_WORD_ACCESS=y
 CONFIG_RT_DFS_ELM_USE_LFN_0=y
@@ -94,6 +105,9 @@ CONFIG_RT_DFS_ELM_MAX_SECTOR_SIZE=512
 CONFIG_RT_DFS_ELM_REENTRANT=y
 CONFIG_RT_USING_DFS_DEVFS=y
 # CONFIG_RT_USING_DFS_NET is not set
+# CONFIG_RT_USING_DFS_ROMFS is not set
+# CONFIG_RT_USING_DFS_RAMFS is not set
+# CONFIG_RT_USING_DFS_UFFS is not set
 # CONFIG_RT_USING_DFS_NFS is not set
 
 #
@@ -111,6 +125,11 @@ CONFIG_RT_USING_SERIAL=y
 CONFIG_RT_USING_SDIO=y
 # CONFIG_RT_USING_SPI is not set
 # CONFIG_RT_USING_WDT is not set
+# CONFIG_RT_USING_WIFI is not set
+
+#
+# Using USB
+#
 # CONFIG_RT_USING_USB_HOST is not set
 # CONFIG_RT_USING_USB_DEVICE is not set
 
@@ -118,10 +137,8 @@ CONFIG_RT_USING_SDIO=y
 # POSIX layer and C standard library
 #
 CONFIG_RT_USING_LIBC=y
-CONFIG_RT_USING_PTHREADS=y
-CONFIG_RT_USING_POSIX=y
-# CONFIG_RT_USING_POSIX_MMAP is not set
-# CONFIG_RT_USING_POSIX_TERMIOS is not set
+# CONFIG_RT_USING_PTHREADS is not set
+# CONFIG_RT_USING_POSIX is not set
 
 #
 # Network stack
@@ -141,6 +158,13 @@ CONFIG_RT_LWIP_DHCP=y
 CONFIG_IP_SOF_BROADCAST=1
 CONFIG_IP_SOF_BROADCAST_RECV=1
 # CONFIG_LWIP_USING_DHCPD is not set
+
+#
+# Static IPv4 Address
+#
+CONFIG_RT_LWIP_IPADDR="192.168.1.30"
+CONFIG_RT_LWIP_GWADDR="192.168.1.1"
+CONFIG_RT_LWIP_MSKADDR="255.255.255.0"
 CONFIG_RT_LWIP_UDP=y
 CONFIG_RT_LWIP_TCP=y
 # CONFIG_RT_LWIP_RAW is not set
@@ -178,6 +202,17 @@ CONFIG_LWIP_SO_RCVBUF=1
 #
 # CONFIG_RT_USING_GUIENGINE is not set
 
+#
+# VBUS(Virtual Software BUS)
+#
+# CONFIG_RT_USING_VBUS is not set
+
+#
+# Utilities
+#
+# CONFIG_RT_USING_LOGTRACE is not set
+# CONFIG_RT_USING_RYM is not set
+
 #
 # RT-Thread online packages
 #
@@ -187,24 +222,30 @@ CONFIG_LWIP_SO_RCVBUF=1
 #
 # CONFIG_PKG_USING_PARTITION is not set
 # CONFIG_PKG_USING_SQLITE is not set
+# CONFIG_PKG_USING_RTI is not set
 
 #
 # IoT - internet of things
 #
-# CONFIG_PKG_USING_CJSON is not set
 # CONFIG_PKG_USING_PAHOMQTT is not set
 # CONFIG_PKG_USING_WEBCLIENT is not set
 # CONFIG_PKG_USING_MONGOOSE is not set
-# CONFIG_PKG_USING_WEB_TERMINAL is not set
+# CONFIG_PKG_USING_WEBTERMINAL is not set
+# CONFIG_PKG_USING_CJSON is not set
+# CONFIG_PKG_USING_EZXML is not set
+# CONFIG_PKG_USING_NANOPB is not set
 
 #
 # security packages
 #
+# CONFIG_PKG_USING_MBEDTLS is not set
+# CONFIG_PKG_USING_libsodium is not set
 
 #
 # language packages
 #
 # CONFIG_PKG_USING_JERRYSCRIPT is not set
+# CONFIG_PKG_USING_MICROPYTHON is not set
 
 #
 # multimedia packages
@@ -214,15 +255,18 @@ CONFIG_LWIP_SO_RCVBUF=1
 # tools packages
 #
 # CONFIG_PKG_USING_CMBACKTRACE is not set
-# CONFIG_PKG_USING_ELOG is not set
+# CONFIG_PKG_USING_EASYLOGGER is not set
+# CONFIG_PKG_USING_SYSTEMVIEW is not set
 
 #
 # miscellaneous packages
 #
-# CONFIG_PKG_USING_HELLO is not set
+# CONFIG_PKG_USING_FASTLZ is not set
+# CONFIG_PKG_USING_MINILZO is not set
 
 #
-# BSP_SPECIAL CONFIG
+# example package: hello
 #
+# CONFIG_PKG_USING_HELLO is not set
 CONFIG_RT_USING_UART=y
 CONFIG_RT_USING_UART1=y

+ 17 - 13
bsp/imxrt1052-evk/Libraries/arm/MIMXRT1052xxxxx_flexspi_nor.scf

@@ -45,20 +45,20 @@
 ** ###################################################################
 */
 
-#define m_interrupts_start             0x60002000
-#define m_interrupts_size              0x00000400
-
-#define m_text_start                   0x60002400
-#define m_text_size                    0x1F7FDC00
+#define m_text_start                   0x60002000
+#define m_text_size                    0x1F7FE000
 
 #define m_data_start                   0x20000000
 #define m_data_size                    0x00020000
 
+#define m_ncache_start                 0x81E00000
+#define m_ncache_size                  0x00200000
+
 /* Sizes */
 #if (defined(__stack_size__))
   #define Stack_Size                   __stack_size__
 #else
-  #define Stack_Size                   0x0400
+  #define Stack_Size                   0x1000
 #endif
 
 #if (defined(__heap_size__))
@@ -67,25 +67,29 @@
   #define Heap_Size                    0x0400
 #endif
 
+#define RTT_HEAP_SIZE                   \
+    (m_data_size - ImageLength(RW_m_data) - ImageLength(ARM_LIB_HEAP) - ImageLength(ARM_LIB_STACK))
+
 LR_m_text m_text_start m_text_size {   ; load region size_region
   ER_m_text m_text_start m_text_size { ; load address = execution address
+    * (RESET,+FIRST)
     * (InRoot$$Sections)
     .ANY (+RO)
   }
   RW_m_data m_data_start m_data_size-Stack_Size-Heap_Size { ; RW data
     .ANY (+RW +ZI)
-    * (NonCacheable.init)
-    * (NonCacheable)
+
   }
   ARM_LIB_HEAP +0 EMPTY Heap_Size {    ; Heap region growing up
   }
-  ARM_LIB_STACK m_data_start+m_data_size EMPTY -Stack_Size { ; Stack region growing down
+  ARM_LIB_STACK +0 EMPTY Stack_Size { ; Stack region growing down
+  }
+  RTT_HEAP +0 EMPTY RTT_HEAP_SIZE {
   }
-}
 
-LR_m_interrupts m_interrupts_start m_interrupts_size {
-  VECTOR_ROM m_interrupts_start m_interrupts_size { ; load address = execution address
-    * (RESET,+FIRST)
+  RW_m_ncache m_ncache_start m_ncache_size { ; ncache RW data
+    * (NonCacheable.init)
+    * (NonCacheable)
   }
 }
 

+ 45 - 0
bsp/imxrt1052-evk/Libraries/arm/evkmimxrt1050_flexspi_nor.ini

@@ -0,0 +1,45 @@
+/*
+ * Copyright 2017 NXP
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * o Redistributions of source code must retain the above copyright notice, this list
+ *   of conditions and the following disclaimer.
+ *
+ * o Redistributions in binary form must reproduce the above copyright notice, this
+ *   list of conditions and the following disclaimer in the documentation and/or
+ *   other materials provided with the distribution.
+ *
+ * o Neither the name of the copyright holder nor the names of its
+ *   contributors may be used to endorse or promote products derived from this
+ *   software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+FUNC void Setup (void) {
+    
+  SP = _RDWORD(0x60002000);          // Setup Stack Pointer
+  PC = _RDWORD(0x60002004);          // Setup Program Counter
+  _WDWORD(0xE000ED08, 0x60002000);   // Setup Vector Table Offset Register
+}
+
+FUNC void OnResetExec (void)  {      // executes upon software RESET
+  Setup();                           // Setup for Running
+}
+
+LOAD %L INCREMENTAL                  // Download
+
+Setup();                             // Setup for Running
+
+// g, main

+ 52 - 22
bsp/imxrt1052-evk/Libraries/gcc/MIMXRT1052xxxxx_flexspi_nor.ld

@@ -53,14 +53,33 @@ STACK_SIZE = DEFINED(__stack_size__) ? __stack_size__ : 0x0400;
 /* Specify the memory areas */
 MEMORY
 {
+  m_boot_data           (RX)  : ORIGIN = 0x60000000, LENGTH = 0x00000400
+  m_image_vertor_table  (RX)  : ORIGIN = 0x60001000, LENGTH = 0x00000400
+
   m_interrupts          (RX)  : ORIGIN = 0x60002000, LENGTH = 0x00000400
   m_text                (RX)  : ORIGIN = 0x60002400, LENGTH = 0x1F7FDC00
-  m_data                (RW)  : ORIGIN = 0x20000000, LENGTH = 0x00020000
+
+  m_itcm                (RW)  : ORIGIN = 0x00000000, LENGTH = 0x00020000
+  m_dtcm                (RW)  : ORIGIN = 0x20000000, LENGTH = 0x00020000
+  m_ocram               (RW)  : ORIGIN = 0x20200000, LENGTH = 0x00040000
+
+  m_sdram               (RW)  : ORIGIN = 0x80000000, LENGTH = 0x01E00000
+  m_nocache             (RW)  : ORIGIN = 0x81E00000, LENGTH = 0x00200000
 }
 
 /* Define output sections */
 SECTIONS
 {
+  .boot_data :
+  {
+    KEEP(*(.bootdata))
+  } > m_boot_data
+
+  .image_vertor_table :
+  {
+    KEEP(*(.ivt))
+  } > m_image_vertor_table
+
   /* The startup code goes first into internal RAM */
   .interrupts :
   {
@@ -87,6 +106,23 @@ SECTIONS
     KEEP (*(.init))
     KEEP (*(.fini))
     . = ALIGN(4);
+
+    /* section information for finsh shell */
+    . = ALIGN(4);
+    __fsymtab_start = .;
+    KEEP(*(FSymTab))
+    __fsymtab_end = .;
+    . = ALIGN(4);
+    __vsymtab_start = .;
+    KEEP(*(VSymTab))
+    __vsymtab_end = .;
+    . = ALIGN(4);
+
+    /* section information for initial. */
+    . = ALIGN(4);
+    __rt_init_start = .;
+    KEEP(*(SORT(.rti_fn*)))
+    __rt_init_end = .;
   } > m_text
 
   .ARM.extab :
@@ -173,7 +209,7 @@ SECTIONS
     KEEP(*(.jcr*))
     . = ALIGN(4);
     __data_end__ = .;        /* define a global symbol at data end */
-  } > m_data
+  } > m_dtcm
 
   __NDATA_ROM = __DATA_ROM + (__data_end__ - __data_start__);
   .ncache.init : AT(__NDATA_ROM)
@@ -182,14 +218,14 @@ SECTIONS
     *(NonCacheable.init)
     . = ALIGN(4);
     __noncachedata_init_end__ = .;   /* create a global symbol at initialized ncache data end */
-  } > m_data
+  } > m_dtcm
   . = __noncachedata_init_end__;
   .ncache :
   {
     *(NonCacheable)
     . = ALIGN(4);
     __noncachedata_end__ = .;     /* define a global symbol at ncache data end */
-  } > m_data
+  } > m_dtcm
 
   __DATA_END = __NDATA_ROM + (__noncachedata_init_end__ - __noncachedata_start__);
   text_end = ORIGIN(m_text) + LENGTH(m_text);
@@ -209,32 +245,26 @@ SECTIONS
     . = ALIGN(4);
     __bss_end__ = .;
     __END_BSS = .;
-  } > m_data
-
-  .heap :
-  {
-    . = ALIGN(8);
-    __end__ = .;
-    PROVIDE(end = .);
-    __HeapBase = .;
-    . += HEAP_SIZE;
-    __HeapLimit = .;
-    __heap_limit = .; /* Add for _sbrk */
-  } > m_data
+  } > m_dtcm
 
   .stack :
   {
     . = ALIGN(8);
+    stack_start = .;
     . += STACK_SIZE;
-  } > m_data
+    stack_end = .;
+    __StackTop = .;
+  } > m_dtcm
+  
+  .RTT_HEAP :
+  {
+    heap_start = .;
+    . = ALIGN(8);
+  } > m_dtcm
 
-  /* Initializes stack on the end of block */
-  __StackTop   = ORIGIN(m_data) + LENGTH(m_data);
-  __StackLimit = __StackTop - STACK_SIZE;
-  PROVIDE(__stack = __StackTop);
+  PROVIDE(heap_end = ORIGIN(m_dtcm) + LENGTH(m_dtcm));
 
   .ARM.attributes 0 : { *(.ARM.attributes) }
 
-  ASSERT(__StackLimit >= __HeapLimit, "region m_data overflowed with stack and heap")
 }
 

+ 34 - 22
bsp/imxrt1052-evk/Libraries/gcc/MIMXRT1052xxxxx_ram.ld

@@ -54,8 +54,14 @@ STACK_SIZE = DEFINED(__stack_size__) ? __stack_size__ : 0x0400;
 MEMORY
 {
   m_interrupts          (RX)  : ORIGIN = 0x00000000, LENGTH = 0x00000400
-  m_text                (RX)  : ORIGIN = 0x00000400, LENGTH = 0x0001FC00
-  m_data                (RW)  : ORIGIN = 0x20000000, LENGTH = 0x00020000
+  m_text                (RX)  : ORIGIN = 0x00000400, LENGTH = 0x00020000
+
+  /* m_itcm                (RW)  : ORIGIN = 0x00000000, LENGTH = 0x00020000 */
+  m_dtcm                (RW)  : ORIGIN = 0x20000000, LENGTH = 0x00020000
+  /* m_ocram               (RW)  : ORIGIN = 0x20200000, LENGTH = 0x00040000 */
+
+  /* m_sdram               (RW)  : ORIGIN = 0x80000000, LENGTH = 0x01E00000 */
+  /* m_nocache             (RW)  : ORIGIN = 0x81E00000, LENGTH = 0x00200000 */
 }
 
 /* Define output sections */
@@ -87,6 +93,23 @@ SECTIONS
     KEEP (*(.init))
     KEEP (*(.fini))
     . = ALIGN(4);
+
+    /* section information for finsh shell */
+    . = ALIGN(4);
+    __fsymtab_start = .;
+    KEEP(*(FSymTab))
+    __fsymtab_end = .;
+    . = ALIGN(4);
+    __vsymtab_start = .;
+    KEEP(*(VSymTab))
+    __vsymtab_end = .;
+    . = ALIGN(4);
+
+    /* section information for initial. */
+    . = ALIGN(4);
+    __rt_init_start = .;
+    KEEP(*(SORT(.rti_fn*)))
+    __rt_init_end = .;
   } > m_text
 
   .ARM.extab :
@@ -173,7 +196,7 @@ SECTIONS
     KEEP(*(.jcr*))
     . = ALIGN(4);
     __data_end__ = .;        /* define a global symbol at data end */
-  } > m_data
+  } > m_dtcm
 
   __NDATA_ROM = __DATA_ROM + (__data_end__ - __data_start__);
   .ncache.init : AT(__NDATA_ROM)
@@ -182,14 +205,14 @@ SECTIONS
     *(NonCacheable.init)
     . = ALIGN(4);
     __noncachedata_init_end__ = .;   /* create a global symbol at initialized ncache data end */
-  } > m_data
+  } > m_dtcm
   . = __noncachedata_init_end__;
   .ncache :
   {
     *(NonCacheable)
     . = ALIGN(4);
     __noncachedata_end__ = .;     /* define a global symbol at ncache data end */
-  } > m_data
+  } > m_dtcm
 
   __DATA_END = __NDATA_ROM + (__noncachedata_init_end__ - __noncachedata_start__);
   text_end = ORIGIN(m_text) + LENGTH(m_text);
@@ -209,32 +232,21 @@ SECTIONS
     . = ALIGN(4);
     __bss_end__ = .;
     __END_BSS = .;
-  } > m_data
-
-  .heap :
-  {
-    . = ALIGN(8);
-    __end__ = .;
-    PROVIDE(end = .);
-    __HeapBase = .;
-    . += HEAP_SIZE;
-    __HeapLimit = .;
-    __heap_limit = .; /* Add for _sbrk */
-  } > m_data
+  } > m_dtcm
 
   .stack :
   {
     . = ALIGN(8);
+    stack_start = .;
     . += STACK_SIZE;
-  } > m_data
+    stack_end = .;
+    heap_start = .;
+  } > m_dtcm
 
   /* Initializes stack on the end of block */
-  __StackTop   = ORIGIN(m_data) + LENGTH(m_data);
-  __StackLimit = __StackTop - STACK_SIZE;
+  __StackTop   = stack_end;
   PROVIDE(__stack = __StackTop);
 
   .ARM.attributes 0 : { *(.ARM.attributes) }
-
-  ASSERT(__StackLimit >= __HeapLimit, "region m_data overflowed with stack and heap")
 }
 

+ 4 - 0
bsp/imxrt1052-evk/Libraries/gcc/startup_MIMXRT1052.S

@@ -36,6 +36,10 @@
 /*****************************************************************************/
 /* Version: GCC for ARM Embedded Processors                                  */
 /*****************************************************************************/
+
+#define __STARTUP_INITIALIZE_NONCACHEDATA
+#define __STARTUP_CLEAR_BSS
+
     .syntax unified
     .arch armv7-m
 

+ 31 - 15
bsp/imxrt1052-evk/Libraries/iar/MIMXRT1052xxxxx_flexspi_nor.icf

@@ -47,14 +47,23 @@
 define symbol m_interrupts_start       = 0x60002000;
 define symbol m_interrupts_end         = 0x600023FF;
 
-define symbol m_text_start             = 0x60002400;
-define symbol m_text_end               = 0x7F7FFFFF;
+define symbol m_itcm_start             = 0x00000000;
+define symbol m_itcm_end               = 0x0001FFFF;
 
-define symbol m_data_start             = 0x20000000;
-define symbol m_data_end               = 0x2001FFFF;
+define symbol m_spiflash_start         = 0x60002400;
+define symbol m_spiflash_end           = 0x7F7FFFFF;
 
-define symbol m_data2_start            = 0x20200000;
-define symbol m_data2_end              = 0x2023FFFF;
+define symbol m_dtcm_start             = 0x20000000;
+define symbol m_dtcm_end               = 0x2001FFFF;
+
+define symbol m_ocram_start            = 0x20200000;
+define symbol m_ocram_end              = 0x2023FFFF;
+
+define symbol m_sdram_start            = 0x80000000;
+define symbol m_sdram_end              = 0x81DFFFFF;
+
+define symbol m_ncache_start           = 0x81E00000;
+define symbol m_ncache_end             = 0x81FFFFFF;
 
 /* Sizes */
 if (isdefinedsymbol(__stack_size__)) {
@@ -72,14 +81,17 @@ if (isdefinedsymbol(__heap_size__)) {
 define exported symbol __VECTOR_TABLE  = m_interrupts_start;
 define exported symbol __VECTOR_RAM    = m_interrupts_start;
 define exported symbol __RAM_VECTOR_TABLE_SIZE = 0x0;
+define exported symbol __RTT_HEAP_END = m_dtcm_end;
 
 define memory mem with size = 4G;
 define region TEXT_region = mem:[from m_interrupts_start to m_interrupts_end]
-                          | mem:[from m_text_start to m_text_end];
+                          | mem:[from m_spiflash_start to m_spiflash_end];
 
-define region DATA_region = mem:[from m_data_start to m_data_end-__size_cstack__];
-define region DATA2_region = mem:[from m_data2_start to m_data2_end];
-define region CSTACK_region = mem:[from m_data_end-__size_cstack__+1 to m_data_end];
+define region ITCM_region = mem:[from m_itcm_start to m_itcm_end];
+define region DTCM_region = mem:[from m_dtcm_start to m_dtcm_end];
+define region OCRAM_region = mem:[from m_ocram_start to m_ocram_end];
+define region NCACHE_region = mem:[from m_ncache_start to m_ncache_end];
+define region SDRAM_region = mem:[from m_sdram_start to m_sdram_end];
 
 define block CSTACK    with alignment = 8, size = __size_cstack__   { };
 define block HEAP      with alignment = 8, size = __size_heap__     { };
@@ -92,10 +104,14 @@ do not initialize  { section .noinit };
 
 place at address mem: m_interrupts_start    { readonly section .intvec };
 
+keep { section FSymTab };
+keep { section VSymTab };
+keep { section .rti_fn* };
+
 place in TEXT_region                        { readonly };
-place in DATA_region                        { block RW };
-place in DATA_region                        { block ZI };
-place in DATA_region                        { last block HEAP };
-place in DATA_region                        { block NCACHE_VAR };
-place in CSTACK_region                      { block CSTACK };
+place in DTCM_region                        { block RW };
+place in DTCM_region                        { block ZI };
+place in DTCM_region                        { last block HEAP };
+place in DTCM_region                        { block CSTACK };
+place in NCACHE_region                      { block NCACHE_VAR };
 

+ 2 - 0
bsp/imxrt1052-evk/Libraries/system_MIMXRT1052.c

@@ -116,6 +116,8 @@ void SystemInit (void) {
    SCB_EnableDCache();
 #endif
 
+    extern void rt_lowlevel_init(void);
+    rt_lowlevel_init();
 }
 
 /* ----------------------------------------------------------------------------

+ 95 - 42
bsp/imxrt1052-evk/applications/main.c

@@ -30,63 +30,116 @@
 #include <dfs_file.h>
 #endif
 
-#include <board.h>
-
-RT_USED MPU_Type *mpu = MPU;
-RT_USED IOMUXC_GPR_Type *iomuxc_gpr = IOMUXC_GPR;
+#ifdef RT_USING_DEVICE
+#include <rtdevice.h>
+#endif
 
+#include <board.h>
 
-static void dump_clock(void)
+void dump_clock(void)
 {
     rt_kprintf("CPU clock: %d\n",                   CLOCK_GetFreq(kCLOCK_CpuClk));
 	rt_kprintf("AHB clock : %d\n",                  CLOCK_GetFreq(kCLOCK_AhbClk));
 	rt_kprintf("SEMC clock : %d\n",                 CLOCK_GetFreq(kCLOCK_SemcClk));
-	rt_kprintf("IPG clock : %d\n",                  CLOCK_GetFreq(kCLOCK_IpgClk));               
-	rt_kprintf("OSC clock selected : %d\n",         CLOCK_GetFreq(kCLOCK_OscClk));               
-	rt_kprintf("RTC clock: %d\n",                   CLOCK_GetFreq(kCLOCK_RtcClk));               
-	rt_kprintf("ARMPLLCLK : %d\n",                  CLOCK_GetFreq(kCLOCK_ArmPllClk));            
-	rt_kprintf("USB1PLLCLK : %d\n",                 CLOCK_GetFreq(kCLOCK_Usb1PllClk));           
-	rt_kprintf("USB1PLLPDF0CLK : %d\n",             CLOCK_GetFreq(kCLOCK_Usb1PllPfd0Clk));       
-	rt_kprintf("USB1PLLPFD1CLK : %d\n",             CLOCK_GetFreq(kCLOCK_Usb1PllPfd1Clk));       
-	rt_kprintf("USB1PLLPFD2CLK : %d\n",             CLOCK_GetFreq(kCLOCK_Usb1PllPfd2Clk));       
-	rt_kprintf("USB1PLLPFD3CLK : %d\n",             CLOCK_GetFreq(kCLOCK_Usb1PllPfd3Clk));       
-	rt_kprintf("USB2PLLCLK : %d\n",                 CLOCK_GetFreq(kCLOCK_Usb2PllClk));           
-	rt_kprintf("SYSPLLCLK : %d\n",                  CLOCK_GetFreq(kCLOCK_SysPllClk));            
-	rt_kprintf("SYSPLLPDF0CLK : %d\n",              CLOCK_GetFreq(kCLOCK_SysPllPfd0Clk));        
-	rt_kprintf("SYSPLLPFD1CLK : %d\n",              CLOCK_GetFreq(kCLOCK_SysPllPfd1Clk));        
-	rt_kprintf("SYSPLLPFD2CLK : %d\n",              CLOCK_GetFreq(kCLOCK_SysPllPfd2Clk));        
-	rt_kprintf("SYSPLLPFD3CLK : %d\n",              CLOCK_GetFreq(kCLOCK_SysPllPfd3Clk));        
-	rt_kprintf("Enet PLLCLK ref_enetpll0 : %d\n",   CLOCK_GetFreq(kCLOCK_EnetPll0Clk));          
-	rt_kprintf("Enet PLLCLK ref_enetpll1 : %d\n",   CLOCK_GetFreq(kCLOCK_EnetPll1Clk));          
-	rt_kprintf("Enet PLLCLK ref_enetpll2 : %d\n",   CLOCK_GetFreq(kCLOCK_EnetPll2Clk));          
-	rt_kprintf("Audio PLLCLK : %d\n",               CLOCK_GetFreq(kCLOCK_AudioPllClk));          
-	rt_kprintf("Video PLLCLK : %d\n",               CLOCK_GetFreq(kCLOCK_VideoPllClk));          
+	rt_kprintf("IPG clock : %d\n",                  CLOCK_GetFreq(kCLOCK_IpgClk));
+	rt_kprintf("OSC clock selected : %d\n",         CLOCK_GetFreq(kCLOCK_OscClk));
+	rt_kprintf("RTC clock: %d\n",                   CLOCK_GetFreq(kCLOCK_RtcClk));
+	rt_kprintf("ARMPLLCLK : %d\n",                  CLOCK_GetFreq(kCLOCK_ArmPllClk));
+	rt_kprintf("USB1PLLCLK : %d\n",                 CLOCK_GetFreq(kCLOCK_Usb1PllClk));
+	rt_kprintf("USB1PLLPDF0CLK : %d\n",             CLOCK_GetFreq(kCLOCK_Usb1PllPfd0Clk));
+	rt_kprintf("USB1PLLPFD1CLK : %d\n",             CLOCK_GetFreq(kCLOCK_Usb1PllPfd1Clk));
+	rt_kprintf("USB1PLLPFD2CLK : %d\n",             CLOCK_GetFreq(kCLOCK_Usb1PllPfd2Clk));
+	rt_kprintf("USB1PLLPFD3CLK : %d\n",             CLOCK_GetFreq(kCLOCK_Usb1PllPfd3Clk));
+	rt_kprintf("USB2PLLCLK : %d\n",                 CLOCK_GetFreq(kCLOCK_Usb2PllClk));
+	rt_kprintf("SYSPLLCLK : %d\n",                  CLOCK_GetFreq(kCLOCK_SysPllClk));
+	rt_kprintf("SYSPLLPDF0CLK : %d\n",              CLOCK_GetFreq(kCLOCK_SysPllPfd0Clk));
+	rt_kprintf("SYSPLLPFD1CLK : %d\n",              CLOCK_GetFreq(kCLOCK_SysPllPfd1Clk));
+	rt_kprintf("SYSPLLPFD2CLK : %d\n",              CLOCK_GetFreq(kCLOCK_SysPllPfd2Clk));
+	rt_kprintf("SYSPLLPFD3CLK : %d\n",              CLOCK_GetFreq(kCLOCK_SysPllPfd3Clk));
+	rt_kprintf("Enet PLLCLK ref_enetpll0 : %d\n",   CLOCK_GetFreq(kCLOCK_EnetPll0Clk));
+	rt_kprintf("Enet PLLCLK ref_enetpll1 : %d\n",   CLOCK_GetFreq(kCLOCK_EnetPll1Clk));
+	rt_kprintf("Enet PLLCLK ref_enetpll2 : %d\n",   CLOCK_GetFreq(kCLOCK_EnetPll2Clk));
+	rt_kprintf("Audio PLLCLK : %d\n",               CLOCK_GetFreq(kCLOCK_AudioPllClk));
+	rt_kprintf("Video PLLCLK : %d\n",               CLOCK_GetFreq(kCLOCK_VideoPllClk));
+}
+
+void dump_cc_info(void)
+{
+#if defined(__CC_ARM)
+    rt_kprintf("using armcc, version: %d\n", __ARMCC_VERSION);
+#elif defined(__ICCARM__)
+    rt_kprintf("using iccarm, version: %d\n", __VER__);
+#elif defined(__GNUC__)
+    rt_kprintf("using gcc, version: %d.%d\n", __GNUC__, __GNUC_MINOR__);
+#endif
 }
 
-void dump_tcm(void)
+void dump_link_info(void)
 {
-    #define DUMP_REG(__REG)   \
-        rt_kprintf("%s(%08p): %08x\n", #__REG, &(__REG), __REG)
-            
-    DUMP_REG(IOMUXC_GPR->GPR14);
-    DUMP_REG(IOMUXC_GPR->GPR16);
-    DUMP_REG(IOMUXC_GPR->GPR17);
+#if defined(__CC_ARM)
+
+#elif defined(__ICCARM__)
+
+#elif defined(__GNUC__)
+    #define DUMP_SYMBOL(__SYM)                  \
+        extern int __SYM;                       \
+        rt_kprintf("%s: %p\n", #__SYM, &__SYM)
+
+    DUMP_SYMBOL(__fsymtab_start);
+    DUMP_SYMBOL(__fsymtab_end);
+    DUMP_SYMBOL(__vsymtab_start);
+    DUMP_SYMBOL(__vsymtab_end);
+    DUMP_SYMBOL(__rt_init_start);
+    DUMP_SYMBOL(__rt_init_end);
+
+    DUMP_SYMBOL(__exidx_start);
+    DUMP_SYMBOL(__exidx_end);
+
+    DUMP_SYMBOL(__etext);
+
+    DUMP_SYMBOL(__data_start__);
+    DUMP_SYMBOL(__data_end__);
+
+    DUMP_SYMBOL(__noncachedata_start__);
+    DUMP_SYMBOL(__noncachedata_init_end__);
+
+    DUMP_SYMBOL(__noncachedata_end__);
+
+    DUMP_SYMBOL(__bss_start__);
+    DUMP_SYMBOL(__bss_end__);
+
+    DUMP_SYMBOL(stack_start);
+    DUMP_SYMBOL(stack_end);
+
+    DUMP_SYMBOL(heap_start);
+#endif
 }
 
 int main(void)
 {
+    rt_uint32_t result;
     //dump_clock();
-    //dump_tcm();
-    
-    rt_thread_delay(RT_TICK_PER_SECOND * 2);
-    
-    /* mount sd card fat partition 1 as root directory */
-    if (dfs_mount("sd0", "/", "elm", 0, 0) == 0)
-        rt_kprintf("File System initialized!\n");
+    dump_cc_info();
+    dump_link_info();
+
+    rt_kprintf("build time: %s %s\n", __DATE__, __TIME__);
+
+#if defined(RT_USING_DFS) && defined(RT_USING_SDIO)
+    result = mmcsd_wait_cd_changed(RT_TICK_PER_SECOND);
+    if (result == MMCSD_HOST_PLUGED)
+    {
+        /* mount sd card fat partition 1 as root directory */
+        if (dfs_mount("sd0", "/", "elm", 0, 0) == 0)
+            rt_kprintf("File System initialized!\n");
+        else
+            rt_kprintf("File System init failed!\n");
+    }
     else
-        rt_kprintf("File System init failed!\n");
-    
-    
+    {
+        rt_kprintf("sdcard init fail or timeout: %d!\n", result);
+    }
+#endif
+
     while (1)
     {
         rt_thread_delay(RT_TICK_PER_SECOND);

+ 50 - 0
bsp/imxrt1052-evk/applications/mem_dump.c

@@ -0,0 +1,50 @@
+/*
+ * File      : clock.c
+ * This file is part of RT-Thread RTOS
+ * COPYRIGHT (C) 2006 - 2012, RT-Thread Development Team
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License along
+ *  with this program; if not, write to the Free Software Foundation, Inc.,
+ *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Change Logs:
+ * Date           Author       Notes
+ * 2017-12-05     Tanek        first version
+ */
+
+#include <rtthread.h>
+
+static void mem_dump(uint32_t buffer, uint32_t length)
+{
+    uint32_t *buf = (uint32_t *)buffer;
+    int i;
+
+    for (i = 0; i < length / 4; i++)
+    {
+        rt_kprintf("0x%08X,", buf[i]);
+
+        if (i % 8 == 7)
+        {
+            rt_kprintf("\n");
+        }
+        else
+        {
+            rt_kprintf(" ");
+        }
+    }
+}
+
+#ifdef RT_USING_FINSH
+#include <finsh.h>
+FINSH_FUNCTION_EXPORT(mem_dump, dump memory);
+#endif

+ 0 - 95
bsp/imxrt1052-evk/bsp/imxrt/imxrt1052_sdram.icf

@@ -1,95 +0,0 @@
-/*
-** ###################################################################
-**     Processor:           MIMXRT1052DVL6A
-**     Compiler:            IAR ANSI C/C++ Compiler for ARM
-**     Reference manual:    i.MX 6RT for ROM
-**     Version:             rev. 0.1, 2017-01-10
-**     Build:               b170608
-**
-**     Abstract:
-**         Linker file for the IAR ANSI C/C++ Compiler for ARM
-**
-**     Copyright 2016 Freescale Semiconductor, Inc.
-**     Copyright 2016-2017 NXP
-**     Redistribution and use in source and binary forms, with or without modification,
-**     are permitted provided that the following conditions are met:
-**
-**     1. Redistributions of source code must retain the above copyright notice, this list
-**       of conditions and the following disclaimer.
-**
-**     2. Redistributions in binary form must reproduce the above copyright notice, this
-**       list of conditions and the following disclaimer in the documentation and/or
-**       other materials provided with the distribution.
-**
-**     3. Neither the name of the copyright holder nor the names of its
-**       contributors may be used to endorse or promote products derived from this
-**       software without specific prior written permission.
-**
-**     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-**     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-**     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-**     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
-**     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-**     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-**     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-**     ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-**     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-**     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-**
-**     http:                 www.nxp.com
-**     mail:                 support@nxp.com
-**
-** ###################################################################
-*/
-
-define symbol m_interrupts_start       = 0x00000000;
-define symbol m_interrupts_end         = 0x000003FF;
-
-define symbol m_text_start             = 0x00000400;
-define symbol m_text_end               = 0x0001FFFF;
-
-define symbol m_data_start             = 0x80020000;
-define symbol m_data_end               = 0x800FFFFF;
-
-/* Sizes */
-if (isdefinedsymbol(__stack_size__)) {
-  define symbol __size_cstack__        = __stack_size__;
-} else {
-  define symbol __size_cstack__        = 0x0400;
-}
-
-if (isdefinedsymbol(__heap_size__)) {
-  define symbol __size_heap__          = __heap_size__;
-} else {
-  define symbol __size_heap__          = 0x0400;
-}
-
-define exported symbol __VECTOR_TABLE  = m_interrupts_start;
-define exported symbol __VECTOR_RAM    = m_interrupts_start;
-define exported symbol __RAM_VECTOR_TABLE_SIZE = 0x0;
-
-define memory mem with size = 4G;
-define region TEXT_region = mem:[from m_interrupts_start to m_interrupts_end]
-                          | mem:[from m_text_start to m_text_end];
-define region DATA_region = mem:[from m_data_start to m_data_end-__size_cstack__];
-define region CSTACK_region = mem:[from m_data_end-__size_cstack__+1 to m_data_end];
-
-define block CSTACK    with alignment = 8, size = __size_cstack__   { };
-define block HEAP      with alignment = 8, size = __size_heap__     { };
-define block RW        { readwrite };
-define block ZI        { zi };
-define block RTT_INIT_FUNC with fixed order { readonly section .rti_fn* };
-
-initialize by copy { readwrite, section .textrw };
-do not initialize  { section .noinit };
-
-keep { section FSymTab };
-keep { section VSymTab };
-keep { section .rti_fn* };
-place at address mem: m_interrupts_start    { readonly section .intvec };
-place in TEXT_region                        { readonly, block RTT_INIT_FUNC  };
-place in DATA_region                        { block RW };
-place in DATA_region                        { block ZI };
-place in DATA_region                        { last block HEAP };
-place in CSTACK_region                      { block CSTACK };
-

+ 2 - 0
bsp/imxrt1052-evk/drivers/SConscript

@@ -8,6 +8,8 @@ cwd     = os.path.join(str(Dir('#')), 'drivers')
 src = Split("""
 board.c
 usart.c
+hyper_flash_boot.c
+drv_sdram.c
 """)
 
 CPPPATH = [cwd]

+ 82 - 12
bsp/imxrt1052-evk/drivers/board.c

@@ -18,6 +18,8 @@
 #include "board.h"
 #include "usart.h"
 
+static struct rt_memheap system_heap;
+
 /* ARM PLL configuration for RUN mode */
 const clock_arm_pll_config_t armPllConfig = { .loopDivider = 100U };
 
@@ -29,14 +31,14 @@ const clock_usb_pll_config_t usb1PllConfig = { .loopDivider = 0U };
 
 static void BOARD_BootClockGate(void)
 {
-    /* Disable all unused peripheral clock */
-    CCM->CCGR0 = 0x00C0000FU;
-    CCM->CCGR1 = 0x30000000U;
-    CCM->CCGR2 = 0x003F0030U;
-    CCM->CCGR3 = 0xF0000330U;
-    CCM->CCGR4 = 0x0000FF3CU;
-    CCM->CCGR5 = 0xF000330FU;
-    CCM->CCGR6 = 0x00FC0300U;
+//    /* Disable all unused peripheral clock */
+//    CCM->CCGR0 = 0x00C0000FU;
+//    CCM->CCGR1 = 0x30000000U;
+//    CCM->CCGR2 = 0x003F0030U;
+//    CCM->CCGR3 = 0xF0000330U;
+//    CCM->CCGR4 = 0x0000FF3CU;
+//    CCM->CCGR5 = 0xF000330FU;
+//    CCM->CCGR6 = 0x00FC0300U;
 }
 
 static void BOARD_BootClockRUN(void)
@@ -83,6 +85,64 @@ static void BOARD_BootClockRUN(void)
 }
 
 
+/* MPU configuration. */
+static void BOARD_ConfigMPU(void)
+{
+    /* Disable I cache and D cache */
+    SCB_DisableICache();
+    SCB_DisableDCache();
+
+    /* Disable MPU */
+    ARM_MPU_Disable();
+
+    /* Region 0 setting */
+    MPU->RBAR = ARM_MPU_RBAR(0, 0xC0000000U);
+    MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 2, 0, 0, 0, 0, ARM_MPU_REGION_SIZE_512MB);
+
+    /* Region 1 setting */
+    MPU->RBAR = ARM_MPU_RBAR(1, 0x80000000U);
+    MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 2, 0, 0, 0, 0, ARM_MPU_REGION_SIZE_1GB);
+
+    /* Region 2 setting */
+    // spi flash: normal type, cacheable, no bufferable, no shareable
+    MPU->RBAR = ARM_MPU_RBAR(2, 0x60000000U);
+    MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 0, 0, ARM_MPU_REGION_SIZE_512MB);
+
+    /* Region 3 setting */
+    MPU->RBAR = ARM_MPU_RBAR(3, 0x00000000U);
+    MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 2, 0, 0, 0, 0, ARM_MPU_REGION_SIZE_1GB);
+
+    /* Region 4 setting */
+    MPU->RBAR = ARM_MPU_RBAR(4, 0x00000000U);
+    MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 1, 0, ARM_MPU_REGION_SIZE_128KB);
+
+    /* Region 5 setting */
+    MPU->RBAR = ARM_MPU_RBAR(5, 0x20000000U);
+    MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 1, 0, ARM_MPU_REGION_SIZE_128KB);
+
+    /* Region 6 setting */
+    MPU->RBAR = ARM_MPU_RBAR(6, 0x20200000U);
+    MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 1, 0, ARM_MPU_REGION_SIZE_256KB);
+
+#if defined(SDRAM_MPU_INIT)
+    /* Region 7 setting */
+    MPU->RBAR = ARM_MPU_RBAR(7, 0x80000000U);
+    MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 1, 0, ARM_MPU_REGION_SIZE_32MB);
+
+    /* Region 8 setting */
+    MPU->RBAR = ARM_MPU_RBAR(8, 0x81E00000U);
+    MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 1, 1, 0, 0, 0, ARM_MPU_REGION_SIZE_2MB);
+#endif
+
+    /* Enable MPU */
+    ARM_MPU_Enable(MPU_CTRL_PRIVDEFENA_Msk);
+
+    /* Enable I cache and D cache */
+    SCB_EnableDCache();
+    SCB_EnableICache();
+}
+
+
 /**
  * This is the timer interrupt service routine.
  *
@@ -98,17 +158,23 @@ void SysTick_Handler(void)
     rt_interrupt_leave();
 }
 
+void rt_lowlevel_init(void)
+{
+    BOARD_ConfigMPU();
+
+    extern int imxrt_sdram_init(void);
+    imxrt_sdram_init();
+}
+
 /**
  * This function will initial LPC8XX board.
  */
 void rt_hw_board_init()
 {
     BOARD_BootClockRUN();
+
     
     SysTick_Config(SystemCoreClock / RT_TICK_PER_SECOND);
-
-    extern int imxrt_hw_usart_init(void);
-    imxrt_hw_usart_init();
     
 #ifdef RT_USING_COMPONENTS_INIT
     rt_components_board_init();
@@ -119,7 +185,11 @@ void rt_hw_board_init()
 #endif
     
 #ifdef RT_USING_HEAP
-    rt_system_heap_init((void*)HEAP_BEGIN, (void*)HEAP_END);
+    rt_kprintf("sdram heap, begin: 0x%p, end: 0x%p\n", SDRAM_BEGIN, SDRAM_END);
+    rt_system_heap_init((void*)SDRAM_BEGIN, (void*)SDRAM_END);
+
+    rt_kprintf("sram heap, begin: 0x%p, end: 0x%p\n", HEAP_BEGIN, HEAP_END);
+    rt_memheap_init(&system_heap, "sram", (void *)HEAP_BEGIN, HEAP_SIZE);
 #endif
 }
 

+ 18 - 7
bsp/imxrt1052-evk/drivers/board.h

@@ -21,18 +21,29 @@
 #include <fsl_iomuxc.h>
 
 #ifdef __CC_ARM
-extern int Image$$RW_m_data$$ZI$$Limit;
-#define HEAP_BEGIN    (&Image$$RW_m_data$$ZI$$Limit)
+extern int Image$$RTT_HEAP$$ZI$$Base;
+extern int Image$$RTT_HEAP$$ZI$$Limit;
+#define HEAP_BEGIN          (&Image$$RTT_HEAP$$ZI$$Base)
+#define HEAP_END            (&Image$$RTT_HEAP$$ZI$$Limit)
+
 #elif __ICCARM__
 #pragma section="HEAP"
-#define HEAP_BEGIN    (__segment_end("HEAP"))
+#define HEAP_BEGIN          (__segment_end("HEAP"))
+extern void __RTT_HEAP_END;
+#define HEAP_END            (&__RTT_HEAP_END)
+
 #else
-extern int __data_end__;
-#define HEAP_BEGIN    (&__data_end__)
+extern int heap_start;
+extern int heap_end;
+#define HEAP_BEGIN          (&heap_start)
+#define HEAP_END            (&heap_end)
 #endif
 
-#define HEAP_END          0x81DFFFFF
-//#define HEAP_END          0x2001FFFF
+#define HEAP_SIZE           ((uint32_t)HEAP_END - (uint32_t)HEAP_BEGIN)
+
+#define SDRAM_MPU_INIT
+#define SDRAM_BEGIN         (0x80000000u)
+#define SDRAM_END           (0x81E00000u)
 
 void rt_hw_board_init(void);
 

+ 87 - 76
bsp/imxrt1052-evk/drivers/drv_eth.c

@@ -28,7 +28,7 @@
 
 #include <netif/ethernetif.h>
 #include "lwipopts.h"
-     
+
 #define ENET_RXBD_NUM (4)
 #define ENET_TXBD_NUM (4)
 #define ENET_RXBUFF_SIZE (ENET_FRAME_MAX_FRAMELEN)
@@ -36,16 +36,17 @@
 
 #define PHY_ADDRESS     0x02u
 
+
+
 /* debug option */
-//#define DEBUG
 //#define ETH_RX_DUMP
 //#define ETH_TX_DUMP
 
-#ifdef DEBUG
-#define ETH_PRINTF          rt_kprintf
-#else
-#define ETH_PRINTF(...)
-#endif
+#define DBG_ENABLE
+#define DBG_SECTION_NAME    "[ETH]"
+#define DBG_COLOR
+#define DBG_LEVEL           DBG_INFO
+#include <rtdbg.h>
 
 #define MAX_ADDR_LEN 6
 
@@ -54,12 +55,12 @@ struct rt_imxrt_eth
 {
 	/* inherit from ethernet device */
 	struct eth_device parent;
-    
+
     enet_handle_t enet_handle;
     ENET_Type *enet_base;
     enet_data_error_stats_t error_statistic;
 	rt_uint8_t  dev_addr[MAX_ADDR_LEN];			/* hw address	*/
-    
+
     rt_bool_t tx_is_waiting;
     struct rt_semaphore tx_wait;
 };
@@ -75,9 +76,9 @@ static struct rt_imxrt_eth imxrt_eth_device;
 void _enet_rx_callback(struct rt_imxrt_eth * eth)
 {
     rt_err_t result;
-    
+
     ENET_DisableInterrupts(eth->enet_base, kENET_RxFrameInterrupt);
-    
+
     result = eth_device_ready(&(eth->parent));
     if( result != RT_EOK )
         rt_kprintf("RX err =%d\n", result );
@@ -97,30 +98,30 @@ void _enet_callback(ENET_Type *base, enet_handle_t *handle, enet_event_t event,
     switch(event)
     {
     case kENET_RxEvent:
-        
+
         _enet_rx_callback((struct rt_imxrt_eth *)userData);
         break;
-        
+
     case kENET_TxEvent:
         _enet_tx_callback((struct rt_imxrt_eth *)userData);
         break;
-        
+
     case kENET_ErrEvent:
         //rt_kprintf("kENET_ErrEvent\n");
         break;
-        
+
     case kENET_WakeUpEvent:
         //rt_kprintf("kENET_WakeUpEvent\n");
         break;
-        
+
     case kENET_TimeStampEvent:
         //rt_kprintf("kENET_TimeStampEvent\n");
         break;
-        
+
     case kENET_TimeStampAvailEvent:
         //rt_kprintf("kENET_TimeStampAvailEvent \n");
         break;
-        
+
     default:
         //rt_kprintf("unknow error\n");
         break;
@@ -314,21 +315,21 @@ static void _enet_io_init(void)
                                                  Pull Up / Down Config. Field: 100K Ohm Pull Up
                                                  Hyst. Enable Field: Hysteresis Disabled */
 
-  
+
 }
 
 static void _enet_clk_init(void)
 {
     const clock_enet_pll_config_t config = {true, false, false, 1, 1};
     CLOCK_InitEnetPll(&config);
-    
+
     IOMUXC_EnableMode(IOMUXC_GPR, kIOMUXC_GPR_ENET1TxClkOutputDir, true);
 }
 
 static void _delay(void)
 {
     volatile int i = 1000000;
-    
+
     while (i--)
         i = i;
 }
@@ -336,7 +337,7 @@ static void _delay(void)
 static void _enet_phy_reset_by_gpio(void)
 {
     gpio_pin_config_t gpio_config = {kGPIO_DigitalOutput, 0, kGPIO_NoIntmode};
-    
+
     GPIO_PinInit(GPIO1, 9, &gpio_config);
     GPIO_PinInit(GPIO1, 10, &gpio_config);
     /* pull up the ENET_INT before RESET. */
@@ -354,7 +355,7 @@ static void _enet_config(void)
     phy_speed_t speed;
     phy_duplex_t duplex;
     bool link = false;
-    
+
     /* prepare the buffer configuration. */
     enet_buffer_config_t buffConfig = {
         ENET_RXBD_NUM,
@@ -366,7 +367,7 @@ static void _enet_config(void)
         &g_rxDataBuff[0][0],
         &g_txDataBuff[0][0],
     };
-    
+
     /* Get default configuration. */
     /*
      * config.miiMode = kENET_RmiiMode;
@@ -377,26 +378,36 @@ static void _enet_config(void)
     ENET_GetDefaultConfig(&config);
     config.interrupt = kENET_TxFrameInterrupt | kENET_RxFrameInterrupt;
     //config.interrupt = 0xFFFFFFFF;
-    
+
     /* Set SMI to get PHY link status. */
     sysClock = CLOCK_GetFreq(kCLOCK_AhbClk);
+
     status = PHY_Init(imxrt_eth_device.enet_base, PHY_ADDRESS, sysClock);
-    while (status != kStatus_Success)
+
+    if (status == kStatus_Success)
     {
-        ETH_PRINTF("\r\nPHY Auto-negotiation failed. Please check the cable connection and link partner setting.\r\n");
-        status = PHY_Init(imxrt_eth_device.enet_base, PHY_ADDRESS, sysClock);
+        PHY_GetLinkStatus(imxrt_eth_device.enet_base, PHY_ADDRESS, &link);
+        if (link)
+        {
+            /* Get the actual PHY link speed. */
+            PHY_GetLinkSpeedDuplex(imxrt_eth_device.enet_base, PHY_ADDRESS, &speed, &duplex);
+            /* Change the MII speed and duplex for actual link status. */
+            config.miiSpeed = (enet_mii_speed_t)speed;
+            config.miiDuplex = (enet_mii_duplex_t)duplex;
+        }
+
+        dbg_log(DBG_LOG, "PHY Auto-negotiation success.\n");
+        eth_device_linkchange(&imxrt_eth_device.parent, RT_TRUE);
     }
-    
-    PHY_GetLinkStatus(imxrt_eth_device.enet_base, PHY_ADDRESS, &link);
-    if (link)
+    else
     {
-        /* Get the actual PHY link speed. */
-        PHY_GetLinkSpeedDuplex(imxrt_eth_device.enet_base, PHY_ADDRESS, &speed, &duplex);
-        /* Change the MII speed and duplex for actual link status. */
-        config.miiSpeed = (enet_mii_speed_t)speed;
-        config.miiDuplex = (enet_mii_duplex_t)duplex;
-    } 
-    
+        config.miiSpeed = kENET_MiiSpeed10M;
+        config.miiDuplex = kENET_MiiHalfDuplex;
+
+        dbg_log(DBG_WARNING, "PHY Auto-negotiation failed. Please check the cable connection and link partner setting.\n");
+        eth_device_linkchange(&imxrt_eth_device.parent, RT_FALSE);
+    }
+
     ENET_Init(imxrt_eth_device.enet_base, &imxrt_eth_device.enet_handle, &config, &buffConfig, &imxrt_eth_device.dev_addr[0], sysClock);
     ENET_SetCallback(&imxrt_eth_device.enet_handle, _enet_callback, &imxrt_eth_device);
     ENET_ActiveRead(imxrt_eth_device.enet_base);
@@ -408,7 +419,7 @@ static rt_err_t rt_imxrt_eth_init(rt_device_t dev)
     _enet_io_init();
     _enet_clk_init();
     _enet_phy_reset_by_gpio();
-    
+
     _enet_config();
 
     return RT_EOK;
@@ -416,33 +427,33 @@ static rt_err_t rt_imxrt_eth_init(rt_device_t dev)
 
 static rt_err_t rt_imxrt_eth_open(rt_device_t dev, rt_uint16_t oflag)
 {
-    ETH_PRINTF("rt_imxrt_eth_open...\n");
+    dbg_log(DBG_LOG, "rt_imxrt_eth_open...\n");
 	return RT_EOK;
 }
 
 static rt_err_t rt_imxrt_eth_close(rt_device_t dev)
 {
-    ETH_PRINTF("rt_imxrt_eth_close...\n");
+    dbg_log(DBG_LOG, "rt_imxrt_eth_close...\n");
 	return RT_EOK;
 }
 
 static rt_size_t rt_imxrt_eth_read(rt_device_t dev, rt_off_t pos, void* buffer, rt_size_t size)
 {
-    ETH_PRINTF("rt_imxrt_eth_read...\n");
+    dbg_log(DBG_LOG, "rt_imxrt_eth_read...\n");
 	rt_set_errno(-RT_ENOSYS);
 	return 0;
 }
 
 static rt_size_t rt_imxrt_eth_write (rt_device_t dev, rt_off_t pos, const void* buffer, rt_size_t size)
 {
-    ETH_PRINTF("rt_imxrt_eth_write...\n");
+    dbg_log(DBG_LOG, "rt_imxrt_eth_write...\n");
 	rt_set_errno(-RT_ENOSYS);
 	return 0;
 }
 
 static rt_err_t rt_imxrt_eth_control(rt_device_t dev, int cmd, void *args)
 {
-    ETH_PRINTF("rt_imxrt_eth_control...\n");
+    dbg_log(DBG_LOG, "rt_imxrt_eth_control...\n");
 	switch(cmd)
 	{
 	case NIOCTL_GADDR:
@@ -468,7 +479,7 @@ rt_err_t rt_imxrt_eth_tx( rt_device_t dev, struct pbuf* p)
 	RT_ASSERT(p != NULL);
     RT_ASSERT(enet_handle != RT_NULL);
 
-	ETH_PRINTF("rt_imxrt_eth_tx: %d\n", p->len);
+	dbg_log(DBG_LOG, "rt_imxrt_eth_tx: %d\n", p->len);
 
 #ifdef ETH_TX_DUMP
 	{
@@ -477,11 +488,11 @@ rt_err_t rt_imxrt_eth_tx( rt_device_t dev, struct pbuf* p)
 		buf = (uint8_t *)p->payload;
 		for (i = 0; i < p->len; i++)
 		{
-			ETH_PRINTF("%02X ", buf[i]);
+			dbg_log(DBG_LOG, "%02X ", buf[i]);
 			if (i % 16 == 15)
-				ETH_PRINTF("\n");
+				dbg_log(DBG_LOG, "\n");
 		}
-		ETH_PRINTF("\n");
+		dbg_log(DBG_LOG, "\n");
 	}
 #endif
 
@@ -504,12 +515,12 @@ struct pbuf *rt_imxrt_eth_rx(rt_device_t dev)
 {
  	uint32_t length = 0;
 	status_t status;
-    
+
 	struct pbuf* p = RT_NULL;
 	enet_handle_t * enet_handle = &imxrt_eth_device.enet_handle;
     ENET_Type *enet_base = imxrt_eth_device.enet_base;
     enet_data_error_stats_t *error_statistic = &imxrt_eth_device.error_statistic;
-    
+
 	/* Get the Frame size */
 	status = ENET_GetRxFrameSize(enet_handle, &length);
 
@@ -518,7 +529,7 @@ struct pbuf *rt_imxrt_eth_rx(rt_device_t dev)
 	{
 		/* Received valid frame. Deliver the rx buffer with the size equal to length. */
 		p = pbuf_alloc(PBUF_RAW, length, PBUF_POOL);
-        
+
         if (p != NULL)
         {
             status = ENET_ReadFrame(enet_base, enet_handle, p->payload, length);
@@ -532,28 +543,28 @@ struct pbuf *rt_imxrt_eth_rx(rt_device_t dev)
                 buf = (uint8_t *)p->payload;
                 for (i = 0; i < p->len; i++)
                 {
-                    ETH_PRINTF("%02X ", buf[i]);
+                    dbg_log(DBG_LOG, "%02X ", buf[i]);
                     if (i % 16 == 15)
-                        ETH_PRINTF("\n");
+                        dbg_log(DBG_LOG, "\n");
                 }
-                ETH_PRINTF("\n");
+                dbg_log(DBG_LOG, "\n");
     #endif
                 return p;
             }
             else
             {
-                ETH_PRINTF(" A frame read failed\n");
+                dbg_log(DBG_LOG, " A frame read failed\n");
                 pbuf_free(p);
             }
         }
         else
         {
-            ETH_PRINTF(" pbuf_alloc faild\n");
+            dbg_log(DBG_LOG, " pbuf_alloc faild\n");
         }
 	}
 	else if (status == kStatus_ENET_RxFrameError)
 	{
-		ETH_PRINTF("ENET_GetRxFrameSize: kStatus_ENET_RxFrameError\n");
+		dbg_log(DBG_WARNING, "ENET_GetRxFrameSize: kStatus_ENET_RxFrameError\n");
 		/* Update the received buffer when error happened. */
 		/* Get the error information of the received g_frame. */
 		ENET_GetRxErrBeforeReadFrame(enet_handle, error_statistic);
@@ -577,7 +588,7 @@ static int rt_hw_imxrt_eth_init(void)
     imxrt_eth_device.dev_addr[3] = 0x12;
     imxrt_eth_device.dev_addr[4] = 0x34;
     imxrt_eth_device.dev_addr[5] = 0x56;
-    
+
     imxrt_eth_device.enet_base = ENET;
 
     imxrt_eth_device.parent.parent.init       = rt_imxrt_eth_init;
@@ -591,20 +602,20 @@ static int rt_hw_imxrt_eth_init(void)
     imxrt_eth_device.parent.eth_rx     = rt_imxrt_eth_rx;
     imxrt_eth_device.parent.eth_tx     = rt_imxrt_eth_tx;
 
-    ETH_PRINTF("sem init: tx_wait\r\n");
+    dbg_log(DBG_LOG, "sem init: tx_wait\r\n");
     /* init tx semaphore */
     rt_sem_init(&imxrt_eth_device.tx_wait, "tx_wait", 0, RT_IPC_FLAG_FIFO);
 
     /* register eth device */
-    ETH_PRINTF("eth_device_init start\r\n");
+    dbg_log(DBG_LOG, "eth_device_init start\r\n");
     state = eth_device_init(&(imxrt_eth_device.parent), "e0");
     if (RT_EOK == state)
     {
-        ETH_PRINTF("eth_device_init success\r\n");
+        dbg_log(DBG_LOG, "eth_device_init success\r\n");
     }
     else
     {
-        ETH_PRINTF("eth_device_init faild: %d\r\n", state);
+        dbg_log(DBG_LOG, "eth_device_init faild: %d\r\n", state);
     }
     return state;
 }
@@ -618,7 +629,7 @@ void phy_read(uint32_t phyReg)
 {
     uint32_t data;
     status_t status;
-        
+
     status = PHY_Read(imxrt_eth_device.enet_base, PHY_ADDRESS, phyReg, &data);
     if (kStatus_Success == status)
     {
@@ -633,7 +644,7 @@ void phy_read(uint32_t phyReg)
 void phy_write(uint32_t phyReg, uint32_t data)
 {
     status_t status;
-        
+
     status = PHY_Write(imxrt_eth_device.enet_base, PHY_ADDRESS, phyReg, data);
     if (kStatus_Success == status)
     {
@@ -649,7 +660,7 @@ void phy_dump(void)
 {
     uint32_t data;
     status_t status;
-    
+
     int i;
     for (i = 0; i < 32; i++)
     {
@@ -659,7 +670,7 @@ void phy_dump(void)
             rt_kprintf("phy_dump: %02X --> faild", i);
             break;
         }
-        
+
         if (i % 8 == 7)
         {
             rt_kprintf("%02X --> %08X ", i, data);
@@ -668,17 +679,17 @@ void phy_dump(void)
         {
             rt_kprintf("%02X --> %08X\n", i, data);
         }
-        
+
     }
 }
 
 void enet_reg_dump(void)
 {
     ENET_Type *enet_base = imxrt_eth_device.enet_base;
-    
+
 #define DUMP_REG(__REG)  \
     rt_kprintf("%s(%08X): %08X\n", #__REG, (uint32_t)&enet_base->__REG, enet_base->__REG)
-        
+
 	DUMP_REG(EIR);
 	DUMP_REG(EIMR);
 	DUMP_REG(RDAR);
@@ -785,16 +796,16 @@ void enet_nvic_tog(void)
 void enet_rx_stat(void)
 {
     enet_data_error_stats_t *error_statistic = &imxrt_eth_device.error_statistic;
-    
+
 #define DUMP_STAT(__VAR)  \
     rt_kprintf("%-25s: %08X\n", #__VAR, error_statistic->__VAR);
-    
+
     DUMP_STAT(statsRxLenGreaterErr);
     DUMP_STAT(statsRxAlignErr);
     DUMP_STAT(statsRxFcsErr);
     DUMP_STAT(statsRxOverRunErr);
     DUMP_STAT(statsRxTruncateErr);
-    
+
 #ifdef ENET_ENHANCEDBUFFERDESCRIPTOR_MODE
     DUMP_STAT(statsRxProtocolChecksumErr);
     DUMP_STAT(statsRxIpHeadChecksumErr);
@@ -808,8 +819,8 @@ void enet_rx_stat(void)
     DUMP_STAT(statsTxExcessCollisionErr);
     DUMP_STAT(statsTxUnderFlowErr);
     DUMP_STAT(statsTxTsErr);
-#endif  
-    
+#endif
+
 }
 
 void enet_buf_info(void)
@@ -818,7 +829,7 @@ void enet_buf_info(void)
     int i = 0;
     for (i = 0; i < ENET_RXBD_NUM; i++)
     {
-        rt_kprintf("%d: length: %-8d, control: %04X, buffer:%p\n", 
+        rt_kprintf("%d: length: %-8d, control: %04X, buffer:%p\n",
                     i,
                     g_rxBuffDescrip[i].length,
                     g_rxBuffDescrip[i].control,
@@ -827,7 +838,7 @@ void enet_buf_info(void)
 
     for (i = 0; i < ENET_TXBD_NUM; i++)
     {
-        rt_kprintf("%d: length: %-8d, control: %04X, buffer:%p\n", 
+        rt_kprintf("%d: length: %-8d, control: %04X, buffer:%p\n",
                     i,
                     g_txBuffDescrip[i].length,
                     g_txBuffDescrip[i].control,

+ 195 - 0
bsp/imxrt1052-evk/drivers/drv_sdram.c

@@ -0,0 +1,195 @@
+/*
+ * File      : board.c
+ * This file is part of RT-Thread RTOS
+ * COPYRIGHT (C) 2009 RT-Thread Develop Team
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rt-thread.org/license/LICENSE
+ *
+ * Change Logs:
+ * Date           Author       Notes
+ * 2017-12-04     Tanek        first implementation
+ */
+#include <stdint.h>
+#include <rthw.h>
+#include <rtthread.h>
+
+static uint32_t _RDWORD(uint32_t address)
+{    
+    return *((uint32_t *)address);
+}
+
+static void _WDWORD(uint32_t address, uint32_t value)
+{
+    *((uint32_t *)address) = value;
+}
+
+static void SDRAM_WaitIpCmdDone(void)
+{
+  unsigned long reg;
+  do
+  {
+    reg = _RDWORD(0x402F003C);
+  }while((reg & 0x3) == 0);
+}
+
+static void _clock_init(void)
+{
+    // Enable all clocks
+    _WDWORD(0x400FC068,0xffffffff);
+    _WDWORD(0x400FC06C,0xffffffff);
+    _WDWORD(0x400FC070,0xffffffff);
+    _WDWORD(0x400FC074,0xffffffff);
+    _WDWORD(0x400FC078,0xffffffff);
+    _WDWORD(0x400FC07C,0xffffffff);
+    _WDWORD(0x400FC080,0xffffffff);
+
+    _WDWORD(0x400D8030,0x00002001); 
+    _WDWORD(0x400D8100,0x001d0000);   
+    _WDWORD(0x400FC014,0x00010D40);   
+}
+
+static void _sdr_Init(void)
+{
+    // Config IOMUX
+    _WDWORD(0x401F8014, 0x00000000);
+    _WDWORD(0x401F8018, 0x00000000);
+    _WDWORD(0x401F801C, 0x00000000);
+    _WDWORD(0x401F8020, 0x00000000);
+    _WDWORD(0x401F8024, 0x00000000);
+    _WDWORD(0x401F8028, 0x00000000);
+    _WDWORD(0x401F802C, 0x00000000);
+    _WDWORD(0x401F8030, 0x00000000);
+    _WDWORD(0x401F8034, 0x00000000);
+    _WDWORD(0x401F8038, 0x00000000);
+    _WDWORD(0x401F803C, 0x00000000);
+    _WDWORD(0x401F8040, 0x00000000);
+    _WDWORD(0x401F8044, 0x00000000);
+    _WDWORD(0x401F8048, 0x00000000);
+    _WDWORD(0x401F804C, 0x00000000);
+    _WDWORD(0x401F8050, 0x00000000);
+    _WDWORD(0x401F8054, 0x00000000);
+    _WDWORD(0x401F8058, 0x00000000);
+    _WDWORD(0x401F805C, 0x00000000);
+    _WDWORD(0x401F8060, 0x00000000);
+    _WDWORD(0x401F8064, 0x00000000);
+    _WDWORD(0x401F8068, 0x00000000);
+    _WDWORD(0x401F806C, 0x00000000);
+    _WDWORD(0x401F8070, 0x00000000);
+    _WDWORD(0x401F8074, 0x00000000);
+    _WDWORD(0x401F8078, 0x00000000);
+    _WDWORD(0x401F807C, 0x00000000);
+    _WDWORD(0x401F8080, 0x00000000);
+    _WDWORD(0x401F8084, 0x00000000);
+    _WDWORD(0x401F8088, 0x00000000);
+    _WDWORD(0x401F808C, 0x00000000);
+    _WDWORD(0x401F8090, 0x00000000);
+    _WDWORD(0x401F8094, 0x00000000);
+    _WDWORD(0x401F8098, 0x00000000);
+    _WDWORD(0x401F809C, 0x00000000);
+    _WDWORD(0x401F80A0, 0x00000000);
+    _WDWORD(0x401F80A4, 0x00000000);
+    _WDWORD(0x401F80A8, 0x00000000);
+    _WDWORD(0x401F80AC, 0x00000000);
+    _WDWORD(0x401F80B0, 0x00000010); // EMC_39, DQS PIN, enable SION
+    _WDWORD(0x401F80B4, 0x00000000);
+    _WDWORD(0x401F80B8, 0x00000000);
+
+    // PAD ctrl
+    // drive strength = 0x7 to increase drive strength
+    // otherwise the data7 bit may fail.
+    _WDWORD(0x401F8204, 0x000110F9);
+    _WDWORD(0x401F8208, 0x000110F9);
+    _WDWORD(0x401F820C, 0x000110F9);
+    _WDWORD(0x401F8210, 0x000110F9);
+    _WDWORD(0x401F8214, 0x000110F9);
+    _WDWORD(0x401F8218, 0x000110F9);
+    _WDWORD(0x401F821C, 0x000110F9);
+    _WDWORD(0x401F8220, 0x000110F9);
+    _WDWORD(0x401F8224, 0x000110F9);
+    _WDWORD(0x401F8228, 0x000110F9);
+    _WDWORD(0x401F822C, 0x000110F9);
+    _WDWORD(0x401F8230, 0x000110F9);
+    _WDWORD(0x401F8234, 0x000110F9);
+    _WDWORD(0x401F8238, 0x000110F9);
+    _WDWORD(0x401F823C, 0x000110F9);
+    _WDWORD(0x401F8240, 0x000110F9);
+    _WDWORD(0x401F8244, 0x000110F9);
+    _WDWORD(0x401F8248, 0x000110F9);
+    _WDWORD(0x401F824C, 0x000110F9);
+    _WDWORD(0x401F8250, 0x000110F9);
+    _WDWORD(0x401F8254, 0x000110F9);
+    _WDWORD(0x401F8258, 0x000110F9);
+    _WDWORD(0x401F825C, 0x000110F9);
+    _WDWORD(0x401F8260, 0x000110F9);
+    _WDWORD(0x401F8264, 0x000110F9);
+    _WDWORD(0x401F8268, 0x000110F9);
+    _WDWORD(0x401F826C, 0x000110F9);
+    _WDWORD(0x401F8270, 0x000110F9);
+    _WDWORD(0x401F8274, 0x000110F9);
+    _WDWORD(0x401F8278, 0x000110F9);
+    _WDWORD(0x401F827C, 0x000110F9);
+    _WDWORD(0x401F8280, 0x000110F9);
+    _WDWORD(0x401F8284, 0x000110F9);
+    _WDWORD(0x401F8288, 0x000110F9);
+    _WDWORD(0x401F828C, 0x000110F9);
+    _WDWORD(0x401F8290, 0x000110F9);
+    _WDWORD(0x401F8294, 0x000110F9);
+    _WDWORD(0x401F8298, 0x000110F9);
+    _WDWORD(0x401F829C, 0x000110F9);
+    _WDWORD(0x401F82A0, 0x000110F9);
+    _WDWORD(0x401F82A4, 0x000110F9);
+    _WDWORD(0x401F82A8, 0x000110F9);
+
+    // Config SDR Controller Registers/
+    _WDWORD(0x402F0000,0x10000004); // MCR
+    _WDWORD(0x402F0008,0x00030524); // BMCR0
+    _WDWORD(0x402F000C,0x06030524); // BMCR1
+    _WDWORD(0x402F0010,0x8000001B); // BR0, 32MB
+    _WDWORD(0x402F0014,0x8200001B); // BR1, 32MB
+    _WDWORD(0x402F0018,0x8400001B); // BR2, 32MB
+    _WDWORD(0x402F001C,0x8600001B); // BR3, 32MB
+    _WDWORD(0x402F0020,0x90000021); // BR4,
+    _WDWORD(0x402F0024,0xA0000019); // BR5,
+    _WDWORD(0x402F0028,0xA8000017); // BR6,
+    _WDWORD(0x402F002C,0xA900001B); // BR7,
+    _WDWORD(0x402F0030,0x00000021); // BR8,
+    _WDWORD(0x402F0004,0x000079A8);  //IOCR,SEMC_CCSX0 as NOR CE, SEMC_CSX1 as PSRAM CE, SEMC_CSX2 as NAND CE, SEMC_CSX3 as DBI CE.
+
+    // _WDWORD(0x402F0004,0x00000008); // IOCR, SEMC_CCSX0 as SDRAM_CS1
+    _WDWORD(0x402F0040,0x00000F31); // SDRAMCR0
+    _WDWORD(0x402F0044,0x00652922); // SDRAMCR1
+    _WDWORD(0x402F0048,0x00010920); // SDRAMCR2
+    _WDWORD(0x402F004C,0x50210A08); // SDRAMCR3
+
+    _WDWORD(0x402F0080,0x00000021); // DBICR0
+    _WDWORD(0x402F0084,0x00888888); // DBICR1
+    _WDWORD(0x402F0094,0x00000002); // IPCR1
+    _WDWORD(0x402F0098,0x00000000); // IPCR2
+
+    _WDWORD(0x402F0090,0x80000000); // IPCR0
+    _WDWORD(0x402F009C,0xA55A000F); // IPCMD, SD_CC_IPREA
+    SDRAM_WaitIpCmdDone();
+    _WDWORD(0x402F0090,0x80000000); // IPCR0
+    _WDWORD(0x402F009C,0xA55A000C); // SD_CC_IAF
+    SDRAM_WaitIpCmdDone();
+    _WDWORD(0x402F0090,0x80000000); // IPCR0
+    _WDWORD(0x402F009C,0xA55A000C); // SD_CC_IAF
+    SDRAM_WaitIpCmdDone();
+    _WDWORD(0x402F00A0,0x00000033); // IPTXDAT
+    _WDWORD(0x402F0090,0x80000000); // IPCR0
+    _WDWORD(0x402F009C,0xA55A000A); // SD_CC_IMS
+    SDRAM_WaitIpCmdDone();
+    _WDWORD(0x402F004C,0x50210A09 ); // enable sdram self refresh again after initialization done.
+}
+
+int imxrt_sdram_init(void)
+{
+    _clock_init();
+    _sdr_Init();
+    
+    return 0;
+}
+
+/*@}*/

+ 7 - 3
bsp/imxrt1052-evk/drivers/fsl_phy.c

@@ -29,12 +29,13 @@
  */
 
 #include "fsl_phy.h"
+#include <rtthread.h>
 /*******************************************************************************
  * Definitions
  ******************************************************************************/
 
 /*! @brief Defines the timeout macro. */
-#define PHY_TIMEOUT_COUNT 0x3FFFFFFU
+#define PHY_TIMEOUT_COUNT 0xFFFFU
 
 /*******************************************************************************
  * Prototypes
@@ -83,14 +84,14 @@ status_t PHY_Init(ENET_Type *base, uint32_t phyAddr, uint32_t srcClock_Hz)
         PHY_Read(base, phyAddr, PHY_ID1_REG, &idReg);
         counter --;       
     }
-
+    
     if (!counter)
     {
         return kStatus_Fail;
     }
 
     /* Reset PHY. */
-    counter = PHY_TIMEOUT_COUNT;
+    counter = 6;
     result = PHY_Write(base, phyAddr, PHY_BASICCONTROL_REG, PHY_BCTL_RESET_MASK);
     if (result == kStatus_Success)
     {
@@ -136,6 +137,9 @@ status_t PHY_Init(ENET_Type *base, uint32_t phyAddr, uint32_t srcClock_Hz)
                             break;
                         }
                     }
+                    
+                    rt_kprintf("[PHY] wait autonegotiation complete...\n");
+                    rt_thread_delay(RT_TICK_PER_SECOND);
 
                     if (!counter)
                     {

+ 66 - 0
bsp/imxrt1052-evk/drivers/hyper_flash_boot.c

@@ -0,0 +1,66 @@
+/*
+ * File      : clock.c
+ * This file is part of RT-Thread RTOS
+ * COPYRIGHT (C) 2006 - 2012, RT-Thread Development Team
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License along
+ *  with this program; if not, write to the Free Software Foundation, Inc.,
+ *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Change Logs:
+ * Date           Author       Notes
+ * 2017-12-05     Tanek        first version
+ */
+
+#include <rtthread.h>
+
+// enter serial download mode, and run command:
+//      finsh /> mem_dump(0x60000000, 512)
+#if defined (__ICCARM__ )
+RT_USED static const uint32_t boot_data[] @(0x60000000u) =
+#elif defined ( __GNUC__ )
+RT_USED static const uint32_t boot_data[] __attribute__((section (".bootdata"))) =
+#elif defined ( __CC_ARM )
+RT_USED static const uint32_t boot_data[] __attribute__((at(0x60000000u))) =
+#endif
+{
+    0x42464346, 0x56010400, 0x00000000, 0x03030303, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000059, 0x01080800, 0x00000000, 0x00000000, 0x04000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000F, 0x0001000F,
+    0x8B1887A0, 0xA7048F10, 0x00000000, 0x00000000, 0x87008700, 0x87AA8700, 0x87058700, 0x87708700,
+    0x8B1887A0, 0xB70B8F10, 0x0000A704, 0x00000000, 0x87008700, 0x87AA8700, 0x87058700, 0x87AA8700,
+    0x87008700, 0x87558700, 0x87028700, 0x87558700, 0x87008700, 0x87AA8700, 0x87058700, 0x87808700,
+    0x87008700, 0x87AA8700, 0x87058700, 0x87AA8700, 0x87008700, 0x87558700, 0x87028700, 0x87558700,
+    0x8B188700, 0x87008F10, 0x00008730, 0x00000000, 0x87008700, 0x87AA8700, 0x87058700, 0x87A08700,
+    0x8B188700, 0xA3808F10, 0x00000000, 0x00000000, 0x87008700, 0x87AA8700, 0x87058700, 0x87808700,
+    0x87008700, 0x87AA8700, 0x87058700, 0x87AA8700, 0x87008700, 0x87558700, 0x87028700, 0x87558700,
+    0x87008700, 0x87AA8700, 0x87058700, 0x87108700, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000102, 0x00000302, 0x00000504, 0x00000902, 0x00000B04, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000200, 0x00040000, 0x00000008, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+};
+
+//      finsh /> mem_dump(0x60001000, 16)
+#if defined (__ICCARM__ )
+RT_USED static const uint32_t image_vector_table[] @(0x60001000u) =
+#elif defined ( __GNUC__ )
+RT_USED static const uint32_t image_vector_table[] __attribute__((section (".ivt"))) =
+#elif defined ( __CC_ARM )
+RT_USED static const uint32_t image_vector_table[] __attribute__((at(0x60001000u))) =
+#endif
+{
+    0x412000D1, 0x60002000, 0x00000000, 0x00000000, 0x60001020, 0x60001000, 0x00000000, 0x00000000,
+    0x60000000, 0x00800000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
+};

+ 26 - 13
bsp/imxrt1052-evk/drivers/usart.c

@@ -27,7 +27,7 @@
 #error "Please define at least one UARTx"
 
 #endif
-        
+
 #include <rtdevice.h>
 
 /* imxrt uart driver */
@@ -130,7 +130,7 @@ static const struct imxrt_uart uarts[] = {
         "uart1",
     },
     #endif
-  
+
 };
 
 /* Get debug console frequency. */
@@ -210,9 +210,9 @@ static rt_err_t imxrt_configure(struct rt_serial_device *serial, struct serial_c
     RT_ASSERT(cfg != RT_NULL);
 
     uart = (struct imxrt_uart *)serial->parent.user_data;
-    
+
     imxrt_uart_gpio_init(uart);
-    
+
     LPUART_GetDefaultConfig(&config);
     config.baudRate_Bps = cfg->baud_rate;
 
@@ -249,13 +249,13 @@ static rt_err_t imxrt_configure(struct rt_serial_device *serial, struct serial_c
         config.parityMode = kLPUART_ParityDisabled;
         break;
     }
-    
+
     config.enableTx = true;
     config.enableRx = true;
-    
+
     LPUART_Init(uart->uart_base, &config, BOARD_DebugConsoleSrcFreq());
-    
-    
+
+
     return RT_EOK;
 }
 
@@ -273,7 +273,7 @@ static rt_err_t imxrt_control(struct rt_serial_device *serial, int cmd, void *ar
         LPUART_DisableInterrupts(uart->uart_base, kLPUART_RxDataRegFullInterruptEnable);
         /* disable rx irq */
         DisableIRQ(uart->irqn);
-        
+
         break;
     case RT_DEVICE_CTRL_SET_INT:
         /* enable interrupt */
@@ -295,7 +295,7 @@ static int imxrt_putc(struct rt_serial_device *serial, char ch)
 
     LPUART_WriteByte(uart->uart_base, ch);
     while(!(LPUART_GetStatusFlags(uart->uart_base) & kLPUART_TxDataRegEmptyFlag));
-    
+
     return 1;
 }
 
@@ -320,19 +320,33 @@ static int imxrt_getc(struct rt_serial_device *serial)
  */
 static void uart_isr(struct rt_serial_device *serial)
 {
-    struct imxrt_uart *uart = (struct imxrt_uart *) serial->parent.user_data;
+    struct imxrt_uart *uart;
+    LPUART_Type *base;
 
+    RT_ASSERT(serial != RT_NULL);
+    
+    uart = (struct imxrt_uart *) serial->parent.user_data;
     RT_ASSERT(uart != RT_NULL);
     
+    base = uart->uart_base;
+    RT_ASSERT(base != RT_NULL);
+
     /* enter interrupt */
     rt_interrupt_enter();
 
     /* UART in mode Receiver -------------------------------------------------*/
-    if (LPUART_GetStatusFlags(uart->uart_base) & kLPUART_RxDataRegFullFlag)
+    if (LPUART_GetStatusFlags(base) & kLPUART_RxDataRegFullFlag)
     {
         rt_hw_serial_isr(serial, RT_SERIAL_EVENT_RX_IND);
     }
     
+    /* If RX overrun. */
+    if (LPUART_STAT_OR_MASK & base->STAT)
+    {
+        /* Clear overrun flag, otherwise the RX does not work. */
+        base->STAT = ((base->STAT & 0x3FE00000U) | LPUART_STAT_OR_MASK);
+    }
+
     /* leave interrupt */
     rt_interrupt_leave();
 }
@@ -350,7 +364,6 @@ int imxrt_hw_usart_init(void)
     struct serial_configure config = RT_SERIAL_CONFIG_DEFAULT;
     int i;
 
-    
     for (i = 0; i < sizeof(uarts) / sizeof(uarts[0]); i++)
     {
         uarts[i].serial->ops    = &imxrt_uart_ops;

+ 0 - 103
bsp/imxrt1052-evk/imxrt1052_sdram.icf

@@ -1,103 +0,0 @@
-/*
-** ###################################################################
-**     Processor:           MIMXRT1052DVL6A
-**     Compiler:            IAR ANSI C/C++ Compiler for ARM
-**     Reference manual:    i.MX 6RT for ROM
-**     Version:             rev. 0.1, 2017-01-10
-**     Build:               b170608
-**
-**     Abstract:
-**         Linker file for the IAR ANSI C/C++ Compiler for ARM
-**
-**     Copyright 2016 Freescale Semiconductor, Inc.
-**     Copyright 2016-2017 NXP
-**     Redistribution and use in source and binary forms, with or without modification,
-**     are permitted provided that the following conditions are met:
-**
-**     1. Redistributions of source code must retain the above copyright notice, this list
-**       of conditions and the following disclaimer.
-**
-**     2. Redistributions in binary form must reproduce the above copyright notice, this
-**       list of conditions and the following disclaimer in the documentation and/or
-**       other materials provided with the distribution.
-**
-**     3. Neither the name of the copyright holder nor the names of its
-**       contributors may be used to endorse or promote products derived from this
-**       software without specific prior written permission.
-**
-**     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-**     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-**     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-**     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
-**     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-**     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-**     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-**     ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-**     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-**     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-**
-**     http:                 www.nxp.com
-**     mail:                 support@nxp.com
-**
-** ###################################################################
-*/
-
-define symbol m_base_addr              = 0x00000000;
-
-define symbol m_interrupts_start       = 0x00000000 + m_base_addr;
-define symbol m_interrupts_end         = 0x000003FF + m_base_addr;
-
-define symbol m_text_start             = 0x00000400 + m_base_addr;
-define symbol m_text_end               = 0x0007FFFF + m_base_addr;
-
-define symbol m_data_start             = 0x80000000;
-define symbol m_data_end               = 0x81DFFFFF;
-
-define symbol m_ncache_start           = 0x81E00000;
-define symbol m_ncache_end             = 0x81FFFFFF;
-
-/* Sizes */
-if (isdefinedsymbol(__stack_size__)) {
-  define symbol __size_cstack__        = __stack_size__;
-} else {
-  define symbol __size_cstack__        = 0x0400;
-}
-
-if (isdefinedsymbol(__heap_size__)) {
-  define symbol __size_heap__          = __heap_size__;
-} else {
-  define symbol __size_heap__          = 0x0400;
-}
-
-define exported symbol __VECTOR_TABLE  = m_interrupts_start;
-define exported symbol __VECTOR_RAM    = m_interrupts_start;
-define exported symbol __RAM_VECTOR_TABLE_SIZE = 0x0;
-
-define memory mem with size = 4G;
-define region TEXT_region = mem:[from m_interrupts_start to m_interrupts_end]
-                          | mem:[from m_text_start to m_text_end];
-define region DATA_region = mem:[from m_data_start to m_data_end-__size_cstack__];
-define region CSTACK_region = mem:[from m_data_end-__size_cstack__+1 to m_data_end];
-define region NCACHE_region = mem:[from m_ncache_start to m_ncache_end];
-
-define block CSTACK    with alignment = 8, size = __size_cstack__   { };
-define block HEAP      with alignment = 8, size = __size_heap__     { };
-define block RW        { readwrite };
-define block ZI        { zi };
-define block RTT_INIT_FUNC with fixed order { readonly section .rti_fn* };
-define block NCACHE_VAR with size = 0x200000 , alignment = 0x100000  { section NonCacheable , section NonCacheable.init };
-
-initialize by copy { readwrite, section .textrw };
-do not initialize  { section .noinit };
-
-keep { section FSymTab };
-keep { section VSymTab };
-keep { section .rti_fn* };
-
-place at address mem: m_interrupts_start    { readonly section .intvec };
-place in TEXT_region                        { readonly, block RTT_INIT_FUNC  };
-place in DATA_region                        { block RW };
-place in DATA_region                        { block ZI };
-place in DATA_region                        { last block HEAP };
-place in CSTACK_region                      { block CSTACK };
-place in NCACHE_region                      { block NCACHE_VAR };

+ 0 - 259
bsp/imxrt1052-evk/imxrt1052_sdram.ld

@@ -1,259 +0,0 @@
-/*
-** ###################################################################
-**     Processors:          MIMXRT1052CVL5A
-**                          MIMXRT1052DVL6A
-**
-**     Compiler:            GNU C Compiler
-**     Reference manual:    IMXRT1050RM Rev.C, 08/2017
-**     Version:             rev. 0.1, 2017-01-10
-**     Build:               b170927
-**
-**     Abstract:
-**         Linker file for the GNU C Compiler
-**
-**     Copyright 2016 Freescale Semiconductor, Inc.
-**     Copyright 2016-2017 NXP
-**     Redistribution and use in source and binary forms, with or without modification,
-**     are permitted provided that the following conditions are met:
-**
-**     1. Redistributions of source code must retain the above copyright notice, this list
-**       of conditions and the following disclaimer.
-**
-**     2. Redistributions in binary form must reproduce the above copyright notice, this
-**       list of conditions and the following disclaimer in the documentation and/or
-**       other materials provided with the distribution.
-**
-**     3. Neither the name of the copyright holder nor the names of its
-**       contributors may be used to endorse or promote products derived from this
-**       software without specific prior written permission.
-**
-**     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-**     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-**     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-**     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
-**     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-**     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-**     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-**     ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-**     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-**     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-**
-**     http:                 www.nxp.com
-**     mail:                 support@nxp.com
-**
-** ###################################################################
-*/
-
-/* Entry Point */
-ENTRY(Reset_Handler)
-
-HEAP_SIZE  = DEFINED(__heap_size__)  ? __heap_size__  : 0x0400;
-STACK_SIZE = DEFINED(__stack_size__) ? __stack_size__ : 0x0400;
-
-/* Specify the memory areas */
-MEMORY
-{
-  m_interrupts          (RX)  : ORIGIN = 0x80000000, LENGTH = 0x80000400
-  m_text                (RX)  : ORIGIN = 0x80000400, LENGTH = 0x8007FC00
-  m_data                (RW)  : ORIGIN = 0x80000000, LENGTH = 0x01600000
-  m_ncache              (RW)  : ORIGIN = 0x81E00000, LENGTH = 0x00200000
-}
-
-/* Define output sections */
-SECTIONS
-{
-  /* The startup code goes first into internal RAM */
-  .interrupts :
-  {
-    __VECTOR_TABLE = .;
-    . = ALIGN(4);
-    KEEP(*(.isr_vector))     /* Startup code */
-    . = ALIGN(4);
-  } > m_interrupts
-
-  __VECTOR_RAM = __VECTOR_TABLE;
-  __RAM_VECTOR_TABLE_SIZE_BYTES = 0x0;
-
-  /* The program code and other data goes into internal RAM */
-  .text :
-  {
-    . = ALIGN(4);
-    *(.text)                 /* .text sections (code) */
-    *(.text*)                /* .text* sections (code) */
-    *(.rodata)               /* .rodata sections (constants, strings, etc.) */
-    *(.rodata*)              /* .rodata* sections (constants, strings, etc.) */
-    *(.glue_7)               /* glue arm to thumb code */
-    *(.glue_7t)              /* glue thumb to arm code */
-    *(.eh_frame)
-    KEEP (*(.init))
-    KEEP (*(.fini))
-    
-    /* section information for finsh shell */
-    . = ALIGN(4);
-    __fsymtab_start = .;
-    KEEP(*(FSymTab))
-    __fsymtab_end = .;
-    . = ALIGN(4);
-    __vsymtab_start = .;
-    KEEP(*(VSymTab))
-    __vsymtab_end = .;
-    . = ALIGN(4);
-
-    /* section information for initial. */
-    . = ALIGN(4);
-    __rt_init_start = .;
-    KEEP(*(SORT(.rti_fn*)))
-    __rt_init_end = .;
-
-    . = ALIGN(4);
-  } > m_text
-
-  .ARM.extab :
-  {
-    *(.ARM.extab* .gnu.linkonce.armextab.*)
-  } > m_text
-
-  .ARM :
-  {
-    __exidx_start = .;
-    *(.ARM.exidx*)
-    __exidx_end = .;
-  } > m_text
-
- .ctors :
-  {
-    __CTOR_LIST__ = .;
-    /* gcc uses crtbegin.o to find the start of
-       the constructors, so we make sure it is
-       first.  Because this is a wildcard, it
-       doesn't matter if the user does not
-       actually link against crtbegin.o; the
-       linker won't look for a file to match a
-       wildcard.  The wildcard also means that it
-       doesn't matter which directory crtbegin.o
-       is in.  */
-    KEEP (*crtbegin.o(.ctors))
-    KEEP (*crtbegin?.o(.ctors))
-    /* We don't want to include the .ctor section from
-       from the crtend.o file until after the sorted ctors.
-       The .ctor section from the crtend file contains the
-       end of ctors marker and it must be last */
-    KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors))
-    KEEP (*(SORT(.ctors.*)))
-    KEEP (*(.ctors))
-    __CTOR_END__ = .;
-  } > m_text
-
-  .dtors :
-  {
-    __DTOR_LIST__ = .;
-    KEEP (*crtbegin.o(.dtors))
-    KEEP (*crtbegin?.o(.dtors))
-    KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors))
-    KEEP (*(SORT(.dtors.*)))
-    KEEP (*(.dtors))
-    __DTOR_END__ = .;
-  } > m_text
-
-  .preinit_array :
-  {
-    PROVIDE_HIDDEN (__preinit_array_start = .);
-    KEEP (*(.preinit_array*))
-    PROVIDE_HIDDEN (__preinit_array_end = .);
-  } > m_text
-
-  .init_array :
-  {
-    PROVIDE_HIDDEN (__init_array_start = .);
-    KEEP (*(SORT(.init_array.*)))
-    KEEP (*(.init_array*))
-    PROVIDE_HIDDEN (__init_array_end = .);
-  } > m_text
-
-  .fini_array :
-  {
-    PROVIDE_HIDDEN (__fini_array_start = .);
-    KEEP (*(SORT(.fini_array.*)))
-    KEEP (*(.fini_array*))
-    PROVIDE_HIDDEN (__fini_array_end = .);
-  } > m_text
-
-  __etext = .;    /* define a global symbol at end of code */
-  __DATA_ROM = .; /* Symbol is used by startup for data initialization */
-
-  .data : AT(__DATA_ROM)
-  {
-    . = ALIGN(4);
-    __DATA_RAM = .;
-    __data_start__ = .;      /* create a global symbol at data start */
-    *(m_usb_dma_init_data)
-    *(.data)                 /* .data sections */
-    *(.data*)                /* .data* sections */
-    KEEP(*(.jcr*))
-    . = ALIGN(4);
-    __data_end__ = .;        /* define a global symbol at data end */
-  } > m_data
-
-  __NDATA_ROM = __DATA_ROM + (__data_end__ - __data_start__);
-  .ncache.init : AT(__NDATA_ROM)
-  {
-    __noncachedata_start__ = .;   /* create a global symbol at ncache data start */
-    *(NonCacheable.init)
-    . = ALIGN(4);
-    __noncachedata_init_end__ = .;   /* create a global symbol at initialized ncache data end */
-  } > m_ncache
-  . = __noncachedata_init_end__;
-  .ncache :
-  {
-    *(NonCacheable)
-    . = ALIGN(4);
-    __noncachedata_end__ = .;     /* define a global symbol at ncache data end */
-  } > m_ncache
-
-  __DATA_END = __NDATA_ROM + (__noncachedata_init_end__ - __noncachedata_start__);
-  text_end = ORIGIN(m_text) + LENGTH(m_text);
-  ASSERT(__DATA_END <= text_end, "region m_text overflowed with text and data")
-
-  /* Uninitialized data section */
-  .bss :
-  {
-    /* This is used by the startup in order to initialize the .bss section */
-    . = ALIGN(4);
-    __START_BSS = .;
-    __bss_start__ = .;
-    *(m_usb_dma_noninit_data)
-    *(.bss)
-    *(.bss*)
-    *(COMMON)
-    . = ALIGN(4);
-    __bss_end__ = .;
-    __END_BSS = .;
-  } > m_data
-
-  .heap :
-  {
-    . = ALIGN(8);
-    __end__ = .;
-    PROVIDE(end = .);
-    __HeapBase = .;
-    . += HEAP_SIZE;
-    __HeapLimit = .;
-    __heap_limit = .; /* Add for _sbrk */
-  } > m_data
-
-  .stack :
-  {
-    . = ALIGN(8);
-    . += STACK_SIZE;
-  } > m_data
-
-  /* Initializes stack on the end of block */
-  __StackTop   = ORIGIN(m_data) + LENGTH(m_data);
-  __StackLimit = __StackTop - STACK_SIZE;
-  PROVIDE(__stack = __StackTop);
-
-  .ARM.attributes 0 : { *(.ARM.attributes) }
-
-  ASSERT(__StackLimit >= __HeapLimit, "region m_data overflowed with stack and heap")
-}
-

+ 0 - 99
bsp/imxrt1052-evk/imxrt1052_sdram.sct

@@ -1,99 +0,0 @@
-#! armcc -E
-/*
-** ###################################################################
-**     Processors:          MIMXRT1052CVL5A
-**                          MIMXRT1052DVL6A
-**
-**     Compiler:            Keil ARM C/C++ Compiler
-**     Reference manual:    IMXRT1050RM Rev.C, 08/2017
-**     Version:             rev. 0.1, 2017-01-10
-**     Build:               b170927
-**
-**     Abstract:
-**         Linker file for the Keil ARM C/C++ Compiler
-**
-**     Copyright 2016 Freescale Semiconductor, Inc.
-**     Copyright 2016-2017 NXP
-**     Redistribution and use in source and binary forms, with or without modification,
-**     are permitted provided that the following conditions are met:
-**
-**     1. Redistributions of source code must retain the above copyright notice, this list
-**       of conditions and the following disclaimer.
-**
-**     2. Redistributions in binary form must reproduce the above copyright notice, this
-**       list of conditions and the following disclaimer in the documentation and/or
-**       other materials provided with the distribution.
-**
-**     3. Neither the name of the copyright holder nor the names of its
-**       contributors may be used to endorse or promote products derived from this
-**       software without specific prior written permission.
-**
-**     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-**     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-**     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-**     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
-**     ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-**     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-**     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-**     ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-**     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-**     SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-**
-**     http:                 www.nxp.com
-**     mail:                 support@nxp.com
-**
-** ###################################################################
-*/
-
-#define m_start_address				   0x00000000
-
-#define m_interrupts_start             (0x00000000 + m_start_address)
-#define m_interrupts_size              0x00000400
-
-#define m_text_start                   (m_interrupts_start + m_interrupts_size)
-#define m_text_size                    0x0001FC00
-
-#define m_data_start                   0x80000000
-#define m_data_size                    0x01E00000
-
-#define m_ncache_start                 0x81E00000
-#define m_ncache_size                  0x00200000
-
-/* Sizes */
-#if (defined(__stack_size__))
-  #define Stack_Size                   __stack_size__
-#else
-  #define Stack_Size                   0x0400
-#endif
-
-#if (defined(__heap_size__))
-  #define Heap_Size                    __heap_size__
-#else
-  #define Heap_Size                    0x0400
-#endif
-
-LR_m_text m_text_start m_text_size {   ; load region size_region
-  ER_m_text m_text_start m_text_size { ; load address = execution address
-    * (InRoot$$Sections)
-    .ANY (+RO)
-  }
-  RW_m_data m_data_start m_data_size-Stack_Size-Heap_Size { ; RW data
-    .ANY (+RW +ZI)
-  }
-  RW_m_ncache m_ncache_start m_ncache_size { ; ncache RW data
-    * (NonCacheable.init)
-    * (NonCacheable)
-  }
-  ARM_LIB_HEAP +0 EMPTY Heap_Size {    ; Heap region growing up
-  }
-  ARM_LIB_STACK m_data_start+m_data_size EMPTY -Stack_Size { ; Stack region growing down
-  }
-}
-
-LR_m_interrupts m_interrupts_start m_interrupts_size {
-  VECTOR_ROM m_interrupts_start m_interrupts_size { ; load address = execution address
-    * (RESET,+FIRST)
-  }
-}
-
-

+ 37 - 21
bsp/imxrt1052-evk/project.ewd

@@ -11,7 +11,7 @@
             <name>C-SPY</name>
             <archiveVersion>2</archiveVersion>
             <data>
-                <version>28</version>
+                <version>29</version>
                 <wantNonLocal>1</wantNonLocal>
                 <debug>1</debug>
                 <option>
@@ -48,7 +48,7 @@
                 </option>
                 <option>
                     <name>RunToEnable</name>
-                    <state>1</state>
+                    <state>0</state>
                 </option>
                 <option>
                     <name>RunToName</name>
@@ -76,7 +76,7 @@
                 </option>
                 <option>
                     <name>OCDownloadVerifyAll</name>
-                    <state>0</state>
+                    <state>1</state>
                 </option>
                 <option>
                     <name>OCProductVersion</name>
@@ -84,15 +84,15 @@
                 </option>
                 <option>
                     <name>OCDynDriverList</name>
-                    <state>ARMSIM_ID</state>
+                    <state>JLINK_ID</state>
                 </option>
                 <option>
                     <name>OCLastSavedByProductVersion</name>
-                    <state>8.11.2.13604</state>
+                    <state>8.20.1.14181</state>
                 </option>
                 <option>
                     <name>UseFlashLoader</name>
-                    <state>0</state>
+                    <state>1</state>
                 </option>
                 <option>
                     <name>CLowLevel</name>
@@ -112,7 +112,7 @@
                 </option>
                 <option>
                     <name>FlashLoadersV3</name>
-                    <state>$TOOLKIT_DIR$\config\flashloader\</state>
+                    <state>$TOOLKIT_DIR$\config\flashloader\NXP\FlashIMXRT1050_EVK_FlexSPI.board</state>
                 </option>
                 <option>
                     <name>OCImagesSuppressCheck1</name>
@@ -210,6 +210,10 @@
                     <name>OCAttachSlave</name>
                     <state>0</state>
                 </option>
+                <option>
+                    <name>MassEraseBeforeFlashing</name>
+                    <state>0</state>
+                </option>
             </data>
         </settings>
         <settings>
@@ -288,7 +292,7 @@
                 <option>
                     <name>CMSISDAPResetList</name>
                     <version>1</version>
-                    <state>10</state>
+                    <state>4</state>
                 </option>
                 <option>
                     <name>CMSISDAPHWResetDuration</name>
@@ -308,7 +312,7 @@
                 </option>
                 <option>
                     <name>CMSISDAPInterfaceRadio</name>
-                    <state>0</state>
+                    <state>1</state>
                 </option>
                 <option>
                     <name>CMSISDAPInterfaceCmdLine</name>
@@ -373,31 +377,31 @@
                 </option>
                 <option>
                     <name>CatchMMERR</name>
-                    <state>1</state>
+                    <state>0</state>
                 </option>
                 <option>
                     <name>CatchNOCPERR</name>
-                    <state>1</state>
+                    <state>0</state>
                 </option>
                 <option>
                     <name>CatchCHKERR</name>
-                    <state>1</state>
+                    <state>0</state>
                 </option>
                 <option>
                     <name>CatchSTATERR</name>
-                    <state>1</state>
+                    <state>0</state>
                 </option>
                 <option>
                     <name>CatchBUSERR</name>
-                    <state>1</state>
+                    <state>0</state>
                 </option>
                 <option>
                     <name>CatchINTERR</name>
-                    <state>1</state>
+                    <state>0</state>
                 </option>
                 <option>
                     <name>CatchHARDERR</name>
-                    <state>1</state>
+                    <state>0</state>
                 </option>
                 <option>
                     <name>CatchDummy</name>
@@ -425,7 +429,7 @@
                 </option>
                 <option>
                     <name>CMSISDAPSelectedCPUBehaviour</name>
-                    <state>0</state>
+                    <state></state>
                 </option>
                 <option>
                     <name>ICpuName</name>
@@ -721,7 +725,7 @@
                 <debug>1</debug>
                 <option>
                     <name>CCCatchSFERR</name>
-                    <state>0</state>
+                    <state>1</state>
                 </option>
                 <option>
                     <name>JLinkSpeed</name>
@@ -822,12 +826,12 @@
                 </option>
                 <option>
                     <name>CCJLinkInterfaceRadio</name>
-                    <state>0</state>
+                    <state>1</state>
                 </option>
                 <option>
                     <name>CCJLinkResetList</name>
                     <version>6</version>
-                    <state>5</state>
+                    <state>8</state>
                 </option>
                 <option>
                     <name>CCJLinkInterfaceCmdLine</name>
@@ -1402,6 +1406,10 @@
                 <file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file>
                 <loadFlag>0</loadFlag>
             </plugin>
+            <plugin>
+                <file>$EW_DIR$\common\plugins\TargetAccessServer\TargetAccessServer.ENU.ewplugin</file>
+                <loadFlag>0</loadFlag>
+            </plugin>
             <plugin>
                 <file>$EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin</file>
                 <loadFlag>0</loadFlag>
@@ -1418,7 +1426,7 @@
             <name>C-SPY</name>
             <archiveVersion>2</archiveVersion>
             <data>
-                <version>28</version>
+                <version>29</version>
                 <wantNonLocal>1</wantNonLocal>
                 <debug>0</debug>
                 <option>
@@ -1617,6 +1625,10 @@
                     <name>OCAttachSlave</name>
                     <state>0</state>
                 </option>
+                <option>
+                    <name>MassEraseBeforeFlashing</name>
+                    <state>0</state>
+                </option>
             </data>
         </settings>
         <settings>
@@ -2809,6 +2821,10 @@
                 <file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file>
                 <loadFlag>0</loadFlag>
             </plugin>
+            <plugin>
+                <file>$EW_DIR$\common\plugins\TargetAccessServer\TargetAccessServer.ENU.ewplugin</file>
+                <loadFlag>0</loadFlag>
+            </plugin>
             <plugin>
                 <file>$EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin</file>
                 <loadFlag>0</loadFlag>

+ 77 - 134
bsp/imxrt1052-evk/project.ewp

@@ -171,7 +171,6 @@
           <state>FSL_SDK_ENABLE_DRIVER_CACHE_CONTROL=1</state>
           <state>RT_USING_DLIBC</state>
           <state>_DLIB_FILE_DESCRIPTOR</state>
-          <state>_DLIB_THREAD_SUPPORT</state>
         </option>
         <option>
           <name>CCPreprocFile</name>
@@ -301,31 +300,27 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\components\libc\compilers\dlib</state>
-          <state>$PROJ_DIR$\Libraries</state>
+          <state>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src</state>
+          <state>$PROJ_DIR$\Libraries\CMSIS\Include</state>
           <state>$PROJ_DIR$\..\..\include</state>
-          <state>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\include\netif</state>
-          <state>$PROJ_DIR$\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\..\..\components\dfs\filesystems\net</state>
-          <state>$PROJ_DIR$\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\Libraries\drivers</state>
-          <state>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\include</state>
-          <state>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src</state>
           <state>$PROJ_DIR$\drivers</state>
-          <state>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\include\ipv4</state>
-          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\..\components\libc\compilers\dlib</state>
+          <state>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\include\netif</state>
           <state>$PROJ_DIR$\..\..\libcpu\arm\cortex-m7</state>
-          <state>$PROJ_DIR$\..\..\components\dfs\include</state>
-          <state>$PROJ_DIR$\..\..\components\dfs\filesystems\devfs</state>
-          <state>$PROJ_DIR$\..\..\components\dfs\filesystems\net\socket</state>
-          <state>$PROJ_DIR$\Libraries\CMSIS\Include</state>
           <state>$PROJ_DIR$\Libraries\utilities</state>
+          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\Libraries</state>
           <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\components\dfs\filesystems\net\select</state>
-          <state>$PROJ_DIR$\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\include</state>
+          <state>$PROJ_DIR$\..\..\components\dfs\include</state>
+          <state>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\include\ipv4</state>
+          <state>$PROJ_DIR$\..\..\components\drivers\include</state>
           <state>$PROJ_DIR$\..\..\components\dfs\filesystems\elmfat</state>
-          <state>$PROJ_DIR$\..\..\components\libc\pthreads</state>
-          <state>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\arch\include</state>
+          <state>$PROJ_DIR$\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\arch\include</state>
+          <state>$PROJ_DIR$\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\Libraries\drivers</state>
+          <state>$PROJ_DIR$\..\..\components\dfs\filesystems\devfs</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -722,7 +717,7 @@
         </option>
         <option>
           <name>IlinkIcfFile</name>
-          <state>$PROJ_DIR$\imxrt1052_sdram.icf</state>
+          <state>$PROJ_DIR$\Libraries\iar\MIMXRT1052xxxxx_flexspi_nor.icf</state>
         </option>
         <option>
           <name>IlinkIcfFileSlave</name>
@@ -1245,31 +1240,27 @@
         <option>
           <name>CCIncludePath2</name>
           <state />
-          <state>$PROJ_DIR$\..\..\components\libc\compilers\dlib</state>
-          <state>$PROJ_DIR$\Libraries</state>
+          <state>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src</state>
+          <state>$PROJ_DIR$\Libraries\CMSIS\Include</state>
           <state>$PROJ_DIR$\..\..\include</state>
-          <state>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\include\netif</state>
-          <state>$PROJ_DIR$\..\..\libcpu\arm\common</state>
-          <state>$PROJ_DIR$\..\..\components\dfs\filesystems\net</state>
-          <state>$PROJ_DIR$\..\..\components\drivers\include</state>
-          <state>$PROJ_DIR$\Libraries\drivers</state>
-          <state>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\include</state>
-          <state>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src</state>
           <state>$PROJ_DIR$\drivers</state>
-          <state>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\include\ipv4</state>
-          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\..\..\components\libc\compilers\dlib</state>
+          <state>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\include\netif</state>
           <state>$PROJ_DIR$\..\..\libcpu\arm\cortex-m7</state>
-          <state>$PROJ_DIR$\..\..\components\dfs\include</state>
-          <state>$PROJ_DIR$\..\..\components\dfs\filesystems\devfs</state>
-          <state>$PROJ_DIR$\..\..\components\dfs\filesystems\net\socket</state>
-          <state>$PROJ_DIR$\Libraries\CMSIS\Include</state>
           <state>$PROJ_DIR$\Libraries\utilities</state>
+          <state>$PROJ_DIR$\.</state>
+          <state>$PROJ_DIR$\Libraries</state>
           <state>$PROJ_DIR$\applications</state>
-          <state>$PROJ_DIR$\..\..\components\dfs\filesystems\net\select</state>
-          <state>$PROJ_DIR$\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\include</state>
+          <state>$PROJ_DIR$\..\..\components\dfs\include</state>
+          <state>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\include\ipv4</state>
+          <state>$PROJ_DIR$\..\..\components\drivers\include</state>
           <state>$PROJ_DIR$\..\..\components\dfs\filesystems\elmfat</state>
-          <state>$PROJ_DIR$\..\..\components\libc\pthreads</state>
-          <state>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\arch\include</state>
+          <state>$PROJ_DIR$\..\..\libcpu\arm\common</state>
+          <state>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\arch\include</state>
+          <state>$PROJ_DIR$\..\..\components\finsh</state>
+          <state>$PROJ_DIR$\Libraries\drivers</state>
+          <state>$PROJ_DIR$\..\..\components\dfs\filesystems\devfs</state>
         </option>
         <option>
           <name>CCStdIncCheck</name>
@@ -1892,6 +1883,9 @@
     <file>
       <name>$PROJ_DIR$\applications\main.c</name>
     </file>
+    <file>
+      <name>$PROJ_DIR$\applications\mem_dump.c</name>
+    </file>
     <file>
       <name>$PROJ_DIR$\applications\mem_test.c</name>
     </file>
@@ -1907,6 +1901,12 @@
     <file>
       <name>$PROJ_DIR$\drivers\usart.c</name>
     </file>
+    <file>
+      <name>$PROJ_DIR$\drivers\hyper_flash_boot.c</name>
+    </file>
+    <file>
+      <name>$PROJ_DIR$\drivers\drv_sdram.c</name>
+    </file>
     <file>
       <name>$PROJ_DIR$\drivers\drv_eth.c</name>
     </file>
@@ -2127,7 +2127,7 @@
       <name>$PROJ_DIR$\..\..\src\kservice.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\src\mem.c</name>
+      <name>$PROJ_DIR$\..\..\src\memheap.c</name>
     </file>
     <file>
       <name>$PROJ_DIR$\..\..\src\object.c</name>
@@ -2177,12 +2177,6 @@
     <file>
       <name>$PROJ_DIR$\..\..\components\dfs\src\dfs_posix.c</name>
     </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\dfs\src\poll.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\dfs\src\select.c</name>
-    </file>
     <file>
       <name>$PROJ_DIR$\..\..\components\dfs\filesystems\devfs\devfs.c</name>
     </file>
@@ -2192,15 +2186,6 @@
     <file>
       <name>$PROJ_DIR$\..\..\components\dfs\filesystems\elmfat\ff.c</name>
     </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\dfs\filesystems\net\dfs_net.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\dfs\filesystems\net\net_netdb.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\dfs\filesystems\net\net_sockets.c</name>
-    </file>
   </group>
   <group>
     <name>DeviceDrivers</name>
@@ -2329,153 +2314,111 @@
     </file>
   </group>
   <group>
-    <name>pthreads</name>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\libc\pthreads\clock_time.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\libc\pthreads\mqueue.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\libc\pthreads\pthread.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\libc\pthreads\pthread_attr.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\libc\pthreads\pthread_barrier.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\libc\pthreads\pthread_cond.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\libc\pthreads\pthread_mutex.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\libc\pthreads\pthread_rwlock.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\libc\pthreads\pthread_spin.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\libc\pthreads\pthread_tls.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\libc\pthreads\sched.c</name>
-    </file>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\libc\pthreads\semaphore.c</name>
-    </file>
-  </group>
-  <group>
-    <name>lwIP</name>
-    <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\arch\sys_arch.c</name>
-    </file>
+    <name>LwIP</name>
     <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\api\api_lib.c</name>
+      <name>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\api\api_lib.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\api\api_msg.c</name>
+      <name>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\api\api_msg.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\api\err.c</name>
+      <name>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\api\err.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\api\netbuf.c</name>
+      <name>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\api\netbuf.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\api\netdb.c</name>
+      <name>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\api\netdb.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\api\netifapi.c</name>
+      <name>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\api\netifapi.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\api\sockets.c</name>
+      <name>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\api\sockets.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\api\tcpip.c</name>
+      <name>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\api\tcpip.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\def.c</name>
+      <name>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\arch\sys_arch.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\dns.c</name>
+      <name>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\core\def.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\inet_chksum.c</name>
+      <name>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\core\dhcp.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\init.c</name>
+      <name>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\core\dns.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\ip.c</name>
+      <name>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\core\init.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\memp.c</name>
+      <name>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\core\memp.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\netif.c</name>
+      <name>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\core\netif.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\pbuf.c</name>
+      <name>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\core\pbuf.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\raw.c</name>
+      <name>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\core\raw.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\stats.c</name>
+      <name>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\core\stats.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\sys.c</name>
+      <name>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\core\sys.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\tcp.c</name>
+      <name>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\core\tcp.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\tcp_in.c</name>
+      <name>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\core\tcp_in.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\tcp_out.c</name>
+      <name>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\core\tcp_out.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\timeouts.c</name>
+      <name>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\core\timers.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\udp.c</name>
+      <name>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\core\udp.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\netif\ethernet.c</name>
+      <name>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\core\ipv4\autoip.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\netif\ethernetif.c</name>
+      <name>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\core\ipv4\icmp.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\netif\lowpan6.c</name>
+      <name>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\core\ipv4\igmp.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\ipv4\autoip.c</name>
+      <name>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\core\ipv4\inet.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\ipv4\dhcp.c</name>
+      <name>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\core\ipv4\inet_chksum.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\ipv4\etharp.c</name>
+      <name>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\core\ipv4\ip.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\ipv4\icmp.c</name>
+      <name>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\core\ipv4\ip_addr.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\ipv4\igmp.c</name>
+      <name>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\core\ipv4\ip_frag.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\ipv4\ip4.c</name>
+      <name>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\netif\etharp.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\ipv4\ip4_addr.c</name>
+      <name>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\netif\ethernetif.c</name>
     </file>
     <file>
-      <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\ipv4\ip4_frag.c</name>
+      <name>$PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\netif\slipif.c</name>
     </file>
   </group>
 </project>

+ 0 - 2910
bsp/imxrt1052-evk/project.ewt

@@ -1,2910 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project>
-    <fileVersion>3</fileVersion>
-    <configuration>
-        <name>Debug</name>
-        <toolchain>
-            <name>ARM</name>
-        </toolchain>
-        <debug>1</debug>
-        <settings>
-            <name>C-STAT</name>
-            <archiveVersion>260</archiveVersion>
-            <data>
-                <version>260</version>
-                <cstatargs>
-                    <useExtraArgs>0</useExtraArgs>
-                    <extraArgs></extraArgs>
-                    <analyzeTimeoutEnabled>1</analyzeTimeoutEnabled>
-                    <analyzeTimeout>600</analyzeTimeout>
-                    <enableParallel>0</enableParallel>
-                    <parallelThreads>2</parallelThreads>
-                    <enableFalsePositives>0</enableFalsePositives>
-                    <messagesLimitEnabled>1</messagesLimitEnabled>
-                    <messagesLimit>100</messagesLimit>
-                </cstatargs>
-                <cstat_settings>
-                    <cstat_version>1.4.5</cstat_version>
-                    <checks_tree>
-                        <package>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                            </group>
-                        </package>
-                        <package>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                        </package>
-                        <package>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                            </group>
-                        </package>
-                        <package>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                        </package>
-                        <package>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                        </package>
-                        <package>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                        </package>
-                    </checks_tree>
-                </cstat_settings>
-            </data>
-        </settings>
-        <settings>
-            <name>RuntimeChecking</name>
-            <archiveVersion>0</archiveVersion>
-            <data>
-                <version>2</version>
-                <wantNonLocal>1</wantNonLocal>
-                <debug>1</debug>
-                <option>
-                    <name>GenRtcDebugHeap</name>
-                    <state>0</state>
-                </option>
-                <option>
-                    <name>GenRtcEnableBoundsChecking</name>
-                    <state>0</state>
-                </option>
-                <option>
-                    <name>GenRtcCheckPtrsNonInstrMem</name>
-                    <state>1</state>
-                </option>
-                <option>
-                    <name>GenRtcTrackPointerBounds</name>
-                    <state>1</state>
-                </option>
-                <option>
-                    <name>GenRtcCheckAccesses</name>
-                    <state>1</state>
-                </option>
-                <option>
-                    <name>GenRtcGenerateEntries</name>
-                    <state>0</state>
-                </option>
-                <option>
-                    <name>GenRtcNrTrackedPointers</name>
-                    <state>1000</state>
-                </option>
-                <option>
-                    <name>GenRtcIntOverflow</name>
-                    <state>0</state>
-                </option>
-                <option>
-                    <name>GenRtcIncUnsigned</name>
-                    <state>0</state>
-                </option>
-                <option>
-                    <name>GenRtcIntConversion</name>
-                    <state>0</state>
-                </option>
-                <option>
-                    <name>GenRtcInclExplicit</name>
-                    <state>0</state>
-                </option>
-                <option>
-                    <name>GenRtcIntShiftOverflow</name>
-                    <state>0</state>
-                </option>
-                <option>
-                    <name>GenRtcInclUnsignedShiftOverflow</name>
-                    <state>0</state>
-                </option>
-                <option>
-                    <name>GenRtcUnhandledCase</name>
-                    <state>0</state>
-                </option>
-                <option>
-                    <name>GenRtcDivByZero</name>
-                    <state>0</state>
-                </option>
-                <option>
-                    <name>GenRtcEnable</name>
-                    <state>0</state>
-                </option>
-                <option>
-                    <name>GenRtcCheckPtrsNonInstrFunc</name>
-                    <state>1</state>
-                </option>
-            </data>
-        </settings>
-    </configuration>
-    <configuration>
-        <name>Release</name>
-        <toolchain>
-            <name>ARM</name>
-        </toolchain>
-        <debug>0</debug>
-        <settings>
-            <name>C-STAT</name>
-            <archiveVersion>260</archiveVersion>
-            <data>
-                <version>260</version>
-                <cstatargs>
-                    <useExtraArgs>0</useExtraArgs>
-                    <extraArgs></extraArgs>
-                    <analyzeTimeoutEnabled>1</analyzeTimeoutEnabled>
-                    <analyzeTimeout>600</analyzeTimeout>
-                    <enableParallel>0</enableParallel>
-                    <parallelThreads>2</parallelThreads>
-                    <enableFalsePositives>0</enableFalsePositives>
-                    <messagesLimitEnabled>1</messagesLimitEnabled>
-                    <messagesLimit>100</messagesLimit>
-                </cstatargs>
-                <cstat_settings>
-                    <cstat_version>1.4.5</cstat_version>
-                    <checks_tree>
-                        <package>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                            </group>
-                        </package>
-                        <package>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                        </package>
-                        <package>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                            </group>
-                        </package>
-                        <package>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                        </package>
-                        <package>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                        </package>
-                        <package>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                            <group>
-                                <check />
-                            </group>
-                        </package>
-                    </checks_tree>
-                </cstat_settings>
-            </data>
-        </settings>
-        <settings>
-            <name>RuntimeChecking</name>
-            <archiveVersion>0</archiveVersion>
-            <data>
-                <version>2</version>
-                <wantNonLocal>1</wantNonLocal>
-                <debug>0</debug>
-                <option>
-                    <name>GenRtcDebugHeap</name>
-                    <state>0</state>
-                </option>
-                <option>
-                    <name>GenRtcEnableBoundsChecking</name>
-                    <state>0</state>
-                </option>
-                <option>
-                    <name>GenRtcCheckPtrsNonInstrMem</name>
-                    <state>1</state>
-                </option>
-                <option>
-                    <name>GenRtcTrackPointerBounds</name>
-                    <state>1</state>
-                </option>
-                <option>
-                    <name>GenRtcCheckAccesses</name>
-                    <state>1</state>
-                </option>
-                <option>
-                    <name>GenRtcGenerateEntries</name>
-                    <state>0</state>
-                </option>
-                <option>
-                    <name>GenRtcNrTrackedPointers</name>
-                    <state>1000</state>
-                </option>
-                <option>
-                    <name>GenRtcIntOverflow</name>
-                    <state>0</state>
-                </option>
-                <option>
-                    <name>GenRtcIncUnsigned</name>
-                    <state>0</state>
-                </option>
-                <option>
-                    <name>GenRtcIntConversion</name>
-                    <state>0</state>
-                </option>
-                <option>
-                    <name>GenRtcInclExplicit</name>
-                    <state>0</state>
-                </option>
-                <option>
-                    <name>GenRtcIntShiftOverflow</name>
-                    <state>0</state>
-                </option>
-                <option>
-                    <name>GenRtcInclUnsignedShiftOverflow</name>
-                    <state>0</state>
-                </option>
-                <option>
-                    <name>GenRtcUnhandledCase</name>
-                    <state>0</state>
-                </option>
-                <option>
-                    <name>GenRtcDivByZero</name>
-                    <state>0</state>
-                </option>
-                <option>
-                    <name>GenRtcEnable</name>
-                    <state>0</state>
-                </option>
-                <option>
-                    <name>GenRtcCheckPtrsNonInstrFunc</name>
-                    <state>1</state>
-                </option>
-            </data>
-        </settings>
-    </configuration>
-    <group>
-        <name>Applications</name>
-        <file>
-            <name>$PROJ_DIR$\applications\device_test.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\applications\main.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\applications\mem_test.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\applications\sdio_test.c</name>
-        </file>
-    </group>
-    <group>
-        <name>CORTEX-M7</name>
-        <file>
-            <name>$PROJ_DIR$\..\..\libcpu\arm\common\backtrace.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\libcpu\arm\cortex-m7\context_iar.S</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\libcpu\arm\cortex-m7\cpuport.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\libcpu\arm\common\div0.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\libcpu\arm\common\showmem.c</name>
-        </file>
-    </group>
-    <group>
-        <name>DeviceDrivers</name>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\drivers\sdio\block_dev.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\drivers\src\completion.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\drivers\src\dataqueue.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\drivers\sdio\mmc.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\drivers\sdio\mmcsd_core.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\drivers\src\pipe.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\drivers\src\ringbuffer.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\drivers\sdio\sd.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\drivers\sdio\sdio.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\drivers\serial\serial.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\drivers\src\waitqueue.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\drivers\src\workqueue.c</name>
-        </file>
-    </group>
-    <group>
-        <name>dlib</name>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\libc\compilers\dlib\environ.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\libc\compilers\dlib\libc.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\libc\compilers\dlib\rmtx.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\libc\compilers\dlib\stdio.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\libc\compilers\dlib\syscall_close.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\libc\compilers\dlib\syscall_lseek.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\libc\compilers\dlib\syscall_mem.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\libc\compilers\dlib\syscall_open.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\libc\compilers\dlib\syscall_read.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\libc\compilers\dlib\syscall_remove.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\libc\compilers\dlib\syscall_write.c</name>
-        </file>
-    </group>
-    <group>
-        <name>Drivers</name>
-        <file>
-            <name>$PROJ_DIR$\drivers\board.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\drivers\drv_eth.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\drivers\drv_sdio.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\drivers\fsl_phy.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\drivers\usart.c</name>
-        </file>
-    </group>
-    <group>
-        <name>Filesystem</name>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\dfs\filesystems\devfs\devfs.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\dfs\src\dfs.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\dfs\filesystems\elmfat\dfs_elm.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\dfs\src\dfs_file.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\dfs\src\dfs_fs.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\dfs\filesystems\net\dfs_net.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\dfs\src\dfs_posix.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\dfs\filesystems\elmfat\ff.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\dfs\filesystems\net\net_netdb.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\dfs\filesystems\net\net_sockets.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\dfs\src\poll.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\dfs\src\select.c</name>
-        </file>
-    </group>
-    <group>
-        <name>finsh</name>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\finsh\cmd.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\finsh\finsh_compiler.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\finsh\finsh_error.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\finsh\finsh_heap.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\finsh\finsh_init.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\finsh\finsh_node.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\finsh\finsh_ops.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\finsh\finsh_parser.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\finsh\finsh_token.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\finsh\finsh_var.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\finsh\finsh_vm.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\finsh\msh.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\finsh\msh_cmd.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\finsh\msh_file.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\finsh\shell.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\finsh\symbol.c</name>
-        </file>
-    </group>
-    <group>
-        <name>Kernel</name>
-        <file>
-            <name>$PROJ_DIR$\..\..\src\clock.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\src\components.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\src\device.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\src\idle.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\src\ipc.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\src\irq.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\src\kservice.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\src\mem.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\src\object.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\src\scheduler.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\src\signal.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\src\thread.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\src\timer.c</name>
-        </file>
-    </group>
-    <group>
-        <name>Libraries</name>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_adc.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_adc_etc.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_aipstz.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_aoi.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_bee.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_cache.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_clock.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_cmp.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_common.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_csi.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_dcdc.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_dcp.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_dmamux.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_edma.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_elcdif.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_enc.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_enet.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_ewm.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_flexcan.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_flexio.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_flexio_i2c_master.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_flexio_i2s.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_flexio_i2s_edma.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_flexio_spi.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_flexio_spi_edma.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_flexio_uart.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_flexio_uart_edma.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_flexram.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_flexspi.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_gpc.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_gpio.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_gpt.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_kpp.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_lpi2c.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_lpi2c_edma.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_lpspi.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_lpspi_edma.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_lpuart.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_lpuart_edma.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_pit.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_pmu.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_pwm.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_pxp.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_qtmr.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_rtwdog.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_sai.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_sai_edma.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_semc.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_snvs_hp.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_snvs_lp.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_spdif.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_spdif_edma.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_src.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_trng.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_tsc.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_usdhc.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_wdog.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_xbara.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\drivers\fsl_xbarb.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\iar\startup_MIMXRT1052.s</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\Libraries\system_MIMXRT1052.c</name>
-        </file>
-    </group>
-    <group>
-        <name>lwIP</name>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\api\api_lib.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\api\api_msg.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\ipv4\autoip.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\def.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\ipv4\dhcp.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\dns.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\api\err.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\ipv4\etharp.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\netif\ethernet.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\netif\ethernetif.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\ipv4\icmp.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\ipv4\igmp.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\inet_chksum.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\init.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\ip.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\ipv4\ip4.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\ipv4\ip4_addr.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\ipv4\ip4_frag.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\netif\lowpan6.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\memp.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\api\netbuf.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\api\netdb.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\netif.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\api\netifapi.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\pbuf.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\raw.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\api\sockets.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\stats.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\sys.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\arch\sys_arch.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\tcp.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\tcp_in.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\tcp_out.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\api\tcpip.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\timeouts.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\udp.c</name>
-        </file>
-    </group>
-    <group>
-        <name>pthreads</name>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\libc\pthreads\clock_time.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\libc\pthreads\mqueue.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\libc\pthreads\pthread.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\libc\pthreads\pthread_attr.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\libc\pthreads\pthread_barrier.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\libc\pthreads\pthread_cond.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\libc\pthreads\pthread_mutex.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\libc\pthreads\pthread_rwlock.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\libc\pthreads\pthread_spin.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\libc\pthreads\pthread_tls.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\libc\pthreads\sched.c</name>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\components\libc\pthreads\semaphore.c</name>
-        </file>
-    </group>
-</project>

+ 2274 - 0
bsp/imxrt1052-evk/project.uvoptx

@@ -0,0 +1,2274 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<ProjectOpt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_optx.xsd">
+
+  <SchemaVersion>1.0</SchemaVersion>
+
+  <Header>### uVision Project, (C) Keil Software</Header>
+
+  <Extensions>
+    <cExt>*.c</cExt>
+    <aExt>*.s*; *.src; *.a*</aExt>
+    <oExt>*.obj; *.o</oExt>
+    <lExt>*.lib</lExt>
+    <tExt>*.txt; *.h; *.inc</tExt>
+    <pExt>*.plm</pExt>
+    <CppX>*.cpp</CppX>
+    <nMigrate>0</nMigrate>
+  </Extensions>
+
+  <DaveTm>
+    <dwLowDateTime>0</dwLowDateTime>
+    <dwHighDateTime>0</dwHighDateTime>
+  </DaveTm>
+
+  <Target>
+    <TargetName>RT-Thread IMXRT1052</TargetName>
+    <ToolsetNumber>0x4</ToolsetNumber>
+    <ToolsetName>ARM-ADS</ToolsetName>
+    <TargetOption>
+      <CLKADS>12000000</CLKADS>
+      <OPTTT>
+        <gFlags>1</gFlags>
+        <BeepAtEnd>1</BeepAtEnd>
+        <RunSim>0</RunSim>
+        <RunTarget>1</RunTarget>
+        <RunAbUc>0</RunAbUc>
+      </OPTTT>
+      <OPTHX>
+        <HexSelection>1</HexSelection>
+        <FlashByte>65535</FlashByte>
+        <HexRangeLowAddress>0</HexRangeLowAddress>
+        <HexRangeHighAddress>0</HexRangeHighAddress>
+        <HexOffset>0</HexOffset>
+      </OPTHX>
+      <OPTLEX>
+        <PageWidth>79</PageWidth>
+        <PageLength>66</PageLength>
+        <TabStop>8</TabStop>
+        <ListingPath>.\build\</ListingPath>
+      </OPTLEX>
+      <ListingPage>
+        <CreateCListing>1</CreateCListing>
+        <CreateAListing>1</CreateAListing>
+        <CreateLListing>1</CreateLListing>
+        <CreateIListing>0</CreateIListing>
+        <AsmCond>1</AsmCond>
+        <AsmSymb>1</AsmSymb>
+        <AsmXref>0</AsmXref>
+        <CCond>1</CCond>
+        <CCode>0</CCode>
+        <CListInc>0</CListInc>
+        <CSymb>0</CSymb>
+        <LinkerCodeListing>0</LinkerCodeListing>
+      </ListingPage>
+      <OPTXL>
+        <LMap>1</LMap>
+        <LComments>1</LComments>
+        <LGenerateSymbols>1</LGenerateSymbols>
+        <LLibSym>1</LLibSym>
+        <LLines>1</LLines>
+        <LLocSym>1</LLocSym>
+        <LPubSym>1</LPubSym>
+        <LXref>0</LXref>
+        <LExpSel>0</LExpSel>
+      </OPTXL>
+      <OPTFL>
+        <tvExp>0</tvExp>
+        <tvExpOptDlg>0</tvExpOptDlg>
+        <IsCurrentTarget>1</IsCurrentTarget>
+      </OPTFL>
+      <CpuCode>8</CpuCode>
+      <DebugOpt>
+        <uSim>0</uSim>
+        <uTrg>1</uTrg>
+        <sLdApp>1</sLdApp>
+        <sGomain>1</sGomain>
+        <sRbreak>1</sRbreak>
+        <sRwatch>1</sRwatch>
+        <sRmem>1</sRmem>
+        <sRfunc>1</sRfunc>
+        <sRbox>1</sRbox>
+        <tLdApp>1</tLdApp>
+        <tGomain>1</tGomain>
+        <tRbreak>1</tRbreak>
+        <tRwatch>1</tRwatch>
+        <tRmem>1</tRmem>
+        <tRfunc>0</tRfunc>
+        <tRbox>1</tRbox>
+        <tRtrace>1</tRtrace>
+        <sRSysVw>1</sRSysVw>
+        <tRSysVw>1</tRSysVw>
+        <sRunDeb>0</sRunDeb>
+        <sLrtime>0</sLrtime>
+        <bEvRecOn>1</bEvRecOn>
+        <bSchkAxf>0</bSchkAxf>
+        <bTchkAxf>0</bTchkAxf>
+        <nTsel>4</nTsel>
+        <sDll></sDll>
+        <sDllPa></sDllPa>
+        <sDlgDll></sDlgDll>
+        <sDlgPa></sDlgPa>
+        <sIfile></sIfile>
+        <tDll></tDll>
+        <tDllPa></tDllPa>
+        <tDlgDll></tDlgDll>
+        <tDlgPa></tDlgPa>
+        <tIfile>.\Libraries\arm\evkmimxrt1050_flexspi_nor.ini</tIfile>
+        <pMon>Segger\JL2CM3.dll</pMon>
+      </DebugOpt>
+      <TargetDriverDllRegistry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>JL2CM3</Key>
+          <Name>-U30000299 -O78 -S2 -ZTIFSpeedSel5000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST1 -TO18 -TC10000000 -TP21 -TDS8001 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO7 -FD20000000 -FCF000 -FN1 -FF0MIMXRT105x_HYPER_256KB_SEC.FLM -FS060000000 -FL04000000 -FP0($$Device:MIMXRT1052$Flash\MIMXRT105x_HYPER_256KB_SEC.FLM)</Name>
+        </SetRegEntry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>CMSIS_AGDI</Key>
+          <Name>-X"" -O974 -S0 -C0 -P00 -TO18 -TC10000000 -TP20 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FCF000 -FN1 -FF0MIMXRT105x_HYPER_256KB_SEC.FLM -FS060000000 -FL04000000 -FP0($$Device:MIMXRT1052$Flash\MIMXRT105x_HYPER_256KB_SEC.FLM)</Name>
+        </SetRegEntry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>UL2CM3</Key>
+          <Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FCF000 -FN1 -FF0MIMXRT105x_HYPER_256KB_SEC -FS060000000 -FL04000000 -FP0($$Device:MIMXRT1052$Flash\MIMXRT105x_HYPER_256KB_SEC.FLM))</Name>
+        </SetRegEntry>
+      </TargetDriverDllRegistry>
+      <Breakpoint/>
+      <Tracepoint>
+        <THDelay>0</THDelay>
+      </Tracepoint>
+      <DebugFlag>
+        <trace>0</trace>
+        <periodic>0</periodic>
+        <aLwin>0</aLwin>
+        <aCover>0</aCover>
+        <aSer1>0</aSer1>
+        <aSer2>0</aSer2>
+        <aPa>0</aPa>
+        <viewmode>0</viewmode>
+        <vrSel>0</vrSel>
+        <aSym>0</aSym>
+        <aTbox>0</aTbox>
+        <AscS1>0</AscS1>
+        <AscS2>0</AscS2>
+        <AscS3>0</AscS3>
+        <aSer3>0</aSer3>
+        <eProf>0</eProf>
+        <aLa>0</aLa>
+        <aPa1>0</aPa1>
+        <AscS4>0</AscS4>
+        <aSer4>0</aSer4>
+        <StkLoc>0</StkLoc>
+        <TrcWin>0</TrcWin>
+        <newCpu>0</newCpu>
+        <uProt>0</uProt>
+      </DebugFlag>
+      <LintExecutable></LintExecutable>
+      <LintConfigFile></LintConfigFile>
+      <bLintAuto>0</bLintAuto>
+      <bAutoGenD>0</bAutoGenD>
+      <LntExFlags>0</LntExFlags>
+      <pMisraName></pMisraName>
+      <pszMrule></pszMrule>
+      <pSingCmds></pSingCmds>
+      <pMultCmds></pMultCmds>
+      <pMisraNamep></pMisraNamep>
+      <pszMrulep></pszMrulep>
+      <pSingCmdsp></pSingCmdsp>
+      <pMultCmdsp></pMultCmdsp>
+    </TargetOption>
+  </Target>
+
+  <Group>
+    <GroupName>Applications</GroupName>
+    <tvExp>0</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>1</GroupNumber>
+      <FileNumber>1</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>applications\device_test.c</PathWithFileName>
+      <FilenameWithoutPath>device_test.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>1</GroupNumber>
+      <FileNumber>2</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>applications\main.c</PathWithFileName>
+      <FilenameWithoutPath>main.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>1</GroupNumber>
+      <FileNumber>3</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>applications\mem_dump.c</PathWithFileName>
+      <FilenameWithoutPath>mem_dump.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>1</GroupNumber>
+      <FileNumber>4</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>applications\mem_test.c</PathWithFileName>
+      <FilenameWithoutPath>mem_test.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>1</GroupNumber>
+      <FileNumber>5</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>applications\sdio_test.c</PathWithFileName>
+      <FilenameWithoutPath>sdio_test.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>Drivers</GroupName>
+    <tvExp>0</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>2</GroupNumber>
+      <FileNumber>6</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>drivers\board.c</PathWithFileName>
+      <FilenameWithoutPath>board.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>2</GroupNumber>
+      <FileNumber>7</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>drivers\usart.c</PathWithFileName>
+      <FilenameWithoutPath>usart.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>2</GroupNumber>
+      <FileNumber>8</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>drivers\hyper_flash_boot.c</PathWithFileName>
+      <FilenameWithoutPath>hyper_flash_boot.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>2</GroupNumber>
+      <FileNumber>9</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>drivers\drv_sdram.c</PathWithFileName>
+      <FilenameWithoutPath>drv_sdram.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>2</GroupNumber>
+      <FileNumber>10</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>drivers\drv_eth.c</PathWithFileName>
+      <FilenameWithoutPath>drv_eth.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>2</GroupNumber>
+      <FileNumber>11</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>drivers\fsl_phy.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_phy.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>2</GroupNumber>
+      <FileNumber>12</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>drivers\drv_sdio.c</PathWithFileName>
+      <FilenameWithoutPath>drv_sdio.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>Libraries</GroupName>
+    <tvExp>0</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>13</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_adc.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_adc.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>14</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_adc_etc.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_adc_etc.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>15</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_aipstz.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_aipstz.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>16</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_aoi.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_aoi.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>17</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_bee.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_bee.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>18</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_cache.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_cache.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>19</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_clock.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_clock.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>20</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_cmp.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_cmp.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>21</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_common.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_common.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>22</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_csi.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_csi.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>23</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_dcdc.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_dcdc.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>24</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_dcp.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_dcp.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>25</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_dmamux.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_dmamux.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>26</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_edma.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_edma.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>27</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_elcdif.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_elcdif.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>28</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_enc.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_enc.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>29</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_enet.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_enet.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>30</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_ewm.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_ewm.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>31</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_flexcan.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_flexcan.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>32</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_flexio.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_flexio.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>33</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_flexio_i2c_master.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_flexio_i2c_master.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>34</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_flexio_i2s.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_flexio_i2s.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>35</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_flexio_i2s_edma.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_flexio_i2s_edma.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>36</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_flexio_spi.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_flexio_spi.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>37</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_flexio_spi_edma.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_flexio_spi_edma.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>38</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_flexio_uart.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_flexio_uart.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>39</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_flexio_uart_edma.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_flexio_uart_edma.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>40</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_flexram.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_flexram.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>41</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_flexspi.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_flexspi.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>42</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_gpc.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_gpc.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>43</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_gpio.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_gpio.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>44</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_gpt.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_gpt.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>45</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_kpp.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_kpp.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>46</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_lpi2c.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_lpi2c.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>47</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_lpi2c_edma.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_lpi2c_edma.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>48</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_lpspi.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_lpspi.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>49</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_lpspi_edma.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_lpspi_edma.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>50</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_lpuart.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_lpuart.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>51</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_lpuart_edma.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_lpuart_edma.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>52</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_pit.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_pit.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>53</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_pmu.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_pmu.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>54</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_pwm.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_pwm.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>55</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_pxp.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_pxp.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>56</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_qtmr.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_qtmr.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>57</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_rtwdog.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_rtwdog.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>58</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_sai.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_sai.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>59</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_sai_edma.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_sai_edma.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>60</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_semc.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_semc.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>61</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_snvs_hp.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_snvs_hp.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>62</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_snvs_lp.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_snvs_lp.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>63</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_spdif.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_spdif.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>64</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_spdif_edma.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_spdif_edma.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>65</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_src.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_src.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>66</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_trng.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_trng.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>67</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_tsc.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_tsc.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>68</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_usdhc.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_usdhc.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>69</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_wdog.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_wdog.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>70</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_xbara.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_xbara.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>71</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\drivers\fsl_xbarb.c</PathWithFileName>
+      <FilenameWithoutPath>fsl_xbarb.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>72</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\system_MIMXRT1052.c</PathWithFileName>
+      <FilenameWithoutPath>system_MIMXRT1052.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>73</FileNumber>
+      <FileType>2</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>Libraries\arm\startup_MIMXRT1052.s</PathWithFileName>
+      <FilenameWithoutPath>startup_MIMXRT1052.s</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>Kernel</GroupName>
+    <tvExp>0</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>4</GroupNumber>
+      <FileNumber>74</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\src\clock.c</PathWithFileName>
+      <FilenameWithoutPath>clock.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>4</GroupNumber>
+      <FileNumber>75</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\src\components.c</PathWithFileName>
+      <FilenameWithoutPath>components.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>4</GroupNumber>
+      <FileNumber>76</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\src\device.c</PathWithFileName>
+      <FilenameWithoutPath>device.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>4</GroupNumber>
+      <FileNumber>77</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\src\idle.c</PathWithFileName>
+      <FilenameWithoutPath>idle.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>4</GroupNumber>
+      <FileNumber>78</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\src\ipc.c</PathWithFileName>
+      <FilenameWithoutPath>ipc.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>4</GroupNumber>
+      <FileNumber>79</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\src\irq.c</PathWithFileName>
+      <FilenameWithoutPath>irq.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>4</GroupNumber>
+      <FileNumber>80</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\src\kservice.c</PathWithFileName>
+      <FilenameWithoutPath>kservice.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>4</GroupNumber>
+      <FileNumber>81</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\src\memheap.c</PathWithFileName>
+      <FilenameWithoutPath>memheap.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>4</GroupNumber>
+      <FileNumber>82</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\src\object.c</PathWithFileName>
+      <FilenameWithoutPath>object.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>4</GroupNumber>
+      <FileNumber>83</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\src\scheduler.c</PathWithFileName>
+      <FilenameWithoutPath>scheduler.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>4</GroupNumber>
+      <FileNumber>84</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\src\signal.c</PathWithFileName>
+      <FilenameWithoutPath>signal.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>4</GroupNumber>
+      <FileNumber>85</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\src\thread.c</PathWithFileName>
+      <FilenameWithoutPath>thread.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>4</GroupNumber>
+      <FileNumber>86</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\src\timer.c</PathWithFileName>
+      <FilenameWithoutPath>timer.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>CORTEX-M7</GroupName>
+    <tvExp>0</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>87</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\libcpu\arm\cortex-m7\cpuport.c</PathWithFileName>
+      <FilenameWithoutPath>cpuport.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>88</FileNumber>
+      <FileType>2</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\libcpu\arm\cortex-m7\context_rvds.S</PathWithFileName>
+      <FilenameWithoutPath>context_rvds.S</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>89</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\libcpu\arm\common\backtrace.c</PathWithFileName>
+      <FilenameWithoutPath>backtrace.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>90</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\libcpu\arm\common\div0.c</PathWithFileName>
+      <FilenameWithoutPath>div0.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>91</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\libcpu\arm\common\showmem.c</PathWithFileName>
+      <FilenameWithoutPath>showmem.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>Filesystem</GroupName>
+    <tvExp>0</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>6</GroupNumber>
+      <FileNumber>92</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\dfs\src\dfs.c</PathWithFileName>
+      <FilenameWithoutPath>dfs.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>6</GroupNumber>
+      <FileNumber>93</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\dfs\src\dfs_file.c</PathWithFileName>
+      <FilenameWithoutPath>dfs_file.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>6</GroupNumber>
+      <FileNumber>94</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\dfs\src\dfs_fs.c</PathWithFileName>
+      <FilenameWithoutPath>dfs_fs.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>6</GroupNumber>
+      <FileNumber>95</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\dfs\src\dfs_posix.c</PathWithFileName>
+      <FilenameWithoutPath>dfs_posix.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>6</GroupNumber>
+      <FileNumber>96</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\dfs\filesystems\devfs\devfs.c</PathWithFileName>
+      <FilenameWithoutPath>devfs.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>6</GroupNumber>
+      <FileNumber>97</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\dfs\filesystems\elmfat\dfs_elm.c</PathWithFileName>
+      <FilenameWithoutPath>dfs_elm.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>6</GroupNumber>
+      <FileNumber>98</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\dfs\filesystems\elmfat\ff.c</PathWithFileName>
+      <FilenameWithoutPath>ff.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>DeviceDrivers</GroupName>
+    <tvExp>0</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>7</GroupNumber>
+      <FileNumber>99</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\drivers\sdio\block_dev.c</PathWithFileName>
+      <FilenameWithoutPath>block_dev.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>7</GroupNumber>
+      <FileNumber>100</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\drivers\sdio\mmcsd_core.c</PathWithFileName>
+      <FilenameWithoutPath>mmcsd_core.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>7</GroupNumber>
+      <FileNumber>101</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\drivers\sdio\sd.c</PathWithFileName>
+      <FilenameWithoutPath>sd.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>7</GroupNumber>
+      <FileNumber>102</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\drivers\sdio\sdio.c</PathWithFileName>
+      <FilenameWithoutPath>sdio.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>7</GroupNumber>
+      <FileNumber>103</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\drivers\sdio\mmc.c</PathWithFileName>
+      <FilenameWithoutPath>mmc.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>7</GroupNumber>
+      <FileNumber>104</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\drivers\serial\serial.c</PathWithFileName>
+      <FilenameWithoutPath>serial.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>7</GroupNumber>
+      <FileNumber>105</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\drivers\src\completion.c</PathWithFileName>
+      <FilenameWithoutPath>completion.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>7</GroupNumber>
+      <FileNumber>106</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\drivers\src\dataqueue.c</PathWithFileName>
+      <FilenameWithoutPath>dataqueue.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>7</GroupNumber>
+      <FileNumber>107</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\drivers\src\pipe.c</PathWithFileName>
+      <FilenameWithoutPath>pipe.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>7</GroupNumber>
+      <FileNumber>108</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\drivers\src\ringbuffer.c</PathWithFileName>
+      <FilenameWithoutPath>ringbuffer.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>7</GroupNumber>
+      <FileNumber>109</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\drivers\src\waitqueue.c</PathWithFileName>
+      <FilenameWithoutPath>waitqueue.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>7</GroupNumber>
+      <FileNumber>110</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\drivers\src\workqueue.c</PathWithFileName>
+      <FilenameWithoutPath>workqueue.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>finsh</GroupName>
+    <tvExp>0</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>8</GroupNumber>
+      <FileNumber>111</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\finsh\shell.c</PathWithFileName>
+      <FilenameWithoutPath>shell.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>8</GroupNumber>
+      <FileNumber>112</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\finsh\symbol.c</PathWithFileName>
+      <FilenameWithoutPath>symbol.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>8</GroupNumber>
+      <FileNumber>113</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\finsh\cmd.c</PathWithFileName>
+      <FilenameWithoutPath>cmd.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>8</GroupNumber>
+      <FileNumber>114</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\finsh\msh.c</PathWithFileName>
+      <FilenameWithoutPath>msh.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>8</GroupNumber>
+      <FileNumber>115</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\finsh\msh_cmd.c</PathWithFileName>
+      <FilenameWithoutPath>msh_cmd.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>8</GroupNumber>
+      <FileNumber>116</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\finsh\msh_file.c</PathWithFileName>
+      <FilenameWithoutPath>msh_file.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>8</GroupNumber>
+      <FileNumber>117</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\finsh\finsh_compiler.c</PathWithFileName>
+      <FilenameWithoutPath>finsh_compiler.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>8</GroupNumber>
+      <FileNumber>118</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\finsh\finsh_error.c</PathWithFileName>
+      <FilenameWithoutPath>finsh_error.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>8</GroupNumber>
+      <FileNumber>119</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\finsh\finsh_heap.c</PathWithFileName>
+      <FilenameWithoutPath>finsh_heap.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>8</GroupNumber>
+      <FileNumber>120</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\finsh\finsh_init.c</PathWithFileName>
+      <FilenameWithoutPath>finsh_init.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>8</GroupNumber>
+      <FileNumber>121</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\finsh\finsh_node.c</PathWithFileName>
+      <FilenameWithoutPath>finsh_node.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>8</GroupNumber>
+      <FileNumber>122</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\finsh\finsh_ops.c</PathWithFileName>
+      <FilenameWithoutPath>finsh_ops.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>8</GroupNumber>
+      <FileNumber>123</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\finsh\finsh_parser.c</PathWithFileName>
+      <FilenameWithoutPath>finsh_parser.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>8</GroupNumber>
+      <FileNumber>124</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\finsh\finsh_var.c</PathWithFileName>
+      <FilenameWithoutPath>finsh_var.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>8</GroupNumber>
+      <FileNumber>125</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\finsh\finsh_vm.c</PathWithFileName>
+      <FilenameWithoutPath>finsh_vm.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>8</GroupNumber>
+      <FileNumber>126</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\finsh\finsh_token.c</PathWithFileName>
+      <FilenameWithoutPath>finsh_token.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>libc</GroupName>
+    <tvExp>0</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>9</GroupNumber>
+      <FileNumber>127</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\libc\compilers\armlibc\libc.c</PathWithFileName>
+      <FilenameWithoutPath>libc.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>9</GroupNumber>
+      <FileNumber>128</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\libc\compilers\armlibc\libc_syms.c</PathWithFileName>
+      <FilenameWithoutPath>libc_syms.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>9</GroupNumber>
+      <FileNumber>129</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\libc\compilers\armlibc\mem_std.c</PathWithFileName>
+      <FilenameWithoutPath>mem_std.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>9</GroupNumber>
+      <FileNumber>130</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\libc\compilers\armlibc\stdio.c</PathWithFileName>
+      <FilenameWithoutPath>stdio.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>9</GroupNumber>
+      <FileNumber>131</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\libc\compilers\armlibc\stubs.c</PathWithFileName>
+      <FilenameWithoutPath>stubs.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>9</GroupNumber>
+      <FileNumber>132</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\libc\compilers\armlibc\time.c</PathWithFileName>
+      <FilenameWithoutPath>time.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>LwIP</GroupName>
+    <tvExp>0</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>10</GroupNumber>
+      <FileNumber>133</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\net\lwip-1.4.1\src\api\api_lib.c</PathWithFileName>
+      <FilenameWithoutPath>api_lib.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>10</GroupNumber>
+      <FileNumber>134</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\net\lwip-1.4.1\src\api\api_msg.c</PathWithFileName>
+      <FilenameWithoutPath>api_msg.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>10</GroupNumber>
+      <FileNumber>135</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\net\lwip-1.4.1\src\api\err.c</PathWithFileName>
+      <FilenameWithoutPath>err.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>10</GroupNumber>
+      <FileNumber>136</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\net\lwip-1.4.1\src\api\netbuf.c</PathWithFileName>
+      <FilenameWithoutPath>netbuf.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>10</GroupNumber>
+      <FileNumber>137</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\net\lwip-1.4.1\src\api\netdb.c</PathWithFileName>
+      <FilenameWithoutPath>netdb.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>10</GroupNumber>
+      <FileNumber>138</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\net\lwip-1.4.1\src\api\netifapi.c</PathWithFileName>
+      <FilenameWithoutPath>netifapi.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>10</GroupNumber>
+      <FileNumber>139</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\net\lwip-1.4.1\src\api\sockets.c</PathWithFileName>
+      <FilenameWithoutPath>sockets.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>10</GroupNumber>
+      <FileNumber>140</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\net\lwip-1.4.1\src\api\tcpip.c</PathWithFileName>
+      <FilenameWithoutPath>tcpip.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>10</GroupNumber>
+      <FileNumber>141</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\net\lwip-1.4.1\src\arch\sys_arch.c</PathWithFileName>
+      <FilenameWithoutPath>sys_arch.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>10</GroupNumber>
+      <FileNumber>142</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\net\lwip-1.4.1\src\core\def.c</PathWithFileName>
+      <FilenameWithoutPath>def.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>10</GroupNumber>
+      <FileNumber>143</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\net\lwip-1.4.1\src\core\dhcp.c</PathWithFileName>
+      <FilenameWithoutPath>dhcp.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>10</GroupNumber>
+      <FileNumber>144</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\net\lwip-1.4.1\src\core\dns.c</PathWithFileName>
+      <FilenameWithoutPath>dns.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>10</GroupNumber>
+      <FileNumber>145</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\net\lwip-1.4.1\src\core\init.c</PathWithFileName>
+      <FilenameWithoutPath>init.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>10</GroupNumber>
+      <FileNumber>146</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\net\lwip-1.4.1\src\core\memp.c</PathWithFileName>
+      <FilenameWithoutPath>memp.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>10</GroupNumber>
+      <FileNumber>147</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\net\lwip-1.4.1\src\core\netif.c</PathWithFileName>
+      <FilenameWithoutPath>netif.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>10</GroupNumber>
+      <FileNumber>148</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\net\lwip-1.4.1\src\core\pbuf.c</PathWithFileName>
+      <FilenameWithoutPath>pbuf.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>10</GroupNumber>
+      <FileNumber>149</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\net\lwip-1.4.1\src\core\raw.c</PathWithFileName>
+      <FilenameWithoutPath>raw.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>10</GroupNumber>
+      <FileNumber>150</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\net\lwip-1.4.1\src\core\stats.c</PathWithFileName>
+      <FilenameWithoutPath>stats.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>10</GroupNumber>
+      <FileNumber>151</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\net\lwip-1.4.1\src\core\sys.c</PathWithFileName>
+      <FilenameWithoutPath>sys.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>10</GroupNumber>
+      <FileNumber>152</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\net\lwip-1.4.1\src\core\tcp.c</PathWithFileName>
+      <FilenameWithoutPath>tcp.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>10</GroupNumber>
+      <FileNumber>153</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\net\lwip-1.4.1\src\core\tcp_in.c</PathWithFileName>
+      <FilenameWithoutPath>tcp_in.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>10</GroupNumber>
+      <FileNumber>154</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\net\lwip-1.4.1\src\core\tcp_out.c</PathWithFileName>
+      <FilenameWithoutPath>tcp_out.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>10</GroupNumber>
+      <FileNumber>155</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\net\lwip-1.4.1\src\core\timers.c</PathWithFileName>
+      <FilenameWithoutPath>timers.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>10</GroupNumber>
+      <FileNumber>156</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\net\lwip-1.4.1\src\core\udp.c</PathWithFileName>
+      <FilenameWithoutPath>udp.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>10</GroupNumber>
+      <FileNumber>157</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\net\lwip-1.4.1\src\core\ipv4\autoip.c</PathWithFileName>
+      <FilenameWithoutPath>autoip.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>10</GroupNumber>
+      <FileNumber>158</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\net\lwip-1.4.1\src\core\ipv4\icmp.c</PathWithFileName>
+      <FilenameWithoutPath>icmp.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>10</GroupNumber>
+      <FileNumber>159</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\net\lwip-1.4.1\src\core\ipv4\igmp.c</PathWithFileName>
+      <FilenameWithoutPath>igmp.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>10</GroupNumber>
+      <FileNumber>160</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\net\lwip-1.4.1\src\core\ipv4\inet.c</PathWithFileName>
+      <FilenameWithoutPath>inet.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>10</GroupNumber>
+      <FileNumber>161</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\net\lwip-1.4.1\src\core\ipv4\inet_chksum.c</PathWithFileName>
+      <FilenameWithoutPath>inet_chksum.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>10</GroupNumber>
+      <FileNumber>162</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\net\lwip-1.4.1\src\core\ipv4\ip.c</PathWithFileName>
+      <FilenameWithoutPath>ip.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>10</GroupNumber>
+      <FileNumber>163</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\net\lwip-1.4.1\src\core\ipv4\ip_addr.c</PathWithFileName>
+      <FilenameWithoutPath>ip_addr.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>10</GroupNumber>
+      <FileNumber>164</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\net\lwip-1.4.1\src\core\ipv4\ip_frag.c</PathWithFileName>
+      <FilenameWithoutPath>ip_frag.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>10</GroupNumber>
+      <FileNumber>165</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\net\lwip-1.4.1\src\netif\etharp.c</PathWithFileName>
+      <FilenameWithoutPath>etharp.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>10</GroupNumber>
+      <FileNumber>166</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\net\lwip-1.4.1\src\netif\ethernetif.c</PathWithFileName>
+      <FilenameWithoutPath>ethernetif.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>10</GroupNumber>
+      <FileNumber>167</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\net\lwip-1.4.1\src\netif\slipif.c</PathWithFileName>
+      <FilenameWithoutPath>slipif.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>::CMSIS</GroupName>
+    <tvExp>0</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>1</RteFlg>
+  </Group>
+
+</ProjectOpt>

+ 83 - 157
bsp/imxrt1052-evk/project.uvprojx

@@ -10,13 +10,14 @@
       <TargetName>RT-Thread IMXRT1052</TargetName>
       <ToolsetNumber>0x4</ToolsetNumber>
       <ToolsetName>ARM-ADS</ToolsetName>
-      <pCCUsed>5060528::V5.06 update 5 (build 528)::ARMCC</pCCUsed>
+      <pCCUsed>5060750::V5.06 update 6 (build 750)::ARMCC</pCCUsed>
       <uAC6>0</uAC6>
       <TargetOption>
         <TargetCommonOption>
           <Device>MIMXRT1052:M7</Device>
           <Vendor>NXP</Vendor>
-          <PackID>NXP.iMXRT_DFP.1.0.1</PackID>
+          <PackID>NXP.iMXRT_DFP.1.0.2</PackID>
+          <PackURL>http://mcuxpresso.nxp.com/cmsis_pack/repo/</PackURL>
           <Cpu>IRAM(0x20000000,0x00060000) IRAM2(0x00000000,0x00020000) CPUTYPE("Cortex-M7") FPU3(SFPU) CLOCK(12000000) ELITTLE</Cpu>
           <FlashUtilSpec></FlashUtilSpec>
           <StartupFile></StartupFile>
@@ -48,12 +49,12 @@
             <InvalidFlash>1</InvalidFlash>
           </TargetStatus>
           <OutputDirectory>.\build\</OutputDirectory>
-          <OutputName>rtthread-lpc</OutputName>
+          <OutputName>rtthread-imxrt</OutputName>
           <CreateExecutable>1</CreateExecutable>
           <CreateLib>0</CreateLib>
           <CreateHexFile>0</CreateHexFile>
           <DebugInformation>1</DebugInformation>
-          <BrowseInformation>1</BrowseInformation>
+          <BrowseInformation>0</BrowseInformation>
           <ListingPath>.\build\</ListingPath>
           <HexFormatSelection>1</HexFormatSelection>
           <Merge32K>0</Merge32K>
@@ -79,9 +80,9 @@
             <nStopB2X>0</nStopB2X>
           </BeforeMake>
           <AfterMake>
-            <RunUserProg1>0</RunUserProg1>
+            <RunUserProg1>1</RunUserProg1>
             <RunUserProg2>0</RunUserProg2>
-            <UserProg1Name></UserProg1Name>
+            <UserProg1Name>fromelf --bin !L --output rtthread-mdk.bin</UserProg1Name>
             <UserProg2Name></UserProg2Name>
             <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
             <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
@@ -332,10 +333,10 @@
             <v6WtE>0</v6WtE>
             <v6Rtti>0</v6Rtti>
             <VariousControls>
-              <MiscControls>--library_interface=armcc --library_type=standardlib --diag_suppress=66,1296,186</MiscControls>
+              <MiscControls>--library_interface=armcc --library_type=standardlib  --diag_suppress=66</MiscControls>
               <Define>SKIP_SYSCLK_INIT, CPU_MIMXRT1052DVL6A, FSL_SDK_ENABLE_DRIVER_CACHE_CONTROL=1, EVK_MCIMXRM, FSL_FEATURE_PHYKSZ8081_USE_RMII50M_MODE, RT_USING_ARM_LIBC</Define>
               <Undefine></Undefine>
-              <IncludePath>applications;.;drivers;Libraries;Libraries\drivers;Libraries\utilities;Libraries\CMSIS\Include;..\..\include;..\..\libcpu\arm\cortex-m7;..\..\libcpu\arm\common;..\..\components\dfs\include;..\..\components\dfs\filesystems\devfs;..\..\components\dfs\filesystems\elmfat;..\..\components\dfs\filesystems\net;..\..\components\dfs\filesystems\net\select;..\..\components\dfs\filesystems\net\socket;..\..\components\drivers\include;..\..\components\drivers\include;..\..\components\drivers\include;..\..\components\finsh;..\..\components\libc\compilers\armlibc;..\..\components\libc\pthreads;..\..\components\net\lwip-2.0.2\src;..\..\components\net\lwip-2.0.2\src\include;..\..\components\net\lwip-2.0.2\src\include\ipv4;..\..\components\net\lwip-2.0.2\src\arch\include;..\..\components\net\lwip-2.0.2\src\include\netif</IncludePath>
+              <IncludePath>applications;.;drivers;Libraries;Libraries\drivers;Libraries\utilities;Libraries\CMSIS\Include;..\..\include;..\..\libcpu\arm\cortex-m7;..\..\libcpu\arm\common;..\..\components\dfs\include;..\..\components\dfs\filesystems\devfs;..\..\components\dfs\filesystems\elmfat;..\..\components\drivers\include;..\..\components\drivers\include;..\..\components\drivers\include;..\..\components\finsh;..\..\components\libc\compilers\armlibc;..\..\components\net\lwip-1.4.1\src;..\..\components\net\lwip-1.4.1\src\include;..\..\components\net\lwip-1.4.1\src\include\ipv4;..\..\components\net\lwip-1.4.1\src\arch\include;..\..\components\net\lwip-1.4.1\src\include\netif</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -366,10 +367,10 @@
             <TextAddressRange>0x00000000</TextAddressRange>
             <DataAddressRange>0x10000000</DataAddressRange>
             <pXoBase></pXoBase>
-            <ScatterFile>.\imxrt1052_sdram.sct</ScatterFile>
+            <ScatterFile>.\Libraries\arm\MIMXRT1052xxxxx_flexspi_nor.scf</ScatterFile>
             <IncludeLibs></IncludeLibs>
             <IncludeLibsPath></IncludeLibsPath>
-            <Misc> --keep *.o(.rti_fn.*)   --keep *.o(FSymTab) --keep *.o(VSymTab) </Misc>
+            <Misc>--keep *.o(.rti_fn.*)   --keep *.o(FSymTab) --keep *.o(VSymTab)</Misc>
             <LinkerInputFile></LinkerInputFile>
             <DisabledWarnings></DisabledWarnings>
           </LDads>
@@ -389,6 +390,11 @@
               <FileType>1</FileType>
               <FilePath>applications\main.c</FilePath>
             </File>
+            <File>
+              <FileName>mem_dump.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>applications\mem_dump.c</FilePath>
+            </File>
             <File>
               <FileName>mem_test.c</FileName>
               <FileType>1</FileType>
@@ -414,6 +420,16 @@
               <FileType>1</FileType>
               <FilePath>drivers\usart.c</FilePath>
             </File>
+            <File>
+              <FileName>hyper_flash_boot.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>drivers\hyper_flash_boot.c</FilePath>
+            </File>
+            <File>
+              <FileName>drv_sdram.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>drivers\drv_sdram.c</FilePath>
+            </File>
             <File>
               <FileName>drv_eth.c</FileName>
               <FileType>1</FileType>
@@ -780,9 +796,9 @@
               <FilePath>..\..\src\kservice.c</FilePath>
             </File>
             <File>
-              <FileName>mem.c</FileName>
+              <FileName>memheap.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\src\mem.c</FilePath>
+              <FilePath>..\..\src\memheap.c</FilePath>
             </File>
             <File>
               <FileName>object.c</FileName>
@@ -864,16 +880,6 @@
               <FileType>1</FileType>
               <FilePath>..\..\components\dfs\src\dfs_posix.c</FilePath>
             </File>
-            <File>
-              <FileName>poll.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\dfs\src\poll.c</FilePath>
-            </File>
-            <File>
-              <FileName>select.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\dfs\src\select.c</FilePath>
-            </File>
             <File>
               <FileName>devfs.c</FileName>
               <FileType>1</FileType>
@@ -889,21 +895,6 @@
               <FileType>1</FileType>
               <FilePath>..\..\components\dfs\filesystems\elmfat\ff.c</FilePath>
             </File>
-            <File>
-              <FileName>dfs_net.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\dfs\filesystems\net\dfs_net.c</FilePath>
-            </File>
-            <File>
-              <FileName>net_netdb.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\dfs\filesystems\net\net_netdb.c</FilePath>
-            </File>
-            <File>
-              <FileName>net_sockets.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\dfs\filesystems\net\net_sockets.c</FilePath>
-            </File>
           </Files>
         </Group>
         <Group>
@@ -1084,255 +1075,190 @@
               <FileType>1</FileType>
               <FilePath>..\..\components\libc\compilers\armlibc\stubs.c</FilePath>
             </File>
-          </Files>
-        </Group>
-        <Group>
-          <GroupName>pthreads</GroupName>
-          <Files>
-            <File>
-              <FileName>clock_time.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\libc\pthreads\clock_time.c</FilePath>
-            </File>
-            <File>
-              <FileName>mqueue.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\libc\pthreads\mqueue.c</FilePath>
-            </File>
-            <File>
-              <FileName>pthread.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\libc\pthreads\pthread.c</FilePath>
-            </File>
-            <File>
-              <FileName>pthread_attr.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\libc\pthreads\pthread_attr.c</FilePath>
-            </File>
-            <File>
-              <FileName>pthread_barrier.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\libc\pthreads\pthread_barrier.c</FilePath>
-            </File>
             <File>
-              <FileName>pthread_cond.c</FileName>
+              <FileName>time.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\libc\pthreads\pthread_cond.c</FilePath>
-            </File>
-            <File>
-              <FileName>pthread_mutex.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\libc\pthreads\pthread_mutex.c</FilePath>
-            </File>
-            <File>
-              <FileName>pthread_rwlock.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\libc\pthreads\pthread_rwlock.c</FilePath>
-            </File>
-            <File>
-              <FileName>pthread_spin.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\libc\pthreads\pthread_spin.c</FilePath>
-            </File>
-            <File>
-              <FileName>pthread_tls.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\libc\pthreads\pthread_tls.c</FilePath>
-            </File>
-            <File>
-              <FileName>sched.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\libc\pthreads\sched.c</FilePath>
-            </File>
-            <File>
-              <FileName>semaphore.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\libc\pthreads\semaphore.c</FilePath>
+              <FilePath>..\..\components\libc\compilers\armlibc\time.c</FilePath>
             </File>
           </Files>
         </Group>
         <Group>
-          <GroupName>lwIP</GroupName>
+          <GroupName>LwIP</GroupName>
           <Files>
-            <File>
-              <FileName>sys_arch.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip-2.0.2\src\arch\sys_arch.c</FilePath>
-            </File>
             <File>
               <FileName>api_lib.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip-2.0.2\src\api\api_lib.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\api\api_lib.c</FilePath>
             </File>
             <File>
               <FileName>api_msg.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip-2.0.2\src\api\api_msg.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\api\api_msg.c</FilePath>
             </File>
             <File>
               <FileName>err.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip-2.0.2\src\api\err.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\api\err.c</FilePath>
             </File>
             <File>
               <FileName>netbuf.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip-2.0.2\src\api\netbuf.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\api\netbuf.c</FilePath>
             </File>
             <File>
               <FileName>netdb.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip-2.0.2\src\api\netdb.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\api\netdb.c</FilePath>
             </File>
             <File>
               <FileName>netifapi.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip-2.0.2\src\api\netifapi.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\api\netifapi.c</FilePath>
             </File>
             <File>
               <FileName>sockets.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip-2.0.2\src\api\sockets.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\api\sockets.c</FilePath>
             </File>
             <File>
               <FileName>tcpip.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip-2.0.2\src\api\tcpip.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\api\tcpip.c</FilePath>
             </File>
             <File>
-              <FileName>def.c</FileName>
+              <FileName>sys_arch.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip-2.0.2\src\core\def.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\arch\sys_arch.c</FilePath>
             </File>
             <File>
-              <FileName>dns.c</FileName>
+              <FileName>def.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip-2.0.2\src\core\dns.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\def.c</FilePath>
             </File>
             <File>
-              <FileName>inet_chksum.c</FileName>
+              <FileName>dhcp.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip-2.0.2\src\core\inet_chksum.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\dhcp.c</FilePath>
             </File>
             <File>
-              <FileName>init.c</FileName>
+              <FileName>dns.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip-2.0.2\src\core\init.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\dns.c</FilePath>
             </File>
             <File>
-              <FileName>ip.c</FileName>
+              <FileName>init.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip-2.0.2\src\core\ip.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\init.c</FilePath>
             </File>
             <File>
               <FileName>memp.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip-2.0.2\src\core\memp.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\memp.c</FilePath>
             </File>
             <File>
               <FileName>netif.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip-2.0.2\src\core\netif.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\netif.c</FilePath>
             </File>
             <File>
               <FileName>pbuf.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip-2.0.2\src\core\pbuf.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\pbuf.c</FilePath>
             </File>
             <File>
               <FileName>raw.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip-2.0.2\src\core\raw.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\raw.c</FilePath>
             </File>
             <File>
               <FileName>stats.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip-2.0.2\src\core\stats.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\stats.c</FilePath>
             </File>
             <File>
               <FileName>sys.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip-2.0.2\src\core\sys.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\sys.c</FilePath>
             </File>
             <File>
               <FileName>tcp.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip-2.0.2\src\core\tcp.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\tcp.c</FilePath>
             </File>
             <File>
               <FileName>tcp_in.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip-2.0.2\src\core\tcp_in.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\tcp_in.c</FilePath>
             </File>
             <File>
               <FileName>tcp_out.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip-2.0.2\src\core\tcp_out.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\tcp_out.c</FilePath>
             </File>
             <File>
-              <FileName>timeouts.c</FileName>
+              <FileName>timers.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip-2.0.2\src\core\timeouts.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\timers.c</FilePath>
             </File>
             <File>
               <FileName>udp.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip-2.0.2\src\core\udp.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\udp.c</FilePath>
             </File>
             <File>
-              <FileName>ethernet.c</FileName>
+              <FileName>autoip.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip-2.0.2\src\netif\ethernet.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\ipv4\autoip.c</FilePath>
             </File>
             <File>
-              <FileName>ethernetif.c</FileName>
+              <FileName>icmp.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip-2.0.2\src\netif\ethernetif.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\ipv4\icmp.c</FilePath>
             </File>
             <File>
-              <FileName>lowpan6.c</FileName>
+              <FileName>igmp.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip-2.0.2\src\netif\lowpan6.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\ipv4\igmp.c</FilePath>
             </File>
             <File>
-              <FileName>autoip.c</FileName>
+              <FileName>inet.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip-2.0.2\src\core\ipv4\autoip.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\ipv4\inet.c</FilePath>
             </File>
             <File>
-              <FileName>dhcp.c</FileName>
+              <FileName>inet_chksum.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip-2.0.2\src\core\ipv4\dhcp.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\ipv4\inet_chksum.c</FilePath>
             </File>
             <File>
-              <FileName>etharp.c</FileName>
+              <FileName>ip.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip-2.0.2\src\core\ipv4\etharp.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\ipv4\ip.c</FilePath>
             </File>
             <File>
-              <FileName>icmp.c</FileName>
+              <FileName>ip_addr.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip-2.0.2\src\core\ipv4\icmp.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\ipv4\ip_addr.c</FilePath>
             </File>
             <File>
-              <FileName>igmp.c</FileName>
+              <FileName>ip_frag.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip-2.0.2\src\core\ipv4\igmp.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\ipv4\ip_frag.c</FilePath>
             </File>
             <File>
-              <FileName>ip4.c</FileName>
+              <FileName>etharp.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip-2.0.2\src\core\ipv4\ip4.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\netif\etharp.c</FilePath>
             </File>
             <File>
-              <FileName>ip4_addr.c</FileName>
+              <FileName>ethernetif.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip-2.0.2\src\core\ipv4\ip4_addr.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\netif\ethernetif.c</FilePath>
             </File>
             <File>
-              <FileName>ip4_frag.c</FileName>
+              <FileName>slipif.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip-2.0.2\src\core\ipv4\ip4_frag.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\netif\slipif.c</FilePath>
             </File>
           </Files>
         </Group>

+ 58 - 32
bsp/imxrt1052-evk/rtconfig.h

@@ -8,12 +8,15 @@
 
 #define RT_NAME_MAX 8
 #define RT_ALIGN_SIZE 4
+/* RT_THREAD_PRIORITY_8 is not set */
+#define RT_THREAD_PRIORITY_32
+/* RT_THREAD_PRIORITY_256 is not set */
 #define RT_THREAD_PRIORITY_MAX 32
 #define RT_TICK_PER_SECOND 100
 #define RT_DEBUG
 #define RT_USING_OVERFLOW_CHECK
-#define RT_DEBUG_INIT 1
-/* RT_DEBUG_THREAD is not set */
+#define RT_DEBUG_INIT 0
+#define RT_DEBUG_THREAD 0
 #define RT_USING_HOOK
 #define IDLE_THREAD_STACK_SIZE 256
 /* RT_USING_TIMER_SOFT is not set */
@@ -30,14 +33,17 @@
 /* Memory Management */
 
 /* RT_USING_MEMPOOL is not set */
-/* RT_USING_MEMHEAP is not set */
-#define RT_USING_HEAP
-#define RT_USING_SMALL_MEM
+#define RT_USING_MEMHEAP
+/* RT_USING_NOHEAP is not set */
+/* RT_USING_SMALL_MEM is not set */
 /* RT_USING_SLAB is not set */
+#define RT_USING_MEMHEAP_AS_HEAP
+#define RT_USING_HEAP
 
 /* Kernel Device Object */
 
 #define RT_USING_DEVICE
+/* RT_USING_INTERRUPT_INFO is not set */
 #define RT_USING_CONSOLE
 #define RT_CONSOLEBUF_SIZE 128
 #define RT_CONSOLE_DEVICE_NAME "uart1"
@@ -63,16 +69,20 @@
 #define FINSH_CMD_SIZE 80
 /* FINSH_USING_AUTH is not set */
 #define FINSH_USING_MSH
-//#define FINSH_USING_MSH_DEFAULT
-//#define FINSH_USING_MSH_ONLY
+#define FINSH_USING_MSH_DEFAULT
+/* FINSH_USING_MSH_ONLY is not set */
 
 /* Device virtual file system */
 
 #define RT_USING_DFS
 #define DFS_USING_WORKDIR
 #define DFS_FILESYSTEMS_MAX 2
+#define DFS_FILESYSTEM_TYPES_MAX 2
 #define DFS_FD_MAX 4
 #define RT_USING_DFS_ELMFAT
+
+/* elm-chan's FatFs, Generic FAT Filesystem Module */
+
 #define RT_DFS_ELM_CODE_PAGE 437
 #define RT_DFS_ELM_WORD_ACCESS
 #define RT_DFS_ELM_USE_LFN_0
@@ -86,7 +96,10 @@
 /* RT_DFS_ELM_USE_ERASE is not set */
 #define RT_DFS_ELM_REENTRANT
 #define RT_USING_DFS_DEVFS
-#define RT_USING_DFS_NET
+/* RT_USING_DFS_NET is not set */
+/* RT_USING_DFS_ROMFS is not set */
+/* RT_USING_DFS_RAMFS is not set */
+/* RT_USING_DFS_UFFS is not set */
 /* RT_USING_DFS_NFS is not set */
 
 /* Device Drivers */
@@ -101,27 +114,27 @@
 /* RT_USING_MTD_NAND is not set */
 /* RT_USING_RTC is not set */
 #define RT_USING_SDIO
-//#define RT_MMCSD_DBG
 /* RT_USING_SPI is not set */
 /* RT_USING_WDT is not set */
+/* RT_USING_WIFI is not set */
+
+/* Using USB */
+
 /* RT_USING_USB_HOST is not set */
 /* RT_USING_USB_DEVICE is not set */
 
 /* POSIX layer and C standard library */
 
 #define RT_USING_LIBC
-#define RT_USING_PTHREADS
-#define RT_USING_POSIX
-/* RT_USING_POSIX_MMAP is not set */
-/* RT_USING_POSIX_TERMIOS is not set */
+/* RT_USING_PTHREADS is not set */
+/* RT_USING_POSIX is not set */
 
 /* Network stack */
 
 /* light weight TCP/IP stack */
 
 #define RT_USING_LWIP
-#define RT_USING_LWIP202
-//#define RT_LWIP_DEBUG
+#define RT_USING_LWIP141
 /* RT_USING_LWIP202 is not set */
 /* RT_LWIP_IGMP is not set */
 #define RT_LWIP_ICMP
@@ -131,6 +144,12 @@
 #define IP_SOF_BROADCAST 1
 #define IP_SOF_BROADCAST_RECV 1
 /* LWIP_USING_DHCPD is not set */
+
+/* Static IPv4 Address */
+
+#define RT_LWIP_IPADDR "192.168.1.30"
+#define RT_LWIP_GWADDR "192.168.1.1"
+#define RT_LWIP_MSKADDR "255.255.255.0"
 #define RT_LWIP_UDP
 #define RT_LWIP_TCP
 /* RT_LWIP_RAW is not set */
@@ -156,18 +175,6 @@
 #define LWIP_SO_RCVTIMEO 1
 #define LWIP_SO_SNDTIMEO 1
 #define LWIP_SO_RCVBUF 1
-#define RT_LWIP_IPADDR0 192
-#define RT_LWIP_IPADDR1 168
-#define RT_LWIP_IPADDR2 10
-#define RT_LWIP_IPADDR3 30
-#define RT_LWIP_GWADDR0 192
-#define RT_LWIP_GWADDR1 168
-#define RT_LWIP_GWADDR2 10
-#define RT_LWIP_GWADDR3 1
-#define RT_LWIP_MSKADDR0 255
-#define RT_LWIP_MSKADDR1 255
-#define RT_LWIP_MSKADDR2 255
-#define RT_LWIP_MSKADDR3 0
 
 /* Modbus master and slave stack */
 
@@ -178,40 +185,59 @@
 
 /* RT_USING_GUIENGINE is not set */
 
+/* VBUS(Virtual Software BUS) */
+
+/* RT_USING_VBUS is not set */
+
+/* Utilities */
+
+/* RT_USING_LOGTRACE is not set */
+/* RT_USING_RYM is not set */
+
 /* RT-Thread online packages */
 
 /* system packages */
 
 /* PKG_USING_PARTITION is not set */
 /* PKG_USING_SQLITE is not set */
+/* PKG_USING_RTI is not set */
 
 /* IoT - internet of things */
 
-/* PKG_USING_CJSON is not set */
 /* PKG_USING_PAHOMQTT is not set */
 /* PKG_USING_WEBCLIENT is not set */
 /* PKG_USING_MONGOOSE is not set */
-/* PKG_USING_WEB_TERMINAL is not set */
+/* PKG_USING_WEBTERMINAL is not set */
+/* PKG_USING_CJSON is not set */
+/* PKG_USING_EZXML is not set */
+/* PKG_USING_NANOPB is not set */
 
 /* security packages */
 
+/* PKG_USING_MBEDTLS is not set */
+/* PKG_USING_libsodium is not set */
+
 /* language packages */
 
 /* PKG_USING_JERRYSCRIPT is not set */
+/* PKG_USING_MICROPYTHON is not set */
 
 /* multimedia packages */
 
 /* tools packages */
 
 /* PKG_USING_CMBACKTRACE is not set */
-/* PKG_USING_ELOG is not set */
+/* PKG_USING_EASYLOGGER is not set */
+/* PKG_USING_SYSTEMVIEW is not set */
 
 /* miscellaneous packages */
 
-/* PKG_USING_HELLO is not set */
+/* PKG_USING_FASTLZ is not set */
+/* PKG_USING_MINILZO is not set */
 
-/* BSP_SPECIAL CONFIG */
+/* example package: hello */
 
+/* PKG_USING_HELLO is not set */
 #define RT_USING_UART
 #define RT_USING_UART1
 

+ 8 - 6
bsp/imxrt1052-evk/rtconfig.py

@@ -41,16 +41,18 @@ if PLATFORM == 'gcc':
     STRIP = PREFIX + 'strip'
 
     DEVICE = ' -std=c99 -mcpu=cortex-m7 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=softfp -ffunction-sections -fdata-sections'
-    CFLAGS = DEVICE + ' -g -Wall -DUSE_HAL_DRIVER -D__ASSEMBLY__ -D__FPU_USED -eentry'
+    CFLAGS = DEVICE + ' -g -Wall -DUSE_HAL_DRIVER -D__ASSEMBLY__ -D__FPU_PRESENT -eentry'
     AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp -Wa,-mimplicit-it=thumb '
-    LFLAGS = DEVICE + ' -lm -lgcc -lc' + ' -nostartfiles -Wl,--gc-sections,-Map=imxrt1052_sdram.map,-cref,-u,Reset_Handler -T imxrt1052_sdram.ld'
+    LFLAGS = DEVICE + ' -lm -lgcc -lc' + ' -nostartfiles -Wl,--gc-sections,-Map=imxrt1052_sdram.map,-cref,-u,Reset_Handler -T ./Libraries/gcc/MIMXRT1052xxxxx_flexspi_nor.ld'
 
     CPATH = ''
     LPATH = ''
+    
+    CFLAGS += ' -gdwarf-2'
+    AFLAGS += ' -gdwarf-2'
 
     if BUILD == 'debug':
-        CFLAGS += ' -O0 -gdwarf-2'
-        AFLAGS += ' -gdwarf-2'
+        CFLAGS += ' -O0'
     else:
         CFLAGS += ' -O2 -Os'
 
@@ -75,7 +77,7 @@ elif PLATFORM == 'armcc':
     DEVICE = ' --cpu Cortex-M7.fp.sp'
     CFLAGS = DEVICE + ' --apcs=interwork'
     AFLAGS = DEVICE
-    LFLAGS = DEVICE + ' --info sizes --info totals --info unused --info veneers --list rtthread-imxrt.map --scatter imxrt1052_sdram.sct'
+    LFLAGS = DEVICE + ' --info sizes --info totals --info unused --info veneers --list rtthread-imxrt.map --scatter ./Libraries/arm/MIMXRT1052xxxxx_flexspi_nor.scf'
 
     CFLAGS += ' --c99  --diag_suppress=66,1296,186'
     CFLAGS += ' -I' + EXEC_PATH + '/ARM/RV31/INC'
@@ -126,7 +128,7 @@ elif PLATFORM == 'iar':
     AFLAGS += ' --cpu Cortex-M7'
     AFLAGS += ' --fpu None'
 
-    LFLAGS = ' --config imxrt1052_sdram.icf'
+    LFLAGS = ' --config ./Libraries/iar/MIMXRT1052xxxxx_flexspi_nor.icf'
     LFLAGS += ' --redirect _Printf=_PrintfTiny'
     LFLAGS += ' --redirect _Scanf=_ScanfSmall'
     LFLAGS += ' --entry __iar_program_start'

+ 0 - 311
bsp/imxrt1052-evk/sdram_init.jlinkscript

@@ -1,311 +0,0 @@
-/*********************************************************************
-*              SEGGER MICROCONTROLLER GmbH & Co. K.G.                *
-*        Solutions for real time microcontroller applications        *
-**********************************************************************
-*                                                                    *
-*        (c) 2011-2015 SEGGER Microcontroller GmbH & Co. KG          *
-*                                                                    *
-* Internet: www.segger.com Support: support@segger.com               *
-*                                                                    *
-**********************************************************************
-----------------------------------------------------------------------
-Purpose : 
----------------------------END-OF-HEADER------------------------------
-*/
-
-void Clock_Init() {
-  // Enable all clocks
-  MEM_WriteU32(0x400FC068,0xffffffff);
-  MEM_WriteU32(0x400FC06C,0xffffffff);
-  MEM_WriteU32(0x400FC070,0xffffffff);
-  MEM_WriteU32(0x400FC074,0xffffffff);
-  MEM_WriteU32(0x400FC078,0xffffffff);
-  MEM_WriteU32(0x400FC07C,0xffffffff);
-  MEM_WriteU32(0x400FC080,0xffffffff);
-
-  MEM_WriteU32(0x400D8030,0x00002001);
-  MEM_WriteU32(0x400D8100,0x00100000);
-  MEM_WriteU32(0x400FC014,0x00050D40);
-
-  Report("Clock Init Done");
-}
-
-void SDRAM_WaitIpCmdDone(void) 
-{
-  unsigned int reg;
-  do
-  {
-      reg = MEM_ReadU32(0x402F003C);
-  }while((reg & 0x3) == 0);
-}
-
-void SDRAM_Init() {
-  // Config IOMUX for SDRAM
-  MEM_WriteU32(0x401F8014,0x00000000);
-  MEM_WriteU32(0x401F8018,0x00000000);
-  MEM_WriteU32(0x401F801C,0x00000000);
-  MEM_WriteU32(0x401F8020,0x00000000);
-  MEM_WriteU32(0x401F8024,0x00000000);
-  MEM_WriteU32(0x401F8028,0x00000000);
-  MEM_WriteU32(0x401F802C,0x00000000);
-  MEM_WriteU32(0x401F8030,0x00000000);
-  MEM_WriteU32(0x401F8034,0x00000000);
-  MEM_WriteU32(0x401F8038,0x00000000);
-  MEM_WriteU32(0x401F803C,0x00000000);
-  MEM_WriteU32(0x401F8040,0x00000000);
-  MEM_WriteU32(0x401F8044,0x00000000);
-  MEM_WriteU32(0x401F8048,0x00000000);
-  MEM_WriteU32(0x401F804C,0x00000000);
-  MEM_WriteU32(0x401F8050,0x00000000);
-  MEM_WriteU32(0x401F8054,0x00000000);
-  MEM_WriteU32(0x401F8058,0x00000000);
-  MEM_WriteU32(0x401F805C,0x00000000);
-  MEM_WriteU32(0x401F8060,0x00000000);
-  MEM_WriteU32(0x401F8064,0x00000000);
-  MEM_WriteU32(0x401F8068,0x00000000);
-  MEM_WriteU32(0x401F806C,0x00000000);
-  MEM_WriteU32(0x401F8070,0x00000000);
-  MEM_WriteU32(0x401F8074,0x00000000);
-  MEM_WriteU32(0x401F8078,0x00000000);
-  MEM_WriteU32(0x401F807C,0x00000000);
-  MEM_WriteU32(0x401F8080,0x00000000);
-  MEM_WriteU32(0x401F8084,0x00000000);
-  MEM_WriteU32(0x401F8088,0x00000000);
-  MEM_WriteU32(0x401F808C,0x00000000);
-  MEM_WriteU32(0x401F8090,0x00000000);
-  MEM_WriteU32(0x401F8094,0x00000000);
-  MEM_WriteU32(0x401F8098,0x00000000);
-  MEM_WriteU32(0x401F809C,0x00000000);
-  MEM_WriteU32(0x401F80A0,0x00000000);
-  MEM_WriteU32(0x401F80A4,0x00000000);
-  MEM_WriteU32(0x401F80A8,0x00000000);
-  MEM_WriteU32(0x401F80AC,0x00000000);
-  MEM_WriteU32(0x401F80B0,0x00000000);
-  MEM_WriteU32(0x401F80B4,0x00000000);
-  MEM_WriteU32(0x401F80B8,0x00000000);
-  
-  // PAD ctrl
-  MEM_WriteU32(0x401F8204,0x000000F1);
-  MEM_WriteU32(0x401F8208,0x000000F1);
-  MEM_WriteU32(0x401F820C,0x000000F1);
-  MEM_WriteU32(0x401F8210,0x000000F1);
-  MEM_WriteU32(0x401F8214,0x000000F1);
-  MEM_WriteU32(0x401F8218,0x000000F1);
-  MEM_WriteU32(0x401F821C,0x000000F1);
-  MEM_WriteU32(0x401F8220,0x000000F1);
-  MEM_WriteU32(0x401F8224,0x000000F1);
-  MEM_WriteU32(0x401F8228,0x000000F1);
-  MEM_WriteU32(0x401F822C,0x000000F1);
-  MEM_WriteU32(0x401F8230,0x000000F1);
-  MEM_WriteU32(0x401F8234,0x000000F1);
-  MEM_WriteU32(0x401F8238,0x000000F1);
-  MEM_WriteU32(0x401F823C,0x000000F1);
-  MEM_WriteU32(0x401F8240,0x000000F1);
-  MEM_WriteU32(0x401F8244,0x000000F1);
-  MEM_WriteU32(0x401F8248,0x000000F1);
-  MEM_WriteU32(0x401F824C,0x000000F1);
-  MEM_WriteU32(0x401F8250,0x000000F1);
-  MEM_WriteU32(0x401F8254,0x000000F1);
-  MEM_WriteU32(0x401F8258,0x000000F1);
-  MEM_WriteU32(0x401F825C,0x000000F1);
-  MEM_WriteU32(0x401F8260,0x000000F1);
-  MEM_WriteU32(0x401F8264,0x000000F1);
-  MEM_WriteU32(0x401F8268,0x000000F1);
-  MEM_WriteU32(0x401F826C,0x000000F1);
-  MEM_WriteU32(0x401F8270,0x000000F1);
-  MEM_WriteU32(0x401F8274,0x000000F1);
-  MEM_WriteU32(0x401F8278,0x000000F1);
-  MEM_WriteU32(0x401F827C,0x000000F1);
-  MEM_WriteU32(0x401F8280,0x000000F1);
-  MEM_WriteU32(0x401F8284,0x000000F1);
-  MEM_WriteU32(0x401F8288,0x000000F1);
-  MEM_WriteU32(0x401F828C,0x000000F1);
-  MEM_WriteU32(0x401F8290,0x000000F1);
-  MEM_WriteU32(0x401F8294,0x000000F1);
-  MEM_WriteU32(0x401F8298,0x000000F1);
-  MEM_WriteU32(0x401F829C,0x000000F1);
-  MEM_WriteU32(0x401F82A0,0x000000F1);
-  MEM_WriteU32(0x401F82A4,0x000000F1);
-  MEM_WriteU32(0x401F82A8,0x000000F1);
-
-  // Config SEMC
-  MEM_WriteU32(0x402F0000,0x1000E000);
-  MEM_WriteU32(0x402F0008,0x00030524);
-  MEM_WriteU32(0x402F000C,0x06030524);
-  MEM_WriteU32(0x402F0010,0x8000001B);
-  MEM_WriteU32(0x402F0014,0x90000021);
-  MEM_WriteU32(0x402F0004,0x00000008);
-  MEM_WriteU32(0x402F0040,0x00000B27);
-  MEM_WriteU32(0x402F0044,0x00100100);
-  MEM_WriteU32(0x402F0048,0x00020201);
-  MEM_WriteU32(0x402F004C,0x08193D0E);
-  MEM_WriteU32(0x402F0080,0x00000021);
-  MEM_WriteU32(0x402F0084,0x00888888);
-  MEM_WriteU32(0x402F0094,0x00000002);
-  MEM_WriteU32(0x402F0098,0x00000000);
-
-  MEM_WriteU32(0x402F0090,0x80000000);
-  MEM_WriteU32(0x402F009C,0xA55A000F);
-  SDRAM_WaitIpCmdDone();
-  MEM_WriteU32(0x402F0090,0x80000000);
-  MEM_WriteU32(0x402F009C,0xA55A000C);
-  SDRAM_WaitIpCmdDone();
-  MEM_WriteU32(0x402F0090,0x80000000);
-  MEM_WriteU32(0x402F009C,0xA55A000C);
-  SDRAM_WaitIpCmdDone();
-  MEM_WriteU32(0x402F00A0,0x00000022);
-  MEM_WriteU32(0x402F0090,0x80000000);
-  MEM_WriteU32(0x402F009C,0xA55A000A);
-  SDRAM_WaitIpCmdDone();
-    
-  Report("SDRAM Init Done");
-}
-
-/* MPU configuration */
-void MPU_Init()
-{
-    unsigned int rbar0;
-    unsigned int rbar1;
-    unsigned int rbar2;
-	unsigned int rbar3;
-    unsigned int rbar4;
-    unsigned int rbar5;
-	unsigned int rbar6;
-    unsigned int rasr0;
-    unsigned int rasr1;
-    unsigned int rasr2;
-    unsigned int rasr3;
-    unsigned int rasr4;
-    unsigned int rasr5;
-    unsigned int rasr6;
-    unsigned int ctrl;
-
-    rbar0 = ((0xC0000000 & ((0x7FFFFFF << 5))) | (1 << 4) | (0 << 0));
-    rbar1 = ((0x80000000 & ((0x7FFFFFF << 5))) | (1 << 4) | (1 << 0));
-    rbar2 = ((0x60000000 & ((0x7FFFFFF << 5))) | (1 << 4) | (2 << 0));
-    rbar3 = ((0x10000000 & ((0x7FFFFFF << 5))) | (1 << 4) | (3 << 0));
-    rbar4 = ((0x08000000 & ((0x7FFFFFF << 5))) | (1 << 4) | (4 << 0));
-    rbar5 = ((0x80000000 & ((0x7FFFFFF << 5))) | (1 << 4) | (5 << 0));
-    rbar6 = ((0x81E00000 & ((0x7FFFFFF << 5))) | (1 << 4) | (6 << 0));	
-      
-    rasr0  = (0x3 << 24) | (2 << 19) | (0xC0 << 8) | (28 << 1) | (1 << 0);
-    rasr1  = (0x3 << 24) | (2 << 19) | (0xC0 << 8) | (29 << 1) | (1 << 0);
-    rasr2  = (0x3 << 24) | (2 << 19) | (0xC0 << 8) | (28 << 1) | (1 << 0);
-    rasr3  = (0x3 << 24) | (2 << 19) | (0xC0 << 8) | (27 << 1) | (1 << 0);
-    rasr4  = (0x3 << 24) | (2 << 19) | (0xC0 << 8) | (26 << 1) | (1 << 0);
-    rasr5  = (0x3 << 24) | (3 << 16) | (0xC0 << 8) | (25 << 1) | (1 << 0);
-    rasr6  = (0x3 << 24) | (1 << 19) | (0xC0 << 8) | (20 << 1) | (1 << 0);	
-
-    ctrl  = (0x1 << 0) | (1 << 2);
-
-    /* MPU_CTRL. */
-    MEM_WriteU32(0xE000ED94, 0x0);
-    
-	/* MPU_RBAR. */
-    MEM_WriteU32(0xE000ED9C, rbar6);
-    /* MPU_RASR. */
-    MEM_WriteU32(0xE000EDA0, rasr6);
-	
-    /* MPU_RBAR. */
-    MEM_WriteU32(0xE000ED9C, rbar5);
-    /* MPU_RASR. */
-    MEM_WriteU32(0xE000EDA0, rasr5);
-    
-    /* MPU_RBAR. */
-    MEM_WriteU32(0xE000ED9C, rbar4);
-    /* MPU_RASR. */
-    MEM_WriteU32(0xE000EDA0, rasr4);
-
-    /* MPU_RBAR. */
-    MEM_WriteU32(0xE000ED9C, rbar3);
-    /* MPU_RASR. */
-    MEM_WriteU32(0xE000EDA0, rasr3);
-
-    /* MPU_RBAR. */
-    MEM_WriteU32(0xE000ED9C, rbar2);
-    /* MPU_RASR. */
-    MEM_WriteU32(0xE000EDA0, rasr2);
-    
-    /* MPU_RBAR. */
-    MEM_WriteU32(0xE000ED9C, rbar1);
-    /* MPU_RASR. */
-    MEM_WriteU32(0xE000EDA0, rasr1);
-
-    /* MPU_RBAR. */
-    MEM_WriteU32(0xE000ED9C, rbar0);
-    /* MPU_RASR. */
-    MEM_WriteU32(0xE000EDA0, rasr0);
-    
-    /* MPU_CTRL. */
-    MEM_WriteU32(0xE000ED94, ctrl);
-}
-
-void flexram_init(void)
-{
-    Report("flexram init\n");
-    MEM_WriteU32(0x400AC040, 0x80000000);      //IOMUXC_GPR_GPR16
-    
-    //MEM_WriteU32(0x400AC044, 0xFFFFAA55);      //IOMUXC_GPR_GPR17: 256K ITCM, 128K DTCM, 128K OCRAM
-    MEM_WriteU32(0x400AC044, 0xFFFFFFFF);      //IOMUXC_GPR_GPR17: 512K ITCM
-    
-    MEM_WriteU32(0x400AC038, 0x00890000);      //IOMUXC_GPR_GPR14
-    MEM_WriteU32(0x400AC040, 0x80000007);      //IOMUXC_GPR_GPR16
-}
-
-/* ConfigTarget */
-void ConfigTargetSettings(void)
-{
-  Report("Config JTAG Speed to 4000kHz");
-  JTAG_Speed = 4000;
-}
-
-/* SetupTarget */
-void SetupTarget(void) {
-
-  Report("Enabling i.MXRT SDRAM");
-  Clock_Init();
-  flexram_init();
-  SDRAM_Init();
-  MPU_Init();
-}
-
-/* ResetTarget */
-void ResetTarget(void) {
-  unsigned int v;
-  unsigned int Tmp;
-  //
-  // J-Link DLL expects CPU to be reset and halted when leaving this function
-  //
-  Report("J-Link script: ResetTarget()");
-  //issue a software reset
-  //Tmp = MEM_ReadU32(0xE000ED0C);
-  //Tmp = (Tmp&0x0000ffff)|0x05fa0000|(1<<2);
-  //MEM_WriteU32(0xE000ED0C,Tmp);  
-  //SYS_Sleep(10);
-  // Read IDCODE
-  v=JLINK_CORESIGHT_ReadDP(0);
-  Report1("DP0: ", v);
-
-  // Power up Debugger
-  JLINK_CORESIGHT_WriteDP(1, 0x50000000);
-  v=JLINK_CORESIGHT_ReadDP(1);
-  Report1("DP1: ", v);
-
-
-  JLINK_CORESIGHT_WriteAP(0, 0x23000042);
-  v=JLINK_CORESIGHT_ReadAP(0);
-  Report1("AHB-AP0: ", v);  
-
-  JLINK_CORESIGHT_WriteAP(1, 0xE000EDF0);
-  v=JLINK_CORESIGHT_ReadAP(1);
-  Report1("AHB-AP1: ", v); 
-  v=JLINK_CORESIGHT_ReadAP(3);
-  Report1("AHB-AP3: ", v); 
-  JLINK_CORESIGHT_WriteAP(3, 0xa05f0003);
-  v=JLINK_CORESIGHT_ReadAP(3);
-  Report1("AHB-AP3: ", v);
-
-  Clock_Init();
-  SDRAM_Init();
-  MPU_Init();
-}

+ 0 - 236
bsp/imxrt1052-evk/sdram_mpu_init.ini

@@ -1,236 +0,0 @@
-FUNC void SDRAM_WaitIpCmdDone(void)
-{
-  unsigned long reg;
-  do
-  {
-    reg = _RDWORD(0x402F003C);
-  }while((reg & 0x3) == 0);
-}
-
-FUNC void _clock_init(void)
-{
-  // Enable all clocks
-  _WDWORD(0x400FC068, 0xffffffff);
-  _WDWORD(0x400FC06C, 0xffffffff);
-  _WDWORD(0x400FC070, 0xffffffff);
-  _WDWORD(0x400FC074, 0xffffffff);
-  _WDWORD(0x400FC078, 0xffffffff);
-  _WDWORD(0x400FC07C, 0xffffffff);
-  _WDWORD(0x400FC080, 0xffffffff);
-
-  _WDWORD(0x400D8030, 0x00002001);
-  _WDWORD(0x400D8100, 0x00100000);
-  _WDWORD(0x400FC014, 0x00050D40);
-}
-
-FUNC void _sdr_Init(void)
-{
-  // Config IOMUX
-  _WDWORD(0x401F8014, 0x00000000);
-  _WDWORD(0x401F8018, 0x00000000);
-  _WDWORD(0x401F801C, 0x00000000);
-  _WDWORD(0x401F8020, 0x00000000);
-  _WDWORD(0x401F8024, 0x00000000);
-  _WDWORD(0x401F8028, 0x00000000);
-  _WDWORD(0x401F802C, 0x00000000);
-  _WDWORD(0x401F8030, 0x00000000);
-  _WDWORD(0x401F8034, 0x00000000);
-  _WDWORD(0x401F8038, 0x00000000);
-  _WDWORD(0x401F803C, 0x00000000);
-  _WDWORD(0x401F8040, 0x00000000);
-  _WDWORD(0x401F8044, 0x00000000);
-  _WDWORD(0x401F8048, 0x00000000);
-  _WDWORD(0x401F804C, 0x00000000);
-  _WDWORD(0x401F8050, 0x00000000);
-  _WDWORD(0x401F8054, 0x00000000);
-  _WDWORD(0x401F8058, 0x00000000);
-  _WDWORD(0x401F805C, 0x00000000);
-  _WDWORD(0x401F8060, 0x00000000);
-  _WDWORD(0x401F8064, 0x00000000);
-  _WDWORD(0x401F8068, 0x00000000);
-  _WDWORD(0x401F806C, 0x00000000);
-  _WDWORD(0x401F8070, 0x00000000);
-  _WDWORD(0x401F8074, 0x00000000);
-  _WDWORD(0x401F8078, 0x00000000);
-  _WDWORD(0x401F807C, 0x00000000);
-  _WDWORD(0x401F8080, 0x00000000);
-  _WDWORD(0x401F8084, 0x00000000);
-  _WDWORD(0x401F8088, 0x00000000);
-  _WDWORD(0x401F808C, 0x00000000);
-  _WDWORD(0x401F8090, 0x00000000);
-  _WDWORD(0x401F8094, 0x00000000);
-  _WDWORD(0x401F8098, 0x00000000);
-  _WDWORD(0x401F809C, 0x00000000);
-  _WDWORD(0x401F80A0, 0x00000000);
-  _WDWORD(0x401F80A4, 0x00000000);
-  _WDWORD(0x401F80A8, 0x00000000);
-  _WDWORD(0x401F80AC, 0x00000000);
-  _WDWORD(0x401F80B0, 0x00000000);
-  _WDWORD(0x401F80B4, 0x00000000);
-  _WDWORD(0x401F80B8, 0x00000000);
-
-  // PAD ctrl
-  _WDWORD(0x401F8204, 0x000000F1);
-  _WDWORD(0x401F8208, 0x000000F1);
-  _WDWORD(0x401F820C, 0x000000F1);
-  _WDWORD(0x401F8210, 0x000000F1);
-  _WDWORD(0x401F8214, 0x000000F1);
-  _WDWORD(0x401F8218, 0x000000F1);
-  _WDWORD(0x401F821C, 0x000000F1);
-  _WDWORD(0x401F8220, 0x000000F1);
-  _WDWORD(0x401F8224, 0x000000F1);
-  _WDWORD(0x401F8228, 0x000000F1);
-  _WDWORD(0x401F822C, 0x000000F1);
-  _WDWORD(0x401F8230, 0x000000F1);
-  _WDWORD(0x401F8234, 0x000000F1);
-  _WDWORD(0x401F8238, 0x000000F1);
-  _WDWORD(0x401F823C, 0x000000F1);
-  _WDWORD(0x401F8240, 0x000000F1);
-  _WDWORD(0x401F8244, 0x000000F1);
-  _WDWORD(0x401F8248, 0x000000F1);
-  _WDWORD(0x401F824C, 0x000000F1);
-  _WDWORD(0x401F8250, 0x000000F1);
-  _WDWORD(0x401F8254, 0x000000F1);
-  _WDWORD(0x401F8258, 0x000000F1);
-  _WDWORD(0x401F825C, 0x000000F1);
-  _WDWORD(0x401F8260, 0x000000F1);
-  _WDWORD(0x401F8264, 0x000000F1);
-  _WDWORD(0x401F8268, 0x000000F1);
-  _WDWORD(0x401F826C, 0x000000F1);
-  _WDWORD(0x401F8270, 0x000000F1);
-  _WDWORD(0x401F8274, 0x000000F1);
-  _WDWORD(0x401F8278, 0x000000F1);
-  _WDWORD(0x401F827C, 0x000000F1);
-  _WDWORD(0x401F8280, 0x000000F1);
-  _WDWORD(0x401F8284, 0x000000F1);
-  _WDWORD(0x401F8288, 0x000000F1);
-  _WDWORD(0x401F828C, 0x000000F1);
-  _WDWORD(0x401F8290, 0x000000F1);
-  _WDWORD(0x401F8294, 0x000000F1);
-  _WDWORD(0x401F8298, 0x000000F1);
-  _WDWORD(0x401F829C, 0x000000F1);
-  _WDWORD(0x401F82A0, 0x000000F1);
-  _WDWORD(0x401F82A4, 0x000000F1);
-  _WDWORD(0x401F82A8, 0x000000F1);
-
-  _WDWORD(0x402F0000, 0x1000E000);
-  _WDWORD(0x402F0008, 0x00030524);
-  _WDWORD(0x402F000C, 0x06030524);
-  _WDWORD(0x402F0010, 0x8000001B);
-  _WDWORD(0x402F0014, 0x90000021);
-  _WDWORD(0x402F0004, 0x00000008);
-  _WDWORD(0x402F0040, 0x00000B27);
-  _WDWORD(0x402F0044, 0x00100100);
-  _WDWORD(0x402F0048, 0x00020201);
-  _WDWORD(0x402F004C, 0x08193D0E);
-  _WDWORD(0x402F0080, 0x00000021);
-  _WDWORD(0x402F0084, 0x00888888);
-  _WDWORD(0x402F0094, 0x00000002);
-  _WDWORD(0x402F0098, 0x00000000);
-
-  _WDWORD(0x402F0090, 0x80000000);
-  _WDWORD(0x402F009C, 0xA55A000F);
-  SDRAM_WaitIpCmdDone();
-  _WDWORD(0x402F0090, 0x80000000);
-  _WDWORD(0x402F009C, 0xA55A000C);
-  SDRAM_WaitIpCmdDone();
-  _WDWORD(0x402F0090, 0x80000000);
-  _WDWORD(0x402F009C, 0xA55A000C);
-  SDRAM_WaitIpCmdDone();
-  _WDWORD(0x402F00A0, 0x00000022);
-  _WDWORD(0x402F0090, 0x80000000);
-  _WDWORD(0x402F009C, 0xA55A000A);
-  SDRAM_WaitIpCmdDone();
-}
-
-FUNC void _mpu_Init()
-{
-  unsigned long rbar0, rbar1, rbar2, rbar3, rbar4, rbar5, rbar6;
-  unsigned long rasr0, rasr1, rasr2, rasr3, rasr4, rasr5, rasr6;
-  unsigned long ctrl;
-
-  rbar0 = ((0xC0000000U & ((0x7FFFFFFUL << 5U))) | (1UL << 4U) | (0U << 0U));
-  rbar1 = ((0x80000000U & ((0x7FFFFFFUL << 5U))) | (1UL << 4U) | (1U << 0U));
-  rbar2 = ((0x60000000U & ((0x7FFFFFFUL << 5U))) | (1UL << 4U) | (2U << 0U));
-  rbar3 = ((0x10000000U & ((0x7FFFFFFUL << 5U))) | (1UL << 4U) | (3U << 0U));
-  rbar4 = ((0x08000000U & ((0x7FFFFFFUL << 5U))) | (1UL << 4U) | (4U << 0U));
-  rbar5 = ((0x80000000U & ((0x7FFFFFFUL << 5U))) | (1UL << 4U) | (5U << 0U));
-  rbar6 = ((0x81E00000U & ((0x7FFFFFFUL << 5U))) | (1UL << 4U) | (6U << 0U));
-  
-  rasr0  = (0x3U << 24U) | (2UL << 19U) | (0xC0U << 8U) | (28U << 1U) | (1U << 0U);
-  rasr1  = (0x3U << 24U) | (2UL << 19U) | (0xC0U << 8U) | (29U << 1U) | (1U << 0U);
-  rasr2  = (0x3U << 24U) | (2UL << 19U) | (0xC0U << 8U) | (28U << 1U) | (1U << 0U);
-  rasr3  = (0x3U << 24U) | (2UL << 19U) | (0xC0U << 8U) | (27U << 1U) | (1U << 0U);
-  rasr4  = (0x3U << 24U) | (2UL << 19U) | (0xC0U << 8U) | (26U << 1U) | (1U << 0U);
-  rasr5  = (0x3U << 24U) | (3UL << 16U) | (0xC0U << 8U) | (25U << 1U) | (1U << 0U);
-  rasr6  = (0x3U << 24U) | (1UL << 19U) | (0xC0U << 8U) | (20U << 1U) | (1U << 0U);
-	
-  /* Enable Privileged default memory map and the MPU. */
-  ctrl  = (0x1U << 0) | (1U << 2U);
-  
-  /* MPU_CTRL. */
-  _WDWORD(0xE000ED94, 0x0);
-  
-	/* MPU_RBAR. */
-  _WDWORD(0xE000ED9C, rbar6);  
-  /* MPU_RASR. */
-  _WDWORD(0xE000EDA0, rasr6);
-	
-  /* MPU_RBAR. */
-  _WDWORD(0xE000ED9C, rbar5);  
-  /* MPU_RASR. */
-  _WDWORD(0xE000EDA0, rasr5);
-
-  _WDWORD(0xE000ED9C, rbar4);  
-  /* MPU_RASR. */
-  _WDWORD(0xE000EDA0, rasr4);
-
-  _WDWORD(0xE000ED9C, rbar3);  
-  /* MPU_RASR. */
-  _WDWORD(0xE000EDA0, rasr3); 
-  
-  /* MPU_RBAR. */
-  _WDWORD(0xE000ED9C, rbar2);  
-  /* MPU_RASR. */
-  _WDWORD(0xE000EDA0, rasr2);
-
-  _WDWORD(0xE000ED9C, rbar1);  
-  /* MPU_RASR. */
-  _WDWORD(0xE000EDA0, rasr1);
-
-  _WDWORD(0xE000ED9C, rbar0);  
-  /* MPU_RASR. */
-  _WDWORD(0xE000EDA0, rasr0);  
-  
-  /* MPU_CTRL. */
-  _WDWORD(0xE000ED94, ctrl);
-}
-
-FUNC void _flexram_init(void)
-{
-    _WDWORD(0x400AC040, 0x80000000);      //IOMUXC_GPR_GPR16
-    //_WDWORD(0x400AC044, 0xFFFFAA55);      //IOMUXC_GPR_GPR17
-    _WDWORD(0x400AC044, 0xFFFFFFFF);      //IOMUXC_GPR_GPR17
-    _WDWORD(0x400AC038, 0x00890000);      //IOMUXC_GPR_GPR14
-    _WDWORD(0x400AC040, 0x80000007);      //IOMUXC_GPR_GPR16
-}
-
-FUNC void Setup (void) {
-  _clock_init();
-  //_flexram_init();
-  _sdr_Init();
-  _mpu_Init();
-  SP = _RDWORD(0x00000000);          // Setup Stack Pointer
-  PC = _RDWORD(0x00000004);          // Setup Program Counter
-  _WDWORD(0xE000ED08, 0x00000000);   // Setup Vector Table Offset Register
-}
-
-FUNC void OnResetExec (void)  {      // executes upon software RESET
-  Setup();                           // Setup for Running
-}
-
-LOAD %L INCREMENTAL                  // Download
-
-Setup();                             // Setup for Running
-
-// g, main

+ 0 - 249
bsp/imxrt1052-evk/sdram_mpu_init.mac

@@ -1,249 +0,0 @@
-/*****************************************************************************/
-
-
-SDRAM_WaitIpCmdDone()
-{
-  __var reg;
-  do
-  {
-    reg = __readMemory32(0x402F003C, "Memory");
-  }while((reg & 0x3) == 0);
-}
-
-_clock_init()
-{
-  // Enable all clocks
-  __writeMemory32(0xffffffff, 0x400FC068, "Memory");
-  __writeMemory32(0xffffffff, 0x400FC06C, "Memory");
-  __writeMemory32(0xffffffff, 0x400FC070, "Memory");
-  __writeMemory32(0xffffffff, 0x400FC074, "Memory");
-  __writeMemory32(0xffffffff, 0x400FC078, "Memory");
-  __writeMemory32(0xffffffff, 0x400FC07C, "Memory");
-  __writeMemory32(0xffffffff, 0x400FC080, "Memory");
-
-  __writeMemory32(0x00002001, 0x400D8030, "Memory");
-  __writeMemory32(0x00100000, 0x400D8100, "Memory");
-  __writeMemory32(0x00050D40, 0x400FC014, "Memory");
-}
-
-_sdr_Init()
-{
-  // Config IOMUX
-  __writeMemory32(0x00000000, 0x401F8014, "Memory");
-  __writeMemory32(0x00000000, 0x401F8018, "Memory");
-  __writeMemory32(0x00000000, 0x401F801C, "Memory");
-  __writeMemory32(0x00000000, 0x401F8020, "Memory");
-  __writeMemory32(0x00000000, 0x401F8024, "Memory");
-  __writeMemory32(0x00000000, 0x401F8028, "Memory");
-  __writeMemory32(0x00000000, 0x401F802C, "Memory");
-  __writeMemory32(0x00000000, 0x401F8030, "Memory");
-  __writeMemory32(0x00000000, 0x401F8034, "Memory");
-  __writeMemory32(0x00000000, 0x401F8038, "Memory");
-  __writeMemory32(0x00000000, 0x401F803C, "Memory");
-  __writeMemory32(0x00000000, 0x401F8040, "Memory");
-  __writeMemory32(0x00000000, 0x401F8044, "Memory");
-  __writeMemory32(0x00000000, 0x401F8048, "Memory");
-  __writeMemory32(0x00000000, 0x401F804C, "Memory");
-  __writeMemory32(0x00000000, 0x401F8050, "Memory");
-  __writeMemory32(0x00000000, 0x401F8054, "Memory");
-  __writeMemory32(0x00000000, 0x401F8058, "Memory");
-  __writeMemory32(0x00000000, 0x401F805C, "Memory");
-  __writeMemory32(0x00000000, 0x401F8060, "Memory");
-  __writeMemory32(0x00000000, 0x401F8064, "Memory");
-  __writeMemory32(0x00000000, 0x401F8068, "Memory");
-  __writeMemory32(0x00000000, 0x401F806C, "Memory");
-  __writeMemory32(0x00000000, 0x401F8070, "Memory");
-  __writeMemory32(0x00000000, 0x401F8074, "Memory");
-  __writeMemory32(0x00000000, 0x401F8078, "Memory");
-  __writeMemory32(0x00000000, 0x401F807C, "Memory");
-  __writeMemory32(0x00000000, 0x401F8080, "Memory");
-  __writeMemory32(0x00000000, 0x401F8084, "Memory");
-  __writeMemory32(0x00000000, 0x401F8088, "Memory");
-  __writeMemory32(0x00000000, 0x401F808C, "Memory");
-  __writeMemory32(0x00000000, 0x401F8090, "Memory");
-  __writeMemory32(0x00000000, 0x401F8094, "Memory");
-  __writeMemory32(0x00000000, 0x401F8098, "Memory");
-  __writeMemory32(0x00000000, 0x401F809C, "Memory");
-  __writeMemory32(0x00000000, 0x401F80A0, "Memory");
-  __writeMemory32(0x00000000, 0x401F80A4, "Memory");
-  __writeMemory32(0x00000000, 0x401F80A8, "Memory");
-  __writeMemory32(0x00000000, 0x401F80AC, "Memory");
-  __writeMemory32(0x00000000, 0x401F80B0, "Memory");
-  __writeMemory32(0x00000000, 0x401F80B4, "Memory");
-  __writeMemory32(0x00000000, 0x401F80B8, "Memory");
-
-  // PAD ctrl
-  __writeMemory32(0x000000F1, 0x401F8204, "Memory");
-  __writeMemory32(0x000000F1, 0x401F8208, "Memory");
-  __writeMemory32(0x000000F1, 0x401F820C, "Memory");
-  __writeMemory32(0x000000F1, 0x401F8210, "Memory");
-  __writeMemory32(0x000000F1, 0x401F8214, "Memory");
-  __writeMemory32(0x000000F1, 0x401F8218, "Memory");
-  __writeMemory32(0x000000F1, 0x401F821C, "Memory");
-  __writeMemory32(0x000000F1, 0x401F8220, "Memory");
-  __writeMemory32(0x000000F1, 0x401F8224, "Memory");
-  __writeMemory32(0x000000F1, 0x401F8228, "Memory");
-  __writeMemory32(0x000000F1, 0x401F822C, "Memory");
-  __writeMemory32(0x000000F1, 0x401F8230, "Memory");
-  __writeMemory32(0x000000F1, 0x401F8234, "Memory");
-  __writeMemory32(0x000000F1, 0x401F8238, "Memory");
-  __writeMemory32(0x000000F1, 0x401F823C, "Memory");
-  __writeMemory32(0x000000F1, 0x401F8240, "Memory");
-  __writeMemory32(0x000000F1, 0x401F8244, "Memory");
-  __writeMemory32(0x000000F1, 0x401F8248, "Memory");
-  __writeMemory32(0x000000F1, 0x401F824C, "Memory");
-  __writeMemory32(0x000000F1, 0x401F8250, "Memory");
-  __writeMemory32(0x000000F1, 0x401F8254, "Memory");
-  __writeMemory32(0x000000F1, 0x401F8258, "Memory");
-  __writeMemory32(0x000000F1, 0x401F825C, "Memory");
-  __writeMemory32(0x000000F1, 0x401F8260, "Memory");
-  __writeMemory32(0x000000F1, 0x401F8264, "Memory");
-  __writeMemory32(0x000000F1, 0x401F8268, "Memory");
-  __writeMemory32(0x000000F1, 0x401F826C, "Memory");
-  __writeMemory32(0x000000F1, 0x401F8270, "Memory");
-  __writeMemory32(0x000000F1, 0x401F8274, "Memory");
-  __writeMemory32(0x000000F1, 0x401F8278, "Memory");
-  __writeMemory32(0x000000F1, 0x401F827C, "Memory");
-  __writeMemory32(0x000000F1, 0x401F8280, "Memory");
-  __writeMemory32(0x000000F1, 0x401F8284, "Memory");
-  __writeMemory32(0x000000F1, 0x401F8288, "Memory");
-  __writeMemory32(0x000000F1, 0x401F828C, "Memory");
-  __writeMemory32(0x000000F1, 0x401F8290, "Memory");
-  __writeMemory32(0x000000F1, 0x401F8294, "Memory");
-  __writeMemory32(0x000000F1, 0x401F8298, "Memory");
-  __writeMemory32(0x000000F1, 0x401F829C, "Memory");
-  __writeMemory32(0x000000F1, 0x401F82A0, "Memory");
-  __writeMemory32(0x000000F1, 0x401F82A4, "Memory");
-  __writeMemory32(0x000000F1, 0x401F82A8, "Memory");
-
-  __writeMemory32(0x1000E000, 0x402F0000, "Memory");
-  __writeMemory32(0x00030524, 0x402F0008, "Memory");
-  __writeMemory32(0x06030524, 0x402F000C, "Memory");
-  __writeMemory32(0x8000001B, 0x402F0010, "Memory");
-  __writeMemory32(0x90000021, 0x402F0014, "Memory");
-  __writeMemory32(0x00000008, 0x402F0004, "Memory");
-  __writeMemory32(0x00000B27, 0x402F0040, "Memory");
-  __writeMemory32(0x00100100, 0x402F0044, "Memory");
-  __writeMemory32(0x00020201, 0x402F0048, "Memory");
-  __writeMemory32(0x08193D0E, 0x402F004C, "Memory");
-  __writeMemory32(0x00000021, 0x402F0080, "Memory");
-  __writeMemory32(0x00888888, 0x402F0084, "Memory");
-  __writeMemory32(0x00000002, 0x402F0094, "Memory");
-  __writeMemory32(0x00000000, 0x402F0098, "Memory");
-
-  __writeMemory32(0x80000000, 0x402F0090, "Memory");
-  __writeMemory32(0xA55A000F, 0x402F009C, "Memory");
-  SDRAM_WaitIpCmdDone();
-  __writeMemory32(0x80000000, 0x402F0090, "Memory");
-  __writeMemory32(0xA55A000C, 0x402F009C, "Memory");
-  SDRAM_WaitIpCmdDone();
-  __writeMemory32(0x80000000, 0x402F0090, "Memory");
-  __writeMemory32(0xA55A000C, 0x402F009C, "Memory");
-  SDRAM_WaitIpCmdDone();
-  __writeMemory32(0x00000022, 0x402F00A0, "Memory");
-  __writeMemory32(0x80000000, 0x402F0090, "Memory");
-  __writeMemory32(0xA55A000A, 0x402F009C, "Memory");
-  SDRAM_WaitIpCmdDone();
-  __message "SDRAM init done\n";
-}
-
-_mpu_Init()
-{
-  __var rbar0, rbar1, rbar2, rbar3, rbar4, rbar5, rbar6;
-  rbar0 = ((0xC0000000U & ((0x7FFFFFFUL << 5U))) | (1UL << 4U) | (0U << 0U));
-  rbar1 = ((0x80000000U & ((0x7FFFFFFUL << 5U))) | (1UL << 4U) | (1U << 0U));
-  rbar2 = ((0x60000000U & ((0x7FFFFFFUL << 5U))) | (1UL << 4U) | (2U << 0U));
-  rbar3 = ((0x10000000U & ((0x7FFFFFFUL << 5U))) | (1UL << 4U) | (3U << 0U));
-  rbar4 = ((0x08000000U & ((0x7FFFFFFUL << 5U))) | (1UL << 4U) | (4U << 0U));
-  rbar5 = ((0x80000000U & ((0x7FFFFFFUL << 5U))) | (1UL << 4U) | (5U << 0U));
-  rbar6 = ((0x81E00000U & ((0x7FFFFFFUL << 5U))) | (1UL << 4U) | (6U << 0U));
-  
-  __var rasr0, rasr1, rasr2, rasr3, rasr4, rasr5, rasr6;
-  rasr0  = (0x3U << 24U) | (2UL << 19U) | (0xC0U << 8U) | (28U << 1U) | (1U << 0U);
-  rasr1  = (0x3U << 24U) | (2UL << 19U) | (0xC0U << 8U) | (29U << 1U) | (1U << 0U);
-  rasr2  = (0x3U << 24U) | (2UL << 19U) | (0xC0U << 8U) | (28U << 1U) | (1U << 0U);
-  rasr3  = (0x3U << 24U) | (2UL << 19U) | (0xC0U << 8U) | (27U << 1U) | (1U << 0U);
-  rasr4  = (0x3U << 24U) | (2UL << 19U) | (0xC0U << 8U) | (26U << 1U) | (1U << 0U);
-  rasr5  = (0x3U << 24U) | (3UL << 16U) | (0xC0U << 8U) | (25U << 1U) | (1U << 0U); 
-  rasr6  = (0x3U << 24U) | (1UL << 19U) | (0xC0U << 8U) | (20U << 1U) | (1U << 0U);
-  
-  /* Enable Privileged default memory map and the MPU. */
-  __var ctrl;
-  ctrl  = (0x1U << 0) | (1U << 2U);
-  
-  /* MPU_CTRL. */
-  __writeMemory32(0x0,  0xE000ED94, "Memory");
-  
-    /* MPU_RBAR. */
-  __writeMemory32(rbar6, 0xE000ED9C, "Memory");
-  /* MPU_RASR. */
-  __writeMemory32(rasr6, 0xE000EDA0, "Memory");
-  
-  /* MPU_RBAR. */
-  __writeMemory32(rbar5, 0xE000ED9C, "Memory");
-  /* MPU_RASR. */
-  __writeMemory32(rasr5, 0xE000EDA0, "Memory");
-  
-  /* MPU_RBAR. */
-  __writeMemory32(rbar4, 0xE000ED9C, "Memory");
-  /* MPU_RASR. */
-  __writeMemory32(rasr4, 0xE000EDA0, "Memory");
-  
-  /* MPU_RBAR. */
-  __writeMemory32(rbar3, 0xE000ED9C, "Memory");
-  /* MPU_RASR. */
-  __writeMemory32(rasr3, 0xE000EDA0, "Memory");
-  
-  /* MPU_RBAR. */
-  __writeMemory32(rbar2, 0xE000ED9C, "Memory");
-  /* MPU_RASR. */
-  __writeMemory32(rasr2, 0xE000EDA0, "Memory");
-  
-  /* MPU_RBAR. */
-  __writeMemory32(rbar1, 0xE000ED9C, "Memory");
-  /* MPU_RASR. */
-  __writeMemory32(rasr1, 0xE000EDA0, "Memory");
-
-  /* MPU_RBAR. */
-  __writeMemory32(rbar0, 0xE000ED9C, "Memory");
-  /* MPU_RASR. */
-  __writeMemory32(rasr0, 0xE000EDA0, "Memory");
-  
-  /* MPU_CTRL. */
-  __writeMemory32(ctrl, 0xE000ED94, "Memory");
-}
-
-_flexram_init()
-{
-    __message "flexram init\n";
-    __writeMemory32(0x80000000, 0x400AC040, "Memory");      //IOMUXC_GPR_GPR16
-    //__writeMemory32(0xFFFFAA55, 0x400AC044, "Memory");      //IOMUXC_GPR_GPR17
-    __writeMemory32(0xFFFFFFFF, 0x400AC044, "Memory");      //IOMUXC_GPR_GPR17
-    __writeMemory32(0x00890000, 0x400AC038, "Memory");      //IOMUXC_GPR_GPR14
-    __writeMemory32(0x80000007, 0x400AC040, "Memory");      //IOMUXC_GPR_GPR16
-}
-
-execUserPreload()
-{
-  __message "execUserPreload() start.\n";
-  
-  _clock_init();
-  _flexram_init();
-  _sdr_Init();
-  _mpu_Init();
-  
-  __message "execUserPreload() done.\n";
-}
-
-execUserReset()
-{
-  __message "execUserReset() start.\n";
-
-  _clock_init();
-  _flexram_init();
-  _sdr_Init();
-  _mpu_Init();
-  
-  __message "execUserReset() done.\n";
-}
-

+ 1 - 1
bsp/imxrt1052-evk/template.ewp

@@ -690,7 +690,7 @@
         </option>
         <option>
           <name>IlinkIcfFile</name>
-          <state>$PROJ_DIR$\imxrt1052_sdram.icf</state>
+          <state>$PROJ_DIR$\Libraries\iar\MIMXRT1052xxxxx_flexspi_nor.icf</state>
         </option>
         <option>
           <name>IlinkIcfFileSlave</name>

+ 190 - 0
bsp/imxrt1052-evk/template.uvoptx

@@ -0,0 +1,190 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<ProjectOpt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_optx.xsd">
+
+  <SchemaVersion>1.0</SchemaVersion>
+
+  <Header>### uVision Project, (C) Keil Software</Header>
+
+  <Extensions>
+    <cExt>*.c</cExt>
+    <aExt>*.s*; *.src; *.a*</aExt>
+    <oExt>*.obj; *.o</oExt>
+    <lExt>*.lib</lExt>
+    <tExt>*.txt; *.h; *.inc</tExt>
+    <pExt>*.plm</pExt>
+    <CppX>*.cpp</CppX>
+    <nMigrate>0</nMigrate>
+  </Extensions>
+
+  <DaveTm>
+    <dwLowDateTime>0</dwLowDateTime>
+    <dwHighDateTime>0</dwHighDateTime>
+  </DaveTm>
+
+  <Target>
+    <TargetName>RT-Thread IMXRT1052</TargetName>
+    <ToolsetNumber>0x4</ToolsetNumber>
+    <ToolsetName>ARM-ADS</ToolsetName>
+    <TargetOption>
+      <CLKADS>12000000</CLKADS>
+      <OPTTT>
+        <gFlags>1</gFlags>
+        <BeepAtEnd>1</BeepAtEnd>
+        <RunSim>0</RunSim>
+        <RunTarget>1</RunTarget>
+        <RunAbUc>0</RunAbUc>
+      </OPTTT>
+      <OPTHX>
+        <HexSelection>1</HexSelection>
+        <FlashByte>65535</FlashByte>
+        <HexRangeLowAddress>0</HexRangeLowAddress>
+        <HexRangeHighAddress>0</HexRangeHighAddress>
+        <HexOffset>0</HexOffset>
+      </OPTHX>
+      <OPTLEX>
+        <PageWidth>79</PageWidth>
+        <PageLength>66</PageLength>
+        <TabStop>8</TabStop>
+        <ListingPath>.\build\</ListingPath>
+      </OPTLEX>
+      <ListingPage>
+        <CreateCListing>1</CreateCListing>
+        <CreateAListing>1</CreateAListing>
+        <CreateLListing>1</CreateLListing>
+        <CreateIListing>0</CreateIListing>
+        <AsmCond>1</AsmCond>
+        <AsmSymb>1</AsmSymb>
+        <AsmXref>0</AsmXref>
+        <CCond>1</CCond>
+        <CCode>0</CCode>
+        <CListInc>0</CListInc>
+        <CSymb>0</CSymb>
+        <LinkerCodeListing>0</LinkerCodeListing>
+      </ListingPage>
+      <OPTXL>
+        <LMap>1</LMap>
+        <LComments>1</LComments>
+        <LGenerateSymbols>1</LGenerateSymbols>
+        <LLibSym>1</LLibSym>
+        <LLines>1</LLines>
+        <LLocSym>1</LLocSym>
+        <LPubSym>1</LPubSym>
+        <LXref>0</LXref>
+        <LExpSel>0</LExpSel>
+      </OPTXL>
+      <OPTFL>
+        <tvExp>0</tvExp>
+        <tvExpOptDlg>0</tvExpOptDlg>
+        <IsCurrentTarget>1</IsCurrentTarget>
+      </OPTFL>
+      <CpuCode>8</CpuCode>
+      <DebugOpt>
+        <uSim>0</uSim>
+        <uTrg>1</uTrg>
+        <sLdApp>1</sLdApp>
+        <sGomain>1</sGomain>
+        <sRbreak>1</sRbreak>
+        <sRwatch>1</sRwatch>
+        <sRmem>1</sRmem>
+        <sRfunc>1</sRfunc>
+        <sRbox>1</sRbox>
+        <tLdApp>1</tLdApp>
+        <tGomain>1</tGomain>
+        <tRbreak>1</tRbreak>
+        <tRwatch>1</tRwatch>
+        <tRmem>1</tRmem>
+        <tRfunc>0</tRfunc>
+        <tRbox>1</tRbox>
+        <tRtrace>1</tRtrace>
+        <sRSysVw>1</sRSysVw>
+        <tRSysVw>1</tRSysVw>
+        <sRunDeb>0</sRunDeb>
+        <sLrtime>0</sLrtime>
+        <bEvRecOn>1</bEvRecOn>
+        <bSchkAxf>0</bSchkAxf>
+        <bTchkAxf>0</bTchkAxf>
+        <nTsel>4</nTsel>
+        <sDll></sDll>
+        <sDllPa></sDllPa>
+        <sDlgDll></sDlgDll>
+        <sDlgPa></sDlgPa>
+        <sIfile></sIfile>
+        <tDll></tDll>
+        <tDllPa></tDllPa>
+        <tDlgDll></tDlgDll>
+        <tDlgPa></tDlgPa>
+        <tIfile>.\Libraries\arm\evkmimxrt1050_flexspi_nor.ini</tIfile>
+        <pMon>Segger\JL2CM3.dll</pMon>
+      </DebugOpt>
+      <TargetDriverDllRegistry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>JL2CM3</Key>
+          <Name>-U30000299 -O78 -S2 -ZTIFSpeedSel5000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST1 -TO18 -TC10000000 -TP21 -TDS8001 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO7 -FD20000000 -FCF000 -FN1 -FF0MIMXRT105x_HYPER_256KB_SEC.FLM -FS060000000 -FL04000000 -FP0($$Device:MIMXRT1052$Flash\MIMXRT105x_HYPER_256KB_SEC.FLM)</Name>
+        </SetRegEntry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>CMSIS_AGDI</Key>
+          <Name>-X"" -O974 -S0 -C0 -P00 -TO18 -TC10000000 -TP20 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FCF000 -FN1 -FF0MIMXRT105x_HYPER_256KB_SEC.FLM -FS060000000 -FL04000000 -FP0($$Device:MIMXRT1052$Flash\MIMXRT105x_HYPER_256KB_SEC.FLM)</Name>
+        </SetRegEntry>
+        <SetRegEntry>
+          <Number>0</Number>
+          <Key>UL2CM3</Key>
+          <Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FCF000 -FN1 -FF0MIMXRT105x_HYPER_256KB_SEC -FS060000000 -FL04000000 -FP0($$Device:MIMXRT1052$Flash\MIMXRT105x_HYPER_256KB_SEC.FLM))</Name>
+        </SetRegEntry>
+      </TargetDriverDllRegistry>
+      <Breakpoint/>
+      <Tracepoint>
+        <THDelay>0</THDelay>
+      </Tracepoint>
+      <DebugFlag>
+        <trace>0</trace>
+        <periodic>0</periodic>
+        <aLwin>0</aLwin>
+        <aCover>0</aCover>
+        <aSer1>0</aSer1>
+        <aSer2>0</aSer2>
+        <aPa>0</aPa>
+        <viewmode>0</viewmode>
+        <vrSel>0</vrSel>
+        <aSym>0</aSym>
+        <aTbox>0</aTbox>
+        <AscS1>0</AscS1>
+        <AscS2>0</AscS2>
+        <AscS3>0</AscS3>
+        <aSer3>0</aSer3>
+        <eProf>0</eProf>
+        <aLa>0</aLa>
+        <aPa1>0</aPa1>
+        <AscS4>0</AscS4>
+        <aSer4>0</aSer4>
+        <StkLoc>0</StkLoc>
+        <TrcWin>0</TrcWin>
+        <newCpu>0</newCpu>
+        <uProt>0</uProt>
+      </DebugFlag>
+      <LintExecutable></LintExecutable>
+      <LintConfigFile></LintConfigFile>
+      <bLintAuto>0</bLintAuto>
+      <bAutoGenD>0</bAutoGenD>
+      <LntExFlags>0</LntExFlags>
+      <pMisraName></pMisraName>
+      <pszMrule></pszMrule>
+      <pSingCmds></pSingCmds>
+      <pMultCmds></pMultCmds>
+      <pMisraNamep></pMisraNamep>
+      <pszMrulep></pszMrulep>
+      <pSingCmdsp></pSingCmdsp>
+      <pMultCmdsp></pMultCmdsp>
+    </TargetOption>
+  </Target>
+
+  <Group>
+    <GroupName>::CMSIS</GroupName>
+    <tvExp>0</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>1</RteFlg>
+  </Group>
+
+</ProjectOpt>

+ 7 - 6
bsp/imxrt1052-evk/template.uvprojx

@@ -16,7 +16,8 @@
         <TargetCommonOption>
           <Device>MIMXRT1052:M7</Device>
           <Vendor>NXP</Vendor>
-          <PackID>NXP.iMXRT_DFP.1.0.1</PackID>
+          <PackID>NXP.iMXRT_DFP.1.0.2</PackID>
+          <PackURL>http://mcuxpresso.nxp.com/cmsis_pack/repo/</PackURL>
           <Cpu>IRAM(0x20000000,0x00060000) IRAM2(0x00000000,0x00020000) CPUTYPE("Cortex-M7") FPU3(SFPU) CLOCK(12000000) ELITTLE</Cpu>
           <FlashUtilSpec></FlashUtilSpec>
           <StartupFile></StartupFile>
@@ -48,12 +49,12 @@
             <InvalidFlash>1</InvalidFlash>
           </TargetStatus>
           <OutputDirectory>.\build\</OutputDirectory>
-          <OutputName>rtthread-lpc</OutputName>
+          <OutputName>rtthread-imxrt</OutputName>
           <CreateExecutable>1</CreateExecutable>
           <CreateLib>0</CreateLib>
           <CreateHexFile>0</CreateHexFile>
           <DebugInformation>1</DebugInformation>
-          <BrowseInformation>1</BrowseInformation>
+          <BrowseInformation>0</BrowseInformation>
           <ListingPath>.\build\</ListingPath>
           <HexFormatSelection>1</HexFormatSelection>
           <Merge32K>0</Merge32K>
@@ -79,9 +80,9 @@
             <nStopB2X>0</nStopB2X>
           </BeforeMake>
           <AfterMake>
-            <RunUserProg1>0</RunUserProg1>
+            <RunUserProg1>1</RunUserProg1>
             <RunUserProg2>0</RunUserProg2>
-            <UserProg1Name></UserProg1Name>
+            <UserProg1Name>fromelf --bin !L --output rtthread-mdk.bin</UserProg1Name>
             <UserProg2Name></UserProg2Name>
             <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
             <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
@@ -366,7 +367,7 @@
             <TextAddressRange>0x00000000</TextAddressRange>
             <DataAddressRange>0x10000000</DataAddressRange>
             <pXoBase></pXoBase>
-            <ScatterFile>.\imxrt1052_sdram.sct</ScatterFile>
+            <ScatterFile>.\Libraries\arm\MIMXRT1052xxxxx_flexspi_nor.scf</ScatterFile>
             <IncludeLibs></IncludeLibs>
             <IncludeLibsPath></IncludeLibsPath>
             <Misc></Misc>

+ 10 - 0
bsp/lpc178x/applications/application.c

@@ -35,6 +35,11 @@
 #include <rtgui/driver.h>
 #endif
 
+#ifdef RT_USING_FINSH
+#include <shell.h>
+#include <finsh.h>
+#endif
+
 /* thread phase init */
 void rt_init_thread_entry(void *parameter)
 {
@@ -97,6 +102,11 @@ void rt_init_thread_entry(void *parameter)
 		}
     }
 #endif
+
+#ifdef RT_USING_FINSH
+	/* initialize finsh */
+	finsh_system_init();
+#endif
 }
 
 // init led

+ 0 - 10
bsp/lpc178x/applications/startup.c

@@ -20,10 +20,6 @@
 #include "board.h"
 
 extern int  rt_application_init(void);
-#ifdef RT_USING_FINSH
-extern int finsh_system_init(void);
-extern void finsh_set_device(const char* device);
-#endif
 
 #ifdef __CC_ARM
 extern int Image$$RW_IRAM1$$ZI$$Limit;
@@ -81,12 +77,6 @@ void rtthread_startup(void)
 	/* initialize application */
 	rt_application_init();
 
-#ifdef RT_USING_FINSH
-	/* initialize finsh */
-	finsh_system_init();
-	finsh_set_device( FINSH_DEVICE_NAME );
-#endif
-
     /* initialize timer */
     rt_system_timer_init();
 

+ 39 - 15
bsp/lpc2148/applications/application.c

@@ -19,6 +19,11 @@
  */
 /*@{*/
 
+#ifdef RT_USING_FINSH
+#include <shell.h>
+#include <finsh.h>
+#endif
+
 #ifdef RT_USING_DFS
 /* dfs init */
 #include <dfs.h>
@@ -41,16 +46,31 @@
 /* thread phase init */
 void rt_init_thread_entry(void *parameter)
 {
+#ifdef RT_USING_DEVICE
+#ifdef RT_USING_DFS
+    /* init sd card */
+    rt_hw_sdcard_init();
+#endif
+
+#ifdef RT_USING_LWIP
+    eth_system_device_init();
+    /* init ethernetif device */
+    rt_hw_dm9000_init();
+#endif
+
+    /* init hardware serial device */
+    rt_hw_serial_init();
+#endif
+
     /* Filesystem Initialization */
 #ifdef RT_USING_DFS
     {
         /* init the device filesystem */
         dfs_init();
-        /* init the efsl filesystam*/
-        efsl_init();
+        elm_init();
 
         /* mount sd card fat partition 1 as root directory */
-        if (dfs_mount("sd0", "/", "efs", 0, 0) == 0)
+        if (dfs_mount("sd0", "/", "elm", 0, 0) == 0)
             rt_kprintf("File System initialized!\n");
         else
             rt_kprintf("File System init failed!\n");
@@ -67,6 +87,10 @@ void rt_init_thread_entry(void *parameter)
         rt_kprintf("TCP/IP initialized!\n");
     }
 #endif
+
+#ifdef RT_USING_FINSH
+    finsh_system_init();
+#endif
 }
 
 /************** LED BLINK *******************/
@@ -78,53 +102,53 @@ void rt_init_thread_entry(void *parameter)
 
 ALIGN(4) char thread_led1_stack[512];
 struct rt_thread thread_led1;
-void thread_led1_entry(void* parameter)
+void thread_led1_entry(void *parameter)
 {
-    unsigned int count=0;
+    unsigned int count = 0;
 
     IO1DIR |= LED1;
-    while(1)
+    while (1)
     {
         /* led1 on */
         IO1CLR = LED1;
 #ifndef RT_USING_FINSH
-        rt_kprintf("led1 on, count : %d\r\n",count);
+        rt_kprintf("led1 on, count : %d\r\n", count);
 #endif
         count++;
-        rt_thread_delay( RT_TICK_PER_SECOND/3 ); /* delay 0.3s */
+        rt_thread_delay(RT_TICK_PER_SECOND / 3); /* delay 0.3s */
 
         /* led1 off */
         IO1SET = LED1;
 #ifndef RT_USING_FINSH
         rt_kprintf("led1 off\r\n");
 #endif
-        rt_thread_delay( RT_TICK_PER_SECOND/3 );
+        rt_thread_delay(RT_TICK_PER_SECOND / 3);
     }
 }
 
 ALIGN(4) char thread_led2_stack[512];
 struct rt_thread thread_led2;
-void thread_led2_entry(void* parameter)
+void thread_led2_entry(void *parameter)
 {
-    unsigned int count=0;
+    unsigned int count = 0;
 
     IO1DIR |= LED2;
-    while(1)
+    while (1)
     {
         /* led2 on */
         IO1CLR = LED2;
 #ifndef RT_USING_FINSH
-        rt_kprintf("led2 on, count : %d\r\n",count);
+        rt_kprintf("led2 on, count : %d\r\n", count);
 #endif
         count++;
-        rt_thread_delay( RT_TICK_PER_SECOND/2 ); /* delay 0.5s */
+        rt_thread_delay(RT_TICK_PER_SECOND / 2); /* delay 0.5s */
 
         /* led2 off */
         IO1SET = LED2;
 #ifndef RT_USING_FINSH
         rt_kprintf("led1 off\r\n");
 #endif
-        rt_thread_delay( RT_TICK_PER_SECOND/2 );
+        rt_thread_delay(RT_TICK_PER_SECOND / 2);
     }
 }
 /************** LED BLINK *******************/

+ 3 - 32
bsp/lpc2148/applications/startup.c

@@ -33,18 +33,11 @@
 
 /*@{*/
 
-#ifdef RT_USING_FINSH
-extern int finsh_system_init(void);
-#endif
-
 extern int  rt_application_init(void);
 extern void rt_show_version(void);
 #ifdef RT_USING_DEVICE
 extern rt_err_t rt_hw_serial_init(void);
 #endif
-#ifdef RT_USING_FINSH
-extern int finsh_system_init(void);
-#endif
 
 #ifdef __CC_ARM
 extern int Image$$RW_IRAM1$$ZI$$Limit;
@@ -76,41 +69,19 @@ void rtthread_startup(void)
 
 #ifdef RT_USING_HEAP
 #ifdef __CC_ARM
-    rt_system_heap_init((void*)&Image$$RW_IRAM1$$ZI$$Limit, (void*)0x40008000);
+    rt_system_heap_init((void *)&Image$$RW_IRAM1$$ZI$$Limit, (void *)0x40008000);
 #else
     /* init memory system */
-    rt_system_heap_init((void*)&__bss_end, (void*)0x40008000);
+    rt_system_heap_init((void *)&__bss_end, (void *)0x40008000);
 #endif
 #endif
 
     /* init scheduler system */
     rt_system_scheduler_init();
 
-#ifdef RT_USING_DEVICE
-#ifdef RT_USING_DFS
-    /* init sd card */
-    rt_hw_sdcard_init();
-#endif
-
-#ifdef RT_USING_LWIP
-    eth_system_device_init();
-    /* init ethernetif device */
-    rt_hw_dm9000_init();
-#endif
-
-    /* init hardware serial device */
-    rt_hw_serial_init();
-#endif
-
     /* init application */
     rt_application_init();
 
-#ifdef RT_USING_FINSH
-    /* init finsh */
-    finsh_system_init();
-    finsh_set_device("uart1");
-#endif
-
     /* init idle thread */
     rt_thread_idle_init();
 
@@ -121,7 +92,7 @@ void rtthread_startup(void)
     return ;
 }
 
-int main (void)
+int main(void)
 {
     /* invoke rtthread_startup */
     rtthread_startup();

+ 11 - 1
bsp/lpc2478/applications/application.c

@@ -14,13 +14,23 @@
 
 #include <rtthread.h>
 
+#ifdef RT_USING_FINSH
+#include <shell.h>
+#include <finsh.h>
+#endif
+
 /**
  * @addtogroup LPC2478
  */
 /*@{*/
 int rt_application_init()
 {
-	return 0;
+#ifdef RT_USING_FINSH
+    /* init finsh */
+    finsh_system_init();
+#endif
+
+    return 0;
 }
 
 /*@}*/

+ 43 - 58
bsp/lpc2478/applications/startup.c

@@ -10,19 +10,13 @@
  * Change Logs:
  * Date           Author       Notes
  * 2008-12-11     xuxinming    first version
- * 2010-4-3       LiJin        add init soft timer thread 
+ * 2010-4-3       LiJin        add init soft timer thread
  */
 
 #include <rthw.h>
 #include <rtthread.h>
 
-#ifdef RT_USING_FINSH
-#include <finsh.h>
-extern int finsh_system_init(void);
-#endif
-
 #include <LPC24xx.h>
-#include <board.h>
 
 /**
  * @addtogroup LPC2478
@@ -30,9 +24,6 @@ extern int finsh_system_init(void);
 /*@{*/
 
 extern int  rt_application_init(void);
-#ifdef RT_USING_DEVICE
-extern rt_err_t rt_hw_serial_init(void);
-#endif
 
 #ifdef __CC_ARM
 extern int Image$$RW_IRAM1$$ZI$$Limit;
@@ -45,67 +36,61 @@ extern int __bss_end;
  */
 void rtthread_startup(void)
 {
-	/* init hardware interrupt */
-	rt_hw_interrupt_init();
-	
-	/* init board */
-	rt_hw_board_init();
-	
-	/* init tick */
-	rt_system_tick_init();
-	
-	/* init kernel object */
-	rt_system_object_init();
-	
-	rt_show_version();
-
-	/* init timer system */
-	rt_system_timer_init();
-
-	/* init memory system */
+    /* init hardware interrupt */
+    rt_hw_interrupt_init();
+
+    /* init board */
+    rt_hw_board_init();
+
+    /* init tick */
+    rt_system_tick_init();
+
+    /* init kernel object */
+    rt_system_object_init();
+
+    rt_show_version();
+
+    /* init timer system */
+    rt_system_timer_init();
+
+    /* init memory system */
 #ifdef RT_USING_HEAP
 #ifdef __CC_ARM
-	rt_system_heap_init((void*)&Image$$RW_IRAM1$$ZI$$Limit, (void*)0x40010000);
+    rt_system_heap_init((void *)&Image$$RW_IRAM1$$ZI$$Limit, (void *)0x40010000);
 #else
-	rt_system_heap_init((void*)&__bss_end, (void*)0x40010000);
+    rt_system_heap_init((void *)&__bss_end, (void *)0x40010000);
 #endif
 #endif
 
-	/* init scheduler system */
-	rt_system_scheduler_init();
+    /* init scheduler system */
+    rt_system_scheduler_init();
 
-	/* init application */
-	rt_application_init();
-	
-#ifdef RT_USING_FINSH
-	/* init finsh */
-	finsh_system_init();
-	finsh_set_device("uart1");
-#endif
-	
-	/* init soft timer thread */
-	rt_system_timer_thread_init();
-
-	/* init idle thread */
-	rt_thread_idle_init();
-
-	/* start scheduler */
-	rt_system_scheduler_start();	
-	
-	/* never reach here */
-	return ;
+    /* init application */
+    rt_application_init();
+
+    /* init soft timer thread */
+    rt_system_timer_thread_init();
+
+    /* init idle thread */
+    rt_thread_idle_init();
+
+    /* start scheduler */
+    rt_system_scheduler_start();
+
+    /* never reach here */
+    return ;
 }
 
 #ifdef __CC_ARM
 int main(void)
 {
-	/* disable interrupt first */
-	rt_hw_interrupt_disable();
+    /* disable interrupt first */
+    rt_hw_interrupt_disable();
+
+    /* invoke rtthread_startup */
+    rtthread_startup();
 
-	/* invoke rtthread_startup */
-	rtthread_startup();
-	
-	return 0;
+    return 0;
 }
 #endif
 

+ 2 - 2
bsp/lpc5410x/applications/application.c

@@ -18,16 +18,16 @@
 #include <shell.h>
 #endif
 
-
 extern int demo_init(void);
 
 void rt_init_thread_entry(void* parameter)
 {
+#ifdef RT_USING_FINSH
     /* initialization finsh shell Component */
     finsh_system_init();
+#endif
 
     demo_init();
-
 }
 
 int rt_application_init()

+ 1 - 1
bsp/lpc5410x/applications/startup.c

@@ -5,7 +5,7 @@
  *
  * The license and distribution terms for this file may be
  * found in the file LICENSE in this distribution or at
- * http://openlab.rt-thread.com/license/LICENSE
+ * http://www.rt-thread.org/license/LICENSE
  *
  * Change Logs:
  * Date           Author       Notes

+ 1 - 1
bsp/lpc54608-LPCXpresso/drivers/board.c

@@ -80,7 +80,7 @@ void rt_hw_board_init()
 #endif
 }
 
-#ifdef RT_USING_RTGUI
+#ifdef RT_USING_GUIENGINE
 #include <rtgui/driver.h>
 #include "drv_lcd.h"
 

+ 1 - 7
bsp/lpc824/applications/startup.c

@@ -26,11 +26,6 @@
 /*@{*/
 
 extern int  rt_application_init(void);
-#ifdef RT_USING_FINSH
-extern int finsh_system_init(void);
-extern void finsh_set_device(const char* device);
-#endif
-
 
 /*******************************************************************************
 * Function Name  : assert_failed
@@ -87,8 +82,7 @@ void rtthread_startup(void)
     rt_thread_idle_init();
 
     /* start scheduler */
-
-rt_system_scheduler_start();
+    rt_system_scheduler_start();
 
     /* never reach here */
     return ;

+ 252 - 0
bsp/simulator/.config

@@ -0,0 +1,252 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# RT-Thread Configuration
+#
+
+#
+# RT-Thread Kernel
+#
+CONFIG_RT_NAME_MAX=8
+CONFIG_RT_ALIGN_SIZE=4
+# CONFIG_RT_THREAD_PRIORITY_8 is not set
+CONFIG_RT_THREAD_PRIORITY_32=y
+# CONFIG_RT_THREAD_PRIORITY_256 is not set
+CONFIG_RT_THREAD_PRIORITY_MAX=32
+CONFIG_RT_TICK_PER_SECOND=100
+CONFIG_RT_DEBUG=y
+CONFIG_RT_USING_OVERFLOW_CHECK=y
+CONFIG_RT_DEBUG_INIT=0
+CONFIG_RT_DEBUG_THREAD=0
+CONFIG_RT_USING_HOOK=y
+CONFIG_IDLE_THREAD_STACK_SIZE=256
+# CONFIG_RT_USING_TIMER_SOFT is not set
+
+#
+# Inter-Thread communication
+#
+CONFIG_RT_USING_SEMAPHORE=y
+CONFIG_RT_USING_MUTEX=y
+CONFIG_RT_USING_EVENT=y
+CONFIG_RT_USING_MAILBOX=y
+CONFIG_RT_USING_MESSAGEQUEUE=y
+# CONFIG_RT_USING_SIGNALS is not set
+
+#
+# Memory Management
+#
+CONFIG_RT_USING_MEMPOOL=y
+# CONFIG_RT_USING_MEMHEAP is not set
+# CONFIG_RT_USING_NOHEAP is not set
+CONFIG_RT_USING_SMALL_MEM=y
+# CONFIG_RT_USING_SLAB is not set
+CONFIG_RT_USING_HEAP=y
+
+#
+# Kernel Device Object
+#
+CONFIG_RT_USING_DEVICE=y
+# CONFIG_RT_USING_INTERRUPT_INFO is not set
+CONFIG_RT_USING_CONSOLE=y
+CONFIG_RT_CONSOLEBUF_SIZE=128
+CONFIG_RT_CONSOLE_DEVICE_NAME="console"
+# CONFIG_RT_USING_MODULE is not set
+
+#
+# RT-Thread Components
+#
+# CONFIG_RT_USING_COMPONENTS_INIT is not set
+
+#
+# C++ features
+#
+CONFIG_RT_USING_CPLUSPLUS=y
+
+#
+# Command shell
+#
+CONFIG_RT_USING_FINSH=y
+CONFIG_FINSH_USING_HISTORY=y
+CONFIG_FINSH_USING_SYMTAB=y
+CONFIG_FINSH_USING_DESCRIPTION=y
+CONFIG_FINSH_THREAD_PRIORITY=20
+CONFIG_FINSH_THREAD_STACK_SIZE=4096
+CONFIG_FINSH_CMD_SIZE=80
+# CONFIG_FINSH_USING_AUTH is not set
+CONFIG_FINSH_USING_MSH=y
+CONFIG_FINSH_USING_MSH_DEFAULT=y
+# CONFIG_FINSH_USING_MSH_ONLY is not set
+
+#
+# Device virtual file system
+#
+CONFIG_RT_USING_DFS=y
+CONFIG_DFS_USING_WORKDIR=y
+CONFIG_DFS_FILESYSTEMS_MAX=2
+CONFIG_DFS_FILESYSTEM_TYPES_MAX=2
+CONFIG_DFS_FD_MAX=4
+CONFIG_RT_USING_DFS_ELMFAT=y
+
+#
+# elm-chan's FatFs, Generic FAT Filesystem Module
+#
+CONFIG_RT_DFS_ELM_CODE_PAGE=437
+CONFIG_RT_DFS_ELM_WORD_ACCESS=y
+CONFIG_RT_DFS_ELM_USE_LFN_0=y
+# CONFIG_RT_DFS_ELM_USE_LFN_1 is not set
+# CONFIG_RT_DFS_ELM_USE_LFN_2 is not set
+# CONFIG_RT_DFS_ELM_USE_LFN_3 is not set
+CONFIG_RT_DFS_ELM_USE_LFN=0
+CONFIG_RT_DFS_ELM_MAX_LFN=255
+CONFIG_RT_DFS_ELM_DRIVES=2
+CONFIG_RT_DFS_ELM_MAX_SECTOR_SIZE=512
+# CONFIG_RT_DFS_ELM_USE_ERASE is not set
+CONFIG_RT_DFS_ELM_REENTRANT=y
+CONFIG_RT_USING_DFS_DEVFS=y
+# CONFIG_RT_USING_DFS_NET is not set
+# CONFIG_RT_USING_DFS_ROMFS is not set
+# CONFIG_RT_USING_DFS_RAMFS is not set
+# CONFIG_RT_USING_DFS_UFFS is not set
+
+#
+# Device Drivers
+#
+CONFIG_RT_USING_DEVICE_IPC=y
+CONFIG_RT_USING_SERIAL=y
+# CONFIG_RT_USING_CAN is not set
+# CONFIG_RT_USING_HWTIMER is not set
+# CONFIG_RT_USING_I2C is not set
+# CONFIG_RT_USING_PIN is not set
+# CONFIG_RT_USING_MTD_NOR is not set
+# CONFIG_RT_USING_MTD_NAND is not set
+# CONFIG_RT_USING_RTC is not set
+# CONFIG_RT_USING_SDIO is not set
+# CONFIG_RT_USING_SPI is not set
+# CONFIG_RT_USING_WDT is not set
+# CONFIG_RT_USING_WIFI is not set
+
+#
+# Using USB
+#
+# CONFIG_RT_USING_USB_HOST is not set
+# CONFIG_RT_USING_USB_DEVICE is not set
+
+#
+# POSIX layer and C standard library
+#
+# CONFIG_RT_USING_LIBC is not set
+# CONFIG_RT_USING_PTHREADS is not set
+
+#
+# Network stack
+#
+
+#
+# light weight TCP/IP stack
+#
+# CONFIG_RT_USING_LWIP is not set
+
+#
+# Modbus master and slave stack
+#
+# CONFIG_RT_USING_MODBUS is not set
+
+#
+# RT-Thread UI Engine
+#
+CONFIG_RT_USING_GUIENGINE=y
+CONFIG_RTGUI_NAME_MAX=16
+# CONFIG_RTGUI_USING_TTF is not set
+CONFIG_RTGUI_USING_FONT16=y
+CONFIG_RTGUI_USING_FONT12=y
+# CONFIG_RTGUI_USING_FONTHZ is not set
+# CONFIG_RTGUI_IMAGE_XPM is not set
+CONFIG_RTGUI_IMAGE_JPEG_NONE=y
+# CONFIG_RTGUI_IMAGE_JPEG is not set
+# CONFIG_RTGUI_IMAGE_TJPGD is not set
+# CONFIG_RTGUI_IMAGE_PNG_NONE is not set
+# CONFIG_RTGUI_IMAGE_PNG is not set
+CONFIG_RTGUI_IMAGE_LODEPNG=y
+# CONFIG_RTGUI_IMAGE_BMP is not set
+CONFIG_RTGUI_IMAGE_CONTAINER=y
+CONFIG_RTGUI_USING_DEMO=y
+
+#
+# VBUS(Virtual Software BUS)
+#
+# CONFIG_RT_USING_VBUS is not set
+
+#
+# Utilities
+#
+# CONFIG_RT_USING_LOGTRACE is not set
+# CONFIG_RT_USING_RYM is not set
+
+#
+# RT-Thread online packages
+#
+
+#
+# system packages
+#
+# CONFIG_PKG_USING_PARTITION is not set
+# CONFIG_PKG_USING_SQLITE is not set
+# CONFIG_PKG_USING_RTI is not set
+
+#
+# IoT - internet of things
+#
+# CONFIG_PKG_USING_PAHOMQTT is not set
+# CONFIG_PKG_USING_WEBCLIENT is not set
+# CONFIG_PKG_USING_MONGOOSE is not set
+# CONFIG_PKG_USING_WEBTERMINAL is not set
+# CONFIG_PKG_USING_CJSON is not set
+# CONFIG_PKG_USING_EZXML is not set
+# CONFIG_PKG_USING_NANOPB is not set
+
+#
+# security packages
+#
+# CONFIG_PKG_USING_MBEDTLS is not set
+# CONFIG_PKG_USING_libsodium is not set
+# CONFIG_PKG_USING_TINYCRYPT is not set
+
+#
+# language packages
+#
+# CONFIG_PKG_USING_JERRYSCRIPT is not set
+# CONFIG_PKG_USING_MICROPYTHON is not set
+
+#
+# multimedia packages
+#
+# CONFIG_PKG_USING_OPENMV is not set
+
+#
+# tools packages
+#
+# CONFIG_PKG_USING_CMBACKTRACE is not set
+# CONFIG_PKG_USING_EASYLOGGER is not set
+# CONFIG_PKG_USING_SYSTEMVIEW is not set
+# CONFIG_PKG_USING_IPERF is not set
+
+#
+# miscellaneous packages
+#
+# CONFIG_PKG_USING_FASTLZ is not set
+# CONFIG_PKG_USING_MINILZO is not set
+
+#
+# example package: hello
+#
+# CONFIG_PKG_USING_HELLO is not set
+
+#
+# Privated Packages of RealThread
+#
+# CONFIG_PKG_USING_CODEC is not set
+# CONFIG_PKG_USING_PLAYER is not set
+
+#
+# Network Utilities
+#
+CONFIG_RT_USING_DFS_WINSHAREDIR=y

+ 25 - 0
bsp/simulator/Kconfig

@@ -0,0 +1,25 @@
+mainmenu "RT-Thread Configuration"
+
+config $BSP_DIR
+    string
+    option env="BSP_ROOT"
+    default "."
+
+config $RTT_DIR
+    string
+    option env="RTT_ROOT"
+    default "../.."
+
+config $PKGS_DIR
+    string
+    option env="PKGS_ROOT"
+    default "packages"
+
+source "$RTT_DIR/Kconfig"
+source "$PKGS_DIR/Kconfig"
+
+if RT_USING_DFS
+    config RT_USING_DFS_WINSHAREDIR
+    bool "Enable shared file system between windows"
+    default n
+endif

+ 7 - 0
bsp/simulator/applications/application.c

@@ -35,6 +35,13 @@ void rt_init_thread_entry(void *parameter)
 
     platform_init();
     mnt_init();
+
+#if defined(RT_USING_GUIENGINE) && defined(RTGUI_USING_DEMO)
+    {
+        extern int rt_gui_demo_init(void);
+        rt_gui_demo_init();
+    }
+#endif
 }
 
 int rt_application_init()

+ 10 - 0
bsp/simulator/applications/platform.c

@@ -29,5 +29,15 @@ int platform_init(void)
 
 #endif /* RT_USING_DFS */
 
+#ifdef RT_USING_GUIENGINE
+    {
+        extern void rt_hw_sdl_start(void);
+        extern int rtgui_system_server_init(void);
+
+        rtgui_system_server_init();
+        rt_hw_sdl_start();
+    }
+#endif
+
     return 0;
 }

+ 1 - 1
bsp/simulator/drivers/SConscript

@@ -8,7 +8,7 @@ LIBPATH = []
 CPPPATH = [cwd]
 
 # remove no need file.
-if GetDepend('RT_USING_RTGUI') == False:
+if GetDepend('RT_USING_GUIENGINE') == False:
     SrcRemove(src, 'sdl_fb.c')
 else:
     LIBS.append('SDL')

+ 1 - 0
bsp/simulator/drivers/board.c

@@ -86,6 +86,7 @@ void rt_hw_exit(void)
 #if defined(RT_USING_FINSH)
 #include <finsh.h>
 FINSH_FUNCTION_EXPORT_ALIAS(rt_hw_exit, exit, exit rt - thread);
+FINSH_FUNCTION_EXPORT_ALIAS(rt_hw_exit, __cmd_quit, exit rt-thread);
 #endif /* RT_USING_FINSH */
 
 /**

+ 3 - 3
bsp/simulator/drivers/module_win32.c

@@ -164,15 +164,15 @@ rt_module_t rt_module_find(const char *name)
     struct rt_object *object;
     struct rt_list_node *node;
 
-    extern struct rt_object_information rt_object_container[];
-
     RT_DEBUG_NOT_IN_INTERRUPT;
 
     /* enter critical */
     rt_enter_critical();
 
     /* try to find device object */
-    information = &rt_object_container[RT_Object_Class_Module];
+    information = rt_object_get_information(RT_Object_Class_Module);
+    RT_ASSERT(information != RT_NULL);
+
     for (node = information->object_list.next;
         node != &(information->object_list);
         node = node->next)

+ 5 - 5
bsp/simulator/drivers/sdl_fb.c

@@ -306,11 +306,11 @@ static void *sdl_loop(void *lpParam)
             break;
         }
 
-		if (quit)
-		{
-		 exit(1);
-		 break;
-		}
+        if (quit)
+        {
+            exit(1);
+            break;
+        }
             
     }
     rt_hw_exit();

+ 199 - 215
bsp/simulator/rtconfig.h

@@ -1,241 +1,225 @@
-/* RT-Thread config file */
-
-#ifndef __RTTHREAD_CFG_H__
-#define __RTTHREAD_CFG_H__
-
-// <RDTConfigurator URL="http://www.rt-thread.com/eclipse">
-
-// <integer name="RT_NAME_MAX" description="Maximal size of kernel object name length" default="6" />
-#define RT_NAME_MAX	6
-// <integer name="RT_ALIGN_SIZE" description="Alignment size for CPU architecture data access" default="4" />
-#define RT_ALIGN_SIZE	4
-// <integer name="RT_THREAD_PRIORITY_MAX" description="Maximal level of thread priority" default="32">
-// <item description="8">8</item>
-// <item description="32">32</item>
-// <item description="256">256</item>
-// </integer>
-#define RT_THREAD_PRIORITY_MAX	32
-// <integer name="RT_TICK_PER_SECOND" description="OS tick per second" default="100" />
-#define RT_TICK_PER_SECOND	100
-// <section name="RT_DEBUG" description="Kernel Debug Configuration" default="true" >
+#ifndef RT_CONFIG_H__
+#define RT_CONFIG_H__
+
+/* Automatically generated file; DO NOT EDIT. */
+/* RT-Thread Configuration */
+
+/* RT-Thread Kernel */
+
+#define RT_NAME_MAX 8
+#define RT_ALIGN_SIZE 4
+/* RT_THREAD_PRIORITY_8 is not set */
+#define RT_THREAD_PRIORITY_32
+/* RT_THREAD_PRIORITY_256 is not set */
+#define RT_THREAD_PRIORITY_MAX 32
+#define RT_TICK_PER_SECOND 100
 #define RT_DEBUG
-// <bool name="RT_THREAD_DEBUG" description="Thread debug enable" default="false" />
-// #define RT_THREAD_DEBUG
-// <bool name="RT_USING_OVERFLOW_CHECK" description="Thread stack over flow detect" default="true" />
 #define RT_USING_OVERFLOW_CHECK
-// </section>
-
-// <bool name="RT_USING_HOOK" description="Using hook functions" default="true" />
+#define RT_DEBUG_INIT 0
+#define RT_DEBUG_THREAD 0
 #define RT_USING_HOOK
-// <section name="RT_USING_TIMER_SOFT" description="Using software timer which will start a thread to handle soft-timer" default="true" >
-// #define RT_USING_TIMER_SOFT
-// <integer name="RT_TIMER_THREAD_PRIO" description="The priority level of timer thread" default="4" />
-#define RT_TIMER_THREAD_PRIO	4
-// <integer name="RT_TIMER_THREAD_STACK_SIZE" description="The stack size of timer thread" default="512" />
-#define RT_TIMER_THREAD_STACK_SIZE	512
-// </section>
-
-// <section name="IPC" description="Inter-Thread communication" default="always" >
-// <bool name="RT_USING_SEMAPHORE" description="Using semaphore in the system" default="true" />
+#define IDLE_THREAD_STACK_SIZE 256
+/* RT_USING_TIMER_SOFT is not set */
+
+/* Inter-Thread communication */
+
 #define RT_USING_SEMAPHORE
-// <bool name="RT_USING_MUTEX" description="Using mutex in the system" default="true" />
 #define RT_USING_MUTEX
-// <bool name="RT_USING_EVENT" description="Using event group in the system" default="true" />
 #define RT_USING_EVENT
-// <bool name="RT_USING_MAILBOX" description="Using mailbox in the system" default="true" />
 #define RT_USING_MAILBOX
-// <bool name="RT_USING_MESSAGEQUEUE" description="Using message queue in the system" default="true" />
 #define RT_USING_MESSAGEQUEUE
-// </section>
+/* RT_USING_SIGNALS is not set */
+
+/* Memory Management */
 
-// <section name="MM" description="Memory Management" default="always" >
-// <bool name="RT_USING_MEMPOOL" description="Using Memory Pool Management in the system" default="true" />
 #define RT_USING_MEMPOOL
-// <bool name="RT_USING_MEMHEAP" description="Using Memory Heap Object in the system" default="true" />
-#define RT_USING_MEMHEAP
-// <bool name="RT_USING_HEAP" description="Using Dynamic Heap Management in the system" default="true" />
-#define RT_USING_HEAP
-// <bool name="RT_USING_SMALL_MEM" description="Optimizing for small memory" default="false" />
+/* RT_USING_MEMHEAP is not set */
+/* RT_USING_NOHEAP is not set */
 #define RT_USING_SMALL_MEM
-// <bool name="RT_USING_SLAB" description="Using SLAB memory management for large memory" default="false" />
-// #define RT_USING_SLAB
-// </section>
+/* RT_USING_SLAB is not set */
+#define RT_USING_HEAP
 
-// <section name="RT_USING_DEVICE" description="Using Device Driver Framework" default="true" >
-#define RT_USING_DEVICE
-// <bool name="RT_USING_DEVICE_IPC" description="Using Inter-Thread communication for Device" default="true" >
-#define RT_USING_DEVICE_IPC
-// <bool name="RT_USING_SERIAL" description="Using serial device framework" default="true">
-#define RT_USING_SERIAL
-// <bool name="RT_USING_UART0" description="Using UART0" default="true" />
-#define RT_USING_UART0
-// </section>
+/* Kernel Device Object */
 
-// <section name="RT_USING_CONSOLE" description="Using console" default="true" >
+#define RT_USING_DEVICE
+/* RT_USING_INTERRUPT_INFO is not set */
 #define RT_USING_CONSOLE
-// <integer name="RT_CONSOLEBUF_SIZE" description="The buffer size for console output" default="128" />
-#define RT_CONSOLEBUF_SIZE	128
-// <string name="RT_CONSOLE_DEVICE_NAME" description="The device name for console" default="uart" />
-#define RT_CONSOLE_DEVICE_NAME	"console"
-// </section>
+#define RT_CONSOLEBUF_SIZE 128
+#define RT_CONSOLE_DEVICE_NAME "console"
+/* RT_USING_MODULE is not set */
+
+/* RT-Thread Components */
+
+/* RT_USING_COMPONENTS_INIT is not set */
+
+/* C++ features */
+
+#define RT_USING_CPLUSPLUS
+
+/* Command shell */
 
-// <section name="RT_USING_FINSH" description="Using finsh as shell, which is a C-Express shell" default="true" >
 #define RT_USING_FINSH
-// <bool name="FINSH_USING_SYMTAB" description="Using symbol table in finsh shell" default="true" />
+#define FINSH_USING_HISTORY
 #define FINSH_USING_SYMTAB
-// <bool name="FINSH_USING_DESCRIPTION" description="Keeping description in symbol table" default="true" />
 #define FINSH_USING_DESCRIPTION
-// <integer name="FINSH_THREAD_STACK_SIZE" description="The stack size for finsh thread" default="4096" />
-#define FINSH_THREAD_STACK_SIZE	4096
-// <bool name="FINSH_USING_MSH" description="Enable module shell feature" />
+#define FINSH_THREAD_PRIORITY 20
+#define FINSH_THREAD_STACK_SIZE 4096
+#define FINSH_CMD_SIZE 80
+/* FINSH_USING_AUTH is not set */
 #define FINSH_USING_MSH
-// <bool name="FINSH_USING_MSH_DEFAULT" description="Use module shell as the default shell" />
 #define FINSH_USING_MSH_DEFAULT
-// </section>
-
-// <section name="LIBC" description="C Runtime library setting" default="always" >
-// <bool name="RT_USING_LIBC" description="Using C library" default="true" />
-// #define RT_USING_LIBC
-// <bool name="RT_USING_PTHREADS" description="Using POSIX threads library" default="true" />
-// #define RT_USING_PTHREADS
-// <bool name="RT_USING_COMPONENTS_INIT" description="Using automatically component initialization." default="true" />
-// #define RT_USING_COMPONENTS_INIT
-// <bool name="RT_USING_MODULE" description="Enable Moudle Application" default="true" />
-// #define RT_USING_MODULE
-// </section>
-
-// <section name="RT_USING_DFS" description="Device file system" default="true" >
+/* FINSH_USING_MSH_ONLY is not set */
+
+/* Device virtual file system */
+
 #define RT_USING_DFS
-// <bool name="DFS_USING_WORKDIR" description="Using working directory" default="true" />
 #define DFS_USING_WORKDIR
-// <integer name="DFS_FILESYSTEMS_MAX" description="The maximal number of mounted file system" default="4" />
-#define DFS_FILESYSTEMS_MAX	2
-// <integer name="DFS_FD_MAX" description="The maximal number of opened files" default="4" />
-#define DFS_FD_MAX	4
-// <bool name="RT_USING_DFS_ELMFAT" description="Using ELM FatFs" default="true" />
+#define DFS_FILESYSTEMS_MAX 2
+#define DFS_FILESYSTEM_TYPES_MAX 2
+#define DFS_FD_MAX 4
 #define RT_USING_DFS_ELMFAT
-// <integer name="RT_DFS_ELM_USE_LFN" description="Support long file name" default="0">
-// <item description="LFN with static LFN working buffer">1</item>
-// <item description="LFN with dynamic LFN working buffer on the stack">2</item>
-// <item description="LFN with dynamic LFN working buffer on the heap">3</item>
-// </integer>
-#define RT_DFS_ELM_USE_LFN	3
-// <integer name="RT_DFS_ELM_CODE_PAGE" description="OEM code page" default="437">
-#define RT_DFS_ELM_CODE_PAGE	437
-// <integer name="RT_DFS_ELM_MAX_LFN" description="Maximal size of file name length" default="255" />
-#define RT_DFS_ELM_MAX_LFN	128
-// <bool name="RT_USING_DFS_YAFFS2" description="Using YAFFS2" default="false" />
-// #define RT_USING_DFS_YAFFS2
-// <bool name="RT_USING_DFS_UFFS" description="Using UFFS" default="false" />
-// #define RT_USING_DFS_UFFS
-// <bool name="RT_USING_DFS_DEVFS" description="Using devfs for device objects" default="true" />
-// #define RT_USING_DFS_DEVFS
-// <bool name="RT_USING_DFS_NFS" description="Using NFS v3 client file system" default="false" />
-// #define RT_USING_DFS_NFS
-// <string name="RT_NFS_HOST_EXPORT" description="NFSv3 host export" default="192.168.1.5:/" />
-#define RT_NFS_HOST_EXPORT  "192.168.1.5:/"
-// <bool name="RT_USING_DFS_WINSHAREDIR" description="shared windows file to rtt" default="false" />
-#define RT_USING_DFS_WINSHAREDIR
-// </section>
-
-// <section name="RT_USING_LWIP" description="lwip, a lightweight TCP/IP protocol stack" default="true" >
-// #define RT_USING_LWIP
-// <bool name="RT_LWIP_ICMP" description="Enable ICMP protocol" default="true" />
-#define RT_LWIP_ICMP
-// <bool name="RT_LWIP_IGMP" description="Enable IGMP protocol" default="false" />
-// #define RT_LWIP_IGMP
-// <bool name="RT_LWIP_UDP" description="Enable UDP protocol" default="true" />
-#define RT_LWIP_UDP
-// <bool name="RT_LWIP_TCP" description="Enable TCP protocol" default="true" />
-#define RT_LWIP_TCP
-// <bool name="RT_LWIP_DNS" description="Enable DNS protocol" default="true" />
-#define RT_LWIP_DNS
-// <bool name="RT_LWIP_SNMP" description="Enable SNMP protocol" default="false" />
-// #define RT_LWIP_SNMP
-// <bool name="RT_LWIP_DHCP" description="Enable DHCP client to get IP address" default="false" />
-// #define RT_LWIP_DHCP
-// <integer name="RT_LWIP_TCPTHREAD_PRIORITY" description="the thread priority of TCP thread" default="128" />
-#define RT_LWIP_TCPTHREAD_PRIORITY	12
-// <integer name="RT_LWIP_TCPTHREAD_MBOX_SIZE" description="the mail box size of TCP thread to wait for" default="32" />
-#define RT_LWIP_TCPTHREAD_MBOX_SIZE	8
-// <integer name="RT_LWIP_TCPTHREAD_STACKSIZE" description="the thread stack size of TCP thread" default="4096" />
-#define RT_LWIP_TCPTHREAD_STACKSIZE	4096
-// <integer name="RT_LWIP_ETHTHREAD_PRIORITY" description="the thread priority of ethnetif thread" default="144" />
-#define RT_LWIP_ETHTHREAD_PRIORITY	14
-// <integer name="RT_LWIP_ETHTHREAD_MBOX_SIZE" description="the mail box size of ethnetif thread to wait for" default="8" />
-#define RT_LWIP_ETHTHREAD_MBOX_SIZE	8
-// <integer name="RT_LWIP_ETHTHREAD_STACKSIZE" description="the stack size of ethnetif thread" default="512" />
-#define RT_LWIP_ETHTHREAD_STACKSIZE	512
-// <ipaddr name="RT_LWIP_IPADDR" description="IP address of device" default="192.168.1.30" />
-#define RT_LWIP_IPADDR0 192
-#define RT_LWIP_IPADDR1 168
-#define RT_LWIP_IPADDR2 1
-#define RT_LWIP_IPADDR3 30
-// <ipaddr name="RT_LWIP_GWADDR" description="Gateway address of device" default="192.168.1.1" />
-#define RT_LWIP_GWADDR0 192
-#define RT_LWIP_GWADDR1 168
-#define RT_LWIP_GWADDR2 1
-#define RT_LWIP_GWADDR3 1
-// <ipaddr name="RT_LWIP_MSKADDR" description="Mask address of device" default="255.255.255.0" />
-#define RT_LWIP_MSKADDR0 255
-#define RT_LWIP_MSKADDR1 255
-#define RT_LWIP_MSKADDR2 255
-#define RT_LWIP_MSKADDR3 0
-// </section>
-
-// <section name="RT_USING_RTGUI" description="RT-Thread/GUI" default="true" >
-// #define RT_USING_RTGUI
-// <integer name="RTGUI_NAME_MAX" description="the name size of RT-Thread/GUI widget/objects" default="12" />
-#define RTGUI_NAME_MAX	12
-// <bool name="RTGUI_USING_SMALL_SIZE" description="use small size in RT-Thread/GUI" default="true" />
-#define RTGUI_USING_SMALL_SIZE
-// <bool name="RTGUI_USING_FONT16" description="support 16 weight font" default="true" />
+
+/* elm-chan's FatFs, Generic FAT Filesystem Module */
+
+#define RT_DFS_ELM_CODE_PAGE 437
+#define RT_DFS_ELM_WORD_ACCESS
+#define RT_DFS_ELM_USE_LFN_0
+/* RT_DFS_ELM_USE_LFN_1 is not set */
+/* RT_DFS_ELM_USE_LFN_2 is not set */
+/* RT_DFS_ELM_USE_LFN_3 is not set */
+#define RT_DFS_ELM_USE_LFN 0
+#define RT_DFS_ELM_MAX_LFN 255
+#define RT_DFS_ELM_DRIVES 2
+#define RT_DFS_ELM_MAX_SECTOR_SIZE 512
+/* RT_DFS_ELM_USE_ERASE is not set */
+#define RT_DFS_ELM_REENTRANT
+#define RT_USING_DFS_DEVFS
+/* RT_USING_DFS_NET is not set */
+/* RT_USING_DFS_ROMFS is not set */
+/* RT_USING_DFS_RAMFS is not set */
+/* RT_USING_DFS_UFFS is not set */
+
+/* Device Drivers */
+
+#define RT_USING_DEVICE_IPC
+#define RT_USING_SERIAL
+/* RT_USING_CAN is not set */
+/* RT_USING_HWTIMER is not set */
+/* RT_USING_I2C is not set */
+/* RT_USING_PIN is not set */
+/* RT_USING_MTD_NOR is not set */
+/* RT_USING_MTD_NAND is not set */
+/* RT_USING_RTC is not set */
+/* RT_USING_SDIO is not set */
+/* RT_USING_SPI is not set */
+/* RT_USING_WDT is not set */
+/* RT_USING_WIFI is not set */
+
+/* Using USB */
+
+/* RT_USING_USB_HOST is not set */
+/* RT_USING_USB_DEVICE is not set */
+
+/* POSIX layer and C standard library */
+
+/* RT_USING_LIBC is not set */
+/* RT_USING_PTHREADS is not set */
+
+/* Network stack */
+
+/* light weight TCP/IP stack */
+
+/* RT_USING_LWIP is not set */
+
+/* Modbus master and slave stack */
+
+/* RT_USING_MODBUS is not set */
+
+/* RT-Thread UI Engine */
+
+#define RT_USING_GUIENGINE
+#define RTGUI_NAME_MAX 16
+/* RTGUI_USING_TTF is not set */
 #define RTGUI_USING_FONT16
-// <bool name="RTGUI_USING_FONT12" description="support 12 weight font" default="true" />
-// #define RTGUI_USING_FONT12
-// <bool name="RTGUI_USING_FONTHZ" description="support Chinese font" default="true" />
-#define RTGUI_USING_FONTHZ
-// <integer name="RTGUI_DEFAULT_FONT_SIZE" description="default font size in RT-Thread/GUI" default="16" />
-#define RTGUI_DEFAULT_FONT_SIZE	16
-// <bool name="RTGUI_USING_DFS_FILERW" description="use RT-Thread/DFS as file interface" default="true" />
-#define RTGUI_USING_DFS_FILERW
-// <bool name="RTGUI_USING_HZ_BMP" description="use Chinese font bitmap engine" default="true" />
-#define RTGUI_USING_HZ_BMP
-// <bool name="RTGUI_IMAGE_XPM" description="Using xpm image in RTGUI" default="true" />
-#define RTGUI_IMAGE_XPM
-// <bool name="RTGUI_IMAGE_JPEG" description="Using jpeg image in RTGUI" default="true" />
-// #define RTGUI_IMAGE_JPEG
-// <bool name="RTGUI_IMAGE_PNG" description="Using PNG image in RTGUI" default="true" />
-// #define RTGUI_IMAGE_PNG
-// <bool name="RTGUI_IMAGE_PNG" description="Using PNG image in RTGUI" default="true" />
-#define RTGUI_IMAGE_BMP
-// <bool name="RTGUI_USING_HZ_FILE" description="use font file as Chinese font" default="false" />
- #define RTGUI_USING_HZ_FILE
-// <bool name="RTGUI_USING_MOUSE_CURSOR" description="use mouse cursor" default="false" />
-#define RTGUI_USING_MOUSE_CURSOR
-// </section>
-
-// </RDTConfigurator>
-
-#define RT_HEAP_SIZE   (1024*1024*2)
-
-#if defined(_MSC_VER)
-#define NORESOURCE  //RT_VESRION in winuser.h
-#define _CRT_ERRNO_DEFINED  //errno macro redefinition
-#define _INC_WTIME_INL//dfs_elm.c time.h conflicts with wtime.inl
-#define _INC_TIME_INL //dfs_elm.c time.h conflicts with wtime.inl
-
-/* disable some warning in MSC */
-#pragma warning(disable:4273)	/* to ignore: warning C4273: inconsistent dll linkage */
-#pragma warning(disable:4312)   /* to ignore: warning C4312: 'type cast' : conversion from 'rt_uint32_t' to 'rt_uint32_t *' */
-#pragma warning(disable:4311)   /* to ignore: warning C4311: 'type cast' : pointer truncation from 'short *__w64 ' to 'long' */
-#pragma warning(disable:4996)   /* to ignore: warning C4996: The POSIX name for this item is deprecated. */
-#pragma warning(disable:4267)   /* to ignore: warning C4267: conversion from 'size_t' to 'rt_size_t', possible loss of data */
-#pragma warning(disable:4244)   /* to ignore: warning C4244: '=' : conversion from '__w64 int' to 'rt_size_t', possible loss of data */
-
-#elif defined(__GNUC__)
-#define RT_USING_NOLIBC
-
-#endif /* end of _MSC_VER */
+#define RTGUI_USING_FONT12
+/* RTGUI_USING_FONTHZ is not set */
+/* RTGUI_IMAGE_XPM is not set */
+#define RTGUI_IMAGE_JPEG_NONE
+/* RTGUI_IMAGE_JPEG is not set */
+/* RTGUI_IMAGE_TJPGD is not set */
+/* RTGUI_IMAGE_PNG_NONE is not set */
+/* RTGUI_IMAGE_PNG is not set */
+#define RTGUI_IMAGE_LODEPNG
+/* RTGUI_IMAGE_BMP is not set */
+#define RTGUI_IMAGE_CONTAINER
+#define RTGUI_USING_DEMO
+
+/* VBUS(Virtual Software BUS) */
+
+/* RT_USING_VBUS is not set */
+
+/* Utilities */
+
+/* RT_USING_LOGTRACE is not set */
+/* RT_USING_RYM is not set */
+
+/* RT-Thread online packages */
+
+/* system packages */
+
+/* PKG_USING_PARTITION is not set */
+/* PKG_USING_SQLITE is not set */
+/* PKG_USING_RTI is not set */
+
+/* IoT - internet of things */
+
+/* PKG_USING_PAHOMQTT is not set */
+/* PKG_USING_WEBCLIENT is not set */
+/* PKG_USING_MONGOOSE is not set */
+/* PKG_USING_WEBTERMINAL is not set */
+/* PKG_USING_CJSON is not set */
+/* PKG_USING_EZXML is not set */
+/* PKG_USING_NANOPB is not set */
+
+/* security packages */
+
+/* PKG_USING_MBEDTLS is not set */
+/* PKG_USING_libsodium is not set */
+/* PKG_USING_TINYCRYPT is not set */
+
+/* language packages */
+
+/* PKG_USING_JERRYSCRIPT is not set */
+/* PKG_USING_MICROPYTHON is not set */
+
+/* multimedia packages */
+
+/* PKG_USING_OPENMV is not set */
+
+/* tools packages */
+
+/* PKG_USING_CMBACKTRACE is not set */
+/* PKG_USING_EASYLOGGER is not set */
+/* PKG_USING_SYSTEMVIEW is not set */
+/* PKG_USING_IPERF is not set */
+
+/* miscellaneous packages */
+
+/* PKG_USING_FASTLZ is not set */
+/* PKG_USING_MINILZO is not set */
+
+/* example package: hello */
+
+/* PKG_USING_HELLO is not set */
+
+/* Privated Packages of RealThread */
+
+/* PKG_USING_CODEC is not set */
+/* PKG_USING_PLAYER is not set */
+
+/* Network Utilities */
+
+#define RT_USING_DFS_WINSHAREDIR
+#include "rtconfig_project.h"
 
 #endif

+ 25 - 0
bsp/simulator/rtconfig_project.h

@@ -0,0 +1,25 @@
+#ifndef RTCONFIG_PROJECT_H__
+#define RTCONFIG_PROJECT_H__
+
+#define RT_HEAP_SIZE   (1024*1024*2)
+
+#if defined(_MSC_VER)
+#define NORESOURCE  //RT_VESRION in winuser.h
+#define _CRT_ERRNO_DEFINED  //errno macro redefinition
+#define _INC_WTIME_INL//dfs_elm.c time.h conflicts with wtime.inl
+#define _INC_TIME_INL //dfs_elm.c time.h conflicts with wtime.inl
+
+/* disable some warning in MSC */
+#pragma warning(disable:4273)	/* to ignore: warning C4273: inconsistent dll linkage */
+#pragma warning(disable:4312)   /* to ignore: warning C4312: 'type cast' : conversion from 'rt_uint32_t' to 'rt_uint32_t *' */
+#pragma warning(disable:4311)   /* to ignore: warning C4311: 'type cast' : pointer truncation from 'short *__w64 ' to 'long' */
+#pragma warning(disable:4996)   /* to ignore: warning C4996: The POSIX name for this item is deprecated. */
+#pragma warning(disable:4267)   /* to ignore: warning C4267: conversion from 'size_t' to 'rt_size_t', possible loss of data */
+#pragma warning(disable:4244)   /* to ignore: warning C4244: '=' : conversion from '__w64 int' to 'rt_size_t', possible loss of data */
+
+#elif defined(__GNUC__)
+#define RT_USING_NOLIBC
+
+#endif /* end of _MSC_VER */
+
+#endif

+ 0 - 4
bsp/stm32f0x/applications/startup.c

@@ -25,10 +25,6 @@
 /*@{*/
 
 extern int  rt_application_init(void);
-#ifdef RT_USING_FINSH
-extern int finsh_system_init(void);
-extern void finsh_set_device(const char* device);
-#endif
 
 #ifdef __CC_ARM
 extern int Image$$RW_IRAM1$$ZI$$Limit;

+ 20 - 0
bsp/stm32f20x/applications/application.c

@@ -20,6 +20,11 @@
 #include <board.h>
 #include <rtthread.h>
 
+#ifdef RT_USING_FINSH
+#include <shell.h>
+#include <finsh.h>
+#endif
+
 #ifdef RT_USING_DFS
 /* dfs init */
 #include <dfs.h>
@@ -41,6 +46,14 @@ void rt_init_thread_entry(void* parameter)
 /* Filesystem Initialization */
 #ifdef RT_USING_DFS
 	{
+
+		/* init sdcard driver */
+#if STM32_USE_SDIO
+		rt_hw_sdcard_init();
+#else
+		rt_hw_msd_init();
+#endif
+
 		/* init the device filesystem */
 		dfs_init();
 
@@ -75,6 +88,13 @@ void rt_init_thread_entry(void* parameter)
 		rt_kprintf("TCP/IP initialized!\n");
 	}
 #endif
+
+	rt_hw_rtc_init();
+
+#ifdef RT_USING_FINSH
+	/* init finsh */
+	finsh_system_init();
+#endif
 }
 
 int rt_application_init()

+ 0 - 21
bsp/stm32f20x/applications/startup.c

@@ -25,10 +25,6 @@
 /*@{*/
 
 extern int  rt_application_init(void);
-#ifdef RT_USING_FINSH
-extern int finsh_system_init(void);
-extern void finsh_set_device(const char* device);
-#endif
 
 #ifdef __CC_ARM
 extern int Image$$RW_IRAM1$$ZI$$Limit;
@@ -96,26 +92,9 @@ void rtthread_startup(void)
 	/* init scheduler system */
 	rt_system_scheduler_init();
 
-#ifdef RT_USING_DFS
-	/* init sdcard driver */
-#if STM32_USE_SDIO
-	rt_hw_sdcard_init();
-#else
-	rt_hw_msd_init();
-#endif
-#endif
-
-	rt_hw_rtc_init();
-
 	/* init application */
 	rt_application_init();
 
-#ifdef RT_USING_FINSH
-	/* init finsh */
-	finsh_system_init();
-	finsh_set_device("uart1");
-#endif
-
     /* init timer thread */
     rt_system_timer_thread_init();
 

+ 10 - 2
bsp/stm32f40x/applications/application.c

@@ -23,6 +23,11 @@
 #include "stm32f4xx_eth.h"
 #endif
 
+#ifdef RT_USING_FINSH
+#include <shell.h>
+#include <finsh.h>
+#endif
+
 #ifdef RT_USING_GDB
 #include <gdb_stub.h>
 #endif
@@ -50,6 +55,11 @@ void rt_init_thread_entry(void* parameter)
         rt_kprintf("TCP/IP initialized!\n");
     }
 #endif
+
+#ifdef RT_USING_FINSH
+	/* init finsh */
+	finsh_system_init();
+#endif
 }
 
 int rt_application_init()
@@ -65,5 +75,3 @@ int rt_application_init()
 
     return 0;
 }
-
-/*@}*/

+ 0 - 10
bsp/stm32f40x/applications/startup.c

@@ -26,10 +26,6 @@
 /*@{*/
 
 extern int  rt_application_init(void);
-#ifdef RT_USING_FINSH
-extern int finsh_system_init(void);
-extern void finsh_set_device(const char* device);
-#endif
 
 #ifdef __CC_ARM
 extern int Image$$RW_IRAM1$$ZI$$Limit;
@@ -88,12 +84,6 @@ void rtthread_startup(void)
     /* init application */
     rt_application_init();
 
-#ifdef RT_USING_FINSH
-    /* init finsh */
-    finsh_system_init();
-    finsh_set_device( FINSH_DEVICE_NAME );
-#endif
-
     /* init timer thread */
     rt_system_timer_thread_init();
 

+ 0 - 4
bsp/stm32f429-apollo/applications/startup.c

@@ -26,10 +26,6 @@
 /*@{*/
 
 extern int  rt_application_init(void);
-#ifdef RT_USING_FINSH
-extern int finsh_system_init(void);
-extern void finsh_set_device(const char* device);
-#endif
 
 #ifdef __CC_ARM
 extern int Image$$RW_IRAM1$$ZI$$Limit;

+ 1 - 1
bsp/stm32f429-apollo/drivers/drv_eth.c

@@ -589,4 +589,4 @@ static int rt_hw_stm32_eth_init(void)
 	
     return state;
 }
-INIT_DEVICE_EXPORT(rt_hw_stm32_eth_init);
+INIT_APP_EXPORT(rt_hw_stm32_eth_init);

+ 15 - 0
bsp/stm32f429-apollo/stm32f429_flash.sct

@@ -0,0 +1,15 @@
+; *************************************************************
+; *** Scatter-Loading Description File generated by uVision ***
+; *************************************************************
+
+LR_IROM1 0x08000000 0x00100000  {    ; load region size_region
+  ER_IROM1 0x08000000 0x00100000  {  ; load address = execution address
+   *.o (RESET, +First)
+   *(InRoot$$Sections)
+   .ANY (+RO)
+  }
+  RW_IRAM1 0x20000000 0x00030000  {  ; RW data
+   .ANY (+RW +ZI)
+  }
+}
+

+ 0 - 0
bsp/stm32f429_armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Include/stm32f427xx.h → bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Include/stm32f427xx.h


+ 0 - 0
bsp/stm32f429_armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h → bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Include/stm32f429xx.h


+ 0 - 0
bsp/stm32f429_armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Include/stm32f437xx.h → bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Include/stm32f437xx.h


+ 0 - 0
bsp/stm32f429_armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Include/stm32f439xx.h → bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Include/stm32f439xx.h


+ 0 - 0
bsp/stm32f429_armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h → bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h


+ 0 - 0
bsp/stm32f429_armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h → bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h


+ 0 - 0
bsp/stm32f429_armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/arm/startup_stm32f427xx.s → bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/arm/startup_stm32f427xx.s


+ 0 - 0
bsp/stm32f429_armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/arm/startup_stm32f429xx.s → bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/arm/startup_stm32f429xx.s


+ 0 - 0
bsp/stm32f429_armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/arm/startup_stm32f437xx.s → bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/arm/startup_stm32f437xx.s


+ 0 - 0
bsp/stm32f429_armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/arm/startup_stm32f439xx.s → bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/arm/startup_stm32f439xx.s


+ 0 - 0
bsp/stm32f429_armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc/startup_stm32f427xx.s → bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc/startup_stm32f427xx.s


+ 0 - 0
bsp/stm32f429_armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc/startup_stm32f429xx.s → bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc/startup_stm32f429xx.s


+ 0 - 0
bsp/stm32f429_armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc/startup_stm32f437xx.s → bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc/startup_stm32f437xx.s


+ 0 - 0
bsp/stm32f429_armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc/startup_stm32f439xx.s → bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc/startup_stm32f439xx.s


+ 0 - 0
bsp/stm32f429_armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f427xx_flash.icf → bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f427xx_flash.icf


+ 0 - 0
bsp/stm32f429_armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f427xx_sram.icf → bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f427xx_sram.icf


+ 0 - 0
bsp/stm32f429_armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f429xx_flash.icf → bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f429xx_flash.icf


+ 0 - 0
bsp/stm32f429_armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f429xx_sram.icf → bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f429xx_sram.icf


+ 0 - 0
bsp/stm32f429_armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f437xx_flash.icf → bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f437xx_flash.icf


+ 0 - 0
bsp/stm32f429_armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f437xx_sram.icf → bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/linker/stm32f437xx_sram.icf


+ 0 - 0
bsp/stm32f429_armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/startup_stm32f427xx.s → bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/startup_stm32f427xx.s


+ 0 - 0
bsp/stm32f429_armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/startup_stm32f429xx.s → bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/startup_stm32f429xx.s


+ 0 - 0
bsp/stm32f429_armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/startup_stm32f437xx.s → bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/startup_stm32f437xx.s


+ 0 - 0
bsp/stm32f429_armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/startup_stm32f439xx.s → bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/startup_stm32f439xx.s


+ 0 - 0
bsp/stm32f429_armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.c → bsp/stm32f429-armfly/Libraries/CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.c


+ 0 - 0
bsp/stm32f429_armfly/Libraries/CMSIS/Include/arm_common_tables.h → bsp/stm32f429-armfly/Libraries/CMSIS/Include/arm_common_tables.h


+ 0 - 0
bsp/stm32f429_armfly/Libraries/CMSIS/Include/arm_const_structs.h → bsp/stm32f429-armfly/Libraries/CMSIS/Include/arm_const_structs.h


+ 0 - 0
bsp/stm32f429_armfly/Libraries/CMSIS/Include/arm_math.h → bsp/stm32f429-armfly/Libraries/CMSIS/Include/arm_math.h


+ 0 - 0
bsp/stm32f429_armfly/Libraries/CMSIS/Include/cmsis_armcc.h → bsp/stm32f429-armfly/Libraries/CMSIS/Include/cmsis_armcc.h


+ 0 - 0
bsp/stm32f429_armfly/Libraries/CMSIS/Include/cmsis_armcc_V6.h → bsp/stm32f429-armfly/Libraries/CMSIS/Include/cmsis_armcc_V6.h


+ 0 - 0
bsp/stm32f429_armfly/Libraries/CMSIS/Include/cmsis_gcc.h → bsp/stm32f429-armfly/Libraries/CMSIS/Include/cmsis_gcc.h


+ 0 - 0
bsp/stm32f429_armfly/Libraries/CMSIS/Include/core_cm0.h → bsp/stm32f429-armfly/Libraries/CMSIS/Include/core_cm0.h


+ 0 - 0
bsp/stm32f429_armfly/Libraries/CMSIS/Include/core_cm0plus.h → bsp/stm32f429-armfly/Libraries/CMSIS/Include/core_cm0plus.h


+ 0 - 0
bsp/stm32f429_armfly/Libraries/CMSIS/Include/core_cm3.h → bsp/stm32f429-armfly/Libraries/CMSIS/Include/core_cm3.h


+ 0 - 0
bsp/stm32f429_armfly/Libraries/CMSIS/Include/core_cm4.h → bsp/stm32f429-armfly/Libraries/CMSIS/Include/core_cm4.h


+ 0 - 0
bsp/stm32f429_armfly/Libraries/CMSIS/Include/core_cm7.h → bsp/stm32f429-armfly/Libraries/CMSIS/Include/core_cm7.h


Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff