summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bsp/CME_M7/applications/startup.c6
-rw-r--r--bsp/avr32uc3b0/startup.c2
-rw-r--r--bsp/bf533/startup.c6
-rw-r--r--bsp/efm32/startup.c6
-rw-r--r--bsp/fh8620/platform/fh8620/iot_cam/startup.c6
-rw-r--r--bsp/frdm-k64f/applications/startup.c6
-rw-r--r--bsp/gkipc/armv6/rtos_lib.c5
-rw-r--r--bsp/k210/.config29
-rw-r--r--bsp/k210/Kconfig1
-rw-r--r--bsp/k210/rtconfig.h2
-rwxr-xr-xbsp/k210/rtconfig.py2
-rw-r--r--bsp/lm3s8962/applications/startup.c6
-rw-r--r--bsp/lm3s9b9x/applications/startup.c6
-rw-r--r--bsp/lm4f232/applications/startup.c6
-rw-r--r--bsp/lpc2148/applications/startup.c6
-rw-r--r--bsp/lpc2478/applications/startup.c6
-rw-r--r--bsp/lpc5410x/applications/startup.c6
-rw-r--r--bsp/lpc824/applications/startup.c6
-rw-r--r--bsp/m16c62p/applications/startup.c8
-rw-r--r--bsp/mb9bf500r/startup.c6
-rwxr-xr-xbsp/microblaze/startup.c6
-rw-r--r--bsp/mini4020/applications/startup.c6
-rw-r--r--bsp/nios_ii/startup.c6
-rw-r--r--bsp/nrf51822/applications/startup.c6
-rw-r--r--bsp/nrf52832/applications/startup.c6
-rw-r--r--bsp/nrf5x/libraries/templates/nrf52x/applications/startup.c6
-rw-r--r--bsp/pic32ethernet/startup.c6
-rw-r--r--bsp/rm48x50/application/startup.c6
-rw-r--r--bsp/sam7x/applications/startup.c6
-rw-r--r--bsp/samd21/applications/startup.c6
-rw-r--r--bsp/sep6200/application/startup.c6
-rw-r--r--bsp/simulator/applications/startup.c6
-rw-r--r--bsp/stm32/libraries/HAL_Drivers/drv_sdio.c11
-rw-r--r--bsp/stm32/stm32f401-st-nucleo/README.md23
-rw-r--r--bsp/stm32/stm32f412-st-nucleo/README.md155
-rw-r--r--bsp/stm32/stm32f412-st-nucleo/README_zh.md107
-rw-r--r--bsp/stm32/stm32f413-st-nucleo/README.md170
-rw-r--r--bsp/stm32/stm32f413-st-nucleo/README_zh.md122
-rw-r--r--bsp/stm32/stm32f413-st-nucleo/project.uvgui.198271319
-rw-r--r--bsp/stm32/stm32f429-st-disco/.config58
-rw-r--r--bsp/stm32/stm32f429-st-disco/board/linker_scripts/link.icf2
-rw-r--r--bsp/stm32/stm32f429-st-disco/board/linker_scripts/link.lds4
-rw-r--r--bsp/stm32/stm32f429-st-disco/board/linker_scripts/link.sct6
-rw-r--r--bsp/stm32/stm32f429-st-disco/project.uvoptx1158
-rw-r--r--bsp/stm32/stm32f429-st-disco/project.uvproj738
-rw-r--r--bsp/stm32/stm32f429-st-disco/project.uvprojx451
-rw-r--r--bsp/stm32/stm32f429-st-disco/rtconfig.h9
-rw-r--r--bsp/stm32/stm32f429-st-disco/stm32_rom.ld6
-rw-r--r--bsp/stm32/stm32f429-st-disco/stm32_rom.sct6
-rw-r--r--bsp/stm32/stm32f429-st-disco/stm32f429_flash.icf6
-rw-r--r--bsp/stm32/stm32f446-st-nucleo/README.md150
-rw-r--r--bsp/stm32/stm32f446-st-nucleo/README_zh.md106
-rw-r--r--bsp/stm32/stm32f767-st-nucleo/README.md165
-rw-r--r--bsp/stm32/stm32f767-st-nucleo/README_zh.md110
-rw-r--r--bsp/stm32f20x/applications/startup.c6
-rw-r--r--bsp/taihu/applications/startup.c3
-rw-r--r--bsp/tms320f28379d/applications/startup.c6
-rw-r--r--bsp/upd70f3454/applications/startup.c8
-rw-r--r--bsp/wh44b0/startup.c6
-rw-r--r--bsp/x86/applications/startup.c6
-rw-r--r--components/drivers/pm/pm.c12
-rw-r--r--components/libc/pthreads/semaphore.c2
-rw-r--r--documentation/doxygen/systeminit.h6
-rw-r--r--include/rtthread.h2
-rw-r--r--libcpu/Kconfig8
-rw-r--r--libcpu/aarch64/common/cpu.c2
-rw-r--r--libcpu/arc/em/cpuport.c2
-rw-r--r--libcpu/arm/AT91SAM7S/cpu.c4
-rw-r--r--libcpu/arm/AT91SAM7X/cpu.c4
-rw-r--r--libcpu/arm/am335x/cpu.c2
-rw-r--r--libcpu/arm/arm926/cpuport.c4
-rw-r--r--libcpu/arm/armv6/cpuport.c4
-rw-r--r--libcpu/arm/cortex-a/cpu.c2
-rw-r--r--libcpu/arm/cortex-m3/cpuport.c2
-rw-r--r--libcpu/arm/cortex-m33/cpuport.c2
-rw-r--r--libcpu/arm/cortex-m4/cpuport.c2
-rw-r--r--libcpu/arm/cortex-m7/cpuport.c2
-rw-r--r--libcpu/arm/cortex-r4/cpu.c4
-rw-r--r--libcpu/arm/dm36x/cpuport.c4
-rw-r--r--libcpu/arm/lpc214x/cpuport.c4
-rw-r--r--libcpu/arm/lpc24xx/cpu.c4
-rw-r--r--libcpu/arm/realview-a8-vmm/cpu.c2
-rw-r--r--libcpu/arm/s3c24x0/cpu.c4
-rw-r--r--libcpu/arm/s3c44b0/cpu.c4
-rw-r--r--libcpu/arm/sep4020/cpu.c4
-rw-r--r--libcpu/arm/zynq7000/cpu.c4
-rw-r--r--libcpu/avr32/uc3/cpu.c2
-rw-r--r--libcpu/mips/gs232/cpuport.c4
-rw-r--r--libcpu/risc-v/common/context_gcc.S78
-rw-r--r--libcpu/risc-v/common/cpuport.c37
-rw-r--r--libcpu/risc-v/common/cpuport.h16
-rw-r--r--libcpu/risc-v/k210/interrupt_gcc.S37
-rw-r--r--libcpu/risc-v/k210/startup_gcc.S64
-rw-r--r--libcpu/risc-v/nuclei/cpuport.c2
-rw-r--r--libcpu/risc-v/t-head/e906/cpuport.c2
-rw-r--r--libcpu/rx/cpuport.c2
-rw-r--r--libcpu/ti-dsp/c28x/cpuport.c2
-rw-r--r--libcpu/unicore32/sep6200/cpu.c4
-rwxr-xr-xlibcpu/xilinx/microblaze/cpu.c4
-rw-r--r--src/clock.c11
-rw-r--r--src/object.c14
101 files changed, 2568 insertions, 2923 deletions
diff --git a/bsp/CME_M7/applications/startup.c b/bsp/CME_M7/applications/startup.c
index edff582d1f..44f439690b 100644
--- a/bsp/CME_M7/applications/startup.c
+++ b/bsp/CME_M7/applications/startup.c
@@ -47,12 +47,6 @@ void rtthread_startup(void)
/* show version */
rt_show_version();
- /* init tick */
- rt_system_tick_init();
-
- /* init kernel object */
- rt_system_object_init();
-
/* init timer system */
rt_system_timer_init();
diff --git a/bsp/avr32uc3b0/startup.c b/bsp/avr32uc3b0/startup.c
index 6f1a3d3ada..0411b5d1ce 100644
--- a/bsp/avr32uc3b0/startup.c
+++ b/bsp/avr32uc3b0/startup.c
@@ -30,8 +30,6 @@ int main(void)
#endif
rt_hw_board_init();
- rt_system_tick_init();
- rt_system_object_init();
rt_system_timer_init();
#ifdef RT_USING_HEAP
diff --git a/bsp/bf533/startup.c b/bsp/bf533/startup.c
index 8f1b83912a..7d90dd2493 100644
--- a/bsp/bf533/startup.c
+++ b/bsp/bf533/startup.c
@@ -35,12 +35,6 @@ void rtthread_startup(void)
/* show version */
rt_show_version();
- /* init tick */
- rt_system_tick_init();
-
- /* init kernel object */
- rt_system_object_init();
-
/* init timer system */
rt_system_timer_init();
diff --git a/bsp/efm32/startup.c b/bsp/efm32/startup.c
index f997c6aadd..9a70f1278a 100644
--- a/bsp/efm32/startup.c
+++ b/bsp/efm32/startup.c
@@ -102,12 +102,6 @@ void rtthread_startup(void)
/* show version */
rt_show_version();
- /* init tick */
- rt_system_tick_init();
-
- /* init kernel object */
- rt_system_object_init();
-
/* init timer system */
rt_system_timer_init();
diff --git a/bsp/fh8620/platform/fh8620/iot_cam/startup.c b/bsp/fh8620/platform/fh8620/iot_cam/startup.c
index 52c4775da5..6f5cd6defa 100644
--- a/bsp/fh8620/platform/fh8620/iot_cam/startup.c
+++ b/bsp/fh8620/platform/fh8620/iot_cam/startup.c
@@ -93,12 +93,6 @@ void rtthread_startup(void)
/* show version */
rt_show_version();
- /* initialize tick */
- rt_system_tick_init();
-
- /* initialize kernel object */
- rt_system_object_init();
-
/* initialize timer system */
rt_system_timer_init();
diff --git a/bsp/frdm-k64f/applications/startup.c b/bsp/frdm-k64f/applications/startup.c
index 3627cb993b..d16aefddb2 100644
--- a/bsp/frdm-k64f/applications/startup.c
+++ b/bsp/frdm-k64f/applications/startup.c
@@ -65,12 +65,6 @@ void rtthread_startup(void)
/* show version */
rt_show_version();
- /* init tick */
- rt_system_tick_init();
-
- /* init kernel object */
- rt_system_object_init();
-
/* init timer system */
rt_system_timer_init();
diff --git a/bsp/gkipc/armv6/rtos_lib.c b/bsp/gkipc/armv6/rtos_lib.c
index 7d7aec5c51..c4b4285fbe 100644
--- a/bsp/gkipc/armv6/rtos_lib.c
+++ b/bsp/gkipc/armv6/rtos_lib.c
@@ -1095,14 +1095,9 @@ U32 RTOS_InitKernel(U32 Heap_size)
/* show version */
//rt_show_version();
- /* initialize tick */
- //rt_system_tick_init();
RTOS_HwTickInit();
//rt_kprintf("set tick\n");
- /* initialize kernel object */
- rt_system_object_init();
-
/* initialize timer system */
rt_system_timer_init();
diff --git a/bsp/k210/.config b/bsp/k210/.config
index 705dc78652..4d6db95162 100644
--- a/bsp/k210/.config
+++ b/bsp/k210/.config
@@ -70,6 +70,8 @@ CONFIG_RT_VER_NUM=0x40003
CONFIG_ARCH_CPU_64BIT=y
# CONFIG_RT_USING_CPU_FFS is not set
CONFIG_ARCH_RISCV=y
+CONFIG_ARCH_RISCV_FPU=y
+CONFIG_ARCH_RISCV_FPU_S=y
CONFIG_ARCH_RISCV64=y
# CONFIG_ARCH_CPU_STACK_GROWS_UPWARD is not set
@@ -150,8 +152,10 @@ CONFIG_RT_SERIAL_RB_BUFSZ=64
# CONFIG_RT_USING_HWTIMER is not set
# CONFIG_RT_USING_CPUTIME is not set
# CONFIG_RT_USING_I2C is not set
+# CONFIG_RT_USING_PHY is not set
CONFIG_RT_USING_PIN=y
# CONFIG_RT_USING_ADC is not set
+# CONFIG_RT_USING_DAC is not set
# CONFIG_RT_USING_PWM is not set
# CONFIG_RT_USING_MTD_NOR is not set
# CONFIG_RT_USING_MTD_NAND is not set
@@ -192,6 +196,7 @@ CONFIG_RT_USING_LIBC=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_POSIX_GETLINE is not set
# CONFIG_RT_USING_POSIX_AIO is not set
# CONFIG_RT_USING_MODULE is not set
@@ -262,7 +267,9 @@ CONFIG_ULOG_BACKEND_USING_CONSOLE=y
#
# IoT - internet of things
#
+# CONFIG_PKG_USING_LORAWAN_DRIVER is not set
# CONFIG_PKG_USING_PAHOMQTT is not set
+# CONFIG_PKG_USING_UMQTT is not set
# CONFIG_PKG_USING_WEBCLIENT is not set
# CONFIG_PKG_USING_WEBNET is not set
# CONFIG_PKG_USING_MONGOOSE is not set
@@ -308,7 +315,7 @@ CONFIG_ULOG_BACKEND_USING_CONSOLE=y
# CONFIG_PKG_USING_GAGENT_CLOUD is not set
# CONFIG_PKG_USING_ALI_IOTKIT is not set
# CONFIG_PKG_USING_AZURE is not set
-# CONFIG_PKG_USING_TENCENT_IOTHUB is not set
+# CONFIG_PKG_USING_TENCENT_IOT_EXPLORER is not set
# CONFIG_PKG_USING_JIOT-C-SDK is not set
# CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set
# CONFIG_PKG_USING_JOYLINK is not set
@@ -330,6 +337,9 @@ CONFIG_ULOG_BACKEND_USING_CONSOLE=y
# CONFIG_PKG_USING_CAPNP is not set
# CONFIG_PKG_USING_RT_CJSON_TOOLS is not set
# CONFIG_PKG_USING_AGILE_TELNET is not set
+# CONFIG_PKG_USING_NMEALIB is not set
+# CONFIG_PKG_USING_AGILE_JSMN is not set
+# CONFIG_PKG_USING_PDULIB is not set
#
# security packages
@@ -338,6 +348,7 @@ CONFIG_ULOG_BACKEND_USING_CONSOLE=y
# CONFIG_PKG_USING_libsodium is not set
# CONFIG_PKG_USING_TINYCRYPT is not set
# CONFIG_PKG_USING_TFM is not set
+# CONFIG_PKG_USING_YD_CRYPTO is not set
#
# language packages
@@ -372,7 +383,9 @@ CONFIG_ULOG_BACKEND_USING_CONSOLE=y
# CONFIG_PKG_USING_CHINESE_FONT_LIBRARY is not set
# CONFIG_PKG_USING_LUNAR_CALENDAR is not set
# CONFIG_PKG_USING_BS8116A is not set
+# CONFIG_PKG_USING_GPS_RMC is not set
# CONFIG_PKG_USING_URLENCODE is not set
+# CONFIG_PKG_USING_UMCN is not set
#
# system packages
@@ -396,6 +409,10 @@ CONFIG_ULOG_BACKEND_USING_CONSOLE=y
# CONFIG_PKG_USING_SYSWATCH is not set
# CONFIG_PKG_USING_SYS_LOAD_MONITOR is not set
# CONFIG_PKG_USING_PLCCORE is not set
+# CONFIG_PKG_USING_RAMDISK is not set
+# CONFIG_PKG_USING_MININI is not set
+# CONFIG_PKG_USING_QBOOT is not set
+# CONFIG_PKG_USING_UCOSIII_WRAPPER is not set
#
# peripheral libraries and drivers
@@ -441,6 +458,7 @@ CONFIG_PKG_KENDRYTE_SDK_VERNUM=0x0055
# CONFIG_PKG_USING_RPLIDAR is not set
# CONFIG_PKG_USING_AS608 is not set
# CONFIG_PKG_USING_RC522 is not set
+# CONFIG_PKG_USING_WS2812B is not set
# CONFIG_PKG_USING_EMBARC_BSP is not set
# CONFIG_PKG_USING_EXTERN_RTC_DRIVERS is not set
# CONFIG_PKG_USING_MULTI_RTIMER is not set
@@ -450,6 +468,12 @@ CONFIG_PKG_KENDRYTE_SDK_VERNUM=0x0055
# CONFIG_PKG_USING_PMS_SERIES is not set
# CONFIG_PKG_USING_NUCLEI_SDK is not set
# CONFIG_PKG_USING_CAN_YMODEM is not set
+# CONFIG_PKG_USING_LORA_RADIO_DRIVER is not set
+# CONFIG_PKG_USING_QLED is not set
+# CONFIG_PKG_USING_PAJ7620 is not set
+# CONFIG_PKG_USING_AGILE_CONSOLE is not set
+# CONFIG_PKG_USING_LD3320 is not set
+# CONFIG_PKG_USING_WK2124 is not set
#
# miscellaneous packages
@@ -486,6 +510,9 @@ CONFIG_PKG_KENDRYTE_SDK_VERNUM=0x0055
# CONFIG_PKG_USING_VT100 is not set
# CONFIG_PKG_USING_ULAPACK is not set
# CONFIG_PKG_USING_UKAL is not set
+# CONFIG_PKG_USING_CRCLIB is not set
+# CONFIG_PKG_USING_THREES is not set
+# CONFIG_PKG_USING_2048 is not set
CONFIG_BOARD_K210_EVB=y
CONFIG_BSP_USING_UART_HS=y
diff --git a/bsp/k210/Kconfig b/bsp/k210/Kconfig
index 5aa1e03dab..61ba3631c0 100644
--- a/bsp/k210/Kconfig
+++ b/bsp/k210/Kconfig
@@ -21,6 +21,7 @@ source "$PKGS_DIR/Kconfig"
config BOARD_K210_EVB
bool
select ARCH_RISCV64
+ select ARCH_RISCV_FPU_S
select PKG_USING_KENDRYTE_SDK
select RT_USING_COMPONENTS_INIT
select RT_USING_USER_MAIN
diff --git a/bsp/k210/rtconfig.h b/bsp/k210/rtconfig.h
index 5f87d58a1d..4ac2b8937c 100644
--- a/bsp/k210/rtconfig.h
+++ b/bsp/k210/rtconfig.h
@@ -48,6 +48,8 @@
#define RT_VER_NUM 0x40003
#define ARCH_CPU_64BIT
#define ARCH_RISCV
+#define ARCH_RISCV_FPU
+#define ARCH_RISCV_FPU_S
#define ARCH_RISCV64
/* RT-Thread Components */
diff --git a/bsp/k210/rtconfig.py b/bsp/k210/rtconfig.py
index b9258cd374..0f336d545e 100755
--- a/bsp/k210/rtconfig.py
+++ b/bsp/k210/rtconfig.py
@@ -38,7 +38,7 @@ if PLATFORM == 'gcc':
OBJDUMP = PREFIX + 'objdump'
OBJCPY = PREFIX + 'objcopy'
- DEVICE = ' -mcmodel=medany -march=rv64imafdc -mabi=lp64d'
+ DEVICE = ' -mcmodel=medany -march=rv64imafc -mabi=lp64f -fsingle-precision-constant'
CFLAGS = DEVICE + ' -fno-common -ffunction-sections -fdata-sections -fstrict-volatile-bitfields'
AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp'
LFLAGS = DEVICE + ' -nostartfiles -Wl,--gc-sections,-Map=rtthread.map,-cref,-u,_start -T link.lds'
diff --git a/bsp/lm3s8962/applications/startup.c b/bsp/lm3s8962/applications/startup.c
index d598ee8fc7..e78cfa7eca 100644
--- a/bsp/lm3s8962/applications/startup.c
+++ b/bsp/lm3s8962/applications/startup.c
@@ -77,12 +77,6 @@ void rtthread_startup(void)
/* show version */
rt_show_version();
- /* init tick */
- rt_system_tick_init();
-
- /* init kernel object */
- rt_system_object_init();
-
/* init timer system */
rt_system_timer_init();
diff --git a/bsp/lm3s9b9x/applications/startup.c b/bsp/lm3s9b9x/applications/startup.c
index 2e8ad05d7b..4d374824e7 100644
--- a/bsp/lm3s9b9x/applications/startup.c
+++ b/bsp/lm3s9b9x/applications/startup.c
@@ -77,12 +77,6 @@ void rtthread_startup(void)
/* show version */
rt_show_version();
- /* init tick */
- rt_system_tick_init();
-
- /* init kernel object */
- rt_system_object_init();
-
/* init timer system */
rt_system_timer_init();
diff --git a/bsp/lm4f232/applications/startup.c b/bsp/lm4f232/applications/startup.c
index e1f3b6efd1..8d9eb54611 100644
--- a/bsp/lm4f232/applications/startup.c
+++ b/bsp/lm4f232/applications/startup.c
@@ -77,12 +77,6 @@ void rtthread_startup(void)
/* show version */
rt_show_version();
- /* init tick */
- rt_system_tick_init();
-
- /* init kernel object */
- rt_system_object_init();
-
/* init timer system */
rt_system_timer_init();
diff --git a/bsp/lpc2148/applications/startup.c b/bsp/lpc2148/applications/startup.c
index 5b699a8613..cc16a5c12b 100644
--- a/bsp/lpc2148/applications/startup.c
+++ b/bsp/lpc2148/applications/startup.c
@@ -52,12 +52,6 @@ void rtthread_startup(void)
/* 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 */
diff --git a/bsp/lpc2478/applications/startup.c b/bsp/lpc2478/applications/startup.c
index 270312f7ae..0b961e4f94 100644
--- a/bsp/lpc2478/applications/startup.c
+++ b/bsp/lpc2478/applications/startup.c
@@ -38,12 +38,6 @@ void rtthread_startup(void)
/* 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 */
diff --git a/bsp/lpc5410x/applications/startup.c b/bsp/lpc5410x/applications/startup.c
index 6589dc6b46..6f4ab94e82 100644
--- a/bsp/lpc5410x/applications/startup.c
+++ b/bsp/lpc5410x/applications/startup.c
@@ -27,12 +27,6 @@ void rtthread_startup(void)
/* show version */
rt_show_version();
- /* initialize tick */
- rt_system_tick_init();
-
- /* initialize kernel object */
- rt_system_object_init();
-
/* initialize timer system */
rt_system_timer_init();
diff --git a/bsp/lpc824/applications/startup.c b/bsp/lpc824/applications/startup.c
index 5e95382ba0..e165242f86 100644
--- a/bsp/lpc824/applications/startup.c
+++ b/bsp/lpc824/applications/startup.c
@@ -52,12 +52,6 @@ void rtthread_startup(void)
/* show version */
rt_show_version();
- /* init tick */
- rt_system_tick_init();
-
- /* init kernel object */
- rt_system_object_init();
-
/* init timer system */
rt_system_timer_init();
diff --git a/bsp/m16c62p/applications/startup.c b/bsp/m16c62p/applications/startup.c
index 95b9484c1f..1802ecadee 100644
--- a/bsp/m16c62p/applications/startup.c
+++ b/bsp/m16c62p/applications/startup.c
@@ -48,13 +48,7 @@ void rtthread_startup(void)
/* show version */
rt_show_version();
-
- /* init tick */
- rt_system_tick_init();
-
- /* init kernel object */
- rt_system_object_init();
-
+
/* init timer system */
rt_system_timer_init();
diff --git a/bsp/mb9bf500r/startup.c b/bsp/mb9bf500r/startup.c
index dc65496ba6..bc96eb5dca 100644
--- a/bsp/mb9bf500r/startup.c
+++ b/bsp/mb9bf500r/startup.c
@@ -44,12 +44,6 @@ void rtthread_startup(void)
/* show version */
rt_show_version();
- /* init tick */
- rt_system_tick_init();
-
- /* init kernel object */
- rt_system_object_init();
-
/* init timer system */
rt_system_timer_init();
diff --git a/bsp/microblaze/startup.c b/bsp/microblaze/startup.c
index b9dc03e588..c900973bb7 100755
--- a/bsp/microblaze/startup.c
+++ b/bsp/microblaze/startup.c
@@ -55,12 +55,6 @@ void rtthread_startup(void)
rt_show_version();
- /* init tick */
- rt_system_tick_init();
-
- /* init kernel object */
- rt_system_object_init();
-
/* init timer system */
rt_system_timer_init();
diff --git a/bsp/mini4020/applications/startup.c b/bsp/mini4020/applications/startup.c
index 575bd6f306..ae84f8b461 100644
--- a/bsp/mini4020/applications/startup.c
+++ b/bsp/mini4020/applications/startup.c
@@ -49,12 +49,6 @@ void rtthread_startup()
/* show version */
rt_show_version();
- /* init tick */
- rt_system_tick_init();
-
- /* init kernel object */
- rt_system_object_init();
-
/* init timer system */
rt_system_timer_init();
diff --git a/bsp/nios_ii/startup.c b/bsp/nios_ii/startup.c
index 8f2512630d..e2bbaaa996 100644
--- a/bsp/nios_ii/startup.c
+++ b/bsp/nios_ii/startup.c
@@ -45,12 +45,6 @@ void rtthread_startup(void)
/* show version */
rt_show_version();
- /* init tick */
- rt_system_tick_init();
-
- /* init kernel object */
- rt_system_object_init();
-
/* init timer system */
rt_system_timer_init();
diff --git a/bsp/nrf51822/applications/startup.c b/bsp/nrf51822/applications/startup.c
index 660105ee48..1e7729fc83 100644
--- a/bsp/nrf51822/applications/startup.c
+++ b/bsp/nrf51822/applications/startup.c
@@ -48,12 +48,6 @@ void rtthread_startup(void)
/* show version */
rt_show_version();
- /* init tick */
- rt_system_tick_init();
-
- /* init kernel object */
- rt_system_object_init();
-
/* init timer system */
rt_system_timer_init();
diff --git a/bsp/nrf52832/applications/startup.c b/bsp/nrf52832/applications/startup.c
index a48524814c..78a5ef7f65 100644
--- a/bsp/nrf52832/applications/startup.c
+++ b/bsp/nrf52832/applications/startup.c
@@ -48,12 +48,6 @@ void rtthread_startup(void)
/* show version */
rt_show_version();
- /* init tick */
- rt_system_tick_init();
-
- /* init kernel object */
- rt_system_object_init();
-
/* init timer system */
rt_system_timer_init();
diff --git a/bsp/nrf5x/libraries/templates/nrf52x/applications/startup.c b/bsp/nrf5x/libraries/templates/nrf52x/applications/startup.c
index a48524814c..78a5ef7f65 100644
--- a/bsp/nrf5x/libraries/templates/nrf52x/applications/startup.c
+++ b/bsp/nrf5x/libraries/templates/nrf52x/applications/startup.c
@@ -48,12 +48,6 @@ void rtthread_startup(void)
/* show version */
rt_show_version();
- /* init tick */
- rt_system_tick_init();
-
- /* init kernel object */
- rt_system_object_init();
-
/* init timer system */
rt_system_timer_init();
diff --git a/bsp/pic32ethernet/startup.c b/bsp/pic32ethernet/startup.c
index b841da98f3..e139dfefca 100644
--- a/bsp/pic32ethernet/startup.c
+++ b/bsp/pic32ethernet/startup.c
@@ -35,12 +35,6 @@ void rtthread_startup(void)
/* show version */
rt_show_version();
- /* init tick */
- rt_system_tick_init();
-
- /* init kernel object */
- rt_system_object_init();
-
/* init timer system */
rt_system_timer_init();
diff --git a/bsp/rm48x50/application/startup.c b/bsp/rm48x50/application/startup.c
index 31c2f92fa9..40b69e2c95 100644
--- a/bsp/rm48x50/application/startup.c
+++ b/bsp/rm48x50/application/startup.c
@@ -81,12 +81,6 @@ void rtthread_startup(void)
/* 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 */
diff --git a/bsp/sam7x/applications/startup.c b/bsp/sam7x/applications/startup.c
index ddf194b1d1..d167d9ebcb 100644
--- a/bsp/sam7x/applications/startup.c
+++ b/bsp/sam7x/applications/startup.c
@@ -82,12 +82,6 @@ void rtthread_startup(void)
rt_show_version();
- /* init tick */
- rt_system_tick_init();
-
- /* init kernel object */
- rt_system_object_init();
-
/* init timer system */
rt_system_timer_init();
diff --git a/bsp/samd21/applications/startup.c b/bsp/samd21/applications/startup.c
index aaa75d3f1c..ecbe617d2e 100644
--- a/bsp/samd21/applications/startup.c
+++ b/bsp/samd21/applications/startup.c
@@ -68,12 +68,6 @@ void rtthread_startup(void)
/* show version */
rt_show_version();
- /* init tick */
- rt_system_tick_init();
-
- /* init kernel object */
- rt_system_object_init();
-
/* init timer system */
rt_system_timer_init();
diff --git a/bsp/sep6200/application/startup.c b/bsp/sep6200/application/startup.c
index fc12985ce1..e714675699 100644
--- a/bsp/sep6200/application/startup.c
+++ b/bsp/sep6200/application/startup.c
@@ -63,12 +63,6 @@ void rtthread_startup()
/* show version */
rt_show_version();
- /* init tick */
- rt_system_tick_init();
-
- /* init kernel object */
- rt_system_object_init();
-
/* init timer system */
rt_system_timer_init();
diff --git a/bsp/simulator/applications/startup.c b/bsp/simulator/applications/startup.c
index cc2144d64f..900d774844 100644
--- a/bsp/simulator/applications/startup.c
+++ b/bsp/simulator/applications/startup.c
@@ -47,12 +47,6 @@ void rtthread_startup(void)
/* show version */
rt_show_version();
- /* init tick */
- rt_system_tick_init();
-
- /* init kernel object */
- rt_system_object_init();
-
/* init timer system */
rt_system_timer_init();
diff --git a/bsp/stm32/libraries/HAL_Drivers/drv_sdio.c b/bsp/stm32/libraries/HAL_Drivers/drv_sdio.c
index 290c89e159..5e6d4f6934 100644
--- a/bsp/stm32/libraries/HAL_Drivers/drv_sdio.c
+++ b/bsp/stm32/libraries/HAL_Drivers/drv_sdio.c
@@ -7,7 +7,8 @@
* Date Author Notes
* 2018-06-22 tyx first
* 2018-12-12 balanceTWK first version
- * 2019-06-11 WillianChan Add SD card hot plug detection
+ * 2019-06-11 WillianChan Add SD card hot plug detection
+ * 2020-11-09 whj4674672 fix sdio non-aligned access problem
*/
#include "board.h"
@@ -366,7 +367,7 @@ static void rthw_sdio_request(struct rt_mmcsd_host *host, struct rt_mmcsd_req *r
if (req->cmd != RT_NULL)
{
- memset(&pkg, 0, sizeof(pkg));
+ rt_memset(&pkg, 0, sizeof(pkg));
data = req->cmd->data;
pkg.cmd = req->cmd;
@@ -382,7 +383,7 @@ static void rthw_sdio_request(struct rt_mmcsd_host *host, struct rt_mmcsd_req *r
pkg.buff = cache_buf;
if (data->flags & DATA_DIR_WRITE)
{
- memcpy(cache_buf, data->buf, size);
+ rt_memcpy(cache_buf, data->buf, size);
}
}
}
@@ -391,13 +392,13 @@ static void rthw_sdio_request(struct rt_mmcsd_host *host, struct rt_mmcsd_req *r
if ((data != RT_NULL) && (data->flags & DATA_DIR_READ) && ((rt_uint32_t)data->buf & (SDIO_ALIGN_LEN - 1)))
{
- memcpy(data->buf, cache_buf, data->blksize * data->blks);
+ rt_memcpy(data->buf, cache_buf, data->blksize * data->blks);
}
}
if (req->stop != RT_NULL)
{
- memset(&pkg, 0, sizeof(pkg));
+ rt_memset(&pkg, 0, sizeof(pkg));
pkg.cmd = req->stop;
rthw_sdio_send_command(sdio, &pkg);
}
diff --git a/bsp/stm32/stm32f401-st-nucleo/README.md b/bsp/stm32/stm32f401-st-nucleo/README.md
index d65c08ac11..5029651c1a 100644
--- a/bsp/stm32/stm32f401-st-nucleo/README.md
+++ b/bsp/stm32/stm32f401-st-nucleo/README.md
@@ -1,4 +1,4 @@
-# STM32F401 Nucleo-64 BSP (Board Support Package) Execution Instruction
+# STM32F401 Nucleo-64 BSP Introduction
[中文页](README_zh.md) |
@@ -33,9 +33,11 @@ The mainly-used **on-board resources** are shown as follows:
- Common-used interface: USB, Arduino Uno, and ST morpho
- Debug interface: ST-LINK/V2-1
-For more details about this board, please refer to the ST official documentation: [STM32 Nucleo-64 development board with STM32F401RE MCU](https://www.st.com/zh/evaluation-tools/nucleo-f401re.html)
+#### For more details about this board, please refer to the [ST official documentation](https://www.st.com/zh/evaluation-tools/nucleo-f401re.html)
-## Peripheral Condition
+
+
+### Peripheral Condition
Each peripheral supporting condition for this BSP is as follows:
@@ -45,11 +47,11 @@ Each peripheral supporting condition for this BSP is as follows:
| UART | Support | UART2 |
| SPI | Support | SPI1 |
-## Execution Instruction
-### Quickly Get Started
-This BSP provides MDK5 and IAR projects for developers. Also support GCC development environment Here's an example of the MDK5 development environment, to introduce how to run the system.
+## Quickly Get Started
+
+This BSP provides MDK5 and IAR projects for developers. Also support GCC development environment. Here's an example of the MDK5 development environment, to introduce how to run the system.
#### Hardware Connection
@@ -57,7 +59,7 @@ Use a Type-A to Mini-B cable to connect the development board to the PC and turn
#### Compile And Download
-Double-click the project.uvprojx file, to open the MDK5 project, compile and download the program to the board.
+Double-click the `project.uvprojx` file, to open the MDK5 project, compile and download the program to the board.
> By default, the project uses ST_LINK simulator to download the program, when the ST_LINK connects the board, clicking the download button can download the program to the board.
@@ -93,8 +95,6 @@ This BSP only enables GPIO and serial port 2 by default. If need more advanced f
According to the pin number specification, in the new stm32 bsp framework, the GPIO driver is managed in a sequential numbering manner.
-## Notes
-
The pin serial number corresponds to the pin name as shown in the following table:
| STM32 Pin Name | Pin Sequence Number |
@@ -104,3 +104,8 @@ The pin serial number corresponds to the pin name as shown in the following tabl
| PC0 - PC15 | 32 - 47 |
| PD0 - ... | 48 - ... |
+
+
+## Maintained By
+
+[shaoguoji](https://github.com/shaoguoji) [email protected]
diff --git a/bsp/stm32/stm32f412-st-nucleo/README.md b/bsp/stm32/stm32f412-st-nucleo/README.md
index 2502e29e29..fb463d6803 100644
--- a/bsp/stm32/stm32f412-st-nucleo/README.md
+++ b/bsp/stm32/stm32f412-st-nucleo/README.md
@@ -1,107 +1,88 @@
-# NUCLEO-F412ZG 开发板 BSP 说明
+# STM32F412-Nucleo BSP Introduction
-## 简介
+[中文](README_zh.md)
-本文档为 RT-Thread 开发团队为 NUCLEO-F412ZG 开发板提供的 BSP (板级支持包) 说明。
+## MCU: STM32F412ZG @100MHz, 1024KB FLASH, 256KB RAM
-主要内容如下:
+STM32F412xE/G devices are based on the high-performance Arm® Cortex® -M4 32-bit RISC core operating at a frequency of up to 100 MHz. Their Cortex®-M4 core features a Floating point unit (FPU) single precision which supports all Arm single-precision data-processing instructions and data types. It also implements a full set of DSP instructions and a memory protection unit (MPU) which enhances application security.
-- 开发板资源介绍
-- BSP 快速上手
-- 进阶使用方法
+STM32F412xE/G devices belong to the STM32 Dynamic Efficiency™ product line (with products combining power efficiency, performance and integration) while adding a new innovative feature called Batch Acquisition Mode (BAM) allowing even more power consumption saving during data batching.
+STM32F412xE/G devices incorporate high-speed embedded memories (up to 1 Mbyte of Flash memory, 256 Kbytes of SRAM), and an extensive range of enhanced I/Os and peripherals connected to two APB buses, three AHB buses and a 32-bit multi-AHB bus matrix.
+All devices offer one 12-bit ADC, a low-power RTC, twelve general-purpose 16-bit timers, two PWM timers for motor control and two general-purpose 32-bit timers.
+They also feature standard and advanced communication interfaces:
+In addition, STM32F412xE/G devices embed advanced peripherals:
+STM32F412xE/G devices are offered in 7 packages ranging from 48 to 144 pins. The set of available peripherals depends on the selected package.
+The STM32F412xE/G operates in the -40 to +125 °C temperature range from a 1.7 (PDR OFF) to 3.6 V power supply. A comprehensive set of power-saving modes allows the design of low-power applications.
+These features make the STM32F412xE/G microcontrollers suitable for a wide range of applications.
-通过阅读快速上手章节开发者可以快速地上手该 BSP,将 RT-Thread 运行在开发板上。在进阶使用指南章节,将会介绍更多高级功能,帮助开发者利用 RT-Thread 驱动更多板载资源。
+#### KEY FEATURES
-## 开发板介绍
+- Dynamic Efficiency Line with BAM (Batch Acquisition Mode)
+- Core: Arm® 32-bit Cortex®-M4 CPU with FPU, Adaptive real-time accelerator (ART Accelerator™) allowing 0-wait state execution from Flash memory, frequency up to 100 MHz, memory protection unit, 125 DMIPS/1.25 DMIPS/MHz (Dhrystone 2.1), and DSP instructions
+- Memories
+ - Up to 1 Mbyte of Flash memory
+ - 256 Kbyte of SRAM
+ - Flexible external static memory controller with up to 16-bit data bus: SRAM, PSRAM, NOR Flash memory
+ - Dual mode Quad-SPI interface
+- LCD parallel interface, 8080/6800 modes
+- Clock, reset and supply management
+ - 1.7 V to 3.6 V application supply and I/Os
+ - POR, PDR, PVD and BOR
+ - 4-to-26 MHz crystal oscillator
+ - Internal 16 MHz factory-trimmed RC
+ - 32 kHz oscillator for RTC with calibration
+ - Internal 32 kHz RC with calibration
+- Power consumption
+ - Run: 112 μA/MHz (peripheral off)
+ - Stop (Flash in Stop mode, fast wakeup time): 50 μA Typ @ 25 °C; 75 μA max @25 °C
+ - Stop (Flash in Deep power down mode, slow wakeup time): down to 18 μA @ 25 °C; 40 μA max @25 °C
+ - Standby: 2.4 μA @25 °C / 1.7 V without RTC; 12 μA @85 °C @1.7 V
+ - VBAT supply for RTC: 1 μA @25 °C
+- 1×12-bit, 2.4 MSPS ADC: up to 16 channels
+- 2xdigital filters for sigma delta modulator, 4xPDM interfaces, stereo microphone support
+- General-purpose DMA: 16-stream DMA
-探索者 NUCLEO-F412ZG 是意法半导体推出的一款基于 ARM Cortex-M4 内核的开发板,最高主频为 100Mhz,该开发板具有丰富的板载资源,可以充分发挥 STM32F411ZG 的芯片性能。
+- Up to 17 timers: up to twelve 16-bit timers, two 32-bit timers up to 100 MHz each with up to four IC/OC/PWM or pulse counter and quadrature (incremental) encoder input, two watchdog timers (independent and window), one SysTick timer
+- Debug mode
+ - Serial wire debug (SWD) & JTAG
+ - Cortex®-M4 Embedded Trace Macrocell™
+- Up to 114 I/O ports with interrupt capability
+ - Up to 109 fast I/Os up to 100 MHz
+ - Up to 114 five V-tolerant I/Os
+- Up to 17 communication interfaces
+ - Up to 4xI2C interfaces (SMBus/PMBus)
+ - Up to 4 USARTs (2x12.5 Mbit/s, 2x6.25 Mbit/s), ISO 7816 interface, LIN, IrDA, modem control)
+ - Up to 5 SPI/I2Ss (up to 50 Mbit/s, SPI or I2S audio protocol), out of which 2 muxed full-duplex I2S interfaces
+ - SDIO interface (SD/MMC/eMMC)
+ - Advanced connectivity: USB 2.0 full-speed device/host/OTG controller with PHY
+ - 2xCAN (2.0B Active)
+- True random number generator
+- CRC calculation unit
+- 96-bit unique ID
+- RTC: subsecond accuracy, hardware calendar
+- All packages are ECOPACK®2
-开发板外观如下图所示:
-![board](figures/board.png)
-该开发板常用 **板载资源** 如下:
+## Read more
-- MCU:STM32F412ZG,主频 100MHz,1024KB FLASH ,256KB RAM。
-- 常用外设
- - LED:3 个,USB communication (LD1), user LED (LD2), power LED (LD3) 。
- - 按键,2 个,USER and RESET 。
-- 常用接口:USB 支持 3 种不同接口:虚拟 COM 端口、大容量存储和调试端口。
-- 调试接口,板载 ST-LINK/V2-1 调试器。
+| Documents | Description |
+| :----------------------------------------------------------: | :----------------------------------------------------------: |
+| [STM32_Nucleo-144_BSP_Introduction](../docs/STM32_Nucleo-144_BSP_Introduction.md) | How to run RT-Thread on STM32 Nucleo-144 boards (**Must-Read**) |
+| [STM32F412ZG ST Official Website](https://www.st.com/en/microcontrollers-microprocessors/stm32f412zg.html#documentation) | STM32F412ZG datasheet and other resources |
-开发板更多详细信息请参考意法半导体 [NUCLEO-F412ZG 开发板介绍](https://www.st.com/en/evaluation-tools/nucleo-f412zg.html)。
-## 外设支持
-本 BSP 目前对外设的支持情况如下:
+## Maintained By
-| **片上外设** | **支持情况** | **备注** |
-| :------------ | :----------: | :-----------------------------------: |
-| GPIO | 支持 | PA0, PA1... PH1 ---> PIN: 0, 1...63 |
-| UART | 支持 | UART2,UART3 |
-| Onchip Flash | 支持 | |
-| USB Device | 支持 | |
+[flybreak](https://github.com/guozhanxin) [email protected]
-## 使用说明
-使用说明分为如下两个章节:
-- 快速上手
+## Translated By
- 本章节是为刚接触 RT-Thread 的新手准备的使用说明,遵循简单的步骤即可将 RT-Thread 操作系统运行在该开发板上,看到实验效果 。
+Meco Man @ RT-Thread Community
-- 进阶使用
-
- 本章节是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。
-
-
-### 快速上手
-
-本 BSP 为开发者提供 MDK5 和 IAR 工程,并且支持 GCC 开发环境。下面以 MDK5 开发环境为例,介绍如何将系统运行起来。
-
-#### 硬件连接
-
-使用 Type-A to Micro-B 线连接开发板和 PC 供电,红色 LED LD3 (PWR) 和 LD1 (COM) 会点亮。
-
-#### 编译下载
-
-双击 project.uvprojx 文件,打开 MDK5 工程,编译并下载程序到开发板。
-
-> 工程默认配置使用 ST-LINK 下载程序,点击下载按钮即可下载程序到开发板。
-
-#### 运行结果
-
-下载程序成功之后,系统会自动运行,观察开发板上 LED 的运行效果,红色 LD3 和 LD1 常亮、蓝色 LD2 会周期性闪烁。
-
-USB 虚拟 COM 端口默认连接串口 3,在终端工具里打开相应的串口(115200-8-1-N),复位设备后,可以看到 RT-Thread 的输出信息:
-
-```bash
- \ | /
-- RT - Thread Operating System
- / | \ 4.0.2 build Oct 20 2019
- 2006 - 2019 Copyright by rt-thread team
-msh >
-```
-### 进阶使用
-
-此 BSP 默认只开启了 GPIO 和 串口 3 的功能,更多高级功能需要利用 ENV 工具对 BSP 进行配置,步骤如下:
-
-1. 在 BSP 下打开 env 工具。
-
-2. 输入 `menuconfig` 命令配置工程,配置好之后保存退出。
-
-3. 输入 `pkgs --update` 命令更新软件包。
-
-4. 输入 `scons --target=mdk5/iar` 命令重新生成工程。
-
-本章节更多详细的介绍请参考 [STM32 系列 BSP 外设驱动使用教程](../docs/STM32 系列 BSP 外设驱动使用教程. md)。
-
-## 注意事项
-
-暂无
-
-## 联系人信息
-
-维护人:
-
-- [flybreak](https://github.com/guozhanxin) ,邮箱:<[email protected]> \ No newline at end of file
+>
+> https://github.com/mysterywolf
diff --git a/bsp/stm32/stm32f412-st-nucleo/README_zh.md b/bsp/stm32/stm32f412-st-nucleo/README_zh.md
new file mode 100644
index 0000000000..2502e29e29
--- /dev/null
+++ b/bsp/stm32/stm32f412-st-nucleo/README_zh.md
@@ -0,0 +1,107 @@
+# NUCLEO-F412ZG 开发板 BSP 说明
+
+## 简介
+
+本文档为 RT-Thread 开发团队为 NUCLEO-F412ZG 开发板提供的 BSP (板级支持包) 说明。
+
+主要内容如下:
+
+- 开发板资源介绍
+- BSP 快速上手
+- 进阶使用方法
+
+通过阅读快速上手章节开发者可以快速地上手该 BSP,将 RT-Thread 运行在开发板上。在进阶使用指南章节,将会介绍更多高级功能,帮助开发者利用 RT-Thread 驱动更多板载资源。
+
+## 开发板介绍
+
+探索者 NUCLEO-F412ZG 是意法半导体推出的一款基于 ARM Cortex-M4 内核的开发板,最高主频为 100Mhz,该开发板具有丰富的板载资源,可以充分发挥 STM32F411ZG 的芯片性能。
+
+开发板外观如下图所示:
+
+![board](figures/board.png)
+
+该开发板常用 **板载资源** 如下:
+
+- MCU:STM32F412ZG,主频 100MHz,1024KB FLASH ,256KB RAM。
+- 常用外设
+ - LED:3 个,USB communication (LD1), user LED (LD2), power LED (LD3) 。
+ - 按键,2 个,USER and RESET 。
+- 常用接口:USB 支持 3 种不同接口:虚拟 COM 端口、大容量存储和调试端口。
+- 调试接口,板载 ST-LINK/V2-1 调试器。
+
+开发板更多详细信息请参考意法半导体 [NUCLEO-F412ZG 开发板介绍](https://www.st.com/en/evaluation-tools/nucleo-f412zg.html)。
+
+## 外设支持
+
+本 BSP 目前对外设的支持情况如下:
+
+| **片上外设** | **支持情况** | **备注** |
+| :------------ | :----------: | :-----------------------------------: |
+| GPIO | 支持 | PA0, PA1... PH1 ---> PIN: 0, 1...63 |
+| UART | 支持 | UART2,UART3 |
+| Onchip Flash | 支持 | |
+| USB Device | 支持 | |
+
+## 使用说明
+
+使用说明分为如下两个章节:
+
+- 快速上手
+
+ 本章节是为刚接触 RT-Thread 的新手准备的使用说明,遵循简单的步骤即可将 RT-Thread 操作系统运行在该开发板上,看到实验效果 。
+
+- 进阶使用
+
+ 本章节是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。
+
+
+### 快速上手
+
+本 BSP 为开发者提供 MDK5 和 IAR 工程,并且支持 GCC 开发环境。下面以 MDK5 开发环境为例,介绍如何将系统运行起来。
+
+#### 硬件连接
+
+使用 Type-A to Micro-B 线连接开发板和 PC 供电,红色 LED LD3 (PWR) 和 LD1 (COM) 会点亮。
+
+#### 编译下载
+
+双击 project.uvprojx 文件,打开 MDK5 工程,编译并下载程序到开发板。
+
+> 工程默认配置使用 ST-LINK 下载程序,点击下载按钮即可下载程序到开发板。
+
+#### 运行结果
+
+下载程序成功之后,系统会自动运行,观察开发板上 LED 的运行效果,红色 LD3 和 LD1 常亮、蓝色 LD2 会周期性闪烁。
+
+USB 虚拟 COM 端口默认连接串口 3,在终端工具里打开相应的串口(115200-8-1-N),复位设备后,可以看到 RT-Thread 的输出信息:
+
+```bash
+ \ | /
+- RT - Thread Operating System
+ / | \ 4.0.2 build Oct 20 2019
+ 2006 - 2019 Copyright by rt-thread team
+msh >
+```
+### 进阶使用
+
+此 BSP 默认只开启了 GPIO 和 串口 3 的功能,更多高级功能需要利用 ENV 工具对 BSP 进行配置,步骤如下:
+
+1. 在 BSP 下打开 env 工具。
+
+2. 输入 `menuconfig` 命令配置工程,配置好之后保存退出。
+
+3. 输入 `pkgs --update` 命令更新软件包。
+
+4. 输入 `scons --target=mdk5/iar` 命令重新生成工程。
+
+本章节更多详细的介绍请参考 [STM32 系列 BSP 外设驱动使用教程](../docs/STM32 系列 BSP 外设驱动使用教程. md)。
+
+## 注意事项
+
+暂无
+
+## 联系人信息
+
+维护人:
+
+- [flybreak](https://github.com/guozhanxin) ,邮箱:<[email protected]> \ No newline at end of file
diff --git a/bsp/stm32/stm32f413-st-nucleo/README.md b/bsp/stm32/stm32f413-st-nucleo/README.md
index e795064dba..332dec7307 100644
--- a/bsp/stm32/stm32f413-st-nucleo/README.md
+++ b/bsp/stm32/stm32f413-st-nucleo/README.md
@@ -1,122 +1,88 @@
-# NUCLEO-F413ZH 开发板 BSP 说明
+# STM32F413-Nucleo BSP Introduction
-## 简介
+[中文](README_zh.md)
-本文档为 RT-Thread 开发团队为 NUCLEO-F413ZH 开发板的 BSP (板级支持包) 说明。
+## MCU: STM32F413ZH @100MHz, 1.5 MB FLASH, 320KB RAM
-主要内容如下:
+The STM32F413xG/H devices are based on the high-performance Arm® Cortex®-M4 32-bit RISC core operating at a frequency of up to 100 MHz. Their Cortex®-M4 core features a Floating point unit (FPU) single precision which supports all Arm single-precision data-processing instructions and data types. It also implements a full set of DSP instructions and a memory protection unit (MPU) which enhances application security.
-- 开发板资源介绍
-- BSP 快速上手
-- 进阶使用方法
+The STM32F413xG/H devices belong to the STM32F4 access product lines (with products combining power efficiency, performance and integration) while adding a new innovative feature called Batch Acquisition Mode (BAM) allowing to save even more power consumption during data batching.
+The STM32F413xG/H devices incorporate high-speed embedded memories (up to 1.5 Mbytes of Flash memory, 320 Kbytes of SRAM), and an extensive range of enhanced I/Os and peripherals connected to two APB buses, three AHB buses and a 32-bit multi-AHB bus matrix.
+All devices offer a 12-bit ADC, two 12-bit DACs, a low-power RTC, twelve general-purpose 16-bit timers including two PWM timer for motor control, two general-purpose 32-bit timers and a low power timer.
+They also feature standard and advanced communication interfaces.
-通过阅读快速上手章节开发者可以快速地上手该 BSP,将 RT-Thread 运行在开发板上。在进阶使用指南章节,将会介绍更多高级功能,帮助开发者利用 RT-Thread 驱动更多板载资源。
+#### KEY FEATURES
-## 开发板介绍
+- Dynamic Efficiency Line with eBAM (enhanced Batch Acquisition Mode)
+ - 1.7 V to 3.6 V power supply
+ - -40 °C to 85/105/125 °C temperature range
+- Core: Arm® 32-bit Cortex®-M4 CPU with FPU, Adaptive real-time accelerator (ART Accelerator™) allowing 0-wait state execution from Flash memory, frequency up to 100 MHz, memory protection unit, 125 DMIPS/ 1.25 DMIPS/MHz (Dhrystone 2.1), and DSP instructions
+- Memories
+ - Up to 1.5 Mbytes of Flash memory
+ - 320 Kbytes of SRAM
+ - Flexible external static memory controller with up to 16-bit data bus: SRAM, PSRAM, NOR Flash memory
+ - Dual mode Quad-SPI interface
+- LCD parallel interface, 8080/6800 modes
+- Clock, reset and supply management
+ - 1.7 to 3.6 V application supply and I/Os
+ - POR, PDR, PVD and BOR
+ - 4-to-26 MHz crystal oscillator
+ - Internal 16 MHz factory-trimmed RC
+ - 32 kHz oscillator for RTC with calibration
+ - Internal 32 kHz RC with calibration
+- Power consumption
+ - Run: 112 μA/MHz (peripheral off)
+ - Stop (Flash in Stop mode, fast wakeup time): 42 μA Typ.; 80 μA max @25 °C
+ - Stop (Flash in Deep power down mode, slow wakeup time): 15 μA Typ.; 46 μA max @25 °C
+ - Standby without RTC: 1.1 μA Typ.; 14.7 μA max at @85 °C
+ - VBAT supply for RTC: 1 μA @25 °C
+- 2x12-bit D/A converters
+- 1×12-bit, 2.4 MSPS ADC: up to 16 channels
+- 6x digital filters for sigma delta modulator, 12x PDM interfaces, with stereo microphone and sound source localization support
+- General-purpose DMA: 16-stream DMA
-探索者 NUCLEO-F413ZH 是意法半导体推出的一款基于 ARM Cortex-M4 内核的开发板,最高主频为 100Mhz,该开发板具有丰富的板载资源,可以充分发挥 NUCLEO-F413ZH 的芯片性能。
+- Up to 18 timers: up to twelve 16-bit timers, two 32-bit timers up to 100 MHz each with up to four IC/OC/PWM or pulse counter and quadrature (incremental) encoder input, two watchdog timers (independent and window), one SysTick timer, and a low-power timer
+- Debug mode
+ - Serial wire debug (SWD) & JTAG
+ - Cortex®-M4 Embedded Trace Macrocell™
+- Up to 114 I/O ports with interrupt capability
+ - Up to 109 fast I/Os up to 100 MHz
+ - Up to 114 five V-tolerant I/Os
+- Up to 24 communication interfaces
+ - Up to 4x I2C interfaces (SMBus/PMBus)
+ - Up to 10 UARTS: 4 USARTs / 6 UARTs (2 x 12.5 Mbit/s, 2 x 6.25 Mbit/s), ISO 7816 interface, LIN, IrDA, modem control)
+ - Up to 5 SPI/I2Ss (up to 50 Mbit/s, SPI or I2S audio protocol), out of which 2 muxed full-duplex I2S interfaces
+ - SDIO interface (SD/MMC/eMMC)
+ - Advanced connectivity: USB 2.0 full-speed device/host/OTG controller with PHY
+ - 3x CAN (2.0B Active)
+ - 1xSAI
+- True random number generator
+- CRC calculation unit
+- 96-bit unique ID
+- RTC: subsecond accuracy, hardware calendar
+- All packages are ECOPACK®2
-开发板外观如下图所示:
-![board](figures/board.png)
-该开发板常用 **板载资源** 如下:
+## Read more
-- MCU:STM32F413ZH,主频 100MHz,1536KB FLASH ,320KB RAM
-- 常用外设
- - LED:8个,user LED (JP5跳帽需连接)(黄色,PB0,LD1;蓝色,PB7,LD2;红色,PB14,LD3), USB communication (LD4), over current (LD5), power LED (黄色,LD6), USB FAULT (LD7), VBUS (LD8)。
- - 按键:2个,B1(USER,PC13),B2(RESET)
-- 常用接口:USB 支持 3 种不同接口:虚拟 COM 端口、大容量存储和调试端口等。
-- 调试接口,板载 ST-LINK/V2-1 调试器。
+| Documents | Description |
+| :----------------------------------------------------------: | :----------------------------------------------------------: |
+| [STM32_Nucleo-144_BSP_Introduction](../docs/STM32_Nucleo-144_BSP_Introduction.md) | How to run RT-Thread on STM32 Nucleo-144 boards (**Must-Read**) |
+| [STM32F413ZH ST Official Website](https://www.st.com/zh/microcontrollers-microprocessors/stm32f413zh.html#documentation) | STM32F413ZH datasheet and other resources |
-开发板更多详细信息请参考意法半导体 [NUCLEO-F413ZH 开发板介绍](https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-mpu-eval-tools/stm32-mcu-mpu-eval-tools/stm32-nucleo-boards/nucleo-f413zh.html)。
-## 外设支持
-本 BSP 目前对外设的支持情况如下:
+## Maintained By
-| **板载外设** | **支持情况** | **备注** |
-| :------------ | :----------: | :-----------------------------------: |
-|STLINK TO USART| 支持 | UART3 |
+[flybreak](https://github.com/guozhanxin) [email protected]
-| **片上外设** | **支持情况** | **备注** |
-| :------------ | :----------: | :-----------------------------------: |
-| GPIO | 支持 | |
-| UART | 支持 | UART2/3 |
-| SPI | 支持 | SPI2 |
-| I2C | 支持 | I2C1(软件模拟) |
-| TIMER | 支持 | TIM11/13/14 |
-| PWM | 支持 | PWM2_CH4 |
-| ADC | 支持 | ADC1_IN5 |
-| RTC | 支持 | 支持外部晶振和内部低速时钟 |
-| WDT | 支持 | 独立看门狗 |
-| Onchip Flash | 支持 | 片上Flash |
-| USB OTG_FS | 支持 | OTGFS as USB device |
-| Onchip Flash | 支持 | 片上Flash |
-| USB Device | 支持 | OTGFS as USB device |
-| RNG | 支持 | Random Number Generator |
-| UDID | 支持 | Unique Device Identifier |
-## 使用说明
-使用说明分为如下两个章节:
+## Translated By
-- 快速上手
+Meco Man @ RT-Thread Community
- 本章节是为刚接触 RT-Thread 的新手准备的使用说明,遵循简单的步骤即可将 RT-Thread 操作系统运行在该开发板上,看到实验效果 。
-
-- 进阶使用
-
- 本章节是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。
-
-
-### 快速上手
-
-本 BSP 为开发者提供 MDK4、MDK5 和 IAR 工程,并且支持 GCC 开发环境。下面以 MDK5 开发环境为例,介绍如何将系统运行起来。
-
-#### 硬件连接
-
-使用 Type-A to Micro-B 线连接开发板和 PC 供电,黄色 LED LD6 (PWR) 和 LD4 (COM) 会点亮。
-
-#### 编译下载
-
-双击 project.uvprojx 文件,打开 MDK5 工程,编译并下载程序到开发板。
-
-> 工程默认配置使用 板载ST-LINK 仿真器下载程序,在通过 Micro USB线 连接开发板的基础上,点击下载按钮即可下载程序到开发板
-
-#### 运行结果
-
-下载程序成功之后,系统会自动运行,在JP5跳帽连接时,观察开发板上LD1的运行效果,黄色LED会周期性闪烁。
-
-连接开发板对应串口到 PC , 在终端工具里打开相应的串口(115200-8-1-N),复位设备后,可以看到 RT-Thread 的输出信息:
-
-```bash
- \ | /
-- RT - Thread Operating System
- / | \ 4.0.3 build Apr 28 2020
- 2006 - 2020 Copyright by rt-thread team
-msh >
-```
-### 进阶使用
-
-此 BSP 默认只开启了 GPIO 和 UART3 的功能,更多高级功能需要利用 ENV 工具对 BSP 进行配置,步骤如下:
-
-1. 在 bsp 下打开 env 工具。
-
-2. 输入`menuconfig`命令配置工程,配置好之后保存退出。
-
-3. 输入`pkgs --update`命令更新软件包。
-
-4. 输入`scons --target=mdk4/mdk5/iar` 命令重新生成工程。
-
-本章节更多详细的介绍请参考 [STM32 系列 BSP 外设驱动使用教程](../docs/STM32系列BSP外设驱动使用教程.md)。
-
-## 注意事项
-
-暂无
-
-## 联系人信息
-
-维护人:
-
-- [flybreak](https://github.com/XYX12306) ,邮箱:<[email protected]> \ No newline at end of file
+>
+> https://github.com/mysterywolf \ No newline at end of file
diff --git a/bsp/stm32/stm32f413-st-nucleo/README_zh.md b/bsp/stm32/stm32f413-st-nucleo/README_zh.md
new file mode 100644
index 0000000000..e795064dba
--- /dev/null
+++ b/bsp/stm32/stm32f413-st-nucleo/README_zh.md
@@ -0,0 +1,122 @@
+# NUCLEO-F413ZH 开发板 BSP 说明
+
+## 简介
+
+本文档为 RT-Thread 开发团队为 NUCLEO-F413ZH 开发板的 BSP (板级支持包) 说明。
+
+主要内容如下:
+
+- 开发板资源介绍
+- BSP 快速上手
+- 进阶使用方法
+
+通过阅读快速上手章节开发者可以快速地上手该 BSP,将 RT-Thread 运行在开发板上。在进阶使用指南章节,将会介绍更多高级功能,帮助开发者利用 RT-Thread 驱动更多板载资源。
+
+## 开发板介绍
+
+探索者 NUCLEO-F413ZH 是意法半导体推出的一款基于 ARM Cortex-M4 内核的开发板,最高主频为 100Mhz,该开发板具有丰富的板载资源,可以充分发挥 NUCLEO-F413ZH 的芯片性能。
+
+开发板外观如下图所示:
+
+![board](figures/board.png)
+
+该开发板常用 **板载资源** 如下:
+
+- MCU:STM32F413ZH,主频 100MHz,1536KB FLASH ,320KB RAM
+- 常用外设
+ - LED:8个,user LED (JP5跳帽需连接)(黄色,PB0,LD1;蓝色,PB7,LD2;红色,PB14,LD3), USB communication (LD4), over current (LD5), power LED (黄色,LD6), USB FAULT (LD7), VBUS (LD8)。
+ - 按键:2个,B1(USER,PC13),B2(RESET)
+- 常用接口:USB 支持 3 种不同接口:虚拟 COM 端口、大容量存储和调试端口等。
+- 调试接口,板载 ST-LINK/V2-1 调试器。
+
+开发板更多详细信息请参考意法半导体 [NUCLEO-F413ZH 开发板介绍](https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-mpu-eval-tools/stm32-mcu-mpu-eval-tools/stm32-nucleo-boards/nucleo-f413zh.html)。
+
+## 外设支持
+
+本 BSP 目前对外设的支持情况如下:
+
+| **板载外设** | **支持情况** | **备注** |
+| :------------ | :----------: | :-----------------------------------: |
+|STLINK TO USART| 支持 | UART3 |
+
+| **片上外设** | **支持情况** | **备注** |
+| :------------ | :----------: | :-----------------------------------: |
+| GPIO | 支持 | |
+| UART | 支持 | UART2/3 |
+| SPI | 支持 | SPI2 |
+| I2C | 支持 | I2C1(软件模拟) |
+| TIMER | 支持 | TIM11/13/14 |
+| PWM | 支持 | PWM2_CH4 |
+| ADC | 支持 | ADC1_IN5 |
+| RTC | 支持 | 支持外部晶振和内部低速时钟 |
+| WDT | 支持 | 独立看门狗 |
+| Onchip Flash | 支持 | 片上Flash |
+| USB OTG_FS | 支持 | OTGFS as USB device |
+| Onchip Flash | 支持 | 片上Flash |
+| USB Device | 支持 | OTGFS as USB device |
+| RNG | 支持 | Random Number Generator |
+| UDID | 支持 | Unique Device Identifier |
+
+## 使用说明
+
+使用说明分为如下两个章节:
+
+- 快速上手
+
+ 本章节是为刚接触 RT-Thread 的新手准备的使用说明,遵循简单的步骤即可将 RT-Thread 操作系统运行在该开发板上,看到实验效果 。
+
+- 进阶使用
+
+ 本章节是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。
+
+
+### 快速上手
+
+本 BSP 为开发者提供 MDK4、MDK5 和 IAR 工程,并且支持 GCC 开发环境。下面以 MDK5 开发环境为例,介绍如何将系统运行起来。
+
+#### 硬件连接
+
+使用 Type-A to Micro-B 线连接开发板和 PC 供电,黄色 LED LD6 (PWR) 和 LD4 (COM) 会点亮。
+
+#### 编译下载
+
+双击 project.uvprojx 文件,打开 MDK5 工程,编译并下载程序到开发板。
+
+> 工程默认配置使用 板载ST-LINK 仿真器下载程序,在通过 Micro USB线 连接开发板的基础上,点击下载按钮即可下载程序到开发板
+
+#### 运行结果
+
+下载程序成功之后,系统会自动运行,在JP5跳帽连接时,观察开发板上LD1的运行效果,黄色LED会周期性闪烁。
+
+连接开发板对应串口到 PC , 在终端工具里打开相应的串口(115200-8-1-N),复位设备后,可以看到 RT-Thread 的输出信息:
+
+```bash
+ \ | /
+- RT - Thread Operating System
+ / | \ 4.0.3 build Apr 28 2020
+ 2006 - 2020 Copyright by rt-thread team
+msh >
+```
+### 进阶使用
+
+此 BSP 默认只开启了 GPIO 和 UART3 的功能,更多高级功能需要利用 ENV 工具对 BSP 进行配置,步骤如下:
+
+1. 在 bsp 下打开 env 工具。
+
+2. 输入`menuconfig`命令配置工程,配置好之后保存退出。
+
+3. 输入`pkgs --update`命令更新软件包。
+
+4. 输入`scons --target=mdk4/mdk5/iar` 命令重新生成工程。
+
+本章节更多详细的介绍请参考 [STM32 系列 BSP 外设驱动使用教程](../docs/STM32系列BSP外设驱动使用教程.md)。
+
+## 注意事项
+
+暂无
+
+## 联系人信息
+
+维护人:
+
+- [flybreak](https://github.com/XYX12306) ,邮箱:<[email protected]> \ No newline at end of file
diff --git a/bsp/stm32/stm32f413-st-nucleo/project.uvgui.19827 b/bsp/stm32/stm32f413-st-nucleo/project.uvgui.19827
deleted file mode 100644
index 14130db322..0000000000
--- a/bsp/stm32/stm32f413-st-nucleo/project.uvgui.19827
+++ /dev/null
@@ -1,1319 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
-<ProjectGui xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_gui.xsd">
-
- <SchemaVersion>-3.1</SchemaVersion>
-
- <Header>### uVision Project, (C) Keil Software</Header>
-
- <ViewPool/>
-
- <SECTreeCtrl>
- <View>
- <WinId>38003</WinId>
- <ViewName>Registers</ViewName>
- <TableColWidths>115 92</TableColWidths>
- </View>
- <View>
- <WinId>346</WinId>
- <ViewName>Code Coverage</ViewName>
- <TableColWidths>725 160</TableColWidths>
- </View>
- <View>
- <WinId>204</WinId>
- <ViewName>Performance Analyzer</ViewName>
- <TableColWidths>885</TableColWidths>
- </View>
- </SECTreeCtrl>
-
- <TreeListPane>
- <View>
- <WinId>1506</WinId>
- <ViewName>Symbols</ViewName>
- <UserString></UserString>
- <TableColWidths>133 133 133</TableColWidths>
- </View>
- <View>
- <WinId>1936</WinId>
- <ViewName>Watch 1</ViewName>
- <UserString></UserString>
- <TableColWidths>133 133 133</TableColWidths>
- </View>
- <View>
- <WinId>1937</WinId>
- <ViewName>Watch 2</ViewName>
- <UserString></UserString>
- <TableColWidths>133 133 133</TableColWidths>
- </View>
- <View>
- <WinId>1935</WinId>
- <ViewName>Call Stack + Locals</ViewName>
- <UserString></UserString>
- <TableColWidths>133 133 133</TableColWidths>
- </View>
- <View>
- <WinId>2506</WinId>
- <ViewName>Trace Data</ViewName>
- <UserString></UserString>
- <TableColWidths>75 135 130 95 70 230 200</TableColWidths>
- </View>
- </TreeListPane>
-
- <WindowSettings>
- <LogicAnalizer>
- <ShowLACursor>1</ShowLACursor>
- <ShowSignalInfo>1</ShowSignalInfo>
- <ShowCycles>0</ShowCycles>
- </LogicAnalizer>
- </WindowSettings>
-
- <WinLayoutEx>
- <sActiveDebugView></sActiveDebugView>
- <WindowPosition>
- <length>44</length>
- <flags>2</flags>
- <showCmd>3</showCmd>
- <MinPosition>
- <xPos>-1</xPos>
- <yPos>-1</yPos>
- </MinPosition>
- <MaxPosition>
- <xPos>-1</xPos>
- <yPos>-1</yPos>
- </MaxPosition>
- <NormalPosition>
- <Top>154</Top>
- <Left>368</Left>
- <Right>1520</Right>
- <Bottom>747</Bottom>
- </NormalPosition>
- </WindowPosition>
- <MDIClientArea>
- <RegID>0</RegID>
- <MDITabState>
- <Len>268</Len>
- <Data>01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000001000000000000000100000048483A5C52542D5468726561645C72742D7468726561645C6273705C73746D33325C73746D3332663431332D73742D6E75636C656F5C6170706C69636174696F6E735C6D61696E2E6300000000066D61696E2E6300000000FFDC7800FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000DD000000660000000006000025030000</Data>
- </MDITabState>
- </MDIClientArea>
- <ViewEx>
- <ViewType>0</ViewType>
- <ViewName>Build</ViewName>
- <Window>
- <RegID>-1</RegID>
- <PaneID>-1</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>DD0000004F000000F0050000EC000000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000000030000BC000000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>1005</RegID>
- <PaneID>1005</PaneID>
- <IsVisible>1</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>0300000066000000D6000000F5020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F000000E100000093020000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>109</RegID>
- <PaneID>109</PaneID>
- <IsVisible>1</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>0300000066000000D6000000F5020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F000000E100000093020000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>1465</RegID>
- <PaneID>1465</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>0000000061020000F0050000FE020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000000030000BC000000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>1466</RegID>
- <PaneID>1466</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>0300000064020000ED050000D1020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000000030000BC000000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>1467</RegID>
- <PaneID>1467</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>0300000064020000ED050000D1020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000000030000BC000000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>1468</RegID>
- <PaneID>1468</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>0000000061020000F0050000EA020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000000030000BC000000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>1506</RegID>
- <PaneID>1506</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>16384</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>6304000066000000ED050000FA000000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000098010000AF010000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>1913</RegID>
- <PaneID>1913</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>DD000000630000005C040000EC000000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000000030000BC000000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>1935</RegID>
- <PaneID>1935</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>32768</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>0300000064020000ED050000E5020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000098010000AF010000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>1936</RegID>
- <PaneID>1936</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>0300000064020000ED050000D1020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000098010000AF010000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>1937</RegID>
- <PaneID>1937</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>0300000064020000ED050000D1020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000098010000AF010000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>1938</RegID>
- <PaneID>1938</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>0300000064020000ED050000D1020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000000030000BC000000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>1939</RegID>
- <PaneID>1939</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>0300000064020000ED050000D1020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000000030000BC000000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>1940</RegID>
- <PaneID>1940</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>0300000064020000ED050000D1020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000000030000BC000000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>1941</RegID>
- <PaneID>1941</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>0300000064020000ED050000D1020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000000030000BC000000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>1942</RegID>
- <PaneID>1942</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>0300000064020000ED050000D1020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000000030000BC000000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>195</RegID>
- <PaneID>195</PaneID>
- <IsVisible>1</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>0300000066000000D6000000F5020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F000000E100000093020000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>196</RegID>
- <PaneID>196</PaneID>
- <IsVisible>1</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>0300000066000000D6000000F5020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F000000E100000093020000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>197</RegID>
- <PaneID>197</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>32768</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>0000000075020000F0050000FE020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000000030000BC000000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>198</RegID>
- <PaneID>198</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>32768</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>000000004D020000F0050000FE020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000000030000BC000000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>199</RegID>
- <PaneID>199</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>0300000078020000ED050000E5020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000000030000BC000000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>203</RegID>
- <PaneID>203</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>8192</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>DD00000063000000F0050000EC000000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000000030000BC000000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>204</RegID>
- <PaneID>204</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>E00000006600000059040000D3000000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000000030000BC000000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>221</RegID>
- <PaneID>221</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>00000000000000000000000000000000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>0A0000000A0000006E0000006E000000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>2506</RegID>
- <PaneID>2506</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>600400004F000000F00500005D020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000098010000AF010000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>2507</RegID>
- <PaneID>2507</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>600400004F000000F00500005D020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000000030000BC000000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>343</RegID>
- <PaneID>343</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>E00000006600000059040000D3000000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000000030000BC000000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>346</RegID>
- <PaneID>346</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>E00000006600000059040000D3000000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000000030000BC000000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>35824</RegID>
- <PaneID>35824</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>E00000006600000059040000D3000000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000000030000BC000000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>35885</RegID>
- <PaneID>35885</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>6304000066000000ED050000E5020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000098010000AF010000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>35886</RegID>
- <PaneID>35886</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>6304000066000000ED050000E5020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000098010000AF010000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>35887</RegID>
- <PaneID>35887</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>6304000066000000ED050000E5020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000098010000AF010000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>35888</RegID>
- <PaneID>35888</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>6304000066000000ED050000E5020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000098010000AF010000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>35889</RegID>
- <PaneID>35889</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>6304000066000000ED050000E5020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000098010000AF010000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>35890</RegID>
- <PaneID>35890</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>6304000066000000ED050000E5020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000098010000AF010000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>35891</RegID>
- <PaneID>35891</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>6304000066000000ED050000E5020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000098010000AF010000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>35892</RegID>
- <PaneID>35892</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>6304000066000000ED050000E5020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000098010000AF010000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>35893</RegID>
- <PaneID>35893</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>6304000066000000ED050000E5020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000098010000AF010000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>35894</RegID>
- <PaneID>35894</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>6304000066000000ED050000E5020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000098010000AF010000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>35895</RegID>
- <PaneID>35895</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>6304000066000000ED050000E5020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000098010000AF010000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>35896</RegID>
- <PaneID>35896</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>6304000066000000ED050000E5020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000098010000AF010000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>35897</RegID>
- <PaneID>35897</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>6304000066000000ED050000E5020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000098010000AF010000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>35898</RegID>
- <PaneID>35898</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>6304000066000000ED050000E5020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000098010000AF010000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>35899</RegID>
- <PaneID>35899</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>6304000066000000ED050000E5020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000098010000AF010000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>35900</RegID>
- <PaneID>35900</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>6304000066000000ED050000E5020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000098010000AF010000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>35901</RegID>
- <PaneID>35901</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>6304000066000000ED050000E5020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000098010000AF010000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>35902</RegID>
- <PaneID>35902</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>6304000066000000ED050000E5020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000098010000AF010000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>35903</RegID>
- <PaneID>35903</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>6304000066000000ED050000E5020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000098010000AF010000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>35904</RegID>
- <PaneID>35904</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>6304000066000000ED050000E5020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000098010000AF010000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>35905</RegID>
- <PaneID>35905</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>6004000063000000F0050000FE020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000098010000AF010000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>38003</RegID>
- <PaneID>38003</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>0300000066000000D6000000E5020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F000000E100000093020000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>38007</RegID>
- <PaneID>38007</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>0000000075020000F0050000FE020000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>080000001F00000000030000BC000000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>59392</RegID>
- <PaneID>59392</PaneID>
- <IsVisible>1</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>8192</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>0000000000000000B70300001C000000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>0A0000000A0000006E0000006E000000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>59393</RegID>
- <PaneID>0</PaneID>
- <IsVisible>1</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>4096</RecentFrameAlignment>
- <RecentRowIndex>0</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>000000000E0300000006000021030000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>0A0000000A0000006E0000006E000000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>59399</RegID>
- <PaneID>59399</PaneID>
- <IsVisible>1</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>8192</RecentFrameAlignment>
- <RecentRowIndex>1</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>000000001C0000009201000038000000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>0A0000000A0000006E0000006E000000</Data>
- </RectRecentFloat>
- </Window>
- <Window>
- <RegID>59400</RegID>
- <PaneID>59400</PaneID>
- <IsVisible>0</IsVisible>
- <IsFloating>0</IsFloating>
- <IsTabbed>0</IsTabbed>
- <IsActivated>0</IsActivated>
- <MRUWidth>32767</MRUWidth>
- <PinState>0</PinState>
- <RecentFrameAlignment>8192</RecentFrameAlignment>
- <RecentRowIndex>2</RecentRowIndex>
- <RectRecentDocked>
- <Len>16</Len>
- <Data>00000000380000006F02000054000000</Data>
- </RectRecentDocked>
- <RectRecentFloat>
- <Len>16</Len>
- <Data>0A0000000A0000006E0000006E000000</Data>
- </RectRecentFloat>
- </Window>
- <DockMan>
- <Len>2649</Len>
- <Data>000000000D000000000000000020000000000000FFFFFFFFFFFFFFFFDD000000EC000000F0050000F0000000000000000100001004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E650020000000000000080000001F00000000030000BC000000DD0000004F000000F0050000EC0000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF5C0400004F00000060040000FE02000000000000020000100400000001000000000000000000000000000000000000000000000001000000FFFFFFFF16000000E20500002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000001800040000000000000080000001F00000098010000AF010000600400004F000000F0050000FE0200000000000040410046160000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000001000000000000000000000001000000FFFFFFFF00000000C400000090010000C80000000000000001000000040000000000000000000000000000000000000001000000CA090000CB09000002000000000000000000000002000000FFFFFFFF6004000057010000F00500005B01000000000000010000000400000000000000000000000000000000000000000000000000000003000000FFFFFFFFE2050000CA090000CB09000001000000CB09000001000000CA09000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFD90000004F000000DD0000000E030000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000080000001F000000E100000093020000000000004F000000D90000000E0300000000000040140056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000049020000F00500004D02000000000000010000100400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0C0000008F07000093070000940700009507000096070000900700009107000092070000B9050000BA050000BB050000BC05000001800040000000000000080000001F00000098010000AF010000000000004D020000F0050000FE02000000000000404100460C0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF1452756E2054696D6520456E7669726F6E6D656E74000000009207000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000003000000000000000000000003000000FFFFFFFFF80200004D020000FC020000FE02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF000000005D020000F005000061020000000000000100001004000000010000000000000000000000FFFFFFFF03000000C5000000C70000007794000001800080000000000000080000001F00000000030000BC0000000000000061020000F0050000FE0200000000000040820046030000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000</Data>
- </DockMan>
- <ToolBar>
- <RegID>59392</RegID>
- <Name>File</Name>
- <Buttons>
- <Len>2251</Len>
- <Data>00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000000000000000000000000000000000000000000010000000100000096000000020020500000000013424154485F54454D505F50524F42455F45525296000000000000000D000E5052455F5357495443485F4552521648454154494E475F54454D505F50524F42455F4552521148454154494E475F54454D505F4F5645521948454154494E475F54454D505F465245455A494E475F50524F0C424154485F54494D454F55540754534B5F4552520746554E5F45525209454D4245525F45525207454C455F4552520E424154485F54454D505F4F56455208464952455F455252043078453013424154485F54454D505F50524F42455F45525200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020000001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F50726F6A6563742057696E646F7773000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000000000000010000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65FF7F0000</Data>
- </Buttons>
- <OriginalItems>
- <Len>1423</Len>
- <Data>2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000</Data>
- </OriginalItems>
- <OrigResetItems>
- <Len>1423</Len>
- <Data>2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000</Data>
- </OrigResetItems>
- </ToolBar>
- <ToolBar>
- <RegID>59399</RegID>
- <Name>Build</Name>
- <Buttons>
- <Len>575</Len>
- <Data>00200000010000000D00FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E00000000000000000000000000000000010000000100000001809E8A0000000004001F0000000000000000000000000000000001000000010000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000972742D746872656164960000000000000001000972742D746872656164000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A0000000004002400000000000000000000000000000000010000000100000000000000054275696C64FF7F0000</Data>
- </Buttons>
- <OriginalItems>
- <Len>478</Len>
- <Data>0D00FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF000100000000000000010000000000000001000000</Data>
- </OriginalItems>
- <OrigResetItems>
- <Len>478</Len>
- <Data>0D00FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A00000000000009000000000000000000000000000000000100000001000000</Data>
- </OrigResetItems>
- </ToolBar>
- <ToolBar>
- <RegID>59400</RegID>
- <Name>Debug</Name>
- <Buttons>
- <Len>2220</Len>
- <Data>00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000002001380D88B000000000000310000000757617463682031000000000000000000000000010000000100000000000000000000000100000000001380D98B0000000000003100000007576174636820320000000000000000000000000100000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000084D656D6F72792031000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000084D656D6F72792032000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000084D656D6F72792033000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000084D656D6F727920340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000755415254202331000000000000000000000000010000000100000000000000000000000100000000001380940700000000000033000000075541525420233200000000000000000000000001000000010000000000000000000000010000000000138095070000000000003300000007554152542023330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000000E49544D2F525441205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380658A000000000000340000000E4C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E00000014506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000D436F646520436F76657261676500000000000000000000000001000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000000000000100000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000138001890000000000003600000007546F6F6C626F7800000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000000000000100000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000000000000100000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F720100000000000000000000000100000001000000000000000000000001000000000000000000054465627567FF7F0000</Data>
- </Buttons>
- <OriginalItems>
- <Len>898</Len>
- <Data>1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000</Data>
- </OriginalItems>
- <OrigResetItems>
- <Len>898</Len>
- <Data>1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000</Data>
- </OrigResetItems>
- </ToolBar>
- <ControlBarsSummary>
- <Bars>0</Bars>
- <ScreenCX>1536</ScreenCX>
- <ScreenCY>864</ScreenCY>
- </ControlBarsSummary>
- </ViewEx>
- </WinLayoutEx>
-
- <AlienFiles/>
-
- <MDIGroups>
- <Orientation>1</Orientation>
- <ActiveMDIGroup>0</ActiveMDIGroup>
- <MDIGroup>
- <Size>100</Size>
- <ActiveTab>0</ActiveTab>
- <Doc>
- <Name>applications\main.c</Name>
- <ColumnNumber>0</ColumnNumber>
- <TopLine>1</TopLine>
- <CurrentLine>1</CurrentLine>
- <Folding>1</Folding>
- <ContractedFolders></ContractedFolders>
- </Doc>
- </MDIGroup>
- </MDIGroups>
-
-</ProjectGui>
diff --git a/bsp/stm32/stm32f429-st-disco/.config b/bsp/stm32/stm32f429-st-disco/.config
index d2e8ecd259..5dfe532571 100644
--- a/bsp/stm32/stm32f429-st-disco/.config
+++ b/bsp/stm32/stm32f429-st-disco/.config
@@ -135,6 +135,7 @@ CONFIG_RT_USING_I2C=y
# CONFIG_RT_I2C_DEBUG is not set
CONFIG_RT_USING_I2C_BITOPS=y
# CONFIG_RT_I2C_BITOPS_DEBUG is not set
+# CONFIG_RT_USING_PHY is not set
CONFIG_RT_USING_PIN=y
# CONFIG_RT_USING_ADC is not set
# CONFIG_RT_USING_DAC is not set
@@ -145,6 +146,11 @@ CONFIG_RT_USING_PIN=y
# CONFIG_RT_USING_RTC is not set
# CONFIG_RT_USING_SDIO is not set
CONFIG_RT_USING_SPI=y
+# CONFIG_RT_USING_QSPI is not set
+# CONFIG_RT_USING_SPI_MSD is not set
+# CONFIG_RT_USING_SFUD is not set
+# CONFIG_RT_USING_ENC28J60 is not set
+# CONFIG_RT_USING_SPI_WIFI is not set
# CONFIG_RT_USING_WDT is not set
# CONFIG_RT_USING_AUDIO is not set
# CONFIG_RT_USING_SENSOR is not set
@@ -164,11 +170,11 @@ CONFIG_RT_USING_SPI=y
# POSIX layer and C standard library
#
CONFIG_RT_USING_LIBC=y
-CONFIG_RT_USING_PTHREADS=y
-CONFIG_PTHREAD_NUM_MAX=8
+# CONFIG_RT_USING_PTHREADS is not set
CONFIG_RT_USING_POSIX=y
# CONFIG_RT_USING_POSIX_MMAP is not set
# CONFIG_RT_USING_POSIX_TERMIOS is not set
+# CONFIG_RT_USING_POSIX_GETLINE is not set
# CONFIG_RT_USING_POSIX_AIO is not set
# CONFIG_RT_USING_MODULE is not set
@@ -287,6 +293,9 @@ CONFIG_RT_USING_POSIX=y
# CONFIG_PKG_USING_RT_CJSON_TOOLS is not set
# CONFIG_PKG_USING_AGILE_TELNET is not set
# CONFIG_PKG_USING_NMEALIB is not set
+# CONFIG_PKG_USING_AGILE_JSMN is not set
+# CONFIG_PKG_USING_PDULIB is not set
+# CONFIG_PKG_USING_BTSTACK is not set
#
# security packages
@@ -312,6 +321,7 @@ CONFIG_RT_USING_POSIX=y
# CONFIG_PKG_USING_STEMWIN is not set
# CONFIG_PKG_USING_WAVPLAYER is not set
# CONFIG_PKG_USING_TJPGD is not set
+# CONFIG_PKG_USING_HELIX is not set
#
# tools packages
@@ -332,6 +342,7 @@ CONFIG_RT_USING_POSIX=y
# CONFIG_PKG_USING_BS8116A is not set
# CONFIG_PKG_USING_GPS_RMC is not set
# CONFIG_PKG_USING_URLENCODE is not set
+# CONFIG_PKG_USING_UMCN is not set
#
# system packages
@@ -359,6 +370,8 @@ CONFIG_RT_USING_POSIX=y
# CONFIG_PKG_USING_RAMDISK is not set
# CONFIG_PKG_USING_MININI is not set
# CONFIG_PKG_USING_QBOOT is not set
+# CONFIG_PKG_USING_UCOSIII_WRAPPER is not set
+# CONFIG_PKG_USING_PPOOL is not set
#
# peripheral libraries and drivers
@@ -409,6 +422,10 @@ CONFIG_RT_USING_POSIX=y
# CONFIG_PKG_USING_QLED is not set
# CONFIG_PKG_USING_PAJ7620 is not set
# CONFIG_PKG_USING_AGILE_CONSOLE is not set
+# CONFIG_PKG_USING_LD3320 is not set
+# CONFIG_PKG_USING_WK2124 is not set
+# CONFIG_PKG_USING_LY68L6400 is not set
+# CONFIG_PKG_USING_DM9051 is not set
#
# miscellaneous packages
@@ -446,39 +463,10 @@ CONFIG_RT_USING_POSIX=y
# CONFIG_PKG_USING_ULAPACK is not set
# CONFIG_PKG_USING_UKAL is not set
# CONFIG_PKG_USING_CRCLIB is not set
-
-#
-# Privated Packages of RealThread
-#
-# CONFIG_PKG_USING_CODEC is not set
-# CONFIG_PKG_USING_PLAYER is not set
-# CONFIG_PKG_USING_MPLAYER is not set
-# CONFIG_PKG_USING_PERSIMMON_SRC is not set
-# CONFIG_PKG_USING_JS_PERSIMMON is not set
-# CONFIG_PKG_USING_JERRYSCRIPT_WIN32 is not set
-
-#
-# Network Utilities
-#
-# CONFIG_PKG_USING_WICED is not set
-# CONFIG_PKG_USING_CLOUDSDK is not set
-# CONFIG_PKG_USING_POWER_MANAGER is not set
-# CONFIG_PKG_USING_RT_OTA is not set
-# CONFIG_PKG_USING_RDBD_SRC is not set
-# CONFIG_PKG_USING_RTINSIGHT is not set
-# CONFIG_PKG_USING_SMARTCONFIG is not set
-# CONFIG_PKG_USING_RTX is not set
-# CONFIG_RT_USING_TESTCASE is not set
-# CONFIG_PKG_USING_NGHTTP2 is not set
-# CONFIG_PKG_USING_AVS is not set
-# CONFIG_PKG_USING_ALI_LINKKIT is not set
-# CONFIG_PKG_USING_STS is not set
-# CONFIG_PKG_USING_DLMS is not set
-# CONFIG_PKG_USING_AUDIO_FRAMEWORK is not set
-# CONFIG_PKG_USING_ZBAR is not set
-# CONFIG_PKG_USING_MCF is not set
-# CONFIG_PKG_USING_URPC is not set
-# CONFIG_PKG_USING_BSAL is not set
+# CONFIG_PKG_USING_THREES is not set
+# CONFIG_PKG_USING_2048 is not set
+# CONFIG_PKG_USING_LWGPS is not set
+# CONFIG_PKG_USING_TENSORFLOWLITEMICRO is not set
CONFIG_SOC_FAMILY_STM32=y
CONFIG_SOC_SERIES_STM32F4=y
diff --git a/bsp/stm32/stm32f429-st-disco/board/linker_scripts/link.icf b/bsp/stm32/stm32f429-st-disco/board/linker_scripts/link.icf
index 9da4173925..ecb5fbac1f 100644
--- a/bsp/stm32/stm32f429-st-disco/board/linker_scripts/link.icf
+++ b/bsp/stm32/stm32f429-st-disco/board/linker_scripts/link.icf
@@ -5,7 +5,7 @@
define symbol __ICFEDIT_intvec_start__ = 0x08000000;
/*-Memory Regions-*/
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000;
-define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF;
+define symbol __ICFEDIT_region_ROM_end__ = 0x081FFFFF;
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF;
/*-Sizes-*/
diff --git a/bsp/stm32/stm32f429-st-disco/board/linker_scripts/link.lds b/bsp/stm32/stm32f429-st-disco/board/linker_scripts/link.lds
index 040fdd37b0..54de8e1a68 100644
--- a/bsp/stm32/stm32f429-st-disco/board/linker_scripts/link.lds
+++ b/bsp/stm32/stm32f429-st-disco/board/linker_scripts/link.lds
@@ -1,5 +1,5 @@
/*
- * linker script for STM32F4xx with GNU ld
+ * linker script for STM32F429xx with GNU ld
* bernard.xiong 2009-10-14
*/
@@ -7,7 +7,7 @@
MEMORY
{
ROM (rx) : ORIGIN = 0x08000000, LENGTH = 2048k /* 2048KB flash */
- RAM (rw) : ORIGIN = 0x20000000, LENGTH = 320k /* 320K sram */
+ RAM (rw) : ORIGIN = 0x20000000, LENGTH = 192k /* 192K sram */
}
ENTRY(Reset_Handler)
_system_stack_size = 0x200;
diff --git a/bsp/stm32/stm32f429-st-disco/board/linker_scripts/link.sct b/bsp/stm32/stm32f429-st-disco/board/linker_scripts/link.sct
index 0d7c47992d..2407164991 100644
--- a/bsp/stm32/stm32f429-st-disco/board/linker_scripts/link.sct
+++ b/bsp/stm32/stm32f429-st-disco/board/linker_scripts/link.sct
@@ -2,13 +2,13 @@
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
-LR_IROM1 0x08000000 0x00100000 { ; load region size_region
- ER_IROM1 0x08000000 0x00100000 { ; load address = execution address
+LR_IROM1 0x08000000 0x00200000 { ; load region size_region
+ ER_IROM1 0x08000000 0x00200000 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
}
- RW_IRAM1 0x20000000 0x00020000 { ; RW data
+ RW_IRAM1 0x20000000 0x00030000 { ; RW data
.ANY (+RW +ZI)
}
}
diff --git a/bsp/stm32/stm32f429-st-disco/project.uvoptx b/bsp/stm32/stm32f429-st-disco/project.uvoptx
index d3767bff36..ed66375428 100644
--- a/bsp/stm32/stm32f429-st-disco/project.uvoptx
+++ b/bsp/stm32/stm32f429-st-disco/project.uvoptx
@@ -182,11 +182,1167 @@
</Target>
<Group>
- <GroupName>Source Group 1</GroupName>
+ <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\main.c</PathWithFileName>
+ <FilenameWithoutPath>main.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\lcd_init.c</PathWithFileName>
+ <FilenameWithoutPath>lcd_init.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>cpu</GroupName>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <RteFlg>0</RteFlg>
+ <File>
+ <GroupNumber>2</GroupNumber>
+ <FileNumber>3</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>2</GroupNumber>
+ <FileNumber>4</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>2</GroupNumber>
+ <FileNumber>5</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>
+ <File>
+ <GroupNumber>2</GroupNumber>
+ <FileNumber>6</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\..\libcpu\arm\cortex-m4\cpuport.c</PathWithFileName>
+ <FilenameWithoutPath>cpuport.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>2</GroupNumber>
+ <FileNumber>7</FileNumber>
+ <FileType>2</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\..\libcpu\arm\cortex-m4\context_rvds.S</PathWithFileName>
+ <FilenameWithoutPath>context_rvds.S</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>3</GroupNumber>
+ <FileNumber>8</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\..\components\drivers\i2c\i2c_core.c</PathWithFileName>
+ <FilenameWithoutPath>i2c_core.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>9</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\..\components\drivers\i2c\i2c_dev.c</PathWithFileName>
+ <FilenameWithoutPath>i2c_dev.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>10</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\..\components\drivers\i2c\i2c-bit-ops.c</PathWithFileName>
+ <FilenameWithoutPath>i2c-bit-ops.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>11</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\..\components\drivers\misc\pin.c</PathWithFileName>
+ <FilenameWithoutPath>pin.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>12</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>3</GroupNumber>
+ <FileNumber>13</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\..\components\drivers\spi\spi_core.c</PathWithFileName>
+ <FilenameWithoutPath>spi_core.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>..\..\..\components\drivers\spi\spi_dev.c</PathWithFileName>
+ <FilenameWithoutPath>spi_dev.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>..\..\..\components\drivers\src\completion.c</PathWithFileName>
+ <FilenameWithoutPath>completion.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>..\..\..\components\drivers\src\dataqueue.c</PathWithFileName>
+ <FilenameWithoutPath>dataqueue.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>..\..\..\components\drivers\src\pipe.c</PathWithFileName>
+ <FilenameWithoutPath>pipe.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>..\..\..\components\drivers\src\ringblk_buf.c</PathWithFileName>
+ <FilenameWithoutPath>ringblk_buf.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>..\..\..\components\drivers\src\ringbuffer.c</PathWithFileName>
+ <FilenameWithoutPath>ringbuffer.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>..\..\..\components\drivers\src\waitqueue.c</PathWithFileName>
+ <FilenameWithoutPath>waitqueue.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>..\..\..\components\drivers\src\workqueue.c</PathWithFileName>
+ <FilenameWithoutPath>workqueue.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>4</GroupNumber>
+ <FileNumber>22</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>board\board.c</PathWithFileName>
+ <FilenameWithoutPath>board.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>4</GroupNumber>
+ <FileNumber>23</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>board\CubeMX_Config\Src\stm32f4xx_hal_msp.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f4xx_hal_msp.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>4</GroupNumber>
+ <FileNumber>24</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>board\ports\ili9341.c</PathWithFileName>
+ <FilenameWithoutPath>ili9341.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>4</GroupNumber>
+ <FileNumber>25</FileNumber>
+ <FileType>2</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\libraries\STM32F4xx_HAL\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f429xx.s</PathWithFileName>
+ <FilenameWithoutPath>startup_stm32f429xx.s</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>4</GroupNumber>
+ <FileNumber>26</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\libraries\HAL_Drivers\drv_gpio.c</PathWithFileName>
+ <FilenameWithoutPath>drv_gpio.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>4</GroupNumber>
+ <FileNumber>27</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\libraries\HAL_Drivers\drv_usart.c</PathWithFileName>
+ <FilenameWithoutPath>drv_usart.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>4</GroupNumber>
+ <FileNumber>28</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\libraries\HAL_Drivers\drv_spi.c</PathWithFileName>
+ <FilenameWithoutPath>drv_spi.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>4</GroupNumber>
+ <FileNumber>29</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\libraries\HAL_Drivers\drv_sdram.c</PathWithFileName>
+ <FilenameWithoutPath>drv_sdram.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>4</GroupNumber>
+ <FileNumber>30</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\libraries\HAL_Drivers\drv_lcd.c</PathWithFileName>
+ <FilenameWithoutPath>drv_lcd.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>4</GroupNumber>
+ <FileNumber>31</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\libraries\HAL_Drivers\drv_common.c</PathWithFileName>
+ <FilenameWithoutPath>drv_common.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>5</GroupNumber>
+ <FileNumber>32</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>5</GroupNumber>
+ <FileNumber>33</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>5</GroupNumber>
+ <FileNumber>34</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>5</GroupNumber>
+ <FileNumber>35</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>5</GroupNumber>
+ <FileNumber>36</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\..\components\dfs\src\poll.c</PathWithFileName>
+ <FilenameWithoutPath>poll.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>5</GroupNumber>
+ <FileNumber>37</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\..\components\dfs\src\select.c</PathWithFileName>
+ <FilenameWithoutPath>select.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>5</GroupNumber>
+ <FileNumber>38</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>
+ </Group>
+
+ <Group>
+ <GroupName>finsh</GroupName>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <RteFlg>0</RteFlg>
+ <File>
+ <GroupNumber>6</GroupNumber>
+ <FileNumber>39</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>6</GroupNumber>
+ <FileNumber>40</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>6</GroupNumber>
+ <FileNumber>41</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>6</GroupNumber>
+ <FileNumber>42</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>
+ </Group>
+
+ <Group>
+ <GroupName>Kernel</GroupName>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <RteFlg>0</RteFlg>
+ <File>
+ <GroupNumber>7</GroupNumber>
+ <FileNumber>43</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>7</GroupNumber>
+ <FileNumber>44</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>7</GroupNumber>
+ <FileNumber>45</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>7</GroupNumber>
+ <FileNumber>46</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>7</GroupNumber>
+ <FileNumber>47</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>7</GroupNumber>
+ <FileNumber>48</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>7</GroupNumber>
+ <FileNumber>49</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>7</GroupNumber>
+ <FileNumber>50</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>7</GroupNumber>
+ <FileNumber>51</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\..\src\mempool.c</PathWithFileName>
+ <FilenameWithoutPath>mempool.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>7</GroupNumber>
+ <FileNumber>52</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>7</GroupNumber>
+ <FileNumber>53</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>7</GroupNumber>
+ <FileNumber>54</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>7</GroupNumber>
+ <FileNumber>55</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>7</GroupNumber>
+ <FileNumber>56</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>libc</GroupName>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <RteFlg>0</RteFlg>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>57</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>8</GroupNumber>
+ <FileNumber>58</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>8</GroupNumber>
+ <FileNumber>59</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>8</GroupNumber>
+ <FileNumber>60</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>8</GroupNumber>
+ <FileNumber>61</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\..\components\libc\compilers\common\time.c</PathWithFileName>
+ <FilenameWithoutPath>time.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>62</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\..\components\libc\compilers\common\unistd.c</PathWithFileName>
+ <FilenameWithoutPath>unistd.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>STM32_HAL</GroupName>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <RteFlg>0</RteFlg>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>63</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\libraries\STM32F4xx_HAL\CMSIS\Device\ST\STM32F4xx\Source\Templates\system_stm32f4xx.c</PathWithFileName>
+ <FilenameWithoutPath>system_stm32f4xx.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>64</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f4xx_hal.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>65</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_cec.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f4xx_hal_cec.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>66</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_cortex.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f4xx_hal_cortex.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>67</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_crc.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f4xx_hal_crc.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>68</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_cryp.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f4xx_hal_cryp.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>69</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_cryp_ex.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f4xx_hal_cryp_ex.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>70</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f4xx_hal_dma.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>71</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma_ex.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f4xx_hal_dma_ex.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>72</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pwr.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f4xx_hal_pwr.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>73</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pwr_ex.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f4xx_hal_pwr_ex.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>74</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rcc.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f4xx_hal_rcc.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>75</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rcc_ex.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f4xx_hal_rcc_ex.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>76</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rng.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f4xx_hal_rng.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>77</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_gpio.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f4xx_hal_gpio.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>78</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_uart.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f4xx_hal_uart.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>79</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_usart.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f4xx_hal_usart.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>80</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2c.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f4xx_hal_i2c.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>81</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2c_ex.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f4xx_hal_i2c_ex.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>82</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_spi.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f4xx_hal_spi.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>83</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_qspi.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f4xx_hal_qspi.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>84</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_fmc.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f4xx_ll_fmc.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>85</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_fsmc.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f4xx_ll_fsmc.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>86</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_sdram.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f4xx_hal_sdram.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>87</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_ltdc.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f4xx_hal_ltdc.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>88</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_ltdc_ex.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f4xx_hal_ltdc_ex.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>89</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma2d.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f4xx_hal_dma2d.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>90</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_dma2d.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f4xx_ll_dma2d.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>91</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dsi.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f4xx_hal_dsi.c</FilenameWithoutPath>
+ <RteFlg>0</RteFlg>
+ <bShared>0</bShared>
+ </File>
</Group>
</ProjectOpt>
diff --git a/bsp/stm32/stm32f429-st-disco/project.uvproj b/bsp/stm32/stm32f429-st-disco/project.uvproj
index 8c5357c3c4..975e8ee431 100644
--- a/bsp/stm32/stm32f429-st-disco/project.uvproj
+++ b/bsp/stm32/stm32f429-st-disco/project.uvproj
@@ -357,9 +357,9 @@
<useXO>0</useXO>
<VariousControls>
<MiscControls />
- <Define>USE_HAL_DRIVER, RT_USING_ARM_LIBC, STM32F429xx</Define>
+ <Define>USE_HAL_DRIVER, RT_USING_ARM_LIBC, __RTTHREAD__, STM32F429xx</Define>
<Undefine />
- <IncludePath>.;..\..\include;applications;.;drivers;Libraries\STM32F4xx_HAL_Driver\Inc;Libraries\CMSIS\Device\ST\STM32F4xx\Include;Libraries\CMSIS\Include;..\..\libcpu\arm\common;..\..\libcpu\arm\cortex-m4;..\..\components\dfs\include;..\..\components\dfs\filesystems\devfs;..\..\components\drivers\include;..\..\components\drivers\include;..\..\components\drivers\include;..\..\components\drivers\include;..\..\components\finsh;..\..\components\libc\compilers\armlibc;..\..\components\libc\compilers\common</IncludePath>
+ <IncludePath>applications;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\spi;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board;board\CubeMX_Config\Inc;board\ports;..\libraries\HAL_Drivers;..\libraries\HAL_Drivers\config;..\..\..\components\dfs\include;..\..\..\components\dfs\filesystems\devfs;..\..\..\components\finsh;.;..\..\..\include;..\..\..\components\libc\compilers\armlibc;..\..\..\components\libc\compilers\common;..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Inc;..\libraries\STM32F4xx_HAL\CMSIS\Device\ST\STM32F4xx\Include;..\libraries\STM32F4xx_HAL\CMSIS\Include</IncludePath>
</VariousControls>
</Cads>
<Aads>
@@ -400,988 +400,678 @@
</TargetOption>
<Groups>
<Group>
- <GroupName>Kernel</GroupName>
- <Files>
- <File>
- <FileName>clock.c</FileName>
- <FileType>1</FileType>
- <FilePath>..\..\src\clock.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>components.c</FileName>
- <FileType>1</FileType>
- <FilePath>..\..\src\components.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>cpu.c</FileName>
- <FileType>1</FileType>
- <FilePath>..\..\src\cpu.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>device.c</FileName>
- <FileType>1</FileType>
- <FilePath>..\..\src\device.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>idle.c</FileName>
- <FileType>1</FileType>
- <FilePath>..\..\src\idle.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>ipc.c</FileName>
- <FileType>1</FileType>
- <FilePath>..\..\src\ipc.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>irq.c</FileName>
- <FileType>1</FileType>
- <FilePath>..\..\src\irq.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>kservice.c</FileName>
- <FileType>1</FileType>
- <FilePath>..\..\src\kservice.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>mem.c</FileName>
- <FileType>1</FileType>
- <FilePath>..\..\src\mem.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>memheap.c</FileName>
- <FileType>1</FileType>
- <FilePath>..\..\src\memheap.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>mempool.c</FileName>
- <FileType>1</FileType>
- <FilePath>..\..\src\mempool.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>object.c</FileName>
- <FileType>1</FileType>
- <FilePath>..\..\src\object.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>scheduler.c</FileName>
- <FileType>1</FileType>
- <FilePath>..\..\src\scheduler.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>signal.c</FileName>
- <FileType>1</FileType>
- <FilePath>..\..\src\signal.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>thread.c</FileName>
- <FileType>1</FileType>
- <FilePath>..\..\src\thread.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>timer.c</FileName>
- <FileType>1</FileType>
- <FilePath>..\..\src\timer.c</FilePath>
- </File>
- </Files>
- </Group>
- <Group>
<GroupName>Applications</GroupName>
<Files>
<File>
- <FileName>application.c</FileName>
+ <FileName>main.c</FileName>
<FileType>1</FileType>
- <FilePath>applications\application.c</FilePath>
+ <FilePath>applications\main.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>startup.c</FileName>
+ <FileName>lcd_init.c</FileName>
<FileType>1</FileType>
- <FilePath>applications\startup.c</FilePath>
+ <FilePath>applications\lcd_init.c</FilePath>
</File>
</Files>
</Group>
<Group>
- <GroupName>Drivers</GroupName>
- <Files>
- <File>
- <FileName>board.c</FileName>
- <FileType>1</FileType>
- <FilePath>drivers\board.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>stm32f4xx_it.c</FileName>
- <FileType>1</FileType>
- <FilePath>drivers\stm32f4xx_it.c</FilePath>
- </File>
- </Files>
+ <GroupName>cpu</GroupName>
<Files>
<File>
- <FileName>usart.c</FileName>
+ <FileName>backtrace.c</FileName>
<FileType>1</FileType>
- <FilePath>drivers\usart.c</FilePath>
+ <FilePath>..\..\..\libcpu\arm\common\backtrace.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>drv_sdram.c</FileName>
+ <FileName>div0.c</FileName>
<FileType>1</FileType>
- <FilePath>drivers\drv_sdram.c</FilePath>
+ <FilePath>..\..\..\libcpu\arm\common\div0.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>drv_i2c.c</FileName>
+ <FileName>showmem.c</FileName>
<FileType>1</FileType>
- <FilePath>drivers\drv_i2c.c</FilePath>
+ <FilePath>..\..\..\libcpu\arm\common\showmem.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>drv_lcd.c</FileName>
+ <FileName>cpuport.c</FileName>
<FileType>1</FileType>
- <FilePath>drivers\drv_lcd.c</FilePath>
+ <FilePath>..\..\..\libcpu\arm\cortex-m4\cpuport.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>drv_touch.c</FileName>
- <FileType>1</FileType>
- <FilePath>drivers\drv_touch.c</FilePath>
+ <FileName>context_rvds.S</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\libcpu\arm\cortex-m4\context_rvds.S</FilePath>
</File>
</Files>
</Group>
<Group>
- <GroupName>STM32_HAL</GroupName>
- <Files>
- <File>
- <FileName>system_stm32f4xx.c</FileName>
- <FileType>1</FileType>
- <FilePath>Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates\system_stm32f4xx.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>stm32f4xx_hal.c</FileName>
- <FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>stm32f4xx_hal_adc.c</FileName>
- <FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_adc.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>stm32f4xx_hal_adc_ex.c</FileName>
- <FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_adc_ex.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>stm32f4xx_hal_can.c</FileName>
- <FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_can.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>stm32f4xx_hal_cec.c</FileName>
- <FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_cec.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>stm32f4xx_hal_cortex.c</FileName>
- <FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_cortex.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>stm32f4xx_hal_crc.c</FileName>
- <FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_crc.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>stm32f4xx_hal_cryp.c</FileName>
- <FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_cryp.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>stm32f4xx_hal_cryp_ex.c</FileName>
- <FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_cryp_ex.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>stm32f4xx_hal_dac.c</FileName>
- <FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dac.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>stm32f4xx_hal_dac_ex.c</FileName>
- <FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dac_ex.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>stm32f4xx_hal_dcmi.c</FileName>
- <FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dcmi.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>stm32f4xx_hal_dcmi_ex.c</FileName>
- <FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dcmi_ex.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>stm32f4xx_hal_dfsdm.c</FileName>
- <FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dfsdm.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>stm32f4xx_hal_dma.c</FileName>
- <FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>stm32f4xx_hal_dma2d.c</FileName>
- <FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma2d.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>stm32f4xx_hal_dma_ex.c</FileName>
- <FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma_ex.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>stm32f4xx_hal_dsi.c</FileName>
- <FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dsi.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>stm32f4xx_hal_eth.c</FileName>
- <FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_eth.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>stm32f4xx_hal_flash.c</FileName>
- <FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>stm32f4xx_hal_flash_ex.c</FileName>
- <FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash_ex.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>stm32f4xx_hal_flash_ramfunc.c</FileName>
- <FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_flash_ramfunc.c</FilePath>
- </File>
- </Files>
+ <GroupName>DeviceDrivers</GroupName>
<Files>
<File>
- <FileName>stm32f4xx_hal_fmpi2c.c</FileName>
+ <FileName>i2c_core.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_fmpi2c.c</FilePath>
+ <FilePath>..\..\..\components\drivers\i2c\i2c_core.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_hal_fmpi2c_ex.c</FileName>
+ <FileName>i2c_dev.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_fmpi2c_ex.c</FilePath>
+ <FilePath>..\..\..\components\drivers\i2c\i2c_dev.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_hal_gpio.c</FileName>
+ <FileName>i2c-bit-ops.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_gpio.c</FilePath>
+ <FilePath>..\..\..\components\drivers\i2c\i2c-bit-ops.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_hal_hash.c</FileName>
+ <FileName>pin.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_hash.c</FilePath>
+ <FilePath>..\..\..\components\drivers\misc\pin.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_hal_hash_ex.c</FileName>
+ <FileName>serial.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_hash_ex.c</FilePath>
+ <FilePath>..\..\..\components\drivers\serial\serial.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_hal_hcd.c</FileName>
+ <FileName>spi_core.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_hcd.c</FilePath>
+ <FilePath>..\..\..\components\drivers\spi\spi_core.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_hal_i2c.c</FileName>
+ <FileName>spi_dev.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2c.c</FilePath>
+ <FilePath>..\..\..\components\drivers\spi\spi_dev.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_hal_i2c_ex.c</FileName>
+ <FileName>completion.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2c_ex.c</FilePath>
+ <FilePath>..\..\..\components\drivers\src\completion.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_hal_i2s.c</FileName>
+ <FileName>dataqueue.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2s.c</FilePath>
+ <FilePath>..\..\..\components\drivers\src\dataqueue.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_hal_i2s_ex.c</FileName>
+ <FileName>pipe.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2s_ex.c</FilePath>
+ <FilePath>..\..\..\components\drivers\src\pipe.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_hal_irda.c</FileName>
+ <FileName>ringblk_buf.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_irda.c</FilePath>
+ <FilePath>..\..\..\components\drivers\src\ringblk_buf.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_hal_iwdg.c</FileName>
+ <FileName>ringbuffer.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_iwdg.c</FilePath>
+ <FilePath>..\..\..\components\drivers\src\ringbuffer.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_hal_lptim.c</FileName>
+ <FileName>waitqueue.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_lptim.c</FilePath>
+ <FilePath>..\..\..\components\drivers\src\waitqueue.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_hal_ltdc.c</FileName>
+ <FileName>workqueue.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_ltdc.c</FilePath>
+ <FilePath>..\..\..\components\drivers\src\workqueue.c</FilePath>
</File>
</Files>
+ <GroupOption>
+ <GroupArmAds>
+ <Cads>
+ <VariousControls>
+ <MiscControls />
+ <Define> </Define>
+ <Undefine> </Undefine>
+ <IncludePath> </IncludePath>
+ </VariousControls>
+ </Cads>
+ </GroupArmAds>
+ </GroupOption>
+ </Group>
+ <Group>
+ <GroupName>Drivers</GroupName>
<Files>
<File>
- <FileName>stm32f4xx_hal_ltdc_ex.c</FileName>
+ <FileName>board.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_ltdc_ex.c</FilePath>
+ <FilePath>board\board.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_hal_nand.c</FileName>
+ <FileName>stm32f4xx_hal_msp.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_nand.c</FilePath>
+ <FilePath>board\CubeMX_Config\Src\stm32f4xx_hal_msp.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_hal_nor.c</FileName>
+ <FileName>ili9341.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_nor.c</FilePath>
+ <FilePath>board\ports\ili9341.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_hal_pccard.c</FileName>
- <FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pccard.c</FilePath>
+ <FileName>startup_stm32f429xx.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\libraries\STM32F4xx_HAL\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f429xx.s</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_hal_pcd.c</FileName>
+ <FileName>drv_gpio.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pcd.c</FilePath>
+ <FilePath>..\libraries\HAL_Drivers\drv_gpio.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_hal_pcd_ex.c</FileName>
+ <FileName>drv_usart.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pcd_ex.c</FilePath>
+ <FilePath>..\libraries\HAL_Drivers\drv_usart.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_hal_pwr.c</FileName>
+ <FileName>drv_spi.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pwr.c</FilePath>
+ <FilePath>..\libraries\HAL_Drivers\drv_spi.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_hal_pwr_ex.c</FileName>
+ <FileName>drv_sdram.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pwr_ex.c</FilePath>
+ <FilePath>..\libraries\HAL_Drivers\drv_sdram.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_hal_qspi.c</FileName>
+ <FileName>drv_lcd.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_qspi.c</FilePath>
+ <FilePath>..\libraries\HAL_Drivers\drv_lcd.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_hal_rcc.c</FileName>
+ <FileName>drv_common.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rcc.c</FilePath>
+ <FilePath>..\libraries\HAL_Drivers\drv_common.c</FilePath>
</File>
</Files>
+ </Group>
+ <Group>
+ <GroupName>Filesystem</GroupName>
<Files>
<File>
- <FileName>stm32f4xx_hal_rcc_ex.c</FileName>
+ <FileName>dfs.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rcc_ex.c</FilePath>
+ <FilePath>..\..\..\components\dfs\src\dfs.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_hal_rng.c</FileName>
+ <FileName>dfs_file.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rng.c</FilePath>
+ <FilePath>..\..\..\components\dfs\src\dfs_file.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_hal_rtc.c</FileName>
+ <FileName>dfs_fs.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rtc.c</FilePath>
+ <FilePath>..\..\..\components\dfs\src\dfs_fs.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_hal_rtc_ex.c</FileName>
+ <FileName>dfs_posix.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rtc_ex.c</FilePath>
+ <FilePath>..\..\..\components\dfs\src\dfs_posix.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_hal_sai.c</FileName>
+ <FileName>poll.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_sai.c</FilePath>
+ <FilePath>..\..\..\components\dfs\src\poll.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_hal_sai_ex.c</FileName>
+ <FileName>select.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_sai_ex.c</FilePath>
+ <FilePath>..\..\..\components\dfs\src\select.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_hal_sd.c</FileName>
+ <FileName>devfs.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_sd.c</FilePath>
+ <FilePath>..\..\..\components\dfs\filesystems\devfs\devfs.c</FilePath>
</File>
</Files>
+ </Group>
+ <Group>
+ <GroupName>finsh</GroupName>
<Files>
<File>
- <FileName>stm32f4xx_hal_sdram.c</FileName>
+ <FileName>shell.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_sdram.c</FilePath>
+ <FilePath>..\..\..\components\finsh\shell.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_hal_smartcard.c</FileName>
+ <FileName>cmd.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_smartcard.c</FilePath>
+ <FilePath>..\..\..\components\finsh\cmd.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_hal_spdifrx.c</FileName>
+ <FileName>msh.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_spdifrx.c</FilePath>
+ <FilePath>..\..\..\components\finsh\msh.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_hal_spi.c</FileName>
+ <FileName>msh_file.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_spi.c</FilePath>
+ <FilePath>..\..\..\components\finsh\msh_file.c</FilePath>
</File>
</Files>
+ </Group>
+ <Group>
+ <GroupName>Kernel</GroupName>
<Files>
<File>
- <FileName>stm32f4xx_hal_sram.c</FileName>
+ <FileName>clock.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_sram.c</FilePath>
+ <FilePath>..\..\..\src\clock.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_hal_tim.c</FileName>
+ <FileName>components.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_tim.c</FilePath>
+ <FilePath>..\..\..\src\components.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_hal_tim_ex.c</FileName>
+ <FileName>device.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_tim_ex.c</FilePath>
+ <FilePath>..\..\..\src\device.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_hal_uart.c</FileName>
+ <FileName>idle.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_uart.c</FilePath>
+ <FilePath>..\..\..\src\idle.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_hal_usart.c</FileName>
+ <FileName>ipc.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_usart.c</FilePath>
+ <FilePath>..\..\..\src\ipc.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_hal_wwdg.c</FileName>
+ <FileName>irq.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_wwdg.c</FilePath>
+ <FilePath>..\..\..\src\irq.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_ll_fmc.c</FileName>
+ <FileName>kservice.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_fmc.c</FilePath>
+ <FilePath>..\..\..\src\kservice.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_ll_fsmc.c</FileName>
+ <FileName>memheap.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_fsmc.c</FilePath>
+ <FilePath>..\..\..\src\memheap.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_ll_sdmmc.c</FileName>
+ <FileName>mempool.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_sdmmc.c</FilePath>
+ <FilePath>..\..\..\src\mempool.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stm32f4xx_ll_usb.c</FileName>
+ <FileName>object.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_usb.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>startup_stm32f429xx.s</FileName>
- <FileType>2</FileType>
- <FilePath>Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f429xx.s</FilePath>
+ <FilePath>..\..\..\src\object.c</FilePath>
</File>
</Files>
- </Group>
- <Group>
- <GroupName>cpu</GroupName>
<Files>
<File>
- <FileName>backtrace.c</FileName>
+ <FileName>scheduler.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\libcpu\arm\common\backtrace.c</FilePath>
+ <FilePath>..\..\..\src\scheduler.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>div0.c</FileName>
+ <FileName>signal.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\libcpu\arm\common\div0.c</FilePath>
+ <FilePath>..\..\..\src\signal.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>showmem.c</FileName>
+ <FileName>thread.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\libcpu\arm\common\showmem.c</FilePath>
+ <FilePath>..\..\..\src\thread.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>cpuport.c</FileName>
+ <FileName>timer.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\libcpu\arm\cortex-m4\cpuport.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>context_rvds.S</FileName>
- <FileType>2</FileType>
- <FilePath>..\..\libcpu\arm\cortex-m4\context_rvds.S</FilePath>
+ <FilePath>..\..\..\src\timer.c</FilePath>
</File>
</Files>
</Group>
<Group>
- <GroupName>Filesystem</GroupName>
- <Files>
- <File>
- <FileName>dfs.c</FileName>
- <FileType>1</FileType>
- <FilePath>..\..\components\dfs\src\dfs.c</FilePath>
- </File>
- </Files>
+ <GroupName>libc</GroupName>
<Files>
<File>
- <FileName>dfs_file.c</FileName>
+ <FileName>libc.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\dfs\src\dfs_file.c</FilePath>
+ <FilePath>..\..\..\components\libc\compilers\armlibc\libc.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>dfs_fs.c</FileName>
+ <FileName>mem_std.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\dfs\src\dfs_fs.c</FilePath>
+ <FilePath>..\..\..\components\libc\compilers\armlibc\mem_std.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>dfs_posix.c</FileName>
+ <FileName>stdio.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\dfs\src\dfs_posix.c</FilePath>
+ <FilePath>..\..\..\components\libc\compilers\armlibc\stdio.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>poll.c</FileName>
+ <FileName>stubs.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\dfs\src\poll.c</FilePath>
+ <FilePath>..\..\..\components\libc\compilers\armlibc\stubs.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>select.c</FileName>
+ <FileName>time.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\dfs\src\select.c</FilePath>
+ <FilePath>..\..\..\components\libc\compilers\common\time.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>devfs.c</FileName>
+ <FileName>unistd.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\dfs\filesystems\devfs\devfs.c</FilePath>
+ <FilePath>..\..\..\components\libc\compilers\common\unistd.c</FilePath>
</File>
</Files>
</Group>
<Group>
- <GroupName>DeviceDrivers</GroupName>
- <Files>
- <File>
- <FileName>i2c_core.c</FileName>
- <FileType>1</FileType>
- <FilePath>..\..\components\drivers\i2c\i2c_core.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>i2c_dev.c</FileName>
- <FileType>1</FileType>
- <FilePath>..\..\components\drivers\i2c\i2c_dev.c</FilePath>
- </File>
- </Files>
+ <GroupName>STM32_HAL</GroupName>
<Files>
<File>
- <FileName>i2c-bit-ops.c</FileName>
+ <FileName>system_stm32f4xx.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\drivers\i2c\i2c-bit-ops.c</FilePath>
+ <FilePath>..\libraries\STM32F4xx_HAL\CMSIS\Device\ST\STM32F4xx\Source\Templates\system_stm32f4xx.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>pin.c</FileName>
+ <FileName>stm32f4xx_hal.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\drivers\misc\pin.c</FilePath>
+ <FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>serial.c</FileName>
+ <FileName>stm32f4xx_hal_cec.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\drivers\serial\serial.c</FilePath>
+ <FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_cec.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>completion.c</FileName>
+ <FileName>stm32f4xx_hal_cortex.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\drivers\src\completion.c</FilePath>
+ <FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_cortex.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>dataqueue.c</FileName>
+ <FileName>stm32f4xx_hal_crc.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\drivers\src\dataqueue.c</FilePath>
+ <FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_crc.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>pipe.c</FileName>
+ <FileName>stm32f4xx_hal_cryp.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\drivers\src\pipe.c</FilePath>
+ <FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_cryp.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>ringblk_buf.c</FileName>
+ <FileName>stm32f4xx_hal_cryp_ex.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\drivers\src\ringblk_buf.c</FilePath>
+ <FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_cryp_ex.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>ringbuffer.c</FileName>
+ <FileName>stm32f4xx_hal_dma.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\drivers\src\ringbuffer.c</FilePath>
+ <FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>waitqueue.c</FileName>
+ <FileName>stm32f4xx_hal_dma_ex.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\drivers\src\waitqueue.c</FilePath>
+ <FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma_ex.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>workqueue.c</FileName>
+ <FileName>stm32f4xx_hal_pwr.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\drivers\src\workqueue.c</FilePath>
+ <FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pwr.c</FilePath>
</File>
</Files>
- </Group>
- <Group>
- <GroupName>finsh</GroupName>
<Files>
<File>
- <FileName>shell.c</FileName>
+ <FileName>stm32f4xx_hal_pwr_ex.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\finsh\shell.c</FilePath>
+ <FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pwr_ex.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>cmd.c</FileName>
+ <FileName>stm32f4xx_hal_rcc.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\finsh\cmd.c</FilePath>
+ <FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rcc.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>msh.c</FileName>
+ <FileName>stm32f4xx_hal_rcc_ex.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\finsh\msh.c</FilePath>
+ <FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rcc_ex.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>msh_file.c</FileName>
+ <FileName>stm32f4xx_hal_rng.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\finsh\msh_file.c</FilePath>
+ <FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rng.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>finsh_compiler.c</FileName>
+ <FileName>stm32f4xx_hal_gpio.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\finsh\finsh_compiler.c</FilePath>
+ <FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_gpio.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>finsh_error.c</FileName>
+ <FileName>stm32f4xx_hal_uart.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\finsh\finsh_error.c</FilePath>
+ <FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_uart.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>finsh_heap.c</FileName>
+ <FileName>stm32f4xx_hal_usart.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\finsh\finsh_heap.c</FilePath>
+ <FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_usart.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>finsh_init.c</FileName>
+ <FileName>stm32f4xx_hal_i2c.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\finsh\finsh_init.c</FilePath>
+ <FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2c.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>finsh_node.c</FileName>
+ <FileName>stm32f4xx_hal_i2c_ex.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\finsh\finsh_node.c</FilePath>
+ <FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2c_ex.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>finsh_ops.c</FileName>
+ <FileName>stm32f4xx_hal_spi.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\finsh\finsh_ops.c</FilePath>
+ <FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_spi.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>finsh_parser.c</FileName>
+ <FileName>stm32f4xx_hal_qspi.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\finsh\finsh_parser.c</FilePath>
+ <FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_qspi.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>finsh_var.c</FileName>
+ <FileName>stm32f4xx_ll_fmc.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\finsh\finsh_var.c</FilePath>
+ <FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_fmc.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>finsh_vm.c</FileName>
+ <FileName>stm32f4xx_ll_fsmc.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\finsh\finsh_vm.c</FilePath>
+ <FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_fsmc.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>finsh_token.c</FileName>
+ <FileName>stm32f4xx_hal_sdram.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\finsh\finsh_token.c</FilePath>
+ <FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_sdram.c</FilePath>
</File>
</Files>
- </Group>
- <Group>
- <GroupName>libc</GroupName>
<Files>
<File>
- <FileName>libc.c</FileName>
+ <FileName>stm32f4xx_hal_ltdc.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\libc\compilers\armlibc\libc.c</FilePath>
+ <FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_ltdc.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>mem_std.c</FileName>
+ <FileName>stm32f4xx_hal_ltdc_ex.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\libc\compilers\armlibc\mem_std.c</FilePath>
+ <FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_ltdc_ex.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stdio.c</FileName>
+ <FileName>stm32f4xx_hal_dma2d.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\libc\compilers\armlibc\stdio.c</FilePath>
+ <FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma2d.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stubs.c</FileName>
+ <FileName>stm32f4xx_ll_dma2d.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\libc\compilers\armlibc\stubs.c</FilePath>
+ <FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_dma2d.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>time.c</FileName>
+ <FileName>stm32f4xx_hal_dsi.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\libc\compilers\common\time.c</FilePath>
+ <FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dsi.c</FilePath>
</File>
</Files>
</Group>
diff --git a/bsp/stm32/stm32f429-st-disco/project.uvprojx b/bsp/stm32/stm32f429-st-disco/project.uvprojx
index b6adb12dd1..2bfc2d6515 100644
--- a/bsp/stm32/stm32f429-st-disco/project.uvprojx
+++ b/bsp/stm32/stm32f429-st-disco/project.uvprojx
@@ -1,13 +1,16 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_projx.xsd">
+
<SchemaVersion>2.1</SchemaVersion>
+
<Header>### uVision Project, (C) Keil Software</Header>
+
<Targets>
<Target>
<TargetName>rt_thread_stm32f429</TargetName>
<ToolsetNumber>0x4</ToolsetNumber>
<ToolsetName>ARM-ADS</ToolsetName>
- <pCCUsed>5060300::V5.06 update 3 (build 300)::ARMCC</pCCUsed>
+ <pCCUsed>5060750::V5.06 update 6 (build 750)::ARMCC</pCCUsed>
<uAC6>0</uAC6>
<TargetOption>
<TargetCommonOption>
@@ -16,28 +19,28 @@
<PackID>Keil.STM32F4xx_DFP.2.13.0</PackID>
<PackURL>http://www.keil.com/pack</PackURL>
<Cpu>IRAM(0x20000000,0x30000) IRAM2(0x10000000,0x10000) IROM(0x08000000,0x200000) CPUTYPE("Cortex-M4") FPU2 CLOCK(12000000) ELITTLE</Cpu>
- <FlashUtilSpec />
- <StartupFile />
+ <FlashUtilSpec></FlashUtilSpec>
+ <StartupFile></StartupFile>
<FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F4xx_2048 -FS08000000 -FL0200000 -FP0($$Device:STM32F429ZITx$CMSIS\Flash\STM32F4xx_2048.FLM))</FlashDriverDll>
<DeviceId>0</DeviceId>
<RegisterFile>$$Device:STM32F429ZITx$Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f4xx.h</RegisterFile>
- <MemoryEnv />
- <Cmp />
- <Asm />
- <Linker />
- <OHString />
- <InfinionOptionDll />
- <SLE66CMisc />
- <SLE66AMisc />
- <SLE66LinkerMisc />
+ <MemoryEnv></MemoryEnv>
+ <Cmp></Cmp>
+ <Asm></Asm>
+ <Linker></Linker>
+ <OHString></OHString>
+ <InfinionOptionDll></InfinionOptionDll>
+ <SLE66CMisc></SLE66CMisc>
+ <SLE66AMisc></SLE66AMisc>
+ <SLE66LinkerMisc></SLE66LinkerMisc>
<SFDFile>$$Device:STM32F429ZITx$CMSIS\SVD\STM32F429x.svd</SFDFile>
<bCustSvd>0</bCustSvd>
<UseEnv>0</UseEnv>
- <BinPath />
- <IncludePath />
- <LibPath />
- <RegisterFilePath />
- <DBRegisterFilePath />
+ <BinPath></BinPath>
+ <IncludePath></IncludePath>
+ <LibPath></LibPath>
+ <RegisterFilePath></RegisterFilePath>
+ <DBRegisterFilePath></DBRegisterFilePath>
<TargetStatus>
<Error>0</Error>
<ExitCodeStop>0</ExitCodeStop>
@@ -59,8 +62,8 @@
<BeforeCompile>
<RunUserProg1>0</RunUserProg1>
<RunUserProg2>0</RunUserProg2>
- <UserProg1Name />
- <UserProg2Name />
+ <UserProg1Name></UserProg1Name>
+ <UserProg2Name></UserProg2Name>
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
<nStopU1X>0</nStopU1X>
@@ -69,8 +72,8 @@
<BeforeMake>
<RunUserProg1>0</RunUserProg1>
<RunUserProg2>0</RunUserProg2>
- <UserProg1Name />
- <UserProg2Name />
+ <UserProg1Name></UserProg1Name>
+ <UserProg2Name></UserProg2Name>
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
<nStopB1X>0</nStopB1X>
@@ -79,15 +82,15 @@
<AfterMake>
<RunUserProg1>0</RunUserProg1>
<RunUserProg2>0</RunUserProg2>
- <UserProg1Name />
- <UserProg2Name />
+ <UserProg1Name></UserProg1Name>
+ <UserProg2Name></UserProg2Name>
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
<nStopA1X>0</nStopA1X>
<nStopA2X>0</nStopA2X>
</AfterMake>
<SelectedForBatchBuild>0</SelectedForBatchBuild>
- <SVCSIdString />
+ <SVCSIdString></SVCSIdString>
</TargetCommonOption>
<CommonProperty>
<UseCPPCompiler>0</UseCPPCompiler>
@@ -101,8 +104,8 @@
<AssembleAssemblyFile>0</AssembleAssemblyFile>
<PublicsOnly>0</PublicsOnly>
<StopOnExitCode>3</StopOnExitCode>
- <CustomArgument />
- <IncludeLibraryModules />
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
<ComprImg>1</ComprImg>
</CommonProperty>
<DllOption>
@@ -135,11 +138,11 @@
</Flash1>
<bUseTDR>1</bUseTDR>
<Flash2>BIN\UL2CM3.DLL</Flash2>
- <Flash3 />
- <Flash4 />
- <pFcarmOut />
- <pFcarmGrp />
- <pFcArmRoot />
+ <Flash3></Flash3>
+ <Flash4></Flash4>
+ <pFcarmOut></pFcarmOut>
+ <pFcarmGrp></pFcarmGrp>
+ <pFcArmRoot></pFcArmRoot>
<FcArmLst>0</FcArmLst>
</Utilities>
<TargetArmAds>
@@ -172,7 +175,7 @@
<RvctClst>0</RvctClst>
<GenPPlst>0</GenPPlst>
<AdsCpuType>"Cortex-M4"</AdsCpuType>
- <RvctDeviceName />
+ <RvctDeviceName></RvctDeviceName>
<mOS>0</mOS>
<uocRom>0</uocRom>
<uocRam>0</uocRam>
@@ -305,7 +308,7 @@
<Size>0x10000</Size>
</OCR_RVCT10>
</OnChipMemories>
- <RvctStartVector />
+ <RvctStartVector></RvctStartVector>
</ArmAdsMisc>
<Cads>
<interw>1</interw>
@@ -332,10 +335,10 @@
<v6WtE>0</v6WtE>
<v6Rtti>0</v6Rtti>
<VariousControls>
- <MiscControls />
- <Define>USE_HAL_DRIVER, RT_USING_ARM_LIBC, STM32F429xx</Define>
- <Undefine />
- <IncludePath>applications;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\spi;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board;board\CubeMX_Config\Inc;board\ports;..\libraries\HAL_Drivers;..\libraries\HAL_Drivers\config;..\..\..\components\dfs\include;..\..\..\components\dfs\filesystems\devfs;..\..\..\components\finsh;.;..\..\..\include;..\..\..\components\libc\compilers\armlibc;..\..\..\components\libc\compilers\common;..\..\..\components\libc\signal;..\..\..\components\libc\pthreads;..\..\..\components\libc\time;..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Inc;..\libraries\STM32F4xx_HAL\CMSIS\Device\ST\STM32F4xx\Include;..\libraries\STM32F4xx_HAL\CMSIS\Include</IncludePath>
+ <MiscControls></MiscControls>
+ <Define>USE_HAL_DRIVER, RT_USING_ARM_LIBC, __RTTHREAD__, STM32F429xx</Define>
+ <Undefine></Undefine>
+ <IncludePath>applications;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\spi;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board;board\CubeMX_Config\Inc;board\ports;..\libraries\HAL_Drivers;..\libraries\HAL_Drivers\config;..\..\..\components\dfs\include;..\..\..\components\dfs\filesystems\devfs;..\..\..\components\finsh;.;..\..\..\include;..\..\..\components\libc\compilers\armlibc;..\..\..\components\libc\compilers\common;..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Inc;..\libraries\STM32F4xx_HAL\CMSIS\Device\ST\STM32F4xx\Include;..\libraries\STM32F4xx_HAL\CMSIS\Include</IncludePath>
</VariousControls>
</Cads>
<Aads>
@@ -350,10 +353,10 @@
<useXO>0</useXO>
<uClangAs>0</uClangAs>
<VariousControls>
- <MiscControls />
- <Define />
- <Undefine />
- <IncludePath />
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
</VariousControls>
</Aads>
<LDads>
@@ -365,13 +368,13 @@
<useFile>0</useFile>
<TextAddressRange>0x08000000</TextAddressRange>
<DataAddressRange>0x20000000</DataAddressRange>
- <pXoBase />
+ <pXoBase></pXoBase>
<ScatterFile>.\board\linker_scripts\link.sct</ScatterFile>
- <IncludeLibs />
- <IncludeLibsPath />
- <Misc />
- <LinkerInputFile />
- <DisabledWarnings />
+ <IncludeLibs></IncludeLibs>
+ <IncludeLibsPath></IncludeLibsPath>
+ <Misc></Misc>
+ <LinkerInputFile></LinkerInputFile>
+ <DisabledWarnings></DisabledWarnings>
</LDads>
</TargetArmAds>
</TargetOption>
@@ -384,8 +387,6 @@
<FileType>1</FileType>
<FilePath>applications\main.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>lcd_init.c</FileName>
<FileType>1</FileType>
@@ -401,29 +402,21 @@
<FileType>1</FileType>
<FilePath>..\..\..\libcpu\arm\common\backtrace.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>div0.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\libcpu\arm\common\div0.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>showmem.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\libcpu\arm\common\showmem.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>cpuport.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\libcpu\arm\cortex-m4\cpuport.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>context_rvds.S</FileName>
<FileType>2</FileType>
@@ -433,116 +426,147 @@
</Group>
<Group>
<GroupName>DeviceDrivers</GroupName>
+ <GroupOption>
+ <CommonProperty>
+ <UseCPPCompiler>0</UseCPPCompiler>
+ <RVCTCodeConst>0</RVCTCodeConst>
+ <RVCTZI>0</RVCTZI>
+ <RVCTOtherData>0</RVCTOtherData>
+ <ModuleSelection>0</ModuleSelection>
+ <IncludeInBuild>1</IncludeInBuild>
+ <AlwaysBuild>0</AlwaysBuild>
+ <GenerateAssemblyFile>0</GenerateAssemblyFile>
+ <AssembleAssemblyFile>0</AssembleAssemblyFile>
+ <PublicsOnly>0</PublicsOnly>
+ <StopOnExitCode>3</StopOnExitCode>
+ <CustomArgument></CustomArgument>
+ <IncludeLibraryModules></IncludeLibraryModules>
+ <ComprImg>0</ComprImg>
+ </CommonProperty>
+ <GroupArmAds>
+ <Cads>
+ <interw>2</interw>
+ <Optim>0</Optim>
+ <oTime>2</oTime>
+ <SplitLS>2</SplitLS>
+ <OneElfS>2</OneElfS>
+ <Strict>2</Strict>
+ <EnumInt>2</EnumInt>
+ <PlainCh>2</PlainCh>
+ <Ropi>2</Ropi>
+ <Rwpi>2</Rwpi>
+ <wLevel>0</wLevel>
+ <uThumb>2</uThumb>
+ <uSurpInc>2</uSurpInc>
+ <uC99>2</uC99>
+ <uGnu>2</uGnu>
+ <useXO>2</useXO>
+ <v6Lang>0</v6Lang>
+ <v6LangP>0</v6LangP>
+ <vShortEn>2</vShortEn>
+ <vShortWch>2</vShortWch>
+ <v6Lto>2</v6Lto>
+ <v6WtE>2</v6WtE>
+ <v6Rtti>2</v6Rtti>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define> </Define>
+ <Undefine> </Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Cads>
+ <Aads>
+ <interw>2</interw>
+ <Ropi>2</Ropi>
+ <Rwpi>2</Rwpi>
+ <thumb>2</thumb>
+ <SplitLS>2</SplitLS>
+ <SwStkChk>2</SwStkChk>
+ <NoWarn>2</NoWarn>
+ <uSurpInc>2</uSurpInc>
+ <useXO>2</useXO>
+ <uClangAs>2</uClangAs>
+ <VariousControls>
+ <MiscControls></MiscControls>
+ <Define></Define>
+ <Undefine></Undefine>
+ <IncludePath></IncludePath>
+ </VariousControls>
+ </Aads>
+ </GroupArmAds>
+ </GroupOption>
<Files>
<File>
<FileName>i2c_core.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\drivers\i2c\i2c_core.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>i2c_dev.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\drivers\i2c\i2c_dev.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>i2c-bit-ops.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\drivers\i2c\i2c-bit-ops.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>pin.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\drivers\misc\pin.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>serial.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\drivers\serial\serial.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>spi_core.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\drivers\spi\spi_core.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>spi_dev.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\drivers\spi\spi_dev.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>completion.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\drivers\src\completion.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>dataqueue.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\drivers\src\dataqueue.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>pipe.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\drivers\src\pipe.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>ringblk_buf.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\drivers\src\ringblk_buf.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>ringbuffer.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\drivers\src\ringbuffer.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>waitqueue.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\drivers\src\waitqueue.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>workqueue.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\drivers\src\workqueue.c</FilePath>
</File>
</Files>
- <GroupOption>
- <GroupArmAds>
- <Cads>
- <VariousControls>
- <MiscControls />
- <Define> </Define>
- <Undefine> </Undefine>
- <IncludePath> </IncludePath>
- </VariousControls>
- </Cads>
- </GroupArmAds>
- </GroupOption>
</Group>
<Group>
<GroupName>Drivers</GroupName>
@@ -552,64 +576,46 @@
<FileType>1</FileType>
<FilePath>board\board.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>stm32f4xx_hal_msp.c</FileName>
<FileType>1</FileType>
<FilePath>board\CubeMX_Config\Src\stm32f4xx_hal_msp.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>ili9341.c</FileName>
<FileType>1</FileType>
<FilePath>board\ports\ili9341.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>startup_stm32f429xx.s</FileName>
<FileType>2</FileType>
<FilePath>..\libraries\STM32F4xx_HAL\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm\startup_stm32f429xx.s</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>drv_gpio.c</FileName>
<FileType>1</FileType>
<FilePath>..\libraries\HAL_Drivers\drv_gpio.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>drv_usart.c</FileName>
<FileType>1</FileType>
<FilePath>..\libraries\HAL_Drivers\drv_usart.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>drv_spi.c</FileName>
<FileType>1</FileType>
<FilePath>..\libraries\HAL_Drivers\drv_spi.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>drv_sdram.c</FileName>
<FileType>1</FileType>
<FilePath>..\libraries\HAL_Drivers\drv_sdram.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>drv_lcd.c</FileName>
<FileType>1</FileType>
<FilePath>..\libraries\HAL_Drivers\drv_lcd.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>drv_common.c</FileName>
<FileType>1</FileType>
@@ -625,43 +631,31 @@
<FileType>1</FileType>
<FilePath>..\..\..\components\dfs\src\dfs.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>dfs_file.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\dfs\src\dfs_file.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>dfs_fs.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\dfs\src\dfs_fs.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>dfs_posix.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\dfs\src\dfs_posix.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>poll.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\dfs\src\poll.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>select.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\dfs\src\select.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>devfs.c</FileName>
<FileType>1</FileType>
@@ -677,22 +671,16 @@
<FileType>1</FileType>
<FilePath>..\..\..\components\finsh\shell.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>cmd.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\finsh\cmd.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>msh.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\finsh\msh.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>msh_file.c</FileName>
<FileType>1</FileType>
@@ -708,92 +696,66 @@
<FileType>1</FileType>
<FilePath>..\..\..\src\clock.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>components.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\src\components.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>device.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\src\device.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>idle.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\src\idle.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>ipc.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\src\ipc.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>irq.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\src\irq.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>kservice.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\src\kservice.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>memheap.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\src\memheap.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>mempool.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\src\mempool.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>object.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\src\object.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>scheduler.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\src\scheduler.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>signal.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\src\signal.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>thread.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\src\thread.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>timer.c</FileName>
<FileType>1</FileType>
@@ -809,143 +771,32 @@
<FileType>1</FileType>
<FilePath>..\..\..\components\libc\compilers\armlibc\libc.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>mem_std.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\libc\compilers\armlibc\mem_std.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>stdio.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\libc\compilers\armlibc\stdio.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>stubs.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\libc\compilers\armlibc\stubs.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>time.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\libc\compilers\common\time.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>unistd.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\libc\compilers\common\unistd.c</FilePath>
</File>
</Files>
- <Files>
- <File>
- <FileName>posix_signal.c</FileName>
- <FileType>1</FileType>
- <FilePath>..\..\..\components\libc\signal\posix_signal.c</FilePath>
- </File>
- </Files>
- </Group>
- <Group>
- <GroupName>pthreads</GroupName>
- <Files>
- <File>
- <FileName>mqueue.c</FileName>
- <FileType>1</FileType>
- <FilePath>..\..\..\components\libc\pthreads\mqueue.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>pthread.c</FileName>
- <FileType>1</FileType>
- <FilePath>..\..\..\components\libc\pthreads\pthread.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>pthread_attr.c</FileName>
- <FileType>1</FileType>
- <FilePath>..\..\..\components\libc\pthreads\pthread_attr.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>pthread_barrier.c</FileName>
- <FileType>1</FileType>
- <FilePath>..\..\..\components\libc\pthreads\pthread_barrier.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>pthread_cond.c</FileName>
- <FileType>1</FileType>
- <FilePath>..\..\..\components\libc\pthreads\pthread_cond.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>pthread_mutex.c</FileName>
- <FileType>1</FileType>
- <FilePath>..\..\..\components\libc\pthreads\pthread_mutex.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>pthread_rwlock.c</FileName>
- <FileType>1</FileType>
- <FilePath>..\..\..\components\libc\pthreads\pthread_rwlock.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>pthread_spin.c</FileName>
- <FileType>1</FileType>
- <FilePath>..\..\..\components\libc\pthreads\pthread_spin.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>pthread_tls.c</FileName>
- <FileType>1</FileType>
- <FilePath>..\..\..\components\libc\pthreads\pthread_tls.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>sched.c</FileName>
- <FileType>1</FileType>
- <FilePath>..\..\..\components\libc\pthreads\sched.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>semaphore.c</FileName>
- <FileType>1</FileType>
- <FilePath>..\..\..\components\libc\pthreads\semaphore.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>clock_time.c</FileName>
- <FileType>1</FileType>
- <FilePath>..\..\..\components\libc\time\clock_time.c</FilePath>
- </File>
- </Files>
- <Files>
- <File>
- <FileName>posix_sleep.c</FileName>
- <FileType>1</FileType>
- <FilePath>..\..\..\components\libc\time\posix_sleep.c</FilePath>
- </File>
- </Files>
</Group>
<Group>
<GroupName>STM32_HAL</GroupName>
@@ -955,197 +806,141 @@
<FileType>1</FileType>
<FilePath>..\libraries\STM32F4xx_HAL\CMSIS\Device\ST\STM32F4xx\Source\Templates\system_stm32f4xx.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>stm32f4xx_hal.c</FileName>
<FileType>1</FileType>
<FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>stm32f4xx_hal_cec.c</FileName>
<FileType>1</FileType>
<FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_cec.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>stm32f4xx_hal_cortex.c</FileName>
<FileType>1</FileType>
<FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_cortex.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>stm32f4xx_hal_crc.c</FileName>
<FileType>1</FileType>
<FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_crc.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>stm32f4xx_hal_cryp.c</FileName>
<FileType>1</FileType>
<FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_cryp.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>stm32f4xx_hal_cryp_ex.c</FileName>
<FileType>1</FileType>
<FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_cryp_ex.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>stm32f4xx_hal_dma.c</FileName>
<FileType>1</FileType>
<FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>stm32f4xx_hal_dma_ex.c</FileName>
<FileType>1</FileType>
<FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma_ex.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>stm32f4xx_hal_pwr.c</FileName>
<FileType>1</FileType>
<FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pwr.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>stm32f4xx_hal_pwr_ex.c</FileName>
<FileType>1</FileType>
<FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pwr_ex.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>stm32f4xx_hal_rcc.c</FileName>
<FileType>1</FileType>
<FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rcc.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>stm32f4xx_hal_rcc_ex.c</FileName>
<FileType>1</FileType>
<FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rcc_ex.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>stm32f4xx_hal_rng.c</FileName>
<FileType>1</FileType>
<FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rng.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>stm32f4xx_hal_gpio.c</FileName>
<FileType>1</FileType>
<FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_gpio.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>stm32f4xx_hal_uart.c</FileName>
<FileType>1</FileType>
<FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_uart.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>stm32f4xx_hal_usart.c</FileName>
<FileType>1</FileType>
<FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_usart.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>stm32f4xx_hal_i2c.c</FileName>
<FileType>1</FileType>
<FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2c.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>stm32f4xx_hal_i2c_ex.c</FileName>
<FileType>1</FileType>
<FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2c_ex.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>stm32f4xx_hal_spi.c</FileName>
<FileType>1</FileType>
<FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_spi.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>stm32f4xx_hal_qspi.c</FileName>
<FileType>1</FileType>
<FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_qspi.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>stm32f4xx_ll_fmc.c</FileName>
<FileType>1</FileType>
<FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_fmc.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>stm32f4xx_ll_fsmc.c</FileName>
<FileType>1</FileType>
<FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_fsmc.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>stm32f4xx_hal_sdram.c</FileName>
<FileType>1</FileType>
<FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_sdram.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>stm32f4xx_hal_ltdc.c</FileName>
<FileType>1</FileType>
<FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_ltdc.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>stm32f4xx_hal_ltdc_ex.c</FileName>
<FileType>1</FileType>
<FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_ltdc_ex.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>stm32f4xx_hal_dma2d.c</FileName>
<FileType>1</FileType>
<FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma2d.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>stm32f4xx_ll_dma2d.c</FileName>
<FileType>1</FileType>
<FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_dma2d.c</FilePath>
</File>
- </Files>
- <Files>
<File>
<FileName>stm32f4xx_hal_dsi.c</FileName>
<FileType>1</FileType>
@@ -1156,9 +951,11 @@
</Groups>
</Target>
</Targets>
+
<RTE>
- <apis />
- <components />
- <files />
+ <apis/>
+ <components/>
+ <files/>
</RTE>
+
</Project>
diff --git a/bsp/stm32/stm32f429-st-disco/rtconfig.h b/bsp/stm32/stm32f429-st-disco/rtconfig.h
index 9f5b2c77c4..b82b91ec7a 100644
--- a/bsp/stm32/stm32f429-st-disco/rtconfig.h
+++ b/bsp/stm32/stm32f429-st-disco/rtconfig.h
@@ -93,14 +93,13 @@
#define RT_USING_I2C_BITOPS
#define RT_USING_PIN
#define RT_USING_SPI
+
/* Using USB */
/* POSIX layer and C standard library */
#define RT_USING_LIBC
-#define RT_USING_PTHREADS
-#define PTHREAD_NUM_MAX 8
#define RT_USING_POSIX
/* Network */
@@ -162,12 +161,6 @@
/* samples: kernel and components samples */
-
-/* Privated Packages of RealThread */
-
-
-/* Network Utilities */
-
#define SOC_FAMILY_STM32
#define SOC_SERIES_STM32F4
diff --git a/bsp/stm32/stm32f429-st-disco/stm32_rom.ld b/bsp/stm32/stm32f429-st-disco/stm32_rom.ld
index aa9c9b2af2..e895d97da2 100644
--- a/bsp/stm32/stm32f429-st-disco/stm32_rom.ld
+++ b/bsp/stm32/stm32f429-st-disco/stm32_rom.ld
@@ -1,13 +1,13 @@
/*
- * linker script for STM32F10x with GNU ld
+ * linker script for STM32F429xx with GNU ld
* bernard.xiong 2009-10-14
*/
/* Program Entry, set to mark it as "used" and avoid gc */
MEMORY
{
- CODE (rx) : ORIGIN = 0x08000000, LENGTH = 1024k /* 1024KB flash */
- DATA (rw) : ORIGIN = 0x20000000, LENGTH = 128k /* 128K sram */
+ CODE (rx) : ORIGIN = 0x08000000, LENGTH = 2048k /* 1024KB flash */
+ DATA (rw) : ORIGIN = 0x20000000, LENGTH = 192k /* 128K sram */
}
ENTRY(Reset_Handler)
_system_stack_size = 0x200;
diff --git a/bsp/stm32/stm32f429-st-disco/stm32_rom.sct b/bsp/stm32/stm32f429-st-disco/stm32_rom.sct
index 0d7c47992d..2407164991 100644
--- a/bsp/stm32/stm32f429-st-disco/stm32_rom.sct
+++ b/bsp/stm32/stm32f429-st-disco/stm32_rom.sct
@@ -2,13 +2,13 @@
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
-LR_IROM1 0x08000000 0x00100000 { ; load region size_region
- ER_IROM1 0x08000000 0x00100000 { ; load address = execution address
+LR_IROM1 0x08000000 0x00200000 { ; load region size_region
+ ER_IROM1 0x08000000 0x00200000 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
}
- RW_IRAM1 0x20000000 0x00020000 { ; RW data
+ RW_IRAM1 0x20000000 0x00030000 { ; RW data
.ANY (+RW +ZI)
}
}
diff --git a/bsp/stm32/stm32f429-st-disco/stm32f429_flash.icf b/bsp/stm32/stm32f429-st-disco/stm32f429_flash.icf
index 47c5280d08..4e43be768e 100644
--- a/bsp/stm32/stm32f429-st-disco/stm32f429_flash.icf
+++ b/bsp/stm32/stm32f429-st-disco/stm32f429_flash.icf
@@ -2,10 +2,10 @@
/*-Editor annotation file-*/
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
/*-Specials-*/
-define symbol __ICFEDIT_intvec_start__ = 0x08000000;
+define symbol __ICFEDIT_intvec_start__ = 0x08000000;
/*-Memory Regions-*/
-define symbol __ICFEDIT_region_ROM_start__ = 0x08000000;
-define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF;
+define symbol __ICFEDIT_region_ROM_start__ = 0x08000000;
+define symbol __ICFEDIT_region_ROM_end__ = 0x081FFFFF;
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF;
/*-Sizes-*/
diff --git a/bsp/stm32/stm32f446-st-nucleo/README.md b/bsp/stm32/stm32f446-st-nucleo/README.md
index e91f1ef45a..bb260c2b31 100644
--- a/bsp/stm32/stm32f446-st-nucleo/README.md
+++ b/bsp/stm32/stm32f446-st-nucleo/README.md
@@ -1,106 +1,84 @@
-# NUCLEO-F446ZE 开发板 BSP 说明
+# STM32F446-Nucleo BSP Introduction
-## 简介
+[中文](README_zh.md)
-本文档为 NUCLEO-F446ZE 开发板的 BSP (板级支持包) 说明。
+## MCU: STM32F446ZE @180MHz, 512KB FLASH, 128KB RAM
-主要内容如下:
+The STM32F446xC/E devices are based on the high-performance Arm® Cortex®-M4 32-bit RISC core operating at a frequency of up to 180 MHz. The Cortex-M4 core features a floating point unit (FPU) single precision supporting all Arm® single-precision data-processing instructions and data types. It also implements a full set of DSP instructions and a memory protection unit (MPU) that enhances application security.
-- 开发板资源介绍
-- BSP 快速上手
-- 进阶使用方法
+The STM32F446xC/E devices incorporate high-speed embedded memories (Flash memory up to 512 Kbytes, up to 128 Kbytes of SRAM), up to 4 Kbytes of backup SRAM, and an extensive range of enhanced I/Os and peripherals connected to two APB buses, two AHB buses and a 32-bit multi-AHB bus matrix.
+All devices offer three 12-bit ADCs, two DACs, a low-power RTC, twelve general-purpose 16-bit timers including two PWM timers for motor control, two general-purpose 32-bit timers.
+They also feature standard and advanced communication interfaces.
-通过阅读快速上手章节开发者可以快速地上手该 BSP,将 RT-Thread 运行在开发板上。在进阶使用指南章节,将会介绍更多高级功能,帮助开发者利用 RT-Thread 驱动更多板载资源。
+#### KEY FEATURES
-## 开发板介绍
+- Core: Arm® 32-bit Cortex®-M4 CPU with FPU, Adaptive real-time accelerator (ART Accelerator) allowing 0-wait state execution from Flash memory, frequency up to 180 MHz, MPU, 225 DMIPS/1.25 DMIPS/MHz (Dhrystone 2.1), and DSP instructions
+- Memories
+ - 512 Kbytes of Flash memory
+ - 128 Kbytes of SRAM
+ - Flexible external memory controller with up to 16-bit data bus: SRAM, PSRAM, SDRAM/LPSDR SDRAM, NOR/NAND Flash memories
+ - Dual mode QuadSPI interface
+- LCD parallel interface, 8080/6800 modes
+- Clock, reset and supply management
+ - 1.7 V to 3.6 V application supply and I/Os
+ - POR, PDR, PVD and BOR
+ - 4 to 26 MHz crystal oscillator
+ - Internal 16 MHz factory-trimmed RC (1% accuracy)
+ - 32 kHz oscillator for RTC with calibration
+ - Internal 32 kHz RC with calibration
+- Low power
+ - Sleep, Stop and Standby modes
+ - VBAT supply for RTC, 20×32 bit backup registers plus optional 4 KB backup SRAM
+- 3× 12-bit, 2.4 MSPS ADC: up to 24 channels and 7.2 MSPS in triple interleaved mode
+- 2× 12-bit D/A converters
+- General-purpose DMA: 16-stream DMA controller with FIFOs and burst support
+- Up to 17 timers: 2x watchdog, 1x SysTick timer and up to twelve 16-bit and two 32-bit timers up to 180 MHz, each with up to four IC/OC/PWM or pulse counter
-NUCLEO-F446ZE 是 ST 公司推出的一款针对 STM32F4 系列设计的 Cortex-M4 Nucleo-144 开发板,支持 mbed,兼容 Arduino、还带有ST Zio和 ST Morpho 扩展接口,可连接微控制器的所有周边外设。
+- Debug mode
+ - SWD and JTAG interfaces
+ - Cortex®-M4 Trace Macrocell™
+- Up to 114 I/O ports with interrupt capability
+ - Up to 111 fast I/Os up to 90 MHz
+ - Up to 112 5 V-tolerant I/Os
+- Up to 20 communication interfaces
+ - SPDIF-Rx
+ - Up to 4× I2C interfaces (SMBus/PMBus)
+ - Up to four USARTs and two UARTs (11.25 Mbit/s, ISO7816 interface, LIN, IrDA, modem control)
+ - Up to four SPIs (45 Mbits/s), three with muxed I2S for audio class accuracy via internal audio PLL or external clock
+ - 2x SAI (serial audio interface)
+ - 2× CAN (2.0B Active)
+ - SDIO interface
+ - Consumer electronics control (CEC) I/F
+- Advanced connectivity
+ - USB 2.0 full-speed device/host/OTG controller with on-chip PHY
+ - USB 2.0 high-speed/full-speed device/host/OTG controller with dedicated DMA, on-chip full-speed PHY and ULPI
+ - Dedicated USB power rail enabling on-chip PHYs operation throughout the entire MCU power supply range
+- 8- to 14-bit parallel camera interface up to 54 Mbytes/s
+- CRC calculation unit
+- RTC: subsecond accuracy, hardware calendar
+- 96-bit unique ID
-开发板外观如下图所示:
-![board](figures/board.jpg)
-该开发板常用 **板载资源** 如下:
+## Read more
-- MCU:STM32f446ZE,主频 180MHz,512KB FLASH ,128KB RAM
-- 常用外设
- - LED:3个,LED1 (绿色,PB0),LED2(蓝色,PB7),LED3(红色,PB14)
-- 常用接口:USB 转串口
-- 调试接口,标准 ST-LINK/SWD
+| Documents | Description |
+| :----------------------------------------------------------: | :----------------------------------------------------------: |
+| [STM32_Nucleo-144_BSP_Introduction](../docs/STM32_Nucleo-144_BSP_Introduction.md) | How to run RT-Thread on STM32 Nucleo-144 boards (**Must-Read**) |
+| [STM32F446ZE ST Official Website](https://www.st.com/content/st_com/en/products/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus/stm32-high-performance-mcus/stm32f4-series/stm32f446/stm32f446ze.html#documentation) | STM32F446ZE datasheet and other resources |
-开发板更多详细信息请参考【NUCLEO-F446ZE】 [开发板介绍](https://www.st.com/zh/evaluation-tools/nucleo-f446ze.html)。
-## 外设支持
-本 BSP 目前对外设的支持情况如下:
+## Maintained By
-| **板载外设** | **支持情况** | **备注** |
-| :----------------- | :----------: | :------------------------------------- |
-| USB 转串口 | 支持 | |
-| **片上外设** | **支持情况** | **备注** |
-| GPIO | 支持 | |
-| UART | 支持 | UART1 |
-## 使用说明
-使用说明分为如下两个章节:
-- 快速上手
+## Translated By
- 本章节是为刚接触 RT-Thread 的新手准备的使用说明,遵循简单的步骤即可将 RT-Thread 操作系统运行在该开发板上,看到实验效果 。
+Meco Man @ RT-Thread Community
-- 进阶使用
-
- 本章节是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。
-
-
-### 快速上手
-
-本 BSP 为开发者提供 MDK5 和 IAR 工程,并且支持 GCC 开发环境。下面以 MDK5 开发环境为例,介绍如何将系统运行起来。
-
-#### 硬件连接
-
-使用数据线连接开发板到 PC,通过数据线对开发板供电,下载,调试。
-
-#### 编译下载
-
-双击 project.uvprojx 文件,打开 MDK5 工程,编译并下载程序到开发板。
-
-> 工程默认配置使用 ST-LINK 仿真器下载程序,在通过 ST-LINK 连接开发板的基础上,点击下载按钮即可下载程序到开发板
-
-#### 运行结果
-
-下载程序成功之后,系统会自动运行,蓝色的 LED2 以 500MS 周期闪烁。
-
-连接开发板对应串口到 PC , 在终端工具里打开相应的串口(115200-8-1-N),复位设备后,可以看到 RT-Thread 的输出信息:
-
-```bash
- \ | /
-- RT - Thread Operating System
- / | \ 4.0.0 build Jan 7 2019
- 2006 - 2018 Copyright by rt-thread team
-msh >
-```
-### 进阶使用
-
-此 BSP 默认只开启了 GPIO 和 串口1 的功能,如果需使用 SD 卡、Flash 等更多高级功能,需要利用 ENV 工具对BSP 进行配置,步骤如下:
-
-1. 在 bsp 下打开 env 工具。
-
-2. 输入`menuconfig`命令配置工程,配置好之后保存退出。
-
-3. 输入`pkgs --update`命令更新软件包。
-
-4. 输入`scons --target=mdk4/mdk5/iar` 命令重新生成工程。
-
-本章节更多详细的介绍请参考 [STM32 系列 BSP 外设驱动使用教程](../docs/STM32系列BSP外设驱动使用教程.md)。
-
-## 注意事项
-
-- 默认终端输出设备是 UART1
-
-## 联系人信息
-
-维护人:
-
-- 邮箱:<[email protected]> \ No newline at end of file
+>
+> https://github.com/mysterywolf \ No newline at end of file
diff --git a/bsp/stm32/stm32f446-st-nucleo/README_zh.md b/bsp/stm32/stm32f446-st-nucleo/README_zh.md
new file mode 100644
index 0000000000..e91f1ef45a
--- /dev/null
+++ b/bsp/stm32/stm32f446-st-nucleo/README_zh.md
@@ -0,0 +1,106 @@
+# NUCLEO-F446ZE 开发板 BSP 说明
+
+## 简介
+
+本文档为 NUCLEO-F446ZE 开发板的 BSP (板级支持包) 说明。
+
+主要内容如下:
+
+- 开发板资源介绍
+- BSP 快速上手
+- 进阶使用方法
+
+通过阅读快速上手章节开发者可以快速地上手该 BSP,将 RT-Thread 运行在开发板上。在进阶使用指南章节,将会介绍更多高级功能,帮助开发者利用 RT-Thread 驱动更多板载资源。
+
+## 开发板介绍
+
+NUCLEO-F446ZE 是 ST 公司推出的一款针对 STM32F4 系列设计的 Cortex-M4 Nucleo-144 开发板,支持 mbed,兼容 Arduino、还带有ST Zio和 ST Morpho 扩展接口,可连接微控制器的所有周边外设。
+
+开发板外观如下图所示:
+
+![board](figures/board.jpg)
+
+该开发板常用 **板载资源** 如下:
+
+- MCU:STM32f446ZE,主频 180MHz,512KB FLASH ,128KB RAM
+- 常用外设
+ - LED:3个,LED1 (绿色,PB0),LED2(蓝色,PB7),LED3(红色,PB14)
+- 常用接口:USB 转串口
+- 调试接口,标准 ST-LINK/SWD
+
+开发板更多详细信息请参考【NUCLEO-F446ZE】 [开发板介绍](https://www.st.com/zh/evaluation-tools/nucleo-f446ze.html)。
+
+## 外设支持
+
+本 BSP 目前对外设的支持情况如下:
+
+| **板载外设** | **支持情况** | **备注** |
+| :----------------- | :----------: | :------------------------------------- |
+| USB 转串口 | 支持 | |
+| **片上外设** | **支持情况** | **备注** |
+| GPIO | 支持 | |
+| UART | 支持 | UART1 |
+
+## 使用说明
+
+使用说明分为如下两个章节:
+
+- 快速上手
+
+ 本章节是为刚接触 RT-Thread 的新手准备的使用说明,遵循简单的步骤即可将 RT-Thread 操作系统运行在该开发板上,看到实验效果 。
+
+- 进阶使用
+
+ 本章节是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。
+
+
+### 快速上手
+
+本 BSP 为开发者提供 MDK5 和 IAR 工程,并且支持 GCC 开发环境。下面以 MDK5 开发环境为例,介绍如何将系统运行起来。
+
+#### 硬件连接
+
+使用数据线连接开发板到 PC,通过数据线对开发板供电,下载,调试。
+
+#### 编译下载
+
+双击 project.uvprojx 文件,打开 MDK5 工程,编译并下载程序到开发板。
+
+> 工程默认配置使用 ST-LINK 仿真器下载程序,在通过 ST-LINK 连接开发板的基础上,点击下载按钮即可下载程序到开发板
+
+#### 运行结果
+
+下载程序成功之后,系统会自动运行,蓝色的 LED2 以 500MS 周期闪烁。
+
+连接开发板对应串口到 PC , 在终端工具里打开相应的串口(115200-8-1-N),复位设备后,可以看到 RT-Thread 的输出信息:
+
+```bash
+ \ | /
+- RT - Thread Operating System
+ / | \ 4.0.0 build Jan 7 2019
+ 2006 - 2018 Copyright by rt-thread team
+msh >
+```
+### 进阶使用
+
+此 BSP 默认只开启了 GPIO 和 串口1 的功能,如果需使用 SD 卡、Flash 等更多高级功能,需要利用 ENV 工具对BSP 进行配置,步骤如下:
+
+1. 在 bsp 下打开 env 工具。
+
+2. 输入`menuconfig`命令配置工程,配置好之后保存退出。
+
+3. 输入`pkgs --update`命令更新软件包。
+
+4. 输入`scons --target=mdk4/mdk5/iar` 命令重新生成工程。
+
+本章节更多详细的介绍请参考 [STM32 系列 BSP 外设驱动使用教程](../docs/STM32系列BSP外设驱动使用教程.md)。
+
+## 注意事项
+
+- 默认终端输出设备是 UART1
+
+## 联系人信息
+
+维护人:
+
+- 邮箱:<[email protected]> \ No newline at end of file
diff --git a/bsp/stm32/stm32f767-st-nucleo/README.md b/bsp/stm32/stm32f767-st-nucleo/README.md
index 45ccf66f70..3cb5f47d34 100644
--- a/bsp/stm32/stm32f767-st-nucleo/README.md
+++ b/bsp/stm32/stm32f767-st-nucleo/README.md
@@ -1,110 +1,95 @@
-# STM32F767 NUCLEO-F767ZI开发板 BSP 说明
-## 简介
+# STM32F767-Nucleo BSP Introduction
-本文档为 NUCLEO-F767ZI 开发板的 BSP (板级支持包) 说明。
+[中文](README_zh.md)
-主要内容如下:
+## MCU: STM32F767ZI @216MHz, 2MB FLASH, 512KB RAM
-- 开发板资源介绍
-- BSP 快速上手
-- 进阶使用方法
+The STM32F765xx, STM32F767xx, STM32F768Ax and STM32F769xx devices are based on the high-performance Arm® Cortex®-M7 32-bit RISC core operating at up to 216 MHz frequency. The Cortex®-M7 core features a floating point unit (FPU) which supports Arm® double-precision and single-precision data-processing instructions and data types. It also implements a full set of DSP instructions and a memory protection unit (MPU) which enhances the application security.
-通过阅读快速上手章节开发者可以快速地上手该 BSP,将 RT-Thread 运行在开发板上。在进阶使用指南章节,将会介绍更多高级功能,帮助开发者利用 RT-Thread 驱动更多板载资源。
+The STM32F765xx, STM32F767xx, STM32F768Ax and STM32F769xx devices incorporate high-speed embedded memories with a Flash memory up to 2 Mbytes, 512 Kbytes of SRAM (including 128 Kbytes of Data TCM RAM for critical real-time data), 16 Kbytes of instruction TCM RAM (for critical real-time routines), 4 Kbytes of backup SRAM available in the lowest power modes, and an extensive range of enhanced I/Os and peripherals connected to two APB buses, two AHB buses, a 32-bit multi-AHB bus matrix and a multi layer AXI interconnect supporting internal and external memories access.
+All the devices offer three 12-bit ADCs, two DACs, a low-power RTC, twelve general-purpose 16-bit timers including two PWM timers for motor control, two general-purpose 32-bit timers, a true random number generator (RNG). They also feature standard and advanced communication interfaces.
+Advanced peripherals include two SDMMC interfaces, a flexible memory control (FMC) interface, a Quad-SPI Flash memory interface, a camera interface for CMOS sensors.
+The STM32F765xx, STM32F767xx, STM32F768Ax and STM32F769xx devices operate in the –40 to +105 °C temperature range from a 1.7 to 3.6 V power supply. Dedicated supply inputs for USB (OTG_FS and OTG_HS) and SDMMC2 (clock, command and 4-bit data) are available on all the packages except LQFP100 for a greater power supply choice.
+The supply voltage can drop to 1.7 V with the use of an external power supply supervisor. A comprehensive set of power-saving mode allows the design of low-power applications.
+The STM32F765xx, STM32F767xx, STM32F768Ax and STM32F769xx devices offer devices in 11 packages ranging from 100 pins to 216 pins. The set of included peripherals changes with the device chosen.
+These features make the STM32F765xx, STM32F767xx, STM32F768Ax and STM32F769xx microcontrollers suitable for a wide range of applications.
-## 开发板介绍
+#### KEY FEATURES
-NUCLEO-F767ZI 是st推出的一款基于 ARM Cortex-M7 内核的开发板,最高主频为 216Mhz,该开发板具有丰富的板载资源,可以充分发挥 STM32F767 的芯片性能。
+- Core: Arm® 32-bit Cortex®-M7 CPU with DPFPU, ART Accelerator™ and L1-cache: 16 Kbytes I/D cache, allowing 0-wait state execution from embedded Flash and external memories, up to 216 MHz, MPU, 462 DMIPS/2.14 DMIPS/MHz (Dhrystone 2.1), and DSP instructions.
+- Memories
+ - Up to 2 Mbytes of Flash memory organized into two banks allowing read-while-write
+ - SRAM: 512 Kbytes (including 128 Kbytes of data TCM RAM for critical real-time data) + 16 Kbytes of instruction TCM RAM (for critical real-time routines) + 4 Kbytes of backup SRAM
+ - Flexible external memory controller with up to 32-bit data bus: SRAM, PSRAM, SDRAM/LPSDR SDRAM, NOR/NAND memories
+- Dual mode Quad-SPI
+- Graphics
+ - Chrom-ART Accelerator™ (DMA2D), graphical hardware accelerator enabling enhanced graphical user interface
+ - Hardware JPEG codec
+ - LCD-TFT controller supporting up to XGA resolution
+ - MIPI® DSI host controller supporting up to 720p 30 Hz resolution
+- Clock, reset and supply management
+ - 1.7 V to 3.6 V application supply and I/Os
+ - POR, PDR, PVD and BOR
+ - Dedicated USB power
+ - 4-to-26 MHz crystal oscillator
+ - Internal 16 MHz factory-trimmed RC (1% accuracy)
+ - 32 kHz oscillator for RTC with calibration
+ - Internal 32 kHz RC with calibration
+- Low-power
+ - Sleep, Stop and Standby modes
+ - VBAT supply for RTC, 32×32 bit backup registers + 4 Kbytes backup SRAM
+- 3×12-bit, 2.4 MSPS ADC: up to 24 channels
+- Digital filters for sigma delta modulator (DFSDM), 8 channels / 4 filters
+- 2×12-bit D/A converters
+- General-purpose DMA: 16-stream DMA controller with FIFOs and burst support
-开发板外观如下图所示:
+- Up to 18 timers: up to thirteen 16-bit (1x low- power 16-bit timer available in Stop mode) and two 32-bit timers, each with up to 4 IC/OC/PWM or pulse counter and quadrature (incremental) encoder input. All 15 timers running up to 216 MHz. 2x watchdogs, SysTick timer
+- Debug mode
+ - SWD & JTAG interfaces
+ - Cortex®-M7 Trace Macrocell™
+- Up to 168 I/O ports with interrupt capability
+ - Up to 164 fast I/Os up to 108 MHz
+ - Up to 166 5 V-tolerant I/Os
+- Up to 28 communication interfaces
+ - Up to 4 I2C interfaces (SMBus/PMBus)
+ - Up to 4 USARTs/4 UARTs (12.5 Mbit/s, ISO7816 interface, LIN, IrDA, modem control)
+ - Up to 6 SPIs (up to 54 Mbit/s), 3 with muxed simplex I2S for audio
+ - 2 x SAIs (serial audio interface)
+ - 3 x CANs (2.0B Active) and 2 x SDMMCs
+ - SPDIFRX interface
+ - HDMI-CEC
+ - MDIO slave interface
+- Advanced connectivity
+ - USB 2.0 full-speed device/host/OTG controller with on-chip PHY
+ - USB 2.0 high-speed/full-speed device/host/OTG controller with dedicated DMA, on-chip full-speed PHY and ULPI
+ - 10/100 Ethernet MAC with dedicated DMA: supports IEEE 1588v2 hardware, MII/RMII
+- 8- to 14-bit camera interface up to 54 Mbyte/s
+- True random number generator
+- CRC calculation unit
+- RTC: subsecond accuracy, hardware calendar
+- 96-bit unique ID
-![board](figures/en.high-perf_nucleo-144_mbed.jpg)
-该开发板常用 **板载资源** 如下:
-- MCU:STM32f767,主频 216MHz,2MB FLASH ,512KB RAM ,16K CACHE
+## Read more
-- 常用外设
- - LED :3个,LED1 (绿色,PB0),LED2(蓝色,PB7),LED3(红色,PB14)
- - 按键:2个,B1(用户按键,PC13),B2(复位引脚)
-- 常用接口:USB 转串口3、以太网接口
-- 调试接口:ST-LINK
+| Documents | Description |
+| :----------------------------------------------------------: | :----------------------------------------------------------: |
+| [STM32_Nucleo-144_BSP_Introduction](../docs/STM32_Nucleo-144_BSP_Introduction.md) | How to run RT-Thread on STM32 Nucleo-144 boards (**Must-Read**) |
+| [STM32F767ZI ST Official Website](https://www.st.com/en/microcontrollers-microprocessors/stm32f767zi.html#documentation) | STM32F767ZI datasheet and other resources |
-开发板更多详细信息请参考ST [NUCLEO-F767ZI开发板介绍](https://www.st.com/en/evaluation-tools/nucleo-f767zi.html)。
-## 外设支持
-本 BSP 目前对外设的支持情况如下:
+## Maintained By
-| **板载外设** | **支持情况** | **备注** |
-| :-----------------| :----------: | :-------------------------------------|
-| USB 转串口3 | 支持 | |
-| 以太网 | 支持 | PHY 选项 LAN8720A(兼容 LAN8742A) |
-| **片上外设** | **支持情况** | **备注** |
-| GPIO | 支持 | PA0, PA1... PK15 ---> PIN: 0, 1...144 |
-| UART | 支持 | UART3 |
-| **扩展模块** | **支持情况** | **备注** |
-| 暂无 | 暂不支持 | 暂不支持 |
+[e31207077](https://github.com/e31207077) <[email protected]>
-## 使用说明
-使用说明分为如下两个章节:
-- 快速上手
+## Translated By
- 本章节是为刚接触 RT-Thread 的新手准备的使用说明,遵循简单的步骤即可将 RT-Thread 操作系统运行在该开发板上,看到实验效果 。
+Meco Man @ RT-Thread Community
-- 进阶使用
-
- 本章节是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。
-
-
-### 快速上手
-
-本 BSP 为开发者提供 MDK5 和 IAR 工程,并且支持 GCC 开发环境。下面以 MDK5 开发环境为例,介绍如何将系统运行起来。
-
-#### 硬件连接
-
-使用数据线连接开发板到 PC,打开电源开关。
-
-#### 编译下载
-
-双击 project.uvprojx 文件,打开 MDK5 工程,编译并下载程序到开发板。
-
-> 工程默认配置使用 ST-LINK 仿真器下载程序,在通过 ST-LINK 连接开发板的基础上,点击下载按钮即可下载程序到开发板
-
-#### 运行结果
-
-下载程序成功之后,系统会自动运行,LED 闪烁。
-
-连接开发板对应串口到 PC , 在终端工具里打开相应的串口(115200-8-1-N),复位设备后,可以看到 RT-Thread 的输出信息:
-
-```bash
- \ | /
-- RT - Thread Operating System
- / | \ 4.0.0 build Jan 9 2019
- 2006 - 2018 Copyright by rt-thread team
-msh >
-```
-### 进阶使用
-
-此 BSP 默认只开启了 GPIO 和 串口3 的功能,如果需使用 Ethernet 等更多高级功能,需要利用 ENV 工具对BSP 进行配置,步骤如下:
-
-1. 在 bsp 下打开 env 工具。
-
-2. 输入`menuconfig`命令配置工程,配置好之后保存退出。
-
-3. 输入`pkgs --update`命令更新软件包。
-
-4. 输入`scons --target=mdk4/mdk5/iar` 命令重新生成工程。
-
-本章节更多详细的介绍请参考 [STM32 系列 BSP 外设驱动使用教程](../docs/STM32系列BSP外设驱动使用教程.md)。
-
-## 注意事项
-
-暂无
-
-## 联系人信息
-
-维护人:
-
-- [e31207077](https://github.com/e31207077), 邮箱:<[email protected]>
+>
+> https://github.com/mysterywolf
diff --git a/bsp/stm32/stm32f767-st-nucleo/README_zh.md b/bsp/stm32/stm32f767-st-nucleo/README_zh.md
new file mode 100644
index 0000000000..45ccf66f70
--- /dev/null
+++ b/bsp/stm32/stm32f767-st-nucleo/README_zh.md
@@ -0,0 +1,110 @@
+# STM32F767 NUCLEO-F767ZI开发板 BSP 说明
+## 简介
+
+本文档为 NUCLEO-F767ZI 开发板的 BSP (板级支持包) 说明。
+
+主要内容如下:
+
+- 开发板资源介绍
+- BSP 快速上手
+- 进阶使用方法
+
+通过阅读快速上手章节开发者可以快速地上手该 BSP,将 RT-Thread 运行在开发板上。在进阶使用指南章节,将会介绍更多高级功能,帮助开发者利用 RT-Thread 驱动更多板载资源。
+
+## 开发板介绍
+
+NUCLEO-F767ZI 是st推出的一款基于 ARM Cortex-M7 内核的开发板,最高主频为 216Mhz,该开发板具有丰富的板载资源,可以充分发挥 STM32F767 的芯片性能。
+
+开发板外观如下图所示:
+
+![board](figures/en.high-perf_nucleo-144_mbed.jpg)
+
+该开发板常用 **板载资源** 如下:
+
+- MCU:STM32f767,主频 216MHz,2MB FLASH ,512KB RAM ,16K CACHE
+
+- 常用外设
+ - LED :3个,LED1 (绿色,PB0),LED2(蓝色,PB7),LED3(红色,PB14)
+ - 按键:2个,B1(用户按键,PC13),B2(复位引脚)
+- 常用接口:USB 转串口3、以太网接口
+- 调试接口:ST-LINK
+
+开发板更多详细信息请参考ST [NUCLEO-F767ZI开发板介绍](https://www.st.com/en/evaluation-tools/nucleo-f767zi.html)。
+
+## 外设支持
+
+本 BSP 目前对外设的支持情况如下:
+
+| **板载外设** | **支持情况** | **备注** |
+| :-----------------| :----------: | :-------------------------------------|
+| USB 转串口3 | 支持 | |
+| 以太网 | 支持 | PHY 选项 LAN8720A(兼容 LAN8742A) |
+| **片上外设** | **支持情况** | **备注** |
+| GPIO | 支持 | PA0, PA1... PK15 ---> PIN: 0, 1...144 |
+| UART | 支持 | UART3 |
+| **扩展模块** | **支持情况** | **备注** |
+| 暂无 | 暂不支持 | 暂不支持 |
+
+## 使用说明
+
+使用说明分为如下两个章节:
+
+- 快速上手
+
+ 本章节是为刚接触 RT-Thread 的新手准备的使用说明,遵循简单的步骤即可将 RT-Thread 操作系统运行在该开发板上,看到实验效果 。
+
+- 进阶使用
+
+ 本章节是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。
+
+
+### 快速上手
+
+本 BSP 为开发者提供 MDK5 和 IAR 工程,并且支持 GCC 开发环境。下面以 MDK5 开发环境为例,介绍如何将系统运行起来。
+
+#### 硬件连接
+
+使用数据线连接开发板到 PC,打开电源开关。
+
+#### 编译下载
+
+双击 project.uvprojx 文件,打开 MDK5 工程,编译并下载程序到开发板。
+
+> 工程默认配置使用 ST-LINK 仿真器下载程序,在通过 ST-LINK 连接开发板的基础上,点击下载按钮即可下载程序到开发板
+
+#### 运行结果
+
+下载程序成功之后,系统会自动运行,LED 闪烁。
+
+连接开发板对应串口到 PC , 在终端工具里打开相应的串口(115200-8-1-N),复位设备后,可以看到 RT-Thread 的输出信息:
+
+```bash
+ \ | /
+- RT - Thread Operating System
+ / | \ 4.0.0 build Jan 9 2019
+ 2006 - 2018 Copyright by rt-thread team
+msh >
+```
+### 进阶使用
+
+此 BSP 默认只开启了 GPIO 和 串口3 的功能,如果需使用 Ethernet 等更多高级功能,需要利用 ENV 工具对BSP 进行配置,步骤如下:
+
+1. 在 bsp 下打开 env 工具。
+
+2. 输入`menuconfig`命令配置工程,配置好之后保存退出。
+
+3. 输入`pkgs --update`命令更新软件包。
+
+4. 输入`scons --target=mdk4/mdk5/iar` 命令重新生成工程。
+
+本章节更多详细的介绍请参考 [STM32 系列 BSP 外设驱动使用教程](../docs/STM32系列BSP外设驱动使用教程.md)。
+
+## 注意事项
+
+暂无
+
+## 联系人信息
+
+维护人:
+
+- [e31207077](https://github.com/e31207077), 邮箱:<[email protected]>
diff --git a/bsp/stm32f20x/applications/startup.c b/bsp/stm32f20x/applications/startup.c
index 77f915cbbd..92be9bd2ce 100644
--- a/bsp/stm32f20x/applications/startup.c
+++ b/bsp/stm32f20x/applications/startup.c
@@ -61,12 +61,6 @@ void rtthread_startup(void)
/* show version */
rt_show_version();
- /* init tick */
- rt_system_tick_init();
-
- /* init kernel object */
- rt_system_object_init();
-
/* init timer system */
rt_system_timer_init();
diff --git a/bsp/taihu/applications/startup.c b/bsp/taihu/applications/startup.c
index f52a185495..9f7d9415b5 100644
--- a/bsp/taihu/applications/startup.c
+++ b/bsp/taihu/applications/startup.c
@@ -40,9 +40,6 @@ void rtthread_startup(void)
rt_hw_board_init();
rt_show_version();
- /* init tick */
- rt_system_tick_init();
-
/* init timer system */
rt_system_timer_init();
diff --git a/bsp/tms320f28379d/applications/startup.c b/bsp/tms320f28379d/applications/startup.c
index 301e63a00a..da5c31e237 100644
--- a/bsp/tms320f28379d/applications/startup.c
+++ b/bsp/tms320f28379d/applications/startup.c
@@ -50,12 +50,6 @@ void rtthread_startup(void)
/* show version */
rt_show_version();
- /* init tick */
- rt_system_tick_init();
-
- /* init kernel object */
- rt_system_object_init();
-
/* init timer system */
rt_system_timer_init();
diff --git a/bsp/upd70f3454/applications/startup.c b/bsp/upd70f3454/applications/startup.c
index d25ca73f28..409b3cc615 100644
--- a/bsp/upd70f3454/applications/startup.c
+++ b/bsp/upd70f3454/applications/startup.c
@@ -49,13 +49,7 @@ void rtthread_startup(void)
/* show version */
rt_show_version();
-
- /* init tick */
- rt_system_tick_init();
-
- /* init kernel object */
- rt_system_object_init();
-
+
/* init timer system */
rt_system_timer_init();
diff --git a/bsp/wh44b0/startup.c b/bsp/wh44b0/startup.c
index 4ea7a4f03d..5e62200a19 100644
--- a/bsp/wh44b0/startup.c
+++ b/bsp/wh44b0/startup.c
@@ -58,12 +58,6 @@ void rtthread_startup(void)
rt_show_version();
- /* init tick */
- rt_system_tick_init();
-
- /* init kernel object */
- rt_system_object_init();
-
/* init timer system */
rt_system_timer_init();
diff --git a/bsp/x86/applications/startup.c b/bsp/x86/applications/startup.c
index 72a4eb0a96..475273267f 100644
--- a/bsp/x86/applications/startup.c
+++ b/bsp/x86/applications/startup.c
@@ -69,12 +69,6 @@ void rtthread_startup(void)
rt_show_version();
- /* init tick */
- rt_system_tick_init();
-
- /* init kernel object */
- rt_system_object_init();
-
/* init timer system */
rt_system_timer_init();
diff --git a/components/drivers/pm/pm.c b/components/drivers/pm/pm.c
index dd7cc2ae63..f9190ae9ef 100644
--- a/components/drivers/pm/pm.c
+++ b/components/drivers/pm/pm.c
@@ -8,6 +8,7 @@
* 2012-06-02 Bernard the first version
* 2018-08-02 Tanek split run and sleep modes, support custom mode
* 2019-04-28 Zero-Free improve PM mode and device ops interface
+ * 2020-11-23 zhangsz update pm mode select
*/
#include <rthw.h>
@@ -214,8 +215,6 @@ static void _pm_change_sleep_mode(struct rt_pm *pm, rt_uint8_t mode)
*/
void rt_system_power_manager(void)
{
- rt_uint8_t mode;
-
if (_pm_init_flag == 0)
return;
@@ -223,8 +222,7 @@ void rt_system_power_manager(void)
_pm_frequency_scaling(&_pm);
/* Low Power Mode Processing */
- mode = _pm_select_sleep_mode(&_pm);
- _pm_change_sleep_mode(&_pm, mode);
+ _pm_change_sleep_mode(&_pm, _pm.sleep_mode);
}
/**
@@ -248,6 +246,7 @@ void rt_pm_request(rt_uint8_t mode)
pm = &_pm;
if (pm->modes[mode] < 255)
pm->modes[mode] ++;
+ _pm_select_sleep_mode(pm);
rt_hw_interrupt_enable(level);
}
@@ -273,6 +272,7 @@ void rt_pm_release(rt_uint8_t mode)
pm = &_pm;
if (pm->modes[mode] > 0)
pm->modes[mode] --;
+ _pm_select_sleep_mode(pm);
rt_hw_interrupt_enable(level);
}
@@ -516,6 +516,10 @@ void rt_system_pm_init(const struct rt_pm_ops *ops,
pm->device_pm = RT_NULL;
pm->device_pm_number = 0;
+#if IDLE_THREAD_STACK_SIZE <= 256
+ #error "[pm.c ERR] IDLE Stack Size Too Small!"
+#endif
+
_pm_init_flag = 1;
}
diff --git a/components/libc/pthreads/semaphore.c b/components/libc/pthreads/semaphore.c
index 2bef10022e..2ed93e99b6 100644
--- a/components/libc/pthreads/semaphore.c
+++ b/components/libc/pthreads/semaphore.c
@@ -64,7 +64,7 @@ static sem_t *posix_sem_find(const char* name)
for (iter = posix_sem_list; iter != RT_NULL; iter = iter->next)
{
- object = (rt_object_t)&(iter->sem);
+ object = (rt_object_t)iter->sem;
if (strncmp(object->name, name, RT_NAME_MAX) == 0)
{
diff --git a/documentation/doxygen/systeminit.h b/documentation/doxygen/systeminit.h
index d62aca59bb..c45eda4079 100644
--- a/documentation/doxygen/systeminit.h
+++ b/documentation/doxygen/systeminit.h
@@ -21,12 +21,6 @@
* - show version
* rt_show_version();
*
- * - initialize system tick
- * rt_system_tick_init();
- *
- * - initialize kernel object [deprecated]
- * rt_system_object_init();
- *
* - initialize timer system
* rt_system_timer_init();
*
diff --git a/include/rtthread.h b/include/rtthread.h
index a76601a3bf..27cfea19e0 100644
--- a/include/rtthread.h
+++ b/include/rtthread.h
@@ -38,7 +38,6 @@ extern "C" {
/*
* kernel object interface
*/
-void rt_system_object_init(void);
struct rt_object_information *
rt_object_get_information(enum rt_object_class_type type);
int rt_object_get_length(enum rt_object_class_type type);
@@ -74,7 +73,6 @@ void rt_object_put_sethook(void (*hook)(struct rt_object *object));
/*
* clock & timer interface
*/
-void rt_system_tick_init(void);
rt_tick_t rt_tick_get(void);
void rt_tick_set(rt_tick_t tick);
void rt_tick_increase(void);
diff --git a/libcpu/Kconfig b/libcpu/Kconfig
index ae2767dec9..974c421138 100644
--- a/libcpu/Kconfig
+++ b/libcpu/Kconfig
@@ -106,6 +106,14 @@ config ARCH_RISCV
config ARCH_RISCV_FPU
bool
+config ARCH_RISCV_FPU_S
+ select ARCH_RISCV_FPU
+ bool
+
+config ARCH_RISCV_FPU_D
+ select ARCH_RISCV_FPU
+ bool
+
config ARCH_RISCV32
select ARCH_RISCV
bool
diff --git a/libcpu/aarch64/common/cpu.c b/libcpu/aarch64/common/cpu.c
index 962a53a071..84d3df2e8a 100644
--- a/libcpu/aarch64/common/cpu.c
+++ b/libcpu/aarch64/common/cpu.c
@@ -76,7 +76,7 @@ void rt_hw_spin_unlock(rt_hw_spinlock_t *lock)
/*@{*/
/** shutdown CPU */
-void rt_hw_cpu_shutdown()
+RT_WEAK void rt_hw_cpu_shutdown()
{
rt_uint32_t level;
rt_kprintf("shutdown...\n");
diff --git a/libcpu/arc/em/cpuport.c b/libcpu/arc/em/cpuport.c
index 34f538881f..1a2593644a 100644
--- a/libcpu/arc/em/cpuport.c
+++ b/libcpu/arc/em/cpuport.c
@@ -32,7 +32,7 @@ struct init_stack_frame {
/**
* shutdown CPU
*/
-void rt_hw_cpu_shutdown(void)
+RT_WEAK void rt_hw_cpu_shutdown(void)
{
}
diff --git a/libcpu/arm/AT91SAM7S/cpu.c b/libcpu/arm/AT91SAM7S/cpu.c
index 8d28063eb1..b24ab5644b 100644
--- a/libcpu/arm/AT91SAM7S/cpu.c
+++ b/libcpu/arm/AT91SAM7S/cpu.c
@@ -20,7 +20,7 @@
* this function will reset CPU
*
*/
-void rt_hw_cpu_reset()
+RT_WEAK void rt_hw_cpu_reset()
{
}
@@ -28,7 +28,7 @@ void rt_hw_cpu_reset()
* this function will shutdown CPU
*
*/
-void rt_hw_cpu_shutdown()
+RT_WEAK void rt_hw_cpu_shutdown()
{
rt_kprintf("shutdown...\n");
diff --git a/libcpu/arm/AT91SAM7X/cpu.c b/libcpu/arm/AT91SAM7X/cpu.c
index 484c19d10a..046f7e8ced 100644
--- a/libcpu/arm/AT91SAM7X/cpu.c
+++ b/libcpu/arm/AT91SAM7X/cpu.c
@@ -20,7 +20,7 @@
* this function will reset CPU
*
*/
-void rt_hw_cpu_reset()
+RT_WEAK void rt_hw_cpu_reset()
{
}
@@ -28,7 +28,7 @@ void rt_hw_cpu_reset()
* this function will shutdown CPU
*
*/
-void rt_hw_cpu_shutdown()
+RT_WEAK void rt_hw_cpu_shutdown()
{
rt_kprintf("shutdown...\n");
diff --git a/libcpu/arm/am335x/cpu.c b/libcpu/arm/am335x/cpu.c
index cae865fe50..469276466b 100644
--- a/libcpu/arm/am335x/cpu.c
+++ b/libcpu/arm/am335x/cpu.c
@@ -149,7 +149,7 @@ rt_base_t rt_hw_cpu_dcache_status()
* shutdown CPU
*
*/
-void rt_hw_cpu_shutdown()
+RT_WEAK void rt_hw_cpu_shutdown()
{
rt_uint32_t level;
rt_kprintf("shutdown...\n");
diff --git a/libcpu/arm/arm926/cpuport.c b/libcpu/arm/arm926/cpuport.c
index 035e97d543..dc93f42ed6 100644
--- a/libcpu/arm/arm926/cpuport.c
+++ b/libcpu/arm/arm926/cpuport.c
@@ -146,7 +146,7 @@ rt_base_t rt_hw_cpu_dcache_status()
* reset cpu by dog's time-out
*
*/
-void rt_hw_cpu_reset()
+RT_WEAK void rt_hw_cpu_reset()
{
rt_kprintf("Restarting system...\n");
@@ -161,7 +161,7 @@ void rt_hw_cpu_reset()
* shutdown CPU
*
*/
-void rt_hw_cpu_shutdown()
+RT_WEAK void rt_hw_cpu_shutdown()
{
rt_uint32_t level;
rt_kprintf("shutdown...\n");
diff --git a/libcpu/arm/armv6/cpuport.c b/libcpu/arm/armv6/cpuport.c
index c8e9201722..f886e7e164 100644
--- a/libcpu/arm/armv6/cpuport.c
+++ b/libcpu/arm/armv6/cpuport.c
@@ -147,7 +147,7 @@ rt_base_t rt_hw_cpu_dcache_status()
* reset cpu by dog's time-out
*
*/
-void rt_hw_cpu_reset()
+RT_WEAK void rt_hw_cpu_reset()
{
rt_kprintf("Restarting system...\n");
@@ -162,7 +162,7 @@ void rt_hw_cpu_reset()
* shutdown CPU
*
*/
-void rt_hw_cpu_shutdown()
+RT_WEAK void rt_hw_cpu_shutdown()
{
rt_uint32_t level;
rt_kprintf("shutdown...\n");
diff --git a/libcpu/arm/cortex-a/cpu.c b/libcpu/arm/cortex-a/cpu.c
index 7c6bf58a4b..6775b781bc 100644
--- a/libcpu/arm/cortex-a/cpu.c
+++ b/libcpu/arm/cortex-a/cpu.c
@@ -74,7 +74,7 @@ void rt_hw_spin_unlock(rt_hw_spinlock_t *lock)
/*@{*/
/** shutdown CPU */
-void rt_hw_cpu_shutdown()
+RT_WEAK void rt_hw_cpu_shutdown()
{
rt_uint32_t level;
rt_kprintf("shutdown...\n");
diff --git a/libcpu/arm/cortex-m3/cpuport.c b/libcpu/arm/cortex-m3/cpuport.c
index d58782e2c5..b6c4c9743c 100644
--- a/libcpu/arm/cortex-m3/cpuport.c
+++ b/libcpu/arm/cortex-m3/cpuport.c
@@ -344,7 +344,7 @@ void rt_hw_hard_fault_exception(struct exception_info * exception_info)
/**
* shutdown CPU
*/
-void rt_hw_cpu_shutdown(void)
+RT_WEAK void rt_hw_cpu_shutdown(void)
{
rt_kprintf("shutdown...\n");
diff --git a/libcpu/arm/cortex-m33/cpuport.c b/libcpu/arm/cortex-m33/cpuport.c
index a589ba3462..42b5798507 100644
--- a/libcpu/arm/cortex-m33/cpuport.c
+++ b/libcpu/arm/cortex-m33/cpuport.c
@@ -431,7 +431,7 @@ void rt_hw_hard_fault_exception(struct exception_info *exception_info)
/**
* shutdown CPU
*/
-void rt_hw_cpu_shutdown(void)
+RT_WEAK void rt_hw_cpu_shutdown(void)
{
rt_kprintf("shutdown...\n");
diff --git a/libcpu/arm/cortex-m4/cpuport.c b/libcpu/arm/cortex-m4/cpuport.c
index dc8a9aab59..2e47832259 100644
--- a/libcpu/arm/cortex-m4/cpuport.c
+++ b/libcpu/arm/cortex-m4/cpuport.c
@@ -428,7 +428,7 @@ void rt_hw_hard_fault_exception(struct exception_info *exception_info)
/**
* shutdown CPU
*/
-void rt_hw_cpu_shutdown(void)
+RT_WEAK void rt_hw_cpu_shutdown(void)
{
rt_kprintf("shutdown...\n");
diff --git a/libcpu/arm/cortex-m7/cpuport.c b/libcpu/arm/cortex-m7/cpuport.c
index e701a52307..aeb9f14ac5 100644
--- a/libcpu/arm/cortex-m7/cpuport.c
+++ b/libcpu/arm/cortex-m7/cpuport.c
@@ -428,7 +428,7 @@ void rt_hw_hard_fault_exception(struct exception_info *exception_info)
/**
* shutdown CPU
*/
-void rt_hw_cpu_shutdown(void)
+RT_WEAK void rt_hw_cpu_shutdown(void)
{
rt_kprintf("shutdown...\n");
diff --git a/libcpu/arm/cortex-r4/cpu.c b/libcpu/arm/cortex-r4/cpu.c
index d2e8130e7c..23c16e383c 100644
--- a/libcpu/arm/cortex-r4/cpu.c
+++ b/libcpu/arm/cortex-r4/cpu.c
@@ -20,7 +20,7 @@
* this function will reset CPU
*
*/
-void rt_hw_cpu_reset()
+RT_WEAK void rt_hw_cpu_reset()
{
}
@@ -28,7 +28,7 @@ void rt_hw_cpu_reset()
* this function will shutdown CPU
*
*/
-void rt_hw_cpu_shutdown()
+RT_WEAK void rt_hw_cpu_shutdown()
{
rt_kprintf("shutdown...\n");
diff --git a/libcpu/arm/dm36x/cpuport.c b/libcpu/arm/dm36x/cpuport.c
index f6e8a20056..99edb96260 100644
--- a/libcpu/arm/dm36x/cpuport.c
+++ b/libcpu/arm/dm36x/cpuport.c
@@ -145,7 +145,7 @@ rt_base_t rt_hw_cpu_dcache_status()
* reset cpu by dog's time-out
*
*/
-void rt_hw_cpu_reset()
+RT_WEAK void rt_hw_cpu_reset()
{
rt_kprintf("Restarting system...\n");
@@ -160,7 +160,7 @@ void rt_hw_cpu_reset()
* shutdown CPU
*
*/
-void rt_hw_cpu_shutdown()
+RT_WEAK void rt_hw_cpu_shutdown()
{
rt_uint32_t level;
rt_kprintf("shutdown...\n");
diff --git a/libcpu/arm/lpc214x/cpuport.c b/libcpu/arm/lpc214x/cpuport.c
index 2543a5e0a9..54e7e9b0c8 100644
--- a/libcpu/arm/lpc214x/cpuport.c
+++ b/libcpu/arm/lpc214x/cpuport.c
@@ -163,7 +163,7 @@ rt_isr_handler_t rt_hw_interrupt_install(int vector, rt_isr_handler_t handler,
* this function will reset CPU
*
*/
-void rt_hw_cpu_reset(void)
+RT_WEAK void rt_hw_cpu_reset(void)
{
}
@@ -171,7 +171,7 @@ void rt_hw_cpu_reset(void)
* this function will shutdown CPU
*
*/
-void rt_hw_cpu_shutdown()
+RT_WEAK void rt_hw_cpu_shutdown()
{
rt_kprintf("shutdown...\n");
diff --git a/libcpu/arm/lpc24xx/cpu.c b/libcpu/arm/lpc24xx/cpu.c
index f3a61e16a3..0453722d1d 100644
--- a/libcpu/arm/lpc24xx/cpu.c
+++ b/libcpu/arm/lpc24xx/cpu.c
@@ -20,7 +20,7 @@
* this function will reset CPU
*
*/
-void rt_hw_cpu_reset()
+RT_WEAK void rt_hw_cpu_reset()
{
}
@@ -28,7 +28,7 @@ void rt_hw_cpu_reset()
* this function will shutdown CPU
*
*/
-void rt_hw_cpu_shutdown()
+RT_WEAK void rt_hw_cpu_shutdown()
{
rt_kprintf("shutdown...\n");
diff --git a/libcpu/arm/realview-a8-vmm/cpu.c b/libcpu/arm/realview-a8-vmm/cpu.c
index 2d78715011..dbdb4ac515 100644
--- a/libcpu/arm/realview-a8-vmm/cpu.c
+++ b/libcpu/arm/realview-a8-vmm/cpu.c
@@ -18,7 +18,7 @@
/*@{*/
/** shutdown CPU */
-void rt_hw_cpu_shutdown()
+RT_WEAK void rt_hw_cpu_shutdown()
{
rt_uint32_t level;
rt_kprintf("shutdown...\n");
diff --git a/libcpu/arm/s3c24x0/cpu.c b/libcpu/arm/s3c24x0/cpu.c
index 4d3bf3c1ab..2adf526a5c 100644
--- a/libcpu/arm/s3c24x0/cpu.c
+++ b/libcpu/arm/s3c24x0/cpu.c
@@ -148,7 +148,7 @@ rt_base_t rt_hw_cpu_dcache_status()
* reset cpu by dog's time-out
*
*/
-void rt_hw_cpu_reset()
+RT_WEAK void rt_hw_cpu_reset()
{
/* Disable all interrupt except the WDT */
INTMSK = (~((rt_uint32_t)1 << INTWDT));
@@ -171,7 +171,7 @@ void rt_hw_cpu_reset()
* shutdown CPU
*
*/
-void rt_hw_cpu_shutdown()
+RT_WEAK void rt_hw_cpu_shutdown()
{
rt_uint32_t level;
rt_kprintf("shutdown...\n");
diff --git a/libcpu/arm/s3c44b0/cpu.c b/libcpu/arm/s3c44b0/cpu.c
index 03ebefba18..9d60b09688 100644
--- a/libcpu/arm/s3c44b0/cpu.c
+++ b/libcpu/arm/s3c44b0/cpu.c
@@ -100,7 +100,7 @@ rt_base_t rt_hw_cpu_dcache_status()
* this function will reset CPU
*
*/
-void rt_hw_cpu_reset()
+RT_WEAK void rt_hw_cpu_reset()
{
}
@@ -108,7 +108,7 @@ void rt_hw_cpu_reset()
* this function will shutdown CPU
*
*/
-void rt_hw_cpu_shutdown()
+RT_WEAK void rt_hw_cpu_shutdown()
{
rt_kprintf("shutdown...\n");
diff --git a/libcpu/arm/sep4020/cpu.c b/libcpu/arm/sep4020/cpu.c
index ee4eab626b..92ba2cf86a 100644
--- a/libcpu/arm/sep4020/cpu.c
+++ b/libcpu/arm/sep4020/cpu.c
@@ -152,7 +152,7 @@ rt_base_t rt_hw_cpu_dcache_status()
* reset cpu by dog's time-out
*
*/
-void rt_hw_cpu_reset()
+RT_WEAK void rt_hw_cpu_reset()
{
/* enable watchdog */
@@ -173,7 +173,7 @@ void rt_hw_cpu_reset()
* shutdown CPU
*
*/
-void rt_hw_cpu_shutdown()
+RT_WEAK void rt_hw_cpu_shutdown()
{
rt_uint32_t UNUSED level;
rt_kprintf("shutdown...\n");
diff --git a/libcpu/arm/zynq7000/cpu.c b/libcpu/arm/zynq7000/cpu.c
index 5f3a3e7b02..f6b7f5d852 100644
--- a/libcpu/arm/zynq7000/cpu.c
+++ b/libcpu/arm/zynq7000/cpu.c
@@ -16,7 +16,7 @@
* reset cpu by dog's time-out
*
*/
-void rt_hw_cpu_reset()
+RT_WEAK void rt_hw_cpu_reset()
{
while (1); /* loop forever and wait for reset to happen */
@@ -27,7 +27,7 @@ void rt_hw_cpu_reset()
* shutdown CPU
*
*/
-void rt_hw_cpu_shutdown()
+RT_WEAK void rt_hw_cpu_shutdown()
{
rt_uint32_t level;
rt_kprintf("shutdown...\n");
diff --git a/libcpu/avr32/uc3/cpu.c b/libcpu/avr32/uc3/cpu.c
index b77e78dc5b..fdd8a4d56c 100644
--- a/libcpu/avr32/uc3/cpu.c
+++ b/libcpu/avr32/uc3/cpu.c
@@ -23,7 +23,7 @@
* reset cpu by dog's time-out
*
*/
-void rt_hw_cpu_reset()
+RT_WEAK void rt_hw_cpu_reset()
{
/*NOTREACHED*/
}
diff --git a/libcpu/mips/gs232/cpuport.c b/libcpu/mips/gs232/cpuport.c
index 1b13719449..e3c078241f 100644
--- a/libcpu/mips/gs232/cpuport.c
+++ b/libcpu/mips/gs232/cpuport.c
@@ -23,7 +23,7 @@
* this function will reset CPU
*
*/
-void rt_hw_cpu_reset(void)
+RT_WEAK void rt_hw_cpu_reset(void)
{
/* open the watch-dog */
WDT_EN = 0x01; /* watch dog enable */
@@ -38,7 +38,7 @@ void rt_hw_cpu_reset(void)
* this function will shutdown CPU
*
*/
-void rt_hw_cpu_shutdown(void)
+RT_WEAK void rt_hw_cpu_shutdown(void)
{
rt_kprintf("shutdown...\n");
diff --git a/libcpu/risc-v/common/context_gcc.S b/libcpu/risc-v/common/context_gcc.S
index 5c9f05c4e8..9f356f4191 100644
--- a/libcpu/risc-v/common/context_gcc.S
+++ b/libcpu/risc-v/common/context_gcc.S
@@ -7,6 +7,7 @@
* Date Author Notes
* 2018/10/28 Bernard The unify RISC-V porting implementation
* 2018/12/27 Jesven Add SMP support
+ * 2020/11/20 BalanceTWK Add FPU support
*/
#include "cpuport.h"
@@ -72,6 +73,43 @@ rt_hw_context_switch:
* mstatus.mie -> sp(2)
* x(i) -> sp(i-4)
*/
+#ifdef ARCH_RISCV_FPU
+ addi sp, sp, -32 * FREGBYTES
+
+ FSTORE f0, 0 * FREGBYTES(sp)
+ FSTORE f1, 1 * FREGBYTES(sp)
+ FSTORE f2, 2 * FREGBYTES(sp)
+ FSTORE f3, 3 * FREGBYTES(sp)
+ FSTORE f4, 4 * FREGBYTES(sp)
+ FSTORE f5, 5 * FREGBYTES(sp)
+ FSTORE f6, 6 * FREGBYTES(sp)
+ FSTORE f7, 7 * FREGBYTES(sp)
+ FSTORE f8, 8 * FREGBYTES(sp)
+ FSTORE f9, 9 * FREGBYTES(sp)
+ FSTORE f10, 10 * FREGBYTES(sp)
+ FSTORE f11, 11 * FREGBYTES(sp)
+ FSTORE f12, 12 * FREGBYTES(sp)
+ FSTORE f13, 13 * FREGBYTES(sp)
+ FSTORE f14, 14 * FREGBYTES(sp)
+ FSTORE f15, 15 * FREGBYTES(sp)
+ FSTORE f16, 16 * FREGBYTES(sp)
+ FSTORE f17, 17 * FREGBYTES(sp)
+ FSTORE f18, 18 * FREGBYTES(sp)
+ FSTORE f19, 19 * FREGBYTES(sp)
+ FSTORE f20, 20 * FREGBYTES(sp)
+ FSTORE f21, 21 * FREGBYTES(sp)
+ FSTORE f22, 22 * FREGBYTES(sp)
+ FSTORE f23, 23 * FREGBYTES(sp)
+ FSTORE f24, 24 * FREGBYTES(sp)
+ FSTORE f25, 25 * FREGBYTES(sp)
+ FSTORE f26, 26 * FREGBYTES(sp)
+ FSTORE f27, 27 * FREGBYTES(sp)
+ FSTORE f28, 28 * FREGBYTES(sp)
+ FSTORE f29, 29 * FREGBYTES(sp)
+ FSTORE f30, 30 * FREGBYTES(sp)
+ FSTORE f31, 31 * FREGBYTES(sp)
+
+#endif
addi sp, sp, -32 * REGBYTES
STORE sp, (a0)
@@ -174,7 +212,7 @@ rt_hw_context_switch_exit:
LOAD x1, 1 * REGBYTES(sp)
- li t0, 0x00001800
+ li t0, 0x00007800
csrw mstatus, t0
LOAD a0, 2 * REGBYTES(sp)
csrs mstatus, a0
@@ -209,4 +247,42 @@ rt_hw_context_switch_exit:
LOAD x31, 31 * REGBYTES(sp)
addi sp, sp, 32 * REGBYTES
+
+#ifdef ARCH_RISCV_FPU
+ FLOAD f0, 0 * FREGBYTES(sp)
+ FLOAD f1, 1 * FREGBYTES(sp)
+ FLOAD f2, 2 * FREGBYTES(sp)
+ FLOAD f3, 3 * FREGBYTES(sp)
+ FLOAD f4, 4 * FREGBYTES(sp)
+ FLOAD f5, 5 * FREGBYTES(sp)
+ FLOAD f6, 6 * FREGBYTES(sp)
+ FLOAD f7, 7 * FREGBYTES(sp)
+ FLOAD f8, 8 * FREGBYTES(sp)
+ FLOAD f9, 9 * FREGBYTES(sp)
+ FLOAD f10, 10 * FREGBYTES(sp)
+ FLOAD f11, 11 * FREGBYTES(sp)
+ FLOAD f12, 12 * FREGBYTES(sp)
+ FLOAD f13, 13 * FREGBYTES(sp)
+ FLOAD f14, 14 * FREGBYTES(sp)
+ FLOAD f15, 15 * FREGBYTES(sp)
+ FLOAD f16, 16 * FREGBYTES(sp)
+ FLOAD f17, 17 * FREGBYTES(sp)
+ FLOAD f18, 18 * FREGBYTES(sp)
+ FLOAD f19, 19 * FREGBYTES(sp)
+ FLOAD f20, 20 * FREGBYTES(sp)
+ FLOAD f21, 21 * FREGBYTES(sp)
+ FLOAD f22, 22 * FREGBYTES(sp)
+ FLOAD f23, 23 * FREGBYTES(sp)
+ FLOAD f24, 24 * FREGBYTES(sp)
+ FLOAD f25, 25 * FREGBYTES(sp)
+ FLOAD f26, 26 * FREGBYTES(sp)
+ FLOAD f27, 27 * FREGBYTES(sp)
+ FLOAD f28, 28 * FREGBYTES(sp)
+ FLOAD f29, 29 * FREGBYTES(sp)
+ FLOAD f30, 30 * FREGBYTES(sp)
+ FLOAD f31, 31 * FREGBYTES(sp)
+
+ addi sp, sp, 32 * FREGBYTES
+#endif
+
mret
diff --git a/libcpu/risc-v/common/cpuport.c b/libcpu/risc-v/common/cpuport.c
index a44dc40f79..6cb8aaf3e7 100644
--- a/libcpu/risc-v/common/cpuport.c
+++ b/libcpu/risc-v/common/cpuport.c
@@ -6,6 +6,7 @@
* Change Logs:
* Date Author Notes
* 2018/10/28 Bernard The unify RISC-V porting code.
+ * 2020/11/20 BalanceTWK Add FPU support
*/
#include <rthw.h>
@@ -53,6 +54,40 @@ struct rt_hw_stack_frame
rt_ubase_t t4; /* x29 - t4 - temporary register 4 */
rt_ubase_t t5; /* x30 - t5 - temporary register 5 */
rt_ubase_t t6; /* x31 - t6 - temporary register 6 */
+#ifdef ARCH_RISCV_FPU
+ rv_floatreg_t f0; /* f0 */
+ rv_floatreg_t f1; /* f1 */
+ rv_floatreg_t f2; /* f2 */
+ rv_floatreg_t f3; /* f3 */
+ rv_floatreg_t f4; /* f4 */
+ rv_floatreg_t f5; /* f5 */
+ rv_floatreg_t f6; /* f6 */
+ rv_floatreg_t f7; /* f7 */
+ rv_floatreg_t f8; /* f8 */
+ rv_floatreg_t f9; /* f9 */
+ rv_floatreg_t f10; /* f10 */
+ rv_floatreg_t f11; /* f11 */
+ rv_floatreg_t f12; /* f12 */
+ rv_floatreg_t f13; /* f13 */
+ rv_floatreg_t f14; /* f14 */
+ rv_floatreg_t f15; /* f15 */
+ rv_floatreg_t f16; /* f16 */
+ rv_floatreg_t f17; /* f17 */
+ rv_floatreg_t f18; /* f18 */
+ rv_floatreg_t f19; /* f19 */
+ rv_floatreg_t f20; /* f20 */
+ rv_floatreg_t f21; /* f21 */
+ rv_floatreg_t f22; /* f22 */
+ rv_floatreg_t f23; /* f23 */
+ rv_floatreg_t f24; /* f24 */
+ rv_floatreg_t f25; /* f25 */
+ rv_floatreg_t f26; /* f26 */
+ rv_floatreg_t f27; /* f27 */
+ rv_floatreg_t f28; /* f28 */
+ rv_floatreg_t f29; /* f29 */
+ rv_floatreg_t f30; /* f30 */
+ rv_floatreg_t f31; /* f31 */
+#endif
};
/**
@@ -116,7 +151,7 @@ void rt_hw_context_switch_interrupt(rt_ubase_t from, rt_ubase_t to)
#endif /* end of RT_USING_SMP */
/** shutdown CPU */
-void rt_hw_cpu_shutdown()
+RT_WEAK void rt_hw_cpu_shutdown()
{
rt_uint32_t level;
rt_kprintf("shutdown...\n");
diff --git a/libcpu/risc-v/common/cpuport.h b/libcpu/risc-v/common/cpuport.h
index 95268732cb..d6cec2f0cf 100644
--- a/libcpu/risc-v/common/cpuport.h
+++ b/libcpu/risc-v/common/cpuport.h
@@ -6,6 +6,7 @@
* Change Logs:
* Date Author Notes
* 2018-10-03 Bernard The first version
+ * 2020/11/20 BalanceTWK Add FPU support
*/
#ifndef CPUPORT_H__
@@ -24,4 +25,19 @@
#define REGBYTES 4
#endif
+#ifdef ARCH_RISCV_FPU
+#ifdef ARCH_RISCV_FPU_D
+#define FSTORE fsd
+#define FLOAD fld
+#define FREGBYTES 8
+#define rv_floatreg_t rt_int64_t
+#endif
+#ifdef ARCH_RISCV_FPU_S
+#define FSTORE fsw
+#define FLOAD flw
+#define FREGBYTES 4
+#define rv_floatreg_t rt_int32_t
+#endif
+#endif
+
#endif
diff --git a/libcpu/risc-v/k210/interrupt_gcc.S b/libcpu/risc-v/k210/interrupt_gcc.S
index 0393ea51f8..dc4a720dea 100644
--- a/libcpu/risc-v/k210/interrupt_gcc.S
+++ b/libcpu/risc-v/k210/interrupt_gcc.S
@@ -15,6 +15,43 @@
.align 2
.global trap_entry
trap_entry:
+#ifdef ARCH_RISCV_FPU
+ addi sp, sp, -32 * FREGBYTES
+
+ FSTORE f0, 0 * FREGBYTES(sp)
+ FSTORE f1, 1 * FREGBYTES(sp)
+ FSTORE f2, 2 * FREGBYTES(sp)
+ FSTORE f3, 3 * FREGBYTES(sp)
+ FSTORE f4, 4 * FREGBYTES(sp)
+ FSTORE f5, 5 * FREGBYTES(sp)
+ FSTORE f6, 6 * FREGBYTES(sp)
+ FSTORE f7, 7 * FREGBYTES(sp)
+ FSTORE f8, 8 * FREGBYTES(sp)
+ FSTORE f9, 9 * FREGBYTES(sp)
+ FSTORE f10, 10 * FREGBYTES(sp)
+ FSTORE f11, 11 * FREGBYTES(sp)
+ FSTORE f12, 12 * FREGBYTES(sp)
+ FSTORE f13, 13 * FREGBYTES(sp)
+ FSTORE f14, 14 * FREGBYTES(sp)
+ FSTORE f15, 15 * FREGBYTES(sp)
+ FSTORE f16, 16 * FREGBYTES(sp)
+ FSTORE f17, 17 * FREGBYTES(sp)
+ FSTORE f18, 18 * FREGBYTES(sp)
+ FSTORE f19, 19 * FREGBYTES(sp)
+ FSTORE f20, 20 * FREGBYTES(sp)
+ FSTORE f21, 21 * FREGBYTES(sp)
+ FSTORE f22, 22 * FREGBYTES(sp)
+ FSTORE f23, 23 * FREGBYTES(sp)
+ FSTORE f24, 24 * FREGBYTES(sp)
+ FSTORE f25, 25 * FREGBYTES(sp)
+ FSTORE f26, 26 * FREGBYTES(sp)
+ FSTORE f27, 27 * FREGBYTES(sp)
+ FSTORE f28, 28 * FREGBYTES(sp)
+ FSTORE f29, 29 * FREGBYTES(sp)
+ FSTORE f30, 30 * FREGBYTES(sp)
+ FSTORE f31, 31 * FREGBYTES(sp)
+
+#endif
/* save thread context to thread stack */
addi sp, sp, -32 * REGBYTES
diff --git a/libcpu/risc-v/k210/startup_gcc.S b/libcpu/risc-v/k210/startup_gcc.S
index f5c0d8fa94..cc7126e8ab 100644
--- a/libcpu/risc-v/k210/startup_gcc.S
+++ b/libcpu/risc-v/k210/startup_gcc.S
@@ -67,38 +67,38 @@ _start:
csrs mstatus, t0
fssr x0
- fmv.d.x f0, x0
- fmv.d.x f1, x0
- fmv.d.x f2, x0
- fmv.d.x f3, x0
- fmv.d.x f4, x0
- fmv.d.x f5, x0
- fmv.d.x f6, x0
- fmv.d.x f7, x0
- fmv.d.x f8, x0
- fmv.d.x f9, x0
- fmv.d.x f10,x0
- fmv.d.x f11,x0
- fmv.d.x f12,x0
- fmv.d.x f13,x0
- fmv.d.x f14,x0
- fmv.d.x f15,x0
- fmv.d.x f16,x0
- fmv.d.x f17,x0
- fmv.d.x f18,x0
- fmv.d.x f19,x0
- fmv.d.x f20,x0
- fmv.d.x f21,x0
- fmv.d.x f22,x0
- fmv.d.x f23,x0
- fmv.d.x f24,x0
- fmv.d.x f25,x0
- fmv.d.x f26,x0
- fmv.d.x f27,x0
- fmv.d.x f28,x0
- fmv.d.x f29,x0
- fmv.d.x f30,x0
- fmv.d.x f31,x0
+ fmv.w.x f0, x0
+ fmv.w.x f1, x0
+ fmv.w.x f2, x0
+ fmv.w.x f3, x0
+ fmv.w.x f4, x0
+ fmv.w.x f5, x0
+ fmv.w.x f6, x0
+ fmv.w.x f7, x0
+ fmv.w.x f8, x0
+ fmv.w.x f9, x0
+ fmv.w.x f10,x0
+ fmv.w.x f11,x0
+ fmv.w.x f12,x0
+ fmv.w.x f13,x0
+ fmv.w.x f14,x0
+ fmv.w.x f15,x0
+ fmv.w.x f16,x0
+ fmv.w.x f17,x0
+ fmv.w.x f18,x0
+ fmv.w.x f19,x0
+ fmv.w.x f20,x0
+ fmv.w.x f21,x0
+ fmv.w.x f22,x0
+ fmv.w.x f23,x0
+ fmv.w.x f24,x0
+ fmv.w.x f25,x0
+ fmv.w.x f26,x0
+ fmv.w.x f27,x0
+ fmv.w.x f28,x0
+ fmv.w.x f29,x0
+ fmv.w.x f30,x0
+ fmv.w.x f31,x0
.option push
.option norelax
diff --git a/libcpu/risc-v/nuclei/cpuport.c b/libcpu/risc-v/nuclei/cpuport.c
index e456438f70..717e9bb1c7 100644
--- a/libcpu/risc-v/nuclei/cpuport.c
+++ b/libcpu/risc-v/nuclei/cpuport.c
@@ -152,7 +152,7 @@ void rt_hw_context_switch(rt_ubase_t from, rt_ubase_t to)
* @brief shutdown CPU
*
*/
-void rt_hw_cpu_shutdown()
+RT_WEAK void rt_hw_cpu_shutdown()
{
rt_uint32_t level;
rt_kprintf("shutdown...\n");
diff --git a/libcpu/risc-v/t-head/e906/cpuport.c b/libcpu/risc-v/t-head/e906/cpuport.c
index 5597aa237a..998bfdc340 100644
--- a/libcpu/risc-v/t-head/e906/cpuport.c
+++ b/libcpu/risc-v/t-head/e906/cpuport.c
@@ -157,7 +157,7 @@ void rt_hw_interrupt_enable(rt_base_t level)
}
/** shutdown CPU */
-void rt_hw_cpu_shutdown()
+RT_WEAK void rt_hw_cpu_shutdown()
{
rt_uint32_t level;
rt_kprintf("shutdown...\n");
diff --git a/libcpu/rx/cpuport.c b/libcpu/rx/cpuport.c
index 681c0e8e6e..a01f598e99 100644
--- a/libcpu/rx/cpuport.c
+++ b/libcpu/rx/cpuport.c
@@ -182,7 +182,7 @@ void rt_hw_context_switch_interrupt(rt_uint32_t from, rt_uint32_t to)
*
* @author LXZ (2014/11/8)
*/
-void rt_hw_cpu_shutdown(void)
+RT_WEAK void rt_hw_cpu_shutdown(void)
{
rt_kprintf("shutdown...\n");
diff --git a/libcpu/ti-dsp/c28x/cpuport.c b/libcpu/ti-dsp/c28x/cpuport.c
index 3f88606c65..0c7dce2a4e 100644
--- a/libcpu/ti-dsp/c28x/cpuport.c
+++ b/libcpu/ti-dsp/c28x/cpuport.c
@@ -121,7 +121,7 @@ int __rt_ffs(int value)
/**
* shutdown CPU
*/
-void rt_hw_cpu_shutdown(void)
+RT_WEAK void rt_hw_cpu_shutdown(void)
{
rt_kprintf("shutdown...\n");
diff --git a/libcpu/unicore32/sep6200/cpu.c b/libcpu/unicore32/sep6200/cpu.c
index ebea8750e1..9452b4e59d 100644
--- a/libcpu/unicore32/sep6200/cpu.c
+++ b/libcpu/unicore32/sep6200/cpu.c
@@ -259,7 +259,7 @@ static void sep6200_poweroff(void)
* reset cpu by dog's time-out
*
*/
-void rt_hw_cpu_reset()
+RT_WEAK void rt_hw_cpu_reset()
{
rt_kprintf("Soft reset, Restarting system...\n");
@@ -274,7 +274,7 @@ void rt_hw_cpu_reset()
* shutdown CPU
*
*/
-void rt_hw_cpu_shutdown()
+RT_WEAK void rt_hw_cpu_shutdown()
{
rt_uint32_t level;
rt_kprintf("shutdown...\n");
diff --git a/libcpu/xilinx/microblaze/cpu.c b/libcpu/xilinx/microblaze/cpu.c
index 50a0e34dcd..d37dcda350 100755
--- a/libcpu/xilinx/microblaze/cpu.c
+++ b/libcpu/xilinx/microblaze/cpu.c
@@ -18,7 +18,7 @@
* this function will reset CPU
*
*/
-void rt_hw_cpu_reset()
+RT_WEAK void rt_hw_cpu_reset()
{
}
@@ -26,7 +26,7 @@ void rt_hw_cpu_reset()
* this function will shutdown CPU
*
*/
-void rt_hw_cpu_shutdown()
+RT_WEAK void rt_hw_cpu_shutdown()
{
rt_kprintf("shutdown...\n");
diff --git a/src/clock.c b/src/clock.c
index a91cd829b6..9fd276cf6f 100644
--- a/src/clock.c
+++ b/src/clock.c
@@ -25,17 +25,6 @@ static rt_tick_t rt_tick = 0;
#endif
/**
- * This function will initialize system tick and set it to zero.
- * @ingroup SystemInit
- *
- * @deprecated since 1.1.0, this function does not need to be invoked
- * in the system initialization.
- */
-void rt_system_tick_init(void)
-{
-}
-
-/**
* @addtogroup Clock
*/
diff --git a/src/object.c b/src/object.c
index 6866d805ca..56263618b3 100644
--- a/src/object.c
+++ b/src/object.c
@@ -192,18 +192,6 @@ void rt_object_put_sethook(void (*hook)(struct rt_object *object))
#endif
/**
- * @ingroup SystemInit
- *
- * This function will initialize system object management.
- *
- * @deprecated since 0.3.0, this function does not need to be invoked
- * in the system initialization.
- */
-void rt_system_object_init(void)
-{
-}
-
-/**
* @addtogroup KernelObject
*/
@@ -485,7 +473,7 @@ void rt_object_delete(rt_object_t object)
RT_OBJECT_HOOK_CALL(rt_object_detach_hook, (object));
/* reset object type */
- object->type = 0;
+ object->type = RT_Object_Class_Null;
/* lock interrupt */
temp = rt_hw_interrupt_disable();