summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuqiang Wang <[email protected]>2024-10-12 06:32:58 +0800
committerGitHub <[email protected]>2024-10-11 18:32:58 -0400
commit6b0671b3368970ee4ecea92e03e8c9de35341685 (patch)
tree6b60e2d2b950db17740b35164a9c71b7e694616b
parent15a14500c731780ae22d509694480cd6f800151b (diff)
[bsp][ci] fix BSPs compilation errors
1.RT_TIMER_TICK_PER_SECOND替换为RT_TICK_PER_SECOND 2.nxp lpc、imx、mcx系列bsp修复 3.lpc824支持gcc 4.lpc824、lpc1114 bsp默认使用nano版本 5.nxp scons --dist问题修复 6.rt-spark lvgl latest 编译修复
-rw-r--r--.github/workflows/manual_trigger_scons_except_STM32_all.yml8
-rw-r--r--bsp/bf533/rtconfig.h2
-rw-r--r--bsp/efm32/rtconfig.h2
-rw-r--r--bsp/m16c62p/rtconfig.h2
-rw-r--r--bsp/mini4020/rtconfig.h2
-rw-r--r--bsp/nios_ii/rtconfig.h2
-rw-r--r--bsp/nv32f100x/rtconfig.h2
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/.config (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/.config)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/Kconfig (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/Kconfig)4
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/SConscript (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/SConscript)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/SConstruct (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/SConstruct)14
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/applications/SConscript (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/applications/SConscript)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/applications/main.c (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/applications/main.c)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/applications/mnt.c (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/applications/mnt.c)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/Kconfig (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/Kconfig)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/MCUX_Config/MCUX_Config.mex (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/MCUX_Config/MCUX_Config.mex)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/MCUX_Config/clock_config.c (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/MCUX_Config/clock_config.c)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/MCUX_Config/clock_config.h (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/MCUX_Config/clock_config.h)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/MCUX_Config/pin_mux.c (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/MCUX_Config/pin_mux.c)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/MCUX_Config/pin_mux.h (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/MCUX_Config/pin_mux.h)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/SConscript (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/SConscript)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/board.c (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/board.c)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/board.h (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/board.h)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/dcd.c (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/dcd.c)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/dcd.h (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/dcd.h)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/display_support.c (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/display_support.c)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/display_support.h (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/display_support.h)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/linker_scripts/evkmimxrt1170_flexspi_nor_sdram.ini (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/linker_scripts/evkmimxrt1170_flexspi_nor_sdram.ini)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/linker_scripts/link.lds (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/linker_scripts/link.lds)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/linker_scripts/link.sct (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/linker_scripts/link.sct)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/linker_scripts/link_ram.icf (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/linker_scripts/link_ram.icf)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/ports/flexspi_port.h (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/ports/flexspi_port.h)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/ports/sdram_port.h (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/ports/sdram_port.h)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/vglite_support.c (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/vglite_support.c)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/vglite_support.h (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/vglite_support.h)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/vglite_window.c (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/vglite_window.c)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/vglite_window.h (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/vglite_window.h)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/project.ewd (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/project.ewd)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/project.ewp (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/project.ewp)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/project.eww (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/project.eww)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/project.uvoptx (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/project.uvoptx)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/project.uvprojx (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/project.uvprojx)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/rtconfig.h (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/rtconfig.h)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/rtconfig.py (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/rtconfig.py)1
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/template.ewd (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/template.ewd)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/template.ewp (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/template.ewp)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/template.ewt (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/template.ewt)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/template.eww (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/template.eww)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/template.uvoptx (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/template.uvoptx)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/template.uvprojx (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/template.uvprojx)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/SConscript (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/SConscript)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/dc/elcdif/fsl_dc_fb_elcdif.c (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/dc/elcdif/fsl_dc_fb_elcdif.c)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/dc/elcdif/fsl_dc_fb_elcdif.h (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/dc/elcdif/fsl_dc_fb_elcdif.h)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/dc/fsl_dc_fb.h (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/dc/fsl_dc_fb.h)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/dc/lcdifv2/fsl_dc_fb_lcdifv2.c (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/dc/lcdifv2/fsl_dc_fb_lcdifv2.c)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/dc/lcdifv2/fsl_dc_fb_lcdifv2.h (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/dc/lcdifv2/fsl_dc_fb_lcdifv2.h)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/fbdev/fsl_fbdev.c (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/fbdev/fsl_fbdev.c)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/fbdev/fsl_fbdev.h (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/fbdev/fsl_fbdev.h)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/fsl_display.h (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/fsl_display.h)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/hx8394/fsl_hx8394.c (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/hx8394/fsl_hx8394.c)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/hx8394/fsl_hx8394.h (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/hx8394/fsl_hx8394.h)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/mipi_dsi_cmd/fsl_mipi_dsi_cmd.c (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/mipi_dsi_cmd/fsl_mipi_dsi_cmd.c)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/mipi_dsi_cmd/fsl_mipi_dsi_cmd.h (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/mipi_dsi_cmd/fsl_mipi_dsi_cmd.h)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/rm68191/fsl_rm68191.c (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/rm68191/fsl_rm68191.c)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/rm68191/fsl_rm68191.h (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/rm68191/fsl_rm68191.h)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/rm68200/fsl_rm68200.c (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/rm68200/fsl_rm68200.c)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/rm68200/fsl_rm68200.h (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/rm68200/fsl_rm68200.h)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/fsl_video_common.c (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/fsl_video_common.c)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/fsl_video_common.h (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/fsl_video_common.h)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/xip/SConscript (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/xip/SConscript)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/xip/evkmimxrt1170_flexspi_nor_config.c (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/xip/evkmimxrt1170_flexspi_nor_config.c)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/xip/evkmimxrt1170_flexspi_nor_config.h (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/xip/evkmimxrt1170_flexspi_nor_config.h)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/xip/fsl_flexspi_nor_boot.c (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/xip/fsl_flexspi_nor_boot.c)0
-rw-r--r--bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/xip/fsl_flexspi_nor_boot.h (renamed from bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/xip/fsl_flexspi_nor_boot.h)0
-rw-r--r--bsp/nxp/lpc/lpc1114/.config282
-rw-r--r--bsp/nxp/lpc/lpc1114/Kconfig2
-rw-r--r--bsp/nxp/lpc/lpc1114/SConstruct33
-rw-r--r--bsp/nxp/lpc/lpc1114/driver/Kconfig27
-rw-r--r--bsp/nxp/lpc/lpc1114/driver/SConscript19
-rw-r--r--bsp/nxp/lpc/lpc1114/driver/board.c7
-rw-r--r--bsp/nxp/lpc/lpc1114/driver/drv_uart.c4
-rw-r--r--bsp/nxp/lpc/lpc1114/driver/startup_gcc.s4
-rw-r--r--bsp/nxp/lpc/lpc1114/rtconfig.h142
-rw-r--r--bsp/nxp/lpc/lpc1114/rtconfig.py30
-rw-r--r--bsp/nxp/lpc/lpc178x/.config181
-rw-r--r--bsp/nxp/lpc/lpc178x/Kconfig6
-rw-r--r--bsp/nxp/lpc/lpc178x/SConstruct28
-rw-r--r--bsp/nxp/lpc/lpc178x/applications/application.c18
-rw-r--r--bsp/nxp/lpc/lpc178x/applications/startup.c101
-rw-r--r--bsp/nxp/lpc/lpc178x/drivers/Kconfig26
-rw-r--r--bsp/nxp/lpc/lpc178x/drivers/board.c33
-rw-r--r--bsp/nxp/lpc/lpc178x/drivers/board.h18
-rw-r--r--bsp/nxp/lpc/lpc178x/drivers/uart.c20
-rw-r--r--bsp/nxp/lpc/lpc178x/drivers/uart.h2
-rw-r--r--bsp/nxp/lpc/lpc178x/rtconfig.h105
-rw-r--r--bsp/nxp/lpc/lpc178x/rtconfig.py29
-rw-r--r--bsp/nxp/lpc/lpc2148/.config157
-rw-r--r--bsp/nxp/lpc/lpc2148/rtconfig.h85
-rw-r--r--bsp/nxp/lpc/lpc2148/rtconfig.py2
-rw-r--r--bsp/nxp/lpc/lpc2478/.config157
-rw-r--r--bsp/nxp/lpc/lpc2478/rtconfig.h85
-rw-r--r--bsp/nxp/lpc/lpc2478/rtconfig.py4
-rw-r--r--bsp/nxp/lpc/lpc43xx/M0/rtconfig.h4
-rw-r--r--bsp/nxp/lpc/lpc43xx/M4/rtconfig.h4
-rw-r--r--bsp/nxp/lpc/lpc824/.config1019
-rw-r--r--bsp/nxp/lpc/lpc824/Kconfig20
-rw-r--r--bsp/nxp/lpc/lpc824/Libraries/SConscript3
-rw-r--r--bsp/nxp/lpc/lpc824/Libraries/common/CMSIS/cmsis_gcc.h2213
-rw-r--r--bsp/nxp/lpc/lpc824/Libraries/common/startup/gcc_startup_lpc82x.S557
-rw-r--r--bsp/nxp/lpc/lpc824/SConscript4
-rw-r--r--bsp/nxp/lpc/lpc824/SConstruct33
-rw-r--r--bsp/nxp/lpc/lpc824/applications/application.c56
-rw-r--r--bsp/nxp/lpc/lpc824/applications/startup.c91
-rw-r--r--bsp/nxp/lpc/lpc824/drivers/Kconfig37
-rw-r--r--bsp/nxp/lpc/lpc824/drivers/SConscript24
-rw-r--r--bsp/nxp/lpc/lpc824/drivers/board.c28
-rw-r--r--bsp/nxp/lpc/lpc824/drivers/board.h4
-rw-r--r--bsp/nxp/lpc/lpc824/drivers/drv_usart.c (renamed from bsp/nxp/lpc/lpc824/drivers/usart.c)44
-rw-r--r--bsp/nxp/lpc/lpc824/drivers/drv_usart.h41
-rw-r--r--bsp/nxp/lpc/lpc824/drivers/usart.h19
-rw-r--r--bsp/nxp/lpc/lpc824/project.ewp284
-rw-r--r--bsp/nxp/lpc/lpc824/project.uvprojx778
-rw-r--r--bsp/nxp/lpc/lpc824/rtconfig.h400
-rw-r--r--bsp/nxp/lpc/lpc824/rtconfig.py26
-rw-r--r--bsp/nxp/lpc/lpc824/scripts/lpc824_flash.ld229
-rw-r--r--bsp/nxp/lpc/lpc824/scripts/lpc824_rom.icf (renamed from bsp/nxp/lpc/lpc824/lpc824_rom.icf)0
-rw-r--r--bsp/nxp/lpc/lpc824/scripts/lpc824_rom.ld (renamed from bsp/nxp/lpc/lpc824/lpc824_rom.ld)7
-rw-r--r--bsp/nxp/lpc/lpc824/scripts/lpc824_rom.sct (renamed from bsp/nxp/lpc/lpc824/lpc824_rom.sct)0
-rw-r--r--bsp/nxp/mcx/mcxa/frdm-mcxa153/rtconfig.py2
-rw-r--r--bsp/pic32ethernet/rtconfig.h2
-rw-r--r--bsp/rx/rtconfig.h2
-rw-r--r--bsp/samd21/rtconfig.h2
-rw-r--r--bsp/sep6200/rtconfig.h2
-rw-r--r--bsp/stm32/stm32f407-rt-spark/board/ports/lvgl/lv_conf.h2
-rw-r--r--bsp/upd70f3454/rtconfig.h2
-rw-r--r--bsp/xplorer4330/M0/rtconfig.h4
136 files changed, 6475 insertions, 1114 deletions
diff --git a/.github/workflows/manual_trigger_scons_except_STM32_all.yml b/.github/workflows/manual_trigger_scons_except_STM32_all.yml
index dff767186a..2058d9b182 100644
--- a/.github/workflows/manual_trigger_scons_except_STM32_all.yml
+++ b/.github/workflows/manual_trigger_scons_except_STM32_all.yml
@@ -155,7 +155,7 @@ jobs:
- {RTT_BSP_NAME: "loongson_ls1bdev", RTT_TOOL_CHAIN: "sourcery-mips", RTT_BSP: "loongson/ls1bdev"}
- {RTT_BSP_NAME: "loongson_ls1cdev", RTT_TOOL_CHAIN: "sourcery-mips", RTT_BSP: "loongson/ls1cdev"}
- {RTT_BSP_NAME: "loongson_ls2kdev", RTT_TOOL_CHAIN: "sourcery-mips", RTT_BSP: "loongson/ls2kdev"}
- - {RTT_BSP_NAME: "lpc1114", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "lpc1114"}
+ - {RTT_BSP_NAME: "lpc1114", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "lpc1114"} # 默认使用nano版本
- {RTT_BSP_NAME: "lpc176x", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "lpc176x"}
- {RTT_BSP_NAME: "lpc178x", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "lpc178x"}
- {RTT_BSP_NAME: "lpc2148", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "lpc2148"}
@@ -171,7 +171,11 @@ jobs:
- {RTT_BSP_NAME: "lpc55sxx_lpc55s28_nxp_evk", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "lpc55sxx/lpc55s28_nxp_evk"}
- {RTT_BSP_NAME: "lpc55sxx_lpc55s36_nxp_evk", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "lpc55sxx/lpc55s36_nxp_evk"}
- {RTT_BSP_NAME: "lpc55sxx_lpc55s69_nxp_evk", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "lpc55sxx/lpc55s69_nxp_evk"}
- #- {RTT_BSP_NAME: "lpc824", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "lpc824"} #GCC不支持
+ - {RTT_BSP_NAME: "lpc824", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "lpc824"} # 默认使用nano版本
+ - {RTT_BSP_NAME: "frdm-mcxa153", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "mcx/mcxa/frdm-mcxa153"}
+ - {RTT_BSP_NAME: "frdm-mcxc444", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "mcx/mcxc/frdm-mcxc444"}
+ - {RTT_BSP_NAME: "frdm-mcxn236", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "mcx/mcxn/frdm-mcxn236"}
+ - {RTT_BSP_NAME: "frdm-mcxn947", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "mcx/mcxa/frdm-mcxn947"}
#- {RTT_BSP_NAME: "m16c62p", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "m16c62p"} #编译问题
- {RTT_BSP_NAME: "maxim_max32660-evsys", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "maxim/max32660-evsys"}
#- {RTT_BSP_NAME: "microblaze", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "microblaze"} #编译问题
diff --git a/bsp/bf533/rtconfig.h b/bsp/bf533/rtconfig.h
index 9d81a7fe33..b74b22f7dc 100644
--- a/bsp/bf533/rtconfig.h
+++ b/bsp/bf533/rtconfig.h
@@ -31,7 +31,7 @@
//#define RT_USING_TIMER_SOFT
#define RT_TIMER_THREAD_PRIO 8
#define RT_TIMER_THREAD_STACK_SIZE 512
-#define RT_TIMER_TICK_PER_SECOND 1000
+#define RT_TICK_PER_SECOND 1000
/* SECTION: IPC */
/* Using Semaphore */
diff --git a/bsp/efm32/rtconfig.h b/bsp/efm32/rtconfig.h
index 19dc011491..9d43beb927 100644
--- a/bsp/efm32/rtconfig.h
+++ b/bsp/efm32/rtconfig.h
@@ -62,7 +62,7 @@
/* #define RT_USING_TIMER_SOFT */
#define RT_TIMER_THREAD_PRIO (4)
#define RT_TIMER_THREAD_STACK_SIZE (512)
-#define RT_TIMER_TICK_PER_SECOND (10)
+#define RT_TICK_PER_SECOND (10)
/* SECTION: IPC */
/* Using Semaphore*/
diff --git a/bsp/m16c62p/rtconfig.h b/bsp/m16c62p/rtconfig.h
index 77b75c4b81..0b5682d06a 100644
--- a/bsp/m16c62p/rtconfig.h
+++ b/bsp/m16c62p/rtconfig.h
@@ -29,7 +29,7 @@
/* #define RT_USING_TIMER_SOFT */
#define RT_TIMER_THREAD_PRIO 4
#define RT_TIMER_THREAD_STACK_SIZE 512
-#define RT_TIMER_TICK_PER_SECOND 10
+#define RT_TICK_PER_SECOND 10
/* SECTION: IPC */
/* Using Semaphore */
diff --git a/bsp/mini4020/rtconfig.h b/bsp/mini4020/rtconfig.h
index 85f2d254e7..240e88d42e 100644
--- a/bsp/mini4020/rtconfig.h
+++ b/bsp/mini4020/rtconfig.h
@@ -30,7 +30,7 @@
#define RT_USING_TIMER_SOFT
#define RT_TIMER_THREAD_PRIO 8
#define RT_TIMER_THREAD_STACK_SIZE 512
-#define RT_TIMER_TICK_PER_SECOND 10
+#define RT_TICK_PER_SECOND 10
/* SECTION: IPC */
/* Using Semaphore */
diff --git a/bsp/nios_ii/rtconfig.h b/bsp/nios_ii/rtconfig.h
index 319578153e..0c1cc6dc90 100644
--- a/bsp/nios_ii/rtconfig.h
+++ b/bsp/nios_ii/rtconfig.h
@@ -37,7 +37,7 @@
/* #define RT_USING_TIMER_SOFT */
#define RT_TIMER_THREAD_PRIO 4
#define RT_TIMER_THREAD_STACK_SIZE 512
-#define RT_TIMER_TICK_PER_SECOND 10
+#define RT_TICK_PER_SECOND 10
/* SECTION: IPC */
/* Using Semaphore*/
diff --git a/bsp/nv32f100x/rtconfig.h b/bsp/nv32f100x/rtconfig.h
index d1e162dea6..0398e4dd3a 100644
--- a/bsp/nv32f100x/rtconfig.h
+++ b/bsp/nv32f100x/rtconfig.h
@@ -27,7 +27,7 @@
/* #define RT_USING_TIMER_SOFT */
#define RT_TIMER_THREAD_PRIO 4
#define RT_TIMER_THREAD_STACK_SIZE 512
-#define RT_TIMER_TICK_PER_SECOND 10
+#define RT_TICK_PER_SECOND 10
/* SECTION: IPC */
/* Using Semaphore*/
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/.config b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/.config
index b18a3cda5a..b18a3cda5a 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/.config
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/.config
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/Kconfig b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/Kconfig
index 91fa11dd5d..986b8c6729 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/Kconfig
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/Kconfig
@@ -1,10 +1,10 @@
mainmenu "RT-Thread Configuration"
-RTT_DIR := ../../../../../..
+RTT_DIR := ../../../../..
PKGS_DIR := packages
source "$(RTT_DIR)/Kconfig"
osource "$PKGS_DIR/Kconfig"
-rsource "../../libraries/Kconfig"
+rsource "../libraries/Kconfig"
rsource "board/Kconfig"
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/SConscript b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/SConscript
index c7ef7659ec..c7ef7659ec 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/SConscript
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/SConscript
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/SConstruct b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/SConstruct
index 4a1799cfaa..b4dc4580ca 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/SConstruct
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/SConstruct
@@ -5,7 +5,7 @@ import rtconfig
if os.getenv('RTT_ROOT'):
RTT_ROOT = os.getenv('RTT_ROOT')
else:
- RTT_ROOT = os.path.normpath(os.getcwd() + '/../../../../../..')
+ RTT_ROOT = os.path.normpath(os.getcwd() + '/../../../../..')
sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
try:
@@ -20,7 +20,7 @@ DefaultEnvironment(tools=[])
if rtconfig.PLATFORM == 'armcc':
env = Environment(tools = ['mingw'],
AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
- CC = rtconfig.CC, CCFLAGS = rtconfig.CFLAGS,
+ CC = rtconfig.CC, CFLAGS = rtconfig.CFLAGS,
CXX = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS,
AR = rtconfig.AR, ARFLAGS = '-rc',
LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS,
@@ -29,7 +29,7 @@ if rtconfig.PLATFORM == 'armcc':
else:
env = Environment(tools = ['mingw'],
AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
- CC = rtconfig.CC, CCFLAGS = rtconfig.CFLAGS,
+ CC = rtconfig.CC, CFLAGS = rtconfig.CFLAGS,
CXX = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS,
AR = rtconfig.AR, ARFLAGS = '-rc',
LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS,
@@ -38,7 +38,7 @@ else:
env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
if rtconfig.PLATFORM in ['iccarm']:
- env.Replace(CCCOM = ['$CC $CCFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS -o $TARGET $SOURCES'])
+ env.Replace(CCCOM = ['$CC $CFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS -o $TARGET $SOURCES'])
env.Replace(ARFLAGS = [''])
env.Replace(LINKCOM = env["LINKCOM"] + ' --map rtthread.map')
@@ -46,10 +46,10 @@ Export('RTT_ROOT')
Export('rtconfig')
SDK_ROOT = os.path.abspath('./')
-if os.path.exists(SDK_ROOT + '/../libraries'):
- libraries_path_prefix = SDK_ROOT + '/../libraries'
+if os.path.exists(SDK_ROOT + '/libraries'):
+ libraries_path_prefix = SDK_ROOT + '/libraries'
else:
- libraries_path_prefix = os.path.dirname(SDK_ROOT) + '/../libraries'
+ libraries_path_prefix = os.path.dirname(SDK_ROOT) + '/libraries'
SDK_LIB = libraries_path_prefix
Export('SDK_LIB')
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/applications/SConscript b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/applications/SConscript
index 050054c59f..050054c59f 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/applications/SConscript
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/applications/SConscript
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/applications/main.c b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/applications/main.c
index e28f0df99a..e28f0df99a 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/applications/main.c
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/applications/main.c
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/applications/mnt.c b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/applications/mnt.c
index bb7a940650..bb7a940650 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/applications/mnt.c
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/applications/mnt.c
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/Kconfig b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/Kconfig
index 584368c06a..584368c06a 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/Kconfig
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/Kconfig
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/MCUX_Config/MCUX_Config.mex b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/MCUX_Config/MCUX_Config.mex
index 85d03f1993..85d03f1993 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/MCUX_Config/MCUX_Config.mex
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/MCUX_Config/MCUX_Config.mex
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/MCUX_Config/clock_config.c b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/MCUX_Config/clock_config.c
index 2ce144f774..2ce144f774 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/MCUX_Config/clock_config.c
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/MCUX_Config/clock_config.c
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/MCUX_Config/clock_config.h b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/MCUX_Config/clock_config.h
index 26d3652314..26d3652314 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/MCUX_Config/clock_config.h
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/MCUX_Config/clock_config.h
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/MCUX_Config/pin_mux.c b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/MCUX_Config/pin_mux.c
index 7008424305..7008424305 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/MCUX_Config/pin_mux.c
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/MCUX_Config/pin_mux.c
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/MCUX_Config/pin_mux.h b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/MCUX_Config/pin_mux.h
index 5341111961..5341111961 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/MCUX_Config/pin_mux.h
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/MCUX_Config/pin_mux.h
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/SConscript b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/SConscript
index 14181c8a6a..14181c8a6a 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/SConscript
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/SConscript
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/board.c b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/board.c
index ccd3f11ce7..ccd3f11ce7 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/board.c
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/board.c
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/board.h b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/board.h
index e49af960a1..e49af960a1 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/board.h
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/board.h
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/dcd.c b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/dcd.c
index b7e60a294b..b7e60a294b 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/dcd.c
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/dcd.c
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/dcd.h b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/dcd.h
index 77de9fa8b6..77de9fa8b6 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/dcd.h
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/dcd.h
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/display_support.c b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/display_support.c
index 5b574148e2..5b574148e2 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/display_support.c
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/display_support.c
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/display_support.h b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/display_support.h
index 29c6f07a9e..29c6f07a9e 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/display_support.h
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/display_support.h
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/linker_scripts/evkmimxrt1170_flexspi_nor_sdram.ini b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/linker_scripts/evkmimxrt1170_flexspi_nor_sdram.ini
index c39b5460c8..c39b5460c8 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/linker_scripts/evkmimxrt1170_flexspi_nor_sdram.ini
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/linker_scripts/evkmimxrt1170_flexspi_nor_sdram.ini
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/linker_scripts/link.lds b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/linker_scripts/link.lds
index 8eea1a1dcc..8eea1a1dcc 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/linker_scripts/link.lds
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/linker_scripts/link.lds
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/linker_scripts/link.sct b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/linker_scripts/link.sct
index 938f2a4a05..938f2a4a05 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/linker_scripts/link.sct
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/linker_scripts/link.sct
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/linker_scripts/link_ram.icf b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/linker_scripts/link_ram.icf
index 54dc0cd5d2..54dc0cd5d2 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/linker_scripts/link_ram.icf
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/linker_scripts/link_ram.icf
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/ports/flexspi_port.h b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/ports/flexspi_port.h
index 60514484c9..60514484c9 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/ports/flexspi_port.h
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/ports/flexspi_port.h
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/ports/sdram_port.h b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/ports/sdram_port.h
index 9bdb3b617e..9bdb3b617e 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/ports/sdram_port.h
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/ports/sdram_port.h
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/vglite_support.c b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/vglite_support.c
index 77ef33e168..77ef33e168 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/vglite_support.c
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/vglite_support.c
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/vglite_support.h b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/vglite_support.h
index a2cfa43be6..a2cfa43be6 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/vglite_support.h
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/vglite_support.h
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/vglite_window.c b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/vglite_window.c
index 70c16fd63c..70c16fd63c 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/vglite_window.c
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/vglite_window.c
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/vglite_window.h b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/vglite_window.h
index c617b61e22..c617b61e22 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/board/vglite_window.h
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/board/vglite_window.h
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/project.ewd b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/project.ewd
index ba36411f77..ba36411f77 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/project.ewd
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/project.ewd
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/project.ewp b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/project.ewp
index 4b7e43d5c3..4b7e43d5c3 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/project.ewp
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/project.ewp
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/project.eww b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/project.eww
index c2cb02eb1e..c2cb02eb1e 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/project.eww
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/project.eww
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/project.uvoptx b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/project.uvoptx
index 0eb6e7b221..0eb6e7b221 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/project.uvoptx
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/project.uvoptx
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/project.uvprojx b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/project.uvprojx
index a12e6c1892..a12e6c1892 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/project.uvprojx
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/project.uvprojx
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/rtconfig.h b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/rtconfig.h
index 36f08120eb..36f08120eb 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/rtconfig.h
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/rtconfig.h
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/rtconfig.py b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/rtconfig.py
index 61528410ea..b450cbbefd 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/rtconfig.py
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/rtconfig.py
@@ -158,6 +158,7 @@ elif PLATFORM == 'iccarm':
def dist_handle(BSP_ROOT, dist_dir):
import sys
cwd_path = os.getcwd()
+ # sys.path.append(os.path.join(os.path.dirname(BSP_ROOT), 'tools'))
sys.path.append(os.path.join(os.path.dirname(BSP_ROOT), 'tools'))
from sdk_dist import dist_do_building
dist_do_building(BSP_ROOT, dist_dir)
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/template.ewd b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/template.ewd
index 00bb429d70..00bb429d70 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/template.ewd
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/template.ewd
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/template.ewp b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/template.ewp
index 500df888bc..500df888bc 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/template.ewp
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/template.ewp
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/template.ewt b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/template.ewt
index 2909739da7..2909739da7 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/template.ewt
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/template.ewt
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/template.eww b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/template.eww
index bd036bb4c9..bd036bb4c9 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/template.eww
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/template.eww
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/template.uvoptx b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/template.uvoptx
index 0eb6e7b221..0eb6e7b221 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/template.uvoptx
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/template.uvoptx
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/template.uvprojx b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/template.uvprojx
index 95a9d570eb..95a9d570eb 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/template.uvprojx
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/template.uvprojx
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/SConscript b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/SConscript
index 77f19bf75d..77f19bf75d 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/SConscript
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/SConscript
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/dc/elcdif/fsl_dc_fb_elcdif.c b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/dc/elcdif/fsl_dc_fb_elcdif.c
index f0720c1684..f0720c1684 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/dc/elcdif/fsl_dc_fb_elcdif.c
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/dc/elcdif/fsl_dc_fb_elcdif.c
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/dc/elcdif/fsl_dc_fb_elcdif.h b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/dc/elcdif/fsl_dc_fb_elcdif.h
index 09be214052..09be214052 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/dc/elcdif/fsl_dc_fb_elcdif.h
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/dc/elcdif/fsl_dc_fb_elcdif.h
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/dc/fsl_dc_fb.h b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/dc/fsl_dc_fb.h
index 87265a5f3b..87265a5f3b 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/dc/fsl_dc_fb.h
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/dc/fsl_dc_fb.h
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/dc/lcdifv2/fsl_dc_fb_lcdifv2.c b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/dc/lcdifv2/fsl_dc_fb_lcdifv2.c
index 26efccc6ad..26efccc6ad 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/dc/lcdifv2/fsl_dc_fb_lcdifv2.c
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/dc/lcdifv2/fsl_dc_fb_lcdifv2.c
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/dc/lcdifv2/fsl_dc_fb_lcdifv2.h b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/dc/lcdifv2/fsl_dc_fb_lcdifv2.h
index 190437e54d..190437e54d 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/dc/lcdifv2/fsl_dc_fb_lcdifv2.h
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/dc/lcdifv2/fsl_dc_fb_lcdifv2.h
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/fbdev/fsl_fbdev.c b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/fbdev/fsl_fbdev.c
index a2a182d9fa..a2a182d9fa 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/fbdev/fsl_fbdev.c
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/fbdev/fsl_fbdev.c
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/fbdev/fsl_fbdev.h b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/fbdev/fsl_fbdev.h
index 556efa7486..556efa7486 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/fbdev/fsl_fbdev.h
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/fbdev/fsl_fbdev.h
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/fsl_display.h b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/fsl_display.h
index c285cf7ab6..c285cf7ab6 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/fsl_display.h
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/fsl_display.h
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/hx8394/fsl_hx8394.c b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/hx8394/fsl_hx8394.c
index 91303ce47c..91303ce47c 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/hx8394/fsl_hx8394.c
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/hx8394/fsl_hx8394.c
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/hx8394/fsl_hx8394.h b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/hx8394/fsl_hx8394.h
index b33aea98ac..b33aea98ac 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/hx8394/fsl_hx8394.h
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/hx8394/fsl_hx8394.h
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/mipi_dsi_cmd/fsl_mipi_dsi_cmd.c b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/mipi_dsi_cmd/fsl_mipi_dsi_cmd.c
index e9ff8f6561..e9ff8f6561 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/mipi_dsi_cmd/fsl_mipi_dsi_cmd.c
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/mipi_dsi_cmd/fsl_mipi_dsi_cmd.c
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/mipi_dsi_cmd/fsl_mipi_dsi_cmd.h b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/mipi_dsi_cmd/fsl_mipi_dsi_cmd.h
index 2843d8c55d..2843d8c55d 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/mipi_dsi_cmd/fsl_mipi_dsi_cmd.h
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/mipi_dsi_cmd/fsl_mipi_dsi_cmd.h
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/rm68191/fsl_rm68191.c b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/rm68191/fsl_rm68191.c
index 3ca01fb28e..3ca01fb28e 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/rm68191/fsl_rm68191.c
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/rm68191/fsl_rm68191.c
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/rm68191/fsl_rm68191.h b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/rm68191/fsl_rm68191.h
index 2f372da002..2f372da002 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/rm68191/fsl_rm68191.h
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/rm68191/fsl_rm68191.h
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/rm68200/fsl_rm68200.c b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/rm68200/fsl_rm68200.c
index 1d8c2831f5..1d8c2831f5 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/rm68200/fsl_rm68200.c
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/rm68200/fsl_rm68200.c
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/rm68200/fsl_rm68200.h b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/rm68200/fsl_rm68200.h
index f039e89e99..f039e89e99 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/display/rm68200/fsl_rm68200.h
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/display/rm68200/fsl_rm68200.h
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/fsl_video_common.c b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/fsl_video_common.c
index 326187d73a..326187d73a 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/fsl_video_common.c
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/fsl_video_common.c
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/fsl_video_common.h b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/fsl_video_common.h
index e4097607f7..e4097607f7 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/video/fsl_video_common.h
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/video/fsl_video_common.h
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/xip/SConscript b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/xip/SConscript
index 84d2e8e4f8..84d2e8e4f8 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/xip/SConscript
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/xip/SConscript
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/xip/evkmimxrt1170_flexspi_nor_config.c b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/xip/evkmimxrt1170_flexspi_nor_config.c
index ff2b4cce42..ff2b4cce42 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/xip/evkmimxrt1170_flexspi_nor_config.c
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/xip/evkmimxrt1170_flexspi_nor_config.c
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/xip/evkmimxrt1170_flexspi_nor_config.h b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/xip/evkmimxrt1170_flexspi_nor_config.h
index aa3383d5ee..aa3383d5ee 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/xip/evkmimxrt1170_flexspi_nor_config.h
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/xip/evkmimxrt1170_flexspi_nor_config.h
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/xip/fsl_flexspi_nor_boot.c b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/xip/fsl_flexspi_nor_boot.c
index 1a8307928d..1a8307928d 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/xip/fsl_flexspi_nor_boot.c
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/xip/fsl_flexspi_nor_boot.c
diff --git a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/xip/fsl_flexspi_nor_boot.h b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/xip/fsl_flexspi_nor_boot.h
index e586d750e0..e586d750e0 100644
--- a/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/m7/xip/fsl_flexspi_nor_boot.h
+++ b/bsp/nxp/imx/imxrt/imxrt1170-nxp-evk/xip/fsl_flexspi_nor_boot.h
diff --git a/bsp/nxp/lpc/lpc1114/.config b/bsp/nxp/lpc/lpc1114/.config
index 65751772a1..9019a528f1 100644
--- a/bsp/nxp/lpc/lpc1114/.config
+++ b/bsp/nxp/lpc/lpc1114/.config
@@ -1,15 +1,10 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# RT-Thread Configuration
-#
#
# RT-Thread Kernel
#
CONFIG_RT_NAME_MAX=8
# CONFIG_RT_USING_ARCH_DATA_TYPE is not set
-# CONFIG_RT_USING_SMART is not set
-# CONFIG_RT_USING_NANO is not set
+CONFIG_RT_USING_NANO=y
# CONFIG_RT_USING_AMP is not set
# CONFIG_RT_USING_SMP is not set
CONFIG_RT_CPUS_NR=1
@@ -19,24 +14,28 @@ CONFIG_RT_THREAD_PRIORITY_32=y
# CONFIG_RT_THREAD_PRIORITY_256 is not set
CONFIG_RT_THREAD_PRIORITY_MAX=32
CONFIG_RT_TICK_PER_SECOND=100
-# CONFIG_RT_USING_OVERFLOW_CHECK is not set
# CONFIG_RT_USING_HOOK is not set
# CONFIG_RT_USING_HOOKLIST is not set
# CONFIG_RT_USING_IDLE_HOOK is not set
CONFIG_IDLE_THREAD_STACK_SIZE=256
# CONFIG_RT_USING_TIMER_SOFT is not set
+# CONFIG_RT_USING_CPU_USAGE_TRACER is not set
#
# kservice optimization
#
-# CONFIG_RT_KSERVICE_USING_STDLIB is not set
-# CONFIG_RT_KSERVICE_USING_TINY_SIZE is not set
# CONFIG_RT_USING_TINY_FFS is not set
-# CONFIG_RT_KPRINTF_USING_LONGLONG is not set
-CONFIG_RT_USING_DEBUG=y
-CONFIG_RT_DEBUGING_COLOR=y
-CONFIG_RT_DEBUGING_CONTEXT=y
-# CONFIG_RT_DEBUGING_AUTO_INIT is not set
+# end of kservice optimization
+
+#
+# klibc optimization
+#
+# CONFIG_RT_KLIBC_USING_STDLIB is not set
+# CONFIG_RT_KLIBC_USING_TINY_SIZE is not set
+# CONFIG_RT_KLIBC_USING_PRINTF_LONGLONG is not set
+# end of klibc optimization
+
+# CONFIG_RT_USING_DEBUG is not set
#
# Inter-Thread communication
@@ -48,6 +47,7 @@ CONFIG_RT_USING_MAILBOX=y
CONFIG_RT_USING_MESSAGEQUEUE=y
# CONFIG_RT_USING_MESSAGEQUEUE_PRIORITY is not set
# CONFIG_RT_USING_SIGNALS is not set
+# end of Inter-Thread communication
#
# Memory Management
@@ -64,22 +64,17 @@ CONFIG_RT_USING_SMALL_MEM_AS_HEAP=y
# CONFIG_RT_USING_MEMTRACE is not set
# CONFIG_RT_USING_HEAP_ISR is not set
CONFIG_RT_USING_HEAP=y
-CONFIG_RT_USING_DEVICE=y
-# CONFIG_RT_USING_DEVICE_OPS is not set
+# end of Memory Management
+
# CONFIG_RT_USING_INTERRUPT_INFO is not set
# CONFIG_RT_USING_THREADSAFE_PRINTF is not set
# CONFIG_RT_USING_SCHED_THREAD_CTX is not set
-CONFIG_RT_USING_CONSOLE=y
-CONFIG_RT_CONSOLEBUF_SIZE=128
-CONFIG_RT_CONSOLE_DEVICE_NAME="uart"
-CONFIG_RT_VER_NUM=0x50100
+# CONFIG_RT_USING_CONSOLE is not set
+CONFIG_RT_VER_NUM=0x50200
# CONFIG_RT_USING_STDC_ATOMIC is not set
CONFIG_RT_BACKTRACE_LEVEL_MAX_NR=32
-# CONFIG_RT_USING_CACHE is not set
-# CONFIG_RT_USING_HW_ATOMIC is not set
-# CONFIG_ARCH_ARM_BOOTWITH_FLUSH_CACHE is not set
-# CONFIG_ARCH_CPU_STACK_GROWS_UPWARD is not set
-# CONFIG_RT_USING_CPU_FFS is not set
+# end of RT-Thread Kernel
+
CONFIG_ARCH_ARM=y
CONFIG_ARCH_ARM_CORTEX_M=y
CONFIG_ARCH_ARM_CORTEX_M0=y
@@ -92,148 +87,22 @@ CONFIG_RT_USING_USER_MAIN=y
CONFIG_RT_MAIN_THREAD_STACK_SIZE=512
CONFIG_RT_MAIN_THREAD_PRIORITY=10
# CONFIG_RT_USING_LEGACY is not set
-CONFIG_RT_USING_MSH=y
-CONFIG_RT_USING_FINSH=y
-CONFIG_FINSH_USING_MSH=y
-CONFIG_FINSH_THREAD_NAME="tshell"
-CONFIG_FINSH_THREAD_PRIORITY=20
-CONFIG_FINSH_THREAD_STACK_SIZE=4096
-CONFIG_FINSH_USING_HISTORY=y
-CONFIG_FINSH_HISTORY_LINES=5
-CONFIG_FINSH_USING_SYMTAB=y
-CONFIG_FINSH_CMD_SIZE=80
-CONFIG_MSH_USING_BUILT_IN_COMMANDS=y
-CONFIG_FINSH_USING_DESCRIPTION=y
-# CONFIG_FINSH_ECHO_DISABLE_DEFAULT is not set
-# CONFIG_FINSH_USING_AUTH is not set
-CONFIG_FINSH_ARG_MAX=10
-CONFIG_FINSH_USING_OPTION_COMPLETION=y
#
-# DFS: device virtual file system
+# Using USB legacy version
#
-# CONFIG_RT_USING_DFS is not set
-# CONFIG_RT_USING_FAL is not set
-
-#
-# Device Drivers
-#
-# CONFIG_RT_USING_DM is not set
-CONFIG_RT_USING_DEVICE_IPC=y
-CONFIG_RT_UNAMED_PIPE_NUMBER=64
-# CONFIG_RT_USING_SYSTEM_WORKQUEUE is not set
-CONFIG_RT_USING_SERIAL=y
-CONFIG_RT_USING_SERIAL_V1=y
-# CONFIG_RT_USING_SERIAL_V2 is not set
-# CONFIG_RT_SERIAL_USING_DMA is not set
-CONFIG_RT_SERIAL_RB_BUFSZ=64
-# CONFIG_RT_USING_CAN 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_ADC is not set
-# CONFIG_RT_USING_DAC is not set
-# CONFIG_RT_USING_NULL is not set
-# CONFIG_RT_USING_ZERO is not set
-# CONFIG_RT_USING_RANDOM 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
-# CONFIG_RT_USING_PM is not set
-# CONFIG_RT_USING_RTC is not set
-# CONFIG_RT_USING_SDIO is not set
-# CONFIG_RT_USING_SPI is not set
-# CONFIG_RT_USING_WDT is not set
-# CONFIG_RT_USING_AUDIO is not set
-# CONFIG_RT_USING_SENSOR is not set
-# CONFIG_RT_USING_TOUCH is not set
-# CONFIG_RT_USING_LCD is not set
-# CONFIG_RT_USING_HWCRYPTO is not set
-# CONFIG_RT_USING_PULSE_ENCODER is not set
-# CONFIG_RT_USING_INPUT_CAPTURE is not set
-# CONFIG_RT_USING_DEV_BUS is not set
-# CONFIG_RT_USING_WIFI is not set
-# CONFIG_RT_USING_VIRTIO is not set
-CONFIG_RT_USING_PIN=y
-# CONFIG_RT_USING_KTIME is not set
-# CONFIG_RT_USING_HWTIMER is not set
-
-#
-# Using USB
-#
-# CONFIG_RT_USING_USB is not set
# CONFIG_RT_USING_USB_HOST is not set
# CONFIG_RT_USING_USB_DEVICE is not set
+# end of Using USB legacy version
-#
-# C/C++ and POSIX layer
-#
-
-#
-# ISO-ANSI C layer
-#
-
-#
-# Timezone and Daylight Saving Time
-#
-# CONFIG_RT_LIBC_USING_FULL_TZ_DST is not set
-CONFIG_RT_LIBC_USING_LIGHT_TZ_DST=y
-CONFIG_RT_LIBC_TZ_DEFAULT_HOUR=8
-CONFIG_RT_LIBC_TZ_DEFAULT_MIN=0
-CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
-
-#
-# POSIX (Portable Operating System Interface) layer
-#
-# CONFIG_RT_USING_POSIX_FS is not set
-# CONFIG_RT_USING_POSIX_DELAY is not set
-# CONFIG_RT_USING_POSIX_CLOCK is not set
-# CONFIG_RT_USING_POSIX_TIMER is not set
-# CONFIG_RT_USING_PTHREADS is not set
-# CONFIG_RT_USING_MODULE is not set
-
-#
-# Interprocess Communication (IPC)
-#
-# CONFIG_RT_USING_POSIX_PIPE is not set
-# CONFIG_RT_USING_POSIX_MESSAGE_QUEUE is not set
-# CONFIG_RT_USING_POSIX_MESSAGE_SEMAPHORE is not set
-
-#
-# Socket is in the 'Network' category
-#
-# CONFIG_RT_USING_CPLUSPLUS is not set
-
-#
-# Network
-#
-# CONFIG_RT_USING_SAL is not set
-# CONFIG_RT_USING_NETDEV is not set
-# CONFIG_RT_USING_LWIP is not set
-# CONFIG_RT_USING_AT is not set
-
-#
-# Memory protection
-#
-# CONFIG_RT_USING_MEM_PROTECTION is not set
-# CONFIG_RT_USING_HW_STACK_GUARD is not set
-
-#
-# Utilities
-#
-# CONFIG_RT_USING_RYM is not set
-# CONFIG_RT_USING_ULOG is not set
-# CONFIG_RT_USING_UTEST is not set
-# CONFIG_RT_USING_VAR_EXPORT is not set
-# CONFIG_RT_USING_RESOURCE_ID is not set
-# CONFIG_RT_USING_ADT is not set
-# CONFIG_RT_USING_RT_LINK is not set
-# CONFIG_RT_USING_VBUS is not set
+# CONFIG_RT_USING_FDT is not set
+# end of RT-Thread Components
#
# RT-Thread Utestcases
#
# CONFIG_RT_USING_UTESTCASES is not set
+# end of RT-Thread Utestcases
#
# RT-Thread online packages
@@ -242,7 +111,6 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
#
# IoT - internet of things
#
-# CONFIG_PKG_USING_LWIP is not set
# CONFIG_PKG_USING_LORAWAN_DRIVER is not set
# CONFIG_PKG_USING_PAHOMQTT is not set
# CONFIG_PKG_USING_UMQTT is not set
@@ -255,6 +123,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_WEBTERMINAL is not set
# CONFIG_PKG_USING_FREEMODBUS is not set
# CONFIG_PKG_USING_NANOPB is not set
+# CONFIG_PKG_USING_WIFI_HOST_DRIVER is not set
#
# Wi-Fi
@@ -264,27 +133,35 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# Marvell WiFi
#
# CONFIG_PKG_USING_WLANMARVELL is not set
+# end of Marvell WiFi
#
# Wiced WiFi
#
# CONFIG_PKG_USING_WLAN_WICED is not set
+# end of Wiced WiFi
+
# CONFIG_PKG_USING_RW007 is not set
#
# CYW43012 WiFi
#
# CONFIG_PKG_USING_WLAN_CYW43012 is not set
+# end of CYW43012 WiFi
#
# BL808 WiFi
#
# CONFIG_PKG_USING_WLAN_BL808 is not set
+# end of BL808 WiFi
#
# CYW43439 WiFi
#
# CONFIG_PKG_USING_WLAN_CYW43439 is not set
+# end of CYW43439 WiFi
+# end of Wi-Fi
+
# CONFIG_PKG_USING_COAP is not set
# CONFIG_PKG_USING_NOPOLL is not set
# CONFIG_PKG_USING_NETUTILS is not set
@@ -307,6 +184,8 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set
# CONFIG_PKG_USING_JOYLINK is not set
# CONFIG_PKG_USING_IOTSHARP_SDK is not set
+# end of IoT Cloud
+
# CONFIG_PKG_USING_NIMBLE is not set
# CONFIG_PKG_USING_LLSYNC_SDK_ADAPTER is not set
# CONFIG_PKG_USING_OTA_DOWNLOADER is not set
@@ -349,6 +228,8 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ZEPHYR_POLLING is not set
# CONFIG_PKG_USING_MATTER_ADAPTATION_LAYER is not set
# CONFIG_PKG_USING_LHC_MODBUS is not set
+# CONFIG_PKG_USING_QMODBUS is not set
+# end of IoT - internet of things
#
# security packages
@@ -359,6 +240,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_TINYCRYPT is not set
# CONFIG_PKG_USING_TFM is not set
# CONFIG_PKG_USING_YD_CRYPTO is not set
+# end of security packages
#
# language packages
@@ -374,18 +256,22 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_JSMN is not set
# CONFIG_PKG_USING_AGILE_JSMN is not set
# CONFIG_PKG_USING_PARSON is not set
+# end of JSON: JavaScript Object Notation, a lightweight data-interchange format
#
# XML: Extensible Markup Language
#
# CONFIG_PKG_USING_SIMPLE_XML is not set
# CONFIG_PKG_USING_EZXML is not set
+# end of XML: Extensible Markup Language
+
# CONFIG_PKG_USING_LUATOS_SOC is not set
# CONFIG_PKG_USING_LUA is not set
# CONFIG_PKG_USING_JERRYSCRIPT is not set
# CONFIG_PKG_USING_MICROPYTHON is not set
# CONFIG_PKG_USING_PIKASCRIPT is not set
# CONFIG_PKG_USING_RTT_RUST is not set
+# end of language packages
#
# multimedia packages
@@ -397,12 +283,15 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_LVGL is not set
# CONFIG_PKG_USING_LV_MUSIC_DEMO is not set
# CONFIG_PKG_USING_GUI_GUIDER_DEMO is not set
+# end of LVGL: powerful and easy-to-use embedded GUI library
#
# u8g2: a monochrome graphic library
#
# CONFIG_PKG_USING_U8G2_OFFICIAL is not set
# CONFIG_PKG_USING_U8G2 is not set
+# end of u8g2: a monochrome graphic library
+
# CONFIG_PKG_USING_OPENMV is not set
# CONFIG_PKG_USING_MUPDF is not set
# CONFIG_PKG_USING_STEMWIN is not set
@@ -422,6 +311,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_QRCODE is not set
# CONFIG_PKG_USING_GUIENGINE is not set
# CONFIG_PKG_USING_3GPP_AMRNB is not set
+# end of multimedia packages
#
# tools packages
@@ -471,6 +361,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_VOFA_PLUS is not set
# CONFIG_PKG_USING_RT_TRACE is not set
# CONFIG_PKG_USING_ZDEBUG is not set
+# end of tools packages
#
# system packages
@@ -482,6 +373,9 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_RT_MEMCPY_CM is not set
# CONFIG_PKG_USING_RT_KPRINTF_THREADSAFE is not set
# CONFIG_PKG_USING_RT_VSNPRINTF_FULL is not set
+# end of enhanced kernel services
+
+# CONFIG_PKG_USING_AUNITY is not set
#
# acceleration: Assembly language or algorithmic acceleration packages
@@ -489,6 +383,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_QFPLIB_M0_FULL is not set
# CONFIG_PKG_USING_QFPLIB_M0_TINY is not set
# CONFIG_PKG_USING_QFPLIB_M3 is not set
+# end of acceleration: Assembly language or algorithmic acceleration packages
#
# CMSIS: ARM Cortex-M Microcontroller Software Interface Standard
@@ -499,6 +394,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_CMSIS_NN is not set
# CONFIG_PKG_USING_CMSIS_RTOS1 is not set
# CONFIG_PKG_USING_CMSIS_RTOS2 is not set
+# end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard
#
# Micrium: Micrium software products porting for RT-Thread
@@ -509,6 +405,8 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_UC_CLK is not set
# CONFIG_PKG_USING_UC_COMMON is not set
# CONFIG_PKG_USING_UC_MODBUS is not set
+# end of Micrium: Micrium software products porting for RT-Thread
+
# CONFIG_PKG_USING_FREERTOS_WRAPPER is not set
# CONFIG_PKG_USING_LITEOS_SDK is not set
# CONFIG_PKG_USING_TZ_DATABASE is not set
@@ -556,6 +454,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_RTP is not set
# CONFIG_PKG_USING_REB is not set
# CONFIG_PKG_USING_R_RHEALSTONE is not set
+# end of system packages
#
# peripheral libraries and drivers
@@ -568,9 +467,27 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
#
# STM32 HAL & SDK Drivers
#
-# CONFIG_PKG_USING_STM32L4XX_HAL_DRIVER is not set
+# CONFIG_PKG_USING_STM32L4_HAL_DRIVER is not set
+# CONFIG_PKG_USING_STM32L4_CMSIS_DRIVER is not set
# CONFIG_PKG_USING_STM32WB55_SDK is not set
# CONFIG_PKG_USING_STM32_SDIO is not set
+# end of STM32 HAL & SDK Drivers
+
+#
+# Infineon HAL Packages
+#
+# CONFIG_PKG_USING_INFINEON_CAT1CM0P is not set
+# CONFIG_PKG_USING_INFINEON_CMSIS is not set
+# CONFIG_PKG_USING_INFINEON_CORE_LIB is not set
+# CONFIG_PKG_USING_INFINEON_MTB_HAL_CAT1 is not set
+# CONFIG_PKG_USING_INFINEON_MTB_PDL_CAT1 is not set
+# CONFIG_PKG_USING_INFINEON_RETARGET_IO is not set
+# CONFIG_PKG_USING_INFINEON_CAPSENSE is not set
+# CONFIG_PKG_USING_INFINEON_CSDIDAC is not set
+# CONFIG_PKG_USING_INFINEON_SERIAL_FLASH is not set
+# CONFIG_PKG_USING_INFINEON_USBDEV is not set
+# end of Infineon HAL Packages
+
# CONFIG_PKG_USING_BLUETRUM_SDK is not set
# CONFIG_PKG_USING_EMBARC_BSP is not set
# CONFIG_PKG_USING_ESP_IDF is not set
@@ -580,9 +497,12 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
#
# CONFIG_PKG_USING_K210_SDK is not set
# CONFIG_PKG_USING_KENDRYTE_SDK is not set
+# end of Kendryte SDK
+
# CONFIG_PKG_USING_NRF5X_SDK is not set
# CONFIG_PKG_USING_NRFX is not set
# CONFIG_PKG_USING_RASPBERRYPI_PICO_SDK is not set
+# end of HAL & SDK Drivers
#
# sensors drivers
@@ -652,6 +572,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ICM20608 is not set
# CONFIG_PKG_USING_PAJ7620 is not set
# CONFIG_PKG_USING_STHS34PF80 is not set
+# end of sensors drivers
#
# touch drivers
@@ -666,6 +587,8 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_XPT2046_TOUCH is not set
# CONFIG_PKG_USING_CST816X is not set
# CONFIG_PKG_USING_CST812T is not set
+# end of touch drivers
+
# CONFIG_PKG_USING_REALTEK_AMEBA is not set
# CONFIG_PKG_USING_BUTTON is not set
# CONFIG_PKG_USING_PCF8574 is not set
@@ -738,6 +661,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_BT_MX01 is not set
# CONFIG_PKG_USING_RGPOWER is not set
# CONFIG_PKG_USING_SPI_TOOLS is not set
+# end of peripheral libraries and drivers
#
# AI packages
@@ -752,15 +676,18 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_QUEST is not set
# CONFIG_PKG_USING_NAXOS is not set
# CONFIG_PKG_USING_R_TINYMAIX is not set
+# end of AI packages
#
# Signal Processing and Control Algorithm Packages
#
+# CONFIG_PKG_USING_APID is not set
# CONFIG_PKG_USING_FIRE_PID_CURVE is not set
# CONFIG_PKG_USING_QPID is not set
# CONFIG_PKG_USING_UKAL is not set
# CONFIG_PKG_USING_DIGITALCTRL is not set
# CONFIG_PKG_USING_KISSFFT is not set
+# end of Signal Processing and Control Algorithm Packages
#
# miscellaneous packages
@@ -769,6 +696,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
#
# project laboratory
#
+# end of project laboratory
#
# samples: kernel and components samples
@@ -777,6 +705,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_FILESYSTEM_SAMPLES is not set
# CONFIG_PKG_USING_NETWORK_SAMPLES is not set
# CONFIG_PKG_USING_PERIPHERAL_SAMPLES is not set
+# end of samples: kernel and components samples
#
# entertainment: terminal games and other interesting software packages
@@ -793,6 +722,8 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_COWSAY is not set
# CONFIG_PKG_USING_MORSE is not set
# CONFIG_PKG_USING_TINYSQUARE is not set
+# end of entertainment: terminal games and other interesting software packages
+
# CONFIG_PKG_USING_LIBCSV is not set
# CONFIG_PKG_USING_OPTPARSE is not set
# CONFIG_PKG_USING_FASTLZ is not set
@@ -826,6 +757,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_SOEM is not set
# CONFIG_PKG_USING_QPARAM is not set
# CONFIG_PKG_USING_CorevMCU_CLI is not set
+# end of miscellaneous packages
#
# Arduino libraries
@@ -841,6 +773,8 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ARDUINO_NINEINONE_SENSOR_SHIELD is not set
# CONFIG_PKG_USING_ARDUINO_SENSOR_KIT is not set
# CONFIG_PKG_USING_ARDUINO_MATLAB_SUPPORT is not set
+# CONFIG_PKG_USING_ARDUINO_RTDUINO_SENSORFUSION_SHIELD is not set
+# end of Projects and Demos
#
# Sensors
@@ -980,6 +914,8 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ARDUINO_SEEED_LTC2941 is not set
# CONFIG_PKG_USING_ARDUINO_SEEED_LDC1612 is not set
# CONFIG_PKG_USING_ARDUINO_CAPACITIVESENSOR is not set
+# CONFIG_PKG_USING_ARDUINO_JARZEBSKI_MPU6050 is not set
+# end of Sensors
#
# Display
@@ -991,6 +927,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SSD1306 is not set
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ILI9341 is not set
# CONFIG_PKG_USING_SEEED_TM1637 is not set
+# end of Display
#
# Timing
@@ -999,6 +936,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ARDUINO_MSTIMER2 is not set
# CONFIG_PKG_USING_ARDUINO_TICKER is not set
# CONFIG_PKG_USING_ARDUINO_TASKSCHEDULER is not set
+# end of Timing
#
# Data Processing
@@ -1006,6 +944,8 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ARDUINO_KALMANFILTER is not set
# CONFIG_PKG_USING_ARDUINO_ARDUINOJSON is not set
# CONFIG_PKG_USING_ARDUINO_TENSORFLOW_LITE_MICRO is not set
+# CONFIG_PKG_USING_ARDUINO_RUNNINGMEDIAN is not set
+# end of Data Processing
#
# Data Storage
@@ -1016,6 +956,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
#
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PN532 is not set
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SI4713 is not set
+# end of Communication
#
# Device Control
@@ -1027,12 +968,14 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DS1841 is not set
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DS3502 is not set
# CONFIG_PKG_USING_ARDUINO_SEEED_PCF85063TP is not set
+# end of Device Control
#
# Other
#
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MFRC630 is not set
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SI5351 is not set
+# end of Other
#
# Signal IO
@@ -1045,8 +988,31 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP3008 is not set
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP4725 is not set
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BD3491FS is not set
+# end of Signal IO
#
# Uncategorized
#
+# end of Arduino libraries
+# end of RT-Thread online packages
+
CONFIG_SOC_LPC1114=y
+
+#
+# Hardware Drivers Config
+#
+
+#
+# On-chip Peripheral Drivers
+#
+# CONFIG_BSP_USING_SERIAL is not set
+# end of On-chip Peripheral Drivers
+
+#
+# Onboard Peripheral Drivers
+#
+
+#
+# Board extended module Drivers
+#
+# end of Hardware Drivers Config
diff --git a/bsp/nxp/lpc/lpc1114/Kconfig b/bsp/nxp/lpc/lpc1114/Kconfig
index ea6d764c80..7a89028487 100644
--- a/bsp/nxp/lpc/lpc1114/Kconfig
+++ b/bsp/nxp/lpc/lpc1114/Kconfig
@@ -16,4 +16,4 @@ config SOC_LPC1114
select RT_USING_USER_MAIN
default y
-#source "$(BSP_DIR)/drivers/Kconfig"
+source "$(BSP_DIR)/driver/Kconfig"
diff --git a/bsp/nxp/lpc/lpc1114/SConstruct b/bsp/nxp/lpc/lpc1114/SConstruct
index 7cdeaad425..6677545fbb 100644
--- a/bsp/nxp/lpc/lpc1114/SConstruct
+++ b/bsp/nxp/lpc/lpc1114/SConstruct
@@ -2,27 +2,40 @@ import os
import sys
import rtconfig
-from rtconfig import RTT_ROOT
+if os.getenv('RTT_ROOT'):
+ RTT_ROOT = os.getenv('RTT_ROOT')
+else:
+ RTT_ROOT = os.path.normpath(os.getcwd() + '/../../../..')
sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
from building import *
-TARGET = 'rtthread.' + rtconfig.TARGET_EXT
-
+TARGET = 'rtthread-%s.%s' % (rtconfig.BOARD_NAME, rtconfig.TARGET_EXT)
DefaultEnvironment(tools=[])
-env = Environment(tools = ['mingw'],
- AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
- CC = rtconfig.CC, CFLAGS = rtconfig.CFLAGS,
- CXX = rtconfig.CC, CXXFLAGS = rtconfig.CXXFLAGS,
- AR = rtconfig.AR, ARFLAGS = '-rc',
- LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS)
+if rtconfig.PLATFORM == 'armcc':
+ env = Environment(tools = ['mingw'],
+ AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
+ CC = rtconfig.CC, CFLAGS = rtconfig.CFLAGS,
+ CXX = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS,
+ AR = rtconfig.AR, ARFLAGS = '-rc',
+ LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS,
+ # overwrite cflags, because cflags has '--C99'
+ CXXCOM = '$CXX -o $TARGET --cpp -c $CXXFLAGS $_CCCOMCOM $SOURCES')
+else:
+ env = Environment(tools = ['mingw'],
+ AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
+ CC = rtconfig.CC, CFLAGS = rtconfig.CFLAGS,
+ CXX = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS,
+ AR = rtconfig.AR, ARFLAGS = '-rc',
+ LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS)
+
env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
Export('RTT_ROOT')
Export('rtconfig')
# prepare building environment
-objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False)
+objs = PrepareBuilding(env, RTT_ROOT)
# make a building
DoBuilding(TARGET, objs)
diff --git a/bsp/nxp/lpc/lpc1114/driver/Kconfig b/bsp/nxp/lpc/lpc1114/driver/Kconfig
new file mode 100644
index 0000000000..abda34e14a
--- /dev/null
+++ b/bsp/nxp/lpc/lpc1114/driver/Kconfig
@@ -0,0 +1,27 @@
+menu "Hardware Drivers Config"
+
+config SOC_LPC1114
+ bool
+ select SOC_LPC1114_SERIES
+ select RT_USING_COMPONENTS_INIT
+ select RT_USING_USER_MAIN
+ default y
+
+menu "On-chip Peripheral Drivers"
+
+ menuconfig BSP_USING_SERIAL
+ select RT_USING_SERIAL
+ bool "Enable UART"
+ default n
+
+endmenu
+
+menu "Onboard Peripheral Drivers"
+
+endmenu
+
+menu "Board extended module Drivers"
+
+endmenu
+
+endmenu \ No newline at end of file
diff --git a/bsp/nxp/lpc/lpc1114/driver/SConscript b/bsp/nxp/lpc/lpc1114/driver/SConscript
index 2331e725c9..ed1f265403 100644
--- a/bsp/nxp/lpc/lpc1114/driver/SConscript
+++ b/bsp/nxp/lpc/lpc1114/driver/SConscript
@@ -1,16 +1,19 @@
+import os
from building import *
+objs = []
cwd = GetCurrentDir()
-src = Glob('*.[cs]')
list = os.listdir(cwd)
CPPPATH = [cwd]
-objs = []
+src = Glob('board.c')
+
+if not GetDepend('RT_USING_NANO'):
+ src += Glob(cwd + 'drv_uart.c')
+
+objs = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH)
-group = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH)
+for item in list:
+ if os.path.isfile(os.path.join(cwd, item, 'SConscript')):
+ objs = objs + SConscript(os.path.join(item, 'SConscript'))
-for d in list:
- path = os.path.join(cwd, d)
- if os.path.isfile(os.path.join(path, 'SConscript')):
- objs = objs + SConscript(os.path.join(d, 'SConscript'))
-objs = objs + group
Return('objs')
diff --git a/bsp/nxp/lpc/lpc1114/driver/board.c b/bsp/nxp/lpc/lpc1114/driver/board.c
index f092f26e6e..9fde002e86 100644
--- a/bsp/nxp/lpc/lpc1114/driver/board.c
+++ b/bsp/nxp/lpc/lpc1114/driver/board.c
@@ -52,6 +52,11 @@ void SysTick_Handler(void)
rt_interrupt_leave();
}
+rt_weak void UART_IRQHandler(void)
+{
+
+};
+
void os_clock_init(void)
{
/* bump up system clock 12MHz to 48MHz, using IRC (internal RC) osc. */
@@ -111,7 +116,9 @@ void rt_hw_board_init(void)
rt_system_heap_init((void *)&__bss_end__, (void *)&_ram_end);
#endif
/* initialize uart */
+#ifdef RT_USING_SERIAL
rt_hw_uart_init();
+#endif
#if defined(RT_USING_CONSOLE) && defined(RT_USING_DEVICE)
/* set console device */
diff --git a/bsp/nxp/lpc/lpc1114/driver/drv_uart.c b/bsp/nxp/lpc/lpc1114/driver/drv_uart.c
index 515310ed5f..f7a7320b54 100644
--- a/bsp/nxp/lpc/lpc1114/driver/drv_uart.c
+++ b/bsp/nxp/lpc/lpc1114/driver/drv_uart.c
@@ -15,7 +15,7 @@
#include "board.h" // CPU_CLOCK
#include "drv_uart.h"
-#ifdef RT_USING_SERIAL
+#ifdef BSP_USING_SERIAL
#define UART_BASE 0x40008000 // UART (only one)
#define UART_IRQ 21
@@ -174,4 +174,4 @@ int rt_hw_uart_init(void)
}
INIT_BOARD_EXPORT(rt_hw_uart_init);
-#endif /* RT_USING_SERIAL */
+#endif /* BSP_USING_SERIAL */
diff --git a/bsp/nxp/lpc/lpc1114/driver/startup_gcc.s b/bsp/nxp/lpc/lpc1114/driver/startup_gcc.s
index b7b951cfe0..ffb08abf43 100644
--- a/bsp/nxp/lpc/lpc1114/driver/startup_gcc.s
+++ b/bsp/nxp/lpc/lpc1114/driver/startup_gcc.s
@@ -29,7 +29,7 @@
.long default_handler + 1 // 11: SVCall
.long default_handler + 1 // 12: reserved
.long default_handler + 1 // 13: reserved
- .long PendSV_Handler + 1 // 14: PendSV
+ .long PendSV_Handler + 1 // 14: PendSV
.long SysTick_Handler + 1 // 15: SysTick
.long default_handler + 1 // 16: External Interrupt(0)
.long default_handler + 1 // 17: External Interrupt(1)
@@ -128,3 +128,5 @@ die:
b die
.pool
+
+ .end \ No newline at end of file
diff --git a/bsp/nxp/lpc/lpc1114/rtconfig.h b/bsp/nxp/lpc/lpc1114/rtconfig.h
index a8b5c056b9..2deaee22f3 100644
--- a/bsp/nxp/lpc/lpc1114/rtconfig.h
+++ b/bsp/nxp/lpc/lpc1114/rtconfig.h
@@ -1,12 +1,10 @@
#ifndef RT_CONFIG_H__
#define RT_CONFIG_H__
-/* Automatically generated file; DO NOT EDIT. */
-/* RT-Thread Configuration */
-
/* RT-Thread Kernel */
#define RT_NAME_MAX 8
+#define RT_USING_NANO
#define RT_CPUS_NR 1
#define RT_ALIGN_SIZE 8
#define RT_THREAD_PRIORITY_32
@@ -16,9 +14,11 @@
/* kservice optimization */
-#define RT_USING_DEBUG
-#define RT_DEBUGING_COLOR
-#define RT_DEBUGING_CONTEXT
+/* end of kservice optimization */
+
+/* klibc optimization */
+
+/* end of klibc optimization */
/* Inter-Thread communication */
@@ -27,6 +27,7 @@
#define RT_USING_EVENT
#define RT_USING_MAILBOX
#define RT_USING_MESSAGEQUEUE
+/* end of Inter-Thread communication */
/* Memory Management */
@@ -34,12 +35,10 @@
#define RT_USING_SMALL_MEM
#define RT_USING_SMALL_MEM_AS_HEAP
#define RT_USING_HEAP
-#define RT_USING_DEVICE
-#define RT_USING_CONSOLE
-#define RT_CONSOLEBUF_SIZE 128
-#define RT_CONSOLE_DEVICE_NAME "uart"
-#define RT_VER_NUM 0x50100
+/* end of Memory Management */
+#define RT_VER_NUM 0x50200
#define RT_BACKTRACE_LEVEL_MAX_NR 32
+/* end of RT-Thread Kernel */
#define ARCH_ARM
#define ARCH_ARM_CORTEX_M
#define ARCH_ARM_CORTEX_M0
@@ -50,67 +49,15 @@
#define RT_USING_USER_MAIN
#define RT_MAIN_THREAD_STACK_SIZE 512
#define RT_MAIN_THREAD_PRIORITY 10
-#define RT_USING_MSH
-#define RT_USING_FINSH
-#define FINSH_USING_MSH
-#define FINSH_THREAD_NAME "tshell"
-#define FINSH_THREAD_PRIORITY 20
-#define FINSH_THREAD_STACK_SIZE 4096
-#define FINSH_USING_HISTORY
-#define FINSH_HISTORY_LINES 5
-#define FINSH_USING_SYMTAB
-#define FINSH_CMD_SIZE 80
-#define MSH_USING_BUILT_IN_COMMANDS
-#define FINSH_USING_DESCRIPTION
-#define FINSH_ARG_MAX 10
-#define FINSH_USING_OPTION_COMPLETION
-
-/* DFS: device virtual file system */
-
-
-/* Device Drivers */
-
-#define RT_USING_DEVICE_IPC
-#define RT_UNAMED_PIPE_NUMBER 64
-#define RT_USING_SERIAL
-#define RT_USING_SERIAL_V1
-#define RT_SERIAL_RB_BUFSZ 64
-#define RT_USING_PIN
-
-/* Using USB */
-
-
-/* C/C++ and POSIX layer */
-
-/* ISO-ANSI C layer */
-
-/* Timezone and Daylight Saving Time */
-
-#define RT_LIBC_USING_LIGHT_TZ_DST
-#define RT_LIBC_TZ_DEFAULT_HOUR 8
-#define RT_LIBC_TZ_DEFAULT_MIN 0
-#define RT_LIBC_TZ_DEFAULT_SEC 0
-
-/* POSIX (Portable Operating System Interface) layer */
-
-
-/* Interprocess Communication (IPC) */
+/* Using USB legacy version */
-/* Socket is in the 'Network' category */
-
-
-/* Network */
-
-
-/* Memory protection */
-
-
-/* Utilities */
-
+/* end of Using USB legacy version */
+/* end of RT-Thread Components */
/* RT-Thread Utestcases */
+/* end of RT-Thread Utestcases */
/* RT-Thread online packages */
@@ -121,57 +68,78 @@
/* Marvell WiFi */
+/* end of Marvell WiFi */
/* Wiced WiFi */
+/* end of Wiced WiFi */
/* CYW43012 WiFi */
+/* end of CYW43012 WiFi */
/* BL808 WiFi */
+/* end of BL808 WiFi */
/* CYW43439 WiFi */
+/* end of CYW43439 WiFi */
+/* end of Wi-Fi */
/* IoT Cloud */
+/* end of IoT Cloud */
+/* end of IoT - internet of things */
/* security packages */
+/* end of security packages */
/* language packages */
/* JSON: JavaScript Object Notation, a lightweight data-interchange format */
+/* end of JSON: JavaScript Object Notation, a lightweight data-interchange format */
/* XML: Extensible Markup Language */
+/* end of XML: Extensible Markup Language */
+/* end of language packages */
/* multimedia packages */
/* LVGL: powerful and easy-to-use embedded GUI library */
+/* end of LVGL: powerful and easy-to-use embedded GUI library */
/* u8g2: a monochrome graphic library */
+/* end of u8g2: a monochrome graphic library */
+/* end of multimedia packages */
/* tools packages */
+/* end of tools packages */
/* system packages */
/* enhanced kernel services */
+/* end of enhanced kernel services */
/* acceleration: Assembly language or algorithmic acceleration packages */
+/* end of acceleration: Assembly language or algorithmic acceleration packages */
/* CMSIS: ARM Cortex-M Microcontroller Software Interface Standard */
+/* end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard */
/* Micrium: Micrium software products porting for RT-Thread */
+/* end of Micrium: Micrium software products porting for RT-Thread */
+/* end of system packages */
/* peripheral libraries and drivers */
@@ -179,66 +147,106 @@
/* STM32 HAL & SDK Drivers */
+/* end of STM32 HAL & SDK Drivers */
+
+/* Infineon HAL Packages */
+
+/* end of Infineon HAL Packages */
/* Kendryte SDK */
+/* end of Kendryte SDK */
+/* end of HAL & SDK Drivers */
/* sensors drivers */
+/* end of sensors drivers */
/* touch drivers */
+/* end of touch drivers */
+/* end of peripheral libraries and drivers */
/* AI packages */
+/* end of AI packages */
/* Signal Processing and Control Algorithm Packages */
+/* end of Signal Processing and Control Algorithm Packages */
/* miscellaneous packages */
/* project laboratory */
+/* end of project laboratory */
+
/* samples: kernel and components samples */
+/* end of samples: kernel and components samples */
/* entertainment: terminal games and other interesting software packages */
+/* end of entertainment: terminal games and other interesting software packages */
+/* end of miscellaneous packages */
/* Arduino libraries */
/* Projects and Demos */
+/* end of Projects and Demos */
/* Sensors */
+/* end of Sensors */
/* Display */
+/* end of Display */
/* Timing */
+/* end of Timing */
/* Data Processing */
+/* end of Data Processing */
/* Data Storage */
/* Communication */
+/* end of Communication */
/* Device Control */
+/* end of Device Control */
/* Other */
+/* end of Other */
/* Signal IO */
+/* end of Signal IO */
/* Uncategorized */
+/* end of Arduino libraries */
+/* end of RT-Thread online packages */
#define SOC_LPC1114
+/* Hardware Drivers Config */
+
+/* On-chip Peripheral Drivers */
+
+/* end of On-chip Peripheral Drivers */
+
+/* Onboard Peripheral Drivers */
+
+/* Board extended module Drivers */
+
+/* end of Hardware Drivers Config */
+
#endif
diff --git a/bsp/nxp/lpc/lpc1114/rtconfig.py b/bsp/nxp/lpc/lpc1114/rtconfig.py
index 0fc441cee6..c7c773650d 100644
--- a/bsp/nxp/lpc/lpc1114/rtconfig.py
+++ b/bsp/nxp/lpc/lpc1114/rtconfig.py
@@ -4,27 +4,29 @@ import os
ARCH ='arm'
CPU ='cortex-m0'
CROSS_TOOL ='gcc'
-
-if os.getenv('RTT_ROOT'):
- RTT_ROOT = os.getenv('RTT_ROOT')
-else:
- RTT_ROOT = '../..'
+BOARD_NAME = 'lpc1114'
if os.getenv('RTT_CC'):
- CROSS_TOOL = os.getenv('RTT_CC')
+ CROSS_TOOL = os.getenv('RTT_CC')
+# cross_tool provides the cross compiler
+# EXEC_PATH is the compiler execute path, for example, CodeSourcery, Keil MDK, IAR
if CROSS_TOOL == 'gcc':
PLATFORM = 'gcc'
- EXEC_PATH = r'/usr/bin'
-else:
- print ('Please make sure your toolchains is GNU GCC!')
- exit(0)
+ EXEC_PATH = r'C:\Users\XXYYZZ'
+elif CROSS_TOOL == 'keil':
+ PLATFORM = 'armcc'
+ EXEC_PATH = 'C:/keil_v5'
+elif CROSS_TOOL == 'iar':
+ PLATFORM = 'iccarm'
+ EXEC_PATH = r'C:/Program Files (x86)/IAR Systems/Embedded Workbench 8.3'
if os.getenv('RTT_EXEC_PATH'):
- EXEC_PATH = os.getenv('RTT_EXEC_PATH')
+ EXEC_PATH = os.getenv('RTT_EXEC_PATH')
+
+BUILD = 'debug'
+# BUILD = 'release'
-BUILD = 'release'
-# BUILD = 'debug'
if PLATFORM == 'gcc':
# toolchains
@@ -54,5 +56,5 @@ if PLATFORM == 'gcc':
CXXFLAGS = CFLAGS
-DUMP_ACTION = OBJDUMP + ' -D -S $TARGET > rtt.asm\n'
+DUMP_ACTION = OBJDUMP + ' -D -S $TARGET > rtthread.asm\n'
POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n'
diff --git a/bsp/nxp/lpc/lpc178x/.config b/bsp/nxp/lpc/lpc178x/.config
index 3865437615..384869bfa0 100644
--- a/bsp/nxp/lpc/lpc178x/.config
+++ b/bsp/nxp/lpc/lpc178x/.config
@@ -1,7 +1,3 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# RT-Thread Project Configuration
-#
#
# RT-Thread Kernel
@@ -19,7 +15,6 @@ CONFIG_RT_THREAD_PRIORITY_32=y
# CONFIG_RT_THREAD_PRIORITY_256 is not set
CONFIG_RT_THREAD_PRIORITY_MAX=32
CONFIG_RT_TICK_PER_SECOND=100
-CONFIG_RT_USING_OVERFLOW_CHECK=y
CONFIG_RT_USING_HOOK=y
CONFIG_RT_HOOK_USING_FUNC_PTR=y
# CONFIG_RT_USING_HOOKLIST is not set
@@ -29,19 +24,29 @@ CONFIG_IDLE_THREAD_STACK_SIZE=256
CONFIG_RT_USING_TIMER_SOFT=y
CONFIG_RT_TIMER_THREAD_PRIO=4
CONFIG_RT_TIMER_THREAD_STACK_SIZE=512
+# CONFIG_RT_USING_TIMER_ALL_SOFT is not set
+# CONFIG_RT_USING_CPU_USAGE_TRACER is not set
#
# kservice optimization
#
-CONFIG_RT_KSERVICE_USING_STDLIB=y
-# CONFIG_RT_KSERVICE_USING_STDLIB_MEMORY is not set
-# CONFIG_RT_KSERVICE_USING_TINY_SIZE is not set
# CONFIG_RT_USING_TINY_FFS is not set
-# CONFIG_RT_KPRINTF_USING_LONGLONG is not set
+# end of kservice optimization
+
+#
+# klibc optimization
+#
+# CONFIG_RT_KLIBC_USING_STDLIB is not set
+# CONFIG_RT_KLIBC_USING_TINY_SIZE is not set
+# CONFIG_RT_KLIBC_USING_PRINTF_LONGLONG is not set
+# end of klibc optimization
+
CONFIG_RT_USING_DEBUG=y
+CONFIG_RT_DEBUGING_ASSERT=y
CONFIG_RT_DEBUGING_COLOR=y
CONFIG_RT_DEBUGING_CONTEXT=y
# CONFIG_RT_DEBUGING_AUTO_INIT is not set
+CONFIG_RT_USING_OVERFLOW_CHECK=y
#
# Inter-Thread communication
@@ -53,6 +58,7 @@ CONFIG_RT_USING_MAILBOX=y
CONFIG_RT_USING_MESSAGEQUEUE=y
# CONFIG_RT_USING_MESSAGEQUEUE_PRIORITY is not set
# CONFIG_RT_USING_SIGNALS is not set
+# end of Inter-Thread communication
#
# Memory Management
@@ -71,6 +77,8 @@ CONFIG_RT_USING_SMALL_MEM_AS_HEAP=y
# CONFIG_RT_USING_MEMTRACE is not set
# CONFIG_RT_USING_HEAP_ISR is not set
CONFIG_RT_USING_HEAP=y
+# end of Memory Management
+
CONFIG_RT_USING_DEVICE=y
# CONFIG_RT_USING_DEVICE_OPS is not set
# CONFIG_RT_USING_INTERRUPT_INFO is not set
@@ -79,13 +87,12 @@ CONFIG_RT_USING_DEVICE=y
CONFIG_RT_USING_CONSOLE=y
CONFIG_RT_CONSOLEBUF_SIZE=128
CONFIG_RT_CONSOLE_DEVICE_NAME="uart"
-CONFIG_RT_VER_NUM=0x50100
+CONFIG_RT_VER_NUM=0x50200
# CONFIG_RT_USING_STDC_ATOMIC is not set
CONFIG_RT_BACKTRACE_LEVEL_MAX_NR=32
-# CONFIG_RT_USING_CACHE is not set
+# end of RT-Thread Kernel
+
CONFIG_RT_USING_HW_ATOMIC=y
-# CONFIG_ARCH_ARM_BOOTWITH_FLUSH_CACHE is not set
-# CONFIG_ARCH_CPU_STACK_GROWS_UPWARD is not set
CONFIG_RT_USING_CPU_FFS=y
CONFIG_ARCH_ARM=y
CONFIG_ARCH_ARM_CORTEX_M=y
@@ -94,8 +101,10 @@ CONFIG_ARCH_ARM_CORTEX_M3=y
#
# RT-Thread Components
#
-# CONFIG_RT_USING_COMPONENTS_INIT is not set
-# CONFIG_RT_USING_USER_MAIN is not set
+CONFIG_RT_USING_COMPONENTS_INIT=y
+CONFIG_RT_USING_USER_MAIN=y
+CONFIG_RT_MAIN_THREAD_STACK_SIZE=2048
+CONFIG_RT_MAIN_THREAD_PRIORITY=10
# CONFIG_RT_USING_LEGACY is not set
CONFIG_RT_USING_MSH=y
CONFIG_RT_USING_FINSH=y
@@ -150,18 +159,23 @@ CONFIG_RT_DFS_ELM_MAX_SECTOR_SIZE=512
CONFIG_RT_DFS_ELM_REENTRANT=y
CONFIG_RT_DFS_ELM_MUTEX_TIMEOUT=3000
# CONFIG_RT_DFS_ELM_USE_EXFAT is not set
+# end of elm-chan's FatFs, Generic FAT Filesystem Module
+
CONFIG_RT_USING_DFS_DEVFS=y
# CONFIG_RT_USING_DFS_ROMFS is not set
# CONFIG_RT_USING_DFS_CROMFS is not set
# CONFIG_RT_USING_DFS_RAMFS is not set
# CONFIG_RT_USING_DFS_TMPFS is not set
# CONFIG_RT_USING_DFS_MQUEUE is not set
+# end of DFS: device virtual file system
+
# CONFIG_RT_USING_FAL is not set
#
# Device Drivers
#
# CONFIG_RT_USING_DM is not set
+# CONFIG_RT_USING_DEV_BUS is not set
CONFIG_RT_USING_DEVICE_IPC=y
CONFIG_RT_UNAMED_PIPE_NUMBER=64
# CONFIG_RT_USING_SYSTEM_WORKQUEUE is not set
@@ -180,6 +194,8 @@ CONFIG_RT_SERIAL_RB_BUFSZ=64
# CONFIG_RT_USING_ZERO is not set
# CONFIG_RT_USING_RANDOM is not set
# CONFIG_RT_USING_PWM is not set
+# CONFIG_RT_USING_PULSE_ENCODER is not set
+# CONFIG_RT_USING_INPUT_CAPTURE is not set
# CONFIG_RT_USING_MTD_NOR is not set
# CONFIG_RT_USING_MTD_NAND is not set
# CONFIG_RT_USING_PM is not set
@@ -192,21 +208,13 @@ CONFIG_RT_SERIAL_RB_BUFSZ=64
# CONFIG_RT_USING_TOUCH is not set
# CONFIG_RT_USING_LCD is not set
# CONFIG_RT_USING_HWCRYPTO is not set
-# CONFIG_RT_USING_PULSE_ENCODER is not set
-# CONFIG_RT_USING_INPUT_CAPTURE is not set
-# CONFIG_RT_USING_DEV_BUS is not set
# CONFIG_RT_USING_WIFI is not set
# CONFIG_RT_USING_VIRTIO is not set
CONFIG_RT_USING_PIN=y
# CONFIG_RT_USING_KTIME is not set
# CONFIG_RT_USING_HWTIMER is not set
-
-#
-# Using USB
-#
-# CONFIG_RT_USING_USB is not set
-# CONFIG_RT_USING_USB_HOST is not set
-# CONFIG_RT_USING_USB_DEVICE is not set
+# CONFIG_RT_USING_CHERRYUSB is not set
+# end of Device Drivers
#
# C/C++ and POSIX layer
@@ -224,6 +232,8 @@ CONFIG_RT_LIBC_USING_LIGHT_TZ_DST=y
CONFIG_RT_LIBC_TZ_DEFAULT_HOUR=8
CONFIG_RT_LIBC_TZ_DEFAULT_MIN=0
CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
+# end of Timezone and Daylight Saving Time
+# end of ISO-ANSI C layer
#
# POSIX (Portable Operating System Interface) layer
@@ -245,7 +255,11 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
#
# Socket is in the 'Network' category
#
+# end of Interprocess Communication (IPC)
+# end of POSIX (Portable Operating System Interface) layer
+
# CONFIG_RT_USING_CPLUSPLUS is not set
+# end of C/C++ and POSIX layer
#
# Network
@@ -254,12 +268,14 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_RT_USING_NETDEV is not set
# CONFIG_RT_USING_LWIP is not set
# CONFIG_RT_USING_AT is not set
+# end of Network
#
# Memory protection
#
# CONFIG_RT_USING_MEM_PROTECTION is not set
# CONFIG_RT_USING_HW_STACK_GUARD is not set
+# end of Memory protection
#
# Utilities
@@ -271,12 +287,25 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_RT_USING_RESOURCE_ID is not set
# CONFIG_RT_USING_ADT is not set
# CONFIG_RT_USING_RT_LINK is not set
+# end of Utilities
+
# CONFIG_RT_USING_VBUS is not set
#
+# Using USB legacy version
+#
+# CONFIG_RT_USING_USB_HOST is not set
+# CONFIG_RT_USING_USB_DEVICE is not set
+# end of Using USB legacy version
+
+# CONFIG_RT_USING_FDT is not set
+# end of RT-Thread Components
+
+#
# RT-Thread Utestcases
#
# CONFIG_RT_USING_UTESTCASES is not set
+# end of RT-Thread Utestcases
#
# RT-Thread online packages
@@ -285,7 +314,6 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
#
# IoT - internet of things
#
-# CONFIG_PKG_USING_LWIP is not set
# CONFIG_PKG_USING_LORAWAN_DRIVER is not set
# CONFIG_PKG_USING_PAHOMQTT is not set
# CONFIG_PKG_USING_UMQTT is not set
@@ -298,6 +326,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_WEBTERMINAL is not set
# CONFIG_PKG_USING_FREEMODBUS is not set
# CONFIG_PKG_USING_NANOPB is not set
+# CONFIG_PKG_USING_WIFI_HOST_DRIVER is not set
#
# Wi-Fi
@@ -307,27 +336,35 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# Marvell WiFi
#
# CONFIG_PKG_USING_WLANMARVELL is not set
+# end of Marvell WiFi
#
# Wiced WiFi
#
# CONFIG_PKG_USING_WLAN_WICED is not set
+# end of Wiced WiFi
+
# CONFIG_PKG_USING_RW007 is not set
#
# CYW43012 WiFi
#
# CONFIG_PKG_USING_WLAN_CYW43012 is not set
+# end of CYW43012 WiFi
#
# BL808 WiFi
#
# CONFIG_PKG_USING_WLAN_BL808 is not set
+# end of BL808 WiFi
#
# CYW43439 WiFi
#
# CONFIG_PKG_USING_WLAN_CYW43439 is not set
+# end of CYW43439 WiFi
+# end of Wi-Fi
+
# CONFIG_PKG_USING_COAP is not set
# CONFIG_PKG_USING_NOPOLL is not set
# CONFIG_PKG_USING_NETUTILS is not set
@@ -350,6 +387,8 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set
# CONFIG_PKG_USING_JOYLINK is not set
# CONFIG_PKG_USING_IOTSHARP_SDK is not set
+# end of IoT Cloud
+
# CONFIG_PKG_USING_NIMBLE is not set
# CONFIG_PKG_USING_LLSYNC_SDK_ADAPTER is not set
# CONFIG_PKG_USING_OTA_DOWNLOADER is not set
@@ -392,6 +431,8 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ZEPHYR_POLLING is not set
# CONFIG_PKG_USING_MATTER_ADAPTATION_LAYER is not set
# CONFIG_PKG_USING_LHC_MODBUS is not set
+# CONFIG_PKG_USING_QMODBUS is not set
+# end of IoT - internet of things
#
# security packages
@@ -402,6 +443,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_TINYCRYPT is not set
# CONFIG_PKG_USING_TFM is not set
# CONFIG_PKG_USING_YD_CRYPTO is not set
+# end of security packages
#
# language packages
@@ -417,18 +459,22 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_JSMN is not set
# CONFIG_PKG_USING_AGILE_JSMN is not set
# CONFIG_PKG_USING_PARSON is not set
+# end of JSON: JavaScript Object Notation, a lightweight data-interchange format
#
# XML: Extensible Markup Language
#
# CONFIG_PKG_USING_SIMPLE_XML is not set
# CONFIG_PKG_USING_EZXML is not set
+# end of XML: Extensible Markup Language
+
# CONFIG_PKG_USING_LUATOS_SOC is not set
# CONFIG_PKG_USING_LUA is not set
# CONFIG_PKG_USING_JERRYSCRIPT is not set
# CONFIG_PKG_USING_MICROPYTHON is not set
# CONFIG_PKG_USING_PIKASCRIPT is not set
# CONFIG_PKG_USING_RTT_RUST is not set
+# end of language packages
#
# multimedia packages
@@ -440,12 +486,15 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_LVGL is not set
# CONFIG_PKG_USING_LV_MUSIC_DEMO is not set
# CONFIG_PKG_USING_GUI_GUIDER_DEMO is not set
+# end of LVGL: powerful and easy-to-use embedded GUI library
#
# u8g2: a monochrome graphic library
#
# CONFIG_PKG_USING_U8G2_OFFICIAL is not set
# CONFIG_PKG_USING_U8G2 is not set
+# end of u8g2: a monochrome graphic library
+
# CONFIG_PKG_USING_OPENMV is not set
# CONFIG_PKG_USING_MUPDF is not set
# CONFIG_PKG_USING_STEMWIN is not set
@@ -465,6 +514,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_QRCODE is not set
# CONFIG_PKG_USING_GUIENGINE is not set
# CONFIG_PKG_USING_3GPP_AMRNB is not set
+# end of multimedia packages
#
# tools packages
@@ -514,6 +564,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_VOFA_PLUS is not set
# CONFIG_PKG_USING_RT_TRACE is not set
# CONFIG_PKG_USING_ZDEBUG is not set
+# end of tools packages
#
# system packages
@@ -525,6 +576,9 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_RT_MEMCPY_CM is not set
# CONFIG_PKG_USING_RT_KPRINTF_THREADSAFE is not set
# CONFIG_PKG_USING_RT_VSNPRINTF_FULL is not set
+# end of enhanced kernel services
+
+# CONFIG_PKG_USING_AUNITY is not set
#
# acceleration: Assembly language or algorithmic acceleration packages
@@ -532,6 +586,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_QFPLIB_M0_FULL is not set
# CONFIG_PKG_USING_QFPLIB_M0_TINY is not set
# CONFIG_PKG_USING_QFPLIB_M3 is not set
+# end of acceleration: Assembly language or algorithmic acceleration packages
#
# CMSIS: ARM Cortex-M Microcontroller Software Interface Standard
@@ -542,6 +597,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_CMSIS_NN is not set
# CONFIG_PKG_USING_CMSIS_RTOS1 is not set
# CONFIG_PKG_USING_CMSIS_RTOS2 is not set
+# end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard
#
# Micrium: Micrium software products porting for RT-Thread
@@ -552,6 +608,8 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_UC_CLK is not set
# CONFIG_PKG_USING_UC_COMMON is not set
# CONFIG_PKG_USING_UC_MODBUS is not set
+# end of Micrium: Micrium software products porting for RT-Thread
+
# CONFIG_PKG_USING_FREERTOS_WRAPPER is not set
# CONFIG_PKG_USING_LITEOS_SDK is not set
# CONFIG_PKG_USING_TZ_DATABASE is not set
@@ -599,6 +657,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_RTP is not set
# CONFIG_PKG_USING_REB is not set
# CONFIG_PKG_USING_R_RHEALSTONE is not set
+# end of system packages
#
# peripheral libraries and drivers
@@ -611,9 +670,27 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
#
# STM32 HAL & SDK Drivers
#
-# CONFIG_PKG_USING_STM32L4XX_HAL_DRIVER is not set
+# CONFIG_PKG_USING_STM32L4_HAL_DRIVER is not set
+# CONFIG_PKG_USING_STM32L4_CMSIS_DRIVER is not set
# CONFIG_PKG_USING_STM32WB55_SDK is not set
# CONFIG_PKG_USING_STM32_SDIO is not set
+# end of STM32 HAL & SDK Drivers
+
+#
+# Infineon HAL Packages
+#
+# CONFIG_PKG_USING_INFINEON_CAT1CM0P is not set
+# CONFIG_PKG_USING_INFINEON_CMSIS is not set
+# CONFIG_PKG_USING_INFINEON_CORE_LIB is not set
+# CONFIG_PKG_USING_INFINEON_MTB_HAL_CAT1 is not set
+# CONFIG_PKG_USING_INFINEON_MTB_PDL_CAT1 is not set
+# CONFIG_PKG_USING_INFINEON_RETARGET_IO is not set
+# CONFIG_PKG_USING_INFINEON_CAPSENSE is not set
+# CONFIG_PKG_USING_INFINEON_CSDIDAC is not set
+# CONFIG_PKG_USING_INFINEON_SERIAL_FLASH is not set
+# CONFIG_PKG_USING_INFINEON_USBDEV is not set
+# end of Infineon HAL Packages
+
# CONFIG_PKG_USING_BLUETRUM_SDK is not set
# CONFIG_PKG_USING_EMBARC_BSP is not set
# CONFIG_PKG_USING_ESP_IDF is not set
@@ -623,9 +700,12 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
#
# CONFIG_PKG_USING_K210_SDK is not set
# CONFIG_PKG_USING_KENDRYTE_SDK is not set
+# end of Kendryte SDK
+
# CONFIG_PKG_USING_NRF5X_SDK is not set
# CONFIG_PKG_USING_NRFX is not set
# CONFIG_PKG_USING_RASPBERRYPI_PICO_SDK is not set
+# end of HAL & SDK Drivers
#
# sensors drivers
@@ -695,6 +775,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ICM20608 is not set
# CONFIG_PKG_USING_PAJ7620 is not set
# CONFIG_PKG_USING_STHS34PF80 is not set
+# end of sensors drivers
#
# touch drivers
@@ -709,6 +790,8 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_XPT2046_TOUCH is not set
# CONFIG_PKG_USING_CST816X is not set
# CONFIG_PKG_USING_CST812T is not set
+# end of touch drivers
+
# CONFIG_PKG_USING_REALTEK_AMEBA is not set
# CONFIG_PKG_USING_BUTTON is not set
# CONFIG_PKG_USING_PCF8574 is not set
@@ -782,6 +865,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_BT_MX01 is not set
# CONFIG_PKG_USING_RGPOWER is not set
# CONFIG_PKG_USING_SPI_TOOLS is not set
+# end of peripheral libraries and drivers
#
# AI packages
@@ -796,15 +880,18 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_QUEST is not set
# CONFIG_PKG_USING_NAXOS is not set
# CONFIG_PKG_USING_R_TINYMAIX is not set
+# end of AI packages
#
# Signal Processing and Control Algorithm Packages
#
+# CONFIG_PKG_USING_APID is not set
# CONFIG_PKG_USING_FIRE_PID_CURVE is not set
# CONFIG_PKG_USING_QPID is not set
# CONFIG_PKG_USING_UKAL is not set
# CONFIG_PKG_USING_DIGITALCTRL is not set
# CONFIG_PKG_USING_KISSFFT is not set
+# end of Signal Processing and Control Algorithm Packages
#
# miscellaneous packages
@@ -813,6 +900,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
#
# project laboratory
#
+# end of project laboratory
#
# samples: kernel and components samples
@@ -821,6 +909,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_FILESYSTEM_SAMPLES is not set
# CONFIG_PKG_USING_NETWORK_SAMPLES is not set
# CONFIG_PKG_USING_PERIPHERAL_SAMPLES is not set
+# end of samples: kernel and components samples
#
# entertainment: terminal games and other interesting software packages
@@ -837,6 +926,8 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_COWSAY is not set
# CONFIG_PKG_USING_MORSE is not set
# CONFIG_PKG_USING_TINYSQUARE is not set
+# end of entertainment: terminal games and other interesting software packages
+
# CONFIG_PKG_USING_LIBCSV is not set
# CONFIG_PKG_USING_OPTPARSE is not set
# CONFIG_PKG_USING_FASTLZ is not set
@@ -870,6 +961,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_SOEM is not set
# CONFIG_PKG_USING_QPARAM is not set
# CONFIG_PKG_USING_CorevMCU_CLI is not set
+# end of miscellaneous packages
#
# Arduino libraries
@@ -885,6 +977,8 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ARDUINO_NINEINONE_SENSOR_SHIELD is not set
# CONFIG_PKG_USING_ARDUINO_SENSOR_KIT is not set
# CONFIG_PKG_USING_ARDUINO_MATLAB_SUPPORT is not set
+# CONFIG_PKG_USING_ARDUINO_RTDUINO_SENSORFUSION_SHIELD is not set
+# end of Projects and Demos
#
# Sensors
@@ -1024,6 +1118,8 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ARDUINO_SEEED_LTC2941 is not set
# CONFIG_PKG_USING_ARDUINO_SEEED_LDC1612 is not set
# CONFIG_PKG_USING_ARDUINO_CAPACITIVESENSOR is not set
+# CONFIG_PKG_USING_ARDUINO_JARZEBSKI_MPU6050 is not set
+# end of Sensors
#
# Display
@@ -1035,6 +1131,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SSD1306 is not set
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ILI9341 is not set
# CONFIG_PKG_USING_SEEED_TM1637 is not set
+# end of Display
#
# Timing
@@ -1043,6 +1140,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ARDUINO_MSTIMER2 is not set
# CONFIG_PKG_USING_ARDUINO_TICKER is not set
# CONFIG_PKG_USING_ARDUINO_TASKSCHEDULER is not set
+# end of Timing
#
# Data Processing
@@ -1050,6 +1148,8 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ARDUINO_KALMANFILTER is not set
# CONFIG_PKG_USING_ARDUINO_ARDUINOJSON is not set
# CONFIG_PKG_USING_ARDUINO_TENSORFLOW_LITE_MICRO is not set
+# CONFIG_PKG_USING_ARDUINO_RUNNINGMEDIAN is not set
+# end of Data Processing
#
# Data Storage
@@ -1060,6 +1160,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
#
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PN532 is not set
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SI4713 is not set
+# end of Communication
#
# Device Control
@@ -1071,12 +1172,14 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DS1841 is not set
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DS3502 is not set
# CONFIG_PKG_USING_ARDUINO_SEEED_PCF85063TP is not set
+# end of Device Control
#
# Other
#
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MFRC630 is not set
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SI5351 is not set
+# end of Other
#
# Signal IO
@@ -1089,8 +1192,32 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP3008 is not set
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP4725 is not set
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BD3491FS is not set
+# end of Signal IO
#
# Uncategorized
#
+# end of Arduino libraries
+# end of RT-Thread online packages
+
CONFIG_SOC_LPC178=y
+
+#
+# Hardware Drivers Config
+#
+CONFIG_SOC_LPC178X=y
+
+#
+# On-chip Peripheral Drivers
+#
+CONFIG_BSP_USING_UART0=y
+# end of On-chip Peripheral Drivers
+
+#
+# Onboard Peripheral Drivers
+#
+
+#
+# Board extended module Drivers
+#
+# end of Hardware Drivers Config
diff --git a/bsp/nxp/lpc/lpc178x/Kconfig b/bsp/nxp/lpc/lpc178x/Kconfig
index 65f2a809ea..8079ffd5d9 100644
--- a/bsp/nxp/lpc/lpc178x/Kconfig
+++ b/bsp/nxp/lpc/lpc178x/Kconfig
@@ -12,4 +12,10 @@ osource "$PKGS_DIR/Kconfig"
config SOC_LPC178
bool
select ARCH_ARM_CORTEX_M3
+ select RT_USING_COMPONENTS_INIT
+ select RT_USING_USER_MAIN
default y
+
+source "$(BSP_DIR)/drivers/Kconfig"
+
+
diff --git a/bsp/nxp/lpc/lpc178x/SConstruct b/bsp/nxp/lpc/lpc178x/SConstruct
index da79b6e7de..6677545fbb 100644
--- a/bsp/nxp/lpc/lpc178x/SConstruct
+++ b/bsp/nxp/lpc/lpc178x/SConstruct
@@ -10,14 +10,25 @@ else:
sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
from building import *
-TARGET = 'rtthread-lpc178x.' + rtconfig.TARGET_EXT
-
+TARGET = 'rtthread-%s.%s' % (rtconfig.BOARD_NAME, rtconfig.TARGET_EXT)
DefaultEnvironment(tools=[])
-env = Environment(tools = ['mingw'],
- AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
- CC = rtconfig.CC, CFLAGS = rtconfig.CFLAGS,
- AR = rtconfig.AR, ARFLAGS = '-rc',
- LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS)
+if rtconfig.PLATFORM == 'armcc':
+ env = Environment(tools = ['mingw'],
+ AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
+ CC = rtconfig.CC, CFLAGS = rtconfig.CFLAGS,
+ CXX = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS,
+ AR = rtconfig.AR, ARFLAGS = '-rc',
+ LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS,
+ # overwrite cflags, because cflags has '--C99'
+ CXXCOM = '$CXX -o $TARGET --cpp -c $CXXFLAGS $_CCCOMCOM $SOURCES')
+else:
+ env = Environment(tools = ['mingw'],
+ AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
+ CC = rtconfig.CC, CFLAGS = rtconfig.CFLAGS,
+ CXX = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS,
+ AR = rtconfig.AR, ARFLAGS = '-rc',
+ LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS)
+
env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
Export('RTT_ROOT')
@@ -26,8 +37,5 @@ Export('rtconfig')
# prepare building environment
objs = PrepareBuilding(env, RTT_ROOT)
-if GetDepend('RT_USING_RTGUI'):
- objs = objs + SConscript(RTT_ROOT + '/examples/gui/SConscript', variant_dir='build/examples/gui', duplicate=0)
-
# make a building
DoBuilding(TARGET, objs)
diff --git a/bsp/nxp/lpc/lpc178x/applications/application.c b/bsp/nxp/lpc/lpc178x/applications/application.c
index a973f3f4eb..1ffbd3be39 100644
--- a/bsp/nxp/lpc/lpc178x/applications/application.c
+++ b/bsp/nxp/lpc/lpc178x/applications/application.c
@@ -36,6 +36,22 @@
#include <finsh.h>
#endif
+static int app_init(void);
+
+int main(void)
+{
+ rt_kprintf("Hello RT-Thread!\n");
+
+ app_init();
+
+ while(1)
+ {
+ rt_thread_mdelay(1000);
+ }
+
+ return 0;
+}
+
/* thread phase init */
void rt_init_thread_entry(void *parameter)
{
@@ -141,7 +157,7 @@ static void rt_thread_entry_led(void* parameter)
}
}
-int rt_application_init(void)
+static int app_init(void)
{
rt_thread_t tid;
diff --git a/bsp/nxp/lpc/lpc178x/applications/startup.c b/bsp/nxp/lpc/lpc178x/applications/startup.c
deleted file mode 100644
index 8b25e7d405..0000000000
--- a/bsp/nxp/lpc/lpc178x/applications/startup.c
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright (c) 2006-2021, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2009-01-05 Bernard first implementation
- * 2010-03-04 Magicoe for LPC17xx
- */
-
-#include <rthw.h>
-#include <rtthread.h>
-
-#include "LPC177x_8x.h"
-#include "board.h"
-
-extern int rt_application_init(void);
-
-#ifdef __CC_ARM
-extern int Image$$RW_IRAM1$$ZI$$Limit;
-#elif __ICCARM__
-#pragma section="HEAP"
-#else
-extern int __bss_end;
-#endif
-
-#ifdef DEBUG
-/*******************************************************************************
-* Function Name : assert_failed
-* Description : Reports the name of the source file and the source line number
-* where the assert error has occurred.
-* Input : - file: pointer to the source file name
-* - line: assert error line source number
-* Output : None
-* Return : None
-*******************************************************************************/
-void assert_failed(u8* file, u32 line)
-{
- rt_kprintf("\n\r Wrong parameter value detected on\r\n");
- rt_kprintf(" file %s\r\n", file);
- rt_kprintf(" line %d\r\n", line);
-
- while (1) ;
-}
-#endif
-
-/**
- * This function will startup RT-Thread RTOS.
- */
-void rtthread_startup(void)
-{
- /* initialize board */
- rt_hw_board_init();
-
- /* show version */
- rt_show_version();
-
-#ifdef RT_USING_HEAP
- /* initialize memory system */
- #ifdef __CC_ARM
- rt_system_heap_init((void*)&Image$$RW_IRAM1$$ZI$$Limit, (void*)(0x10000000 + 1024*64));
- #elif __ICCARM__
- rt_system_heap_init(__segment_end("HEAP"), (void*)(0x10000000 + 1024*64));
- #else
- rt_system_heap_init((void*)&__bss_end, (void*)(0x10000000 + 1024*64));
- #endif
-#endif
-
- /* initialize scheduler system */
- rt_system_scheduler_init();
-
- /* initialize application */
- rt_application_init();
-
- /* initialize timer */
- rt_system_timer_init();
-
- /* initialize timer thread */
- rt_system_timer_thread_init();
-
- /* initialize idle thread */
- rt_thread_idle_init();
-
- /* start scheduler */
- rt_system_scheduler_start();
-
- /* never reach here */
- return ;
-}
-
-int main(void)
-{
- /* disable interrupt first */
- rt_hw_interrupt_disable();
-
- /* startup RT-Thread RTOS */
- rtthread_startup();
-
- return 0;
-}
diff --git a/bsp/nxp/lpc/lpc178x/drivers/Kconfig b/bsp/nxp/lpc/lpc178x/drivers/Kconfig
new file mode 100644
index 0000000000..62c80674ff
--- /dev/null
+++ b/bsp/nxp/lpc/lpc178x/drivers/Kconfig
@@ -0,0 +1,26 @@
+menu "Hardware Drivers Config"
+
+config SOC_LPC178X
+ bool
+ select SOC_LPC178X_SERIES
+ select RT_USING_COMPONENTS_INIT
+ select RT_USING_USER_MAIN
+ default y
+
+menu "On-chip Peripheral Drivers"
+
+ config BSP_USING_UART0
+ bool "Enable UART0"
+ default y
+
+endmenu
+
+menu "Onboard Peripheral Drivers"
+
+endmenu
+
+menu "Board extended module Drivers"
+
+endmenu
+
+endmenu \ No newline at end of file
diff --git a/bsp/nxp/lpc/lpc178x/drivers/board.c b/bsp/nxp/lpc/lpc178x/drivers/board.c
index c07150e525..df215eab96 100644
--- a/bsp/nxp/lpc/lpc178x/drivers/board.c
+++ b/bsp/nxp/lpc/lpc178x/drivers/board.c
@@ -29,7 +29,8 @@
* This is the timer interrupt service routine.
*
*/
-void rt_hw_timer_handler(void)
+
+void SysTick_Handler(void)
{
/* enter interrupt */
rt_interrupt_enter();
@@ -40,11 +41,6 @@ void rt_hw_timer_handler(void)
rt_interrupt_leave();
}
-void SysTick_Handler(void)
-{
- rt_hw_timer_handler();
-}
-
/**
* This function will initial LPC17xx board.
*/
@@ -65,8 +61,31 @@ void rt_hw_board_init()
/* set pend exception priority */
NVIC_SetPriority(PendSV_IRQn, (1<<__NVIC_PRIO_BITS) - 1);
- rt_hw_uart_init();
+#ifdef RT_USING_HEAP
+ /* initialize memory system */
+ #ifdef __CC_ARM
+ rt_system_heap_init((void*)&Image$$RW_IRAM1$$ZI$$Limit, (void*)(0x10000000 + 1024*64));
+ #elif __ICCARM__
+ rt_system_heap_init(__segment_end("HEAP"), (void*)(0x10000000 + 1024*64));
+ #else
+ rt_system_heap_init((void*)&__bss_end, (void*)(0x10000000 + 1024*64));
+ #endif
+#endif
+
+ /* USART driver initialization is open by default */
+#ifdef RT_USING_SERIAL
+ rt_hw_usart_init();
+#endif
+
+ /* Set the shell console output device */
+#if defined(RT_USING_CONSOLE) && defined(RT_USING_DEVICE)
rt_console_set_device(RT_CONSOLE_DEVICE_NAME);
+#endif
+
+ /* Board underlying hardware initialization */
+#ifdef RT_USING_COMPONENTS_INIT
+ rt_components_board_init();
+#endif
#if LPC_EXT_SDRAM == 1
{
diff --git a/bsp/nxp/lpc/lpc178x/drivers/board.h b/bsp/nxp/lpc/lpc178x/drivers/board.h
index 3c0a7fad71..cf75e96649 100644
--- a/bsp/nxp/lpc/lpc178x/drivers/board.h
+++ b/bsp/nxp/lpc/lpc178x/drivers/board.h
@@ -23,17 +23,13 @@
// <integer name="LPC_EXT_SDRAM_END" description="End Address of External SDRAM" default="0xA4000000" />
#define LPC_EXT_SDRAM_END 0xA4000000
-// <bool name="RT_USING_UART0" description="Using UART0" default="true" />
-#define RT_USING_UART0
-// <bool name="RT_USING_UART1" description="Using UART1" default="true" />
-//#define RT_USING_UART1
-// <bool name="RT_USING_UART2" description="Using UART2" default="true" />
-//#define RT_USING_UART2
-
-// <string name="RT_CONSOLE_DEVICE_NAME" description="The device name for console" default="uart" />
-#define RT_CONSOLE_DEVICE_NAME "uart0"
-
-// </RDTConfigurator>
+#ifdef __CC_ARM
+extern int Image$$RW_IRAM1$$ZI$$Limit;
+#elif __ICCARM__
+#pragma section="HEAP"
+#else
+extern int __bss_end;
+#endif
#define FINSH_DEVICE_NAME RT_CONSOLE_DEVICE_NAME
void rt_hw_board_init(void);
diff --git a/bsp/nxp/lpc/lpc178x/drivers/uart.c b/bsp/nxp/lpc/lpc178x/drivers/uart.c
index 0702dcc8ad..6e4ed9e809 100644
--- a/bsp/nxp/lpc/lpc178x/drivers/uart.c
+++ b/bsp/nxp/lpc/lpc178x/drivers/uart.c
@@ -35,14 +35,14 @@ struct rt_uart_lpc
rt_uint8_t rx_buffer[RT_SERIAL_RB_BUFSZ];
};
-#ifdef RT_USING_UART0
+#ifdef BSP_USING_UART0
struct rt_uart_lpc uart0_device;
#endif
-#ifdef RT_USING_UART1
+#ifdef BSP_USING_UART1
struct rt_uart_lpc uart1_device;
#endif
-#ifdef RT_USING_UART0
+#ifdef BSP_USING_UART0
void UART0_IRQHandler(void)
{
rt_ubase_t level, iir;
@@ -85,7 +85,7 @@ void UART0_IRQHandler(void)
}
#endif
-#ifdef RT_USING_UART1
+#ifdef BSP_USING_UART1
void UART1_IRQHandler(void)
{
rt_ubase_t level, iir;
@@ -133,7 +133,7 @@ static rt_err_t rt_uart_init (rt_device_t dev)
struct rt_uart_lpc *uart = (struct rt_uart_lpc*)dev;
UART_CFG_Type UART_ConfigStruct;
-#ifdef RT_USING_UART0
+#ifdef BSP_USING_UART0
if( uart->UART == LPC_UART0 )
{
/*
@@ -158,7 +158,7 @@ static rt_err_t rt_uart_init (rt_device_t dev)
}
#endif
-#ifdef RT_USING_UART1
+#ifdef BSP_USING_UART1
if( ((LPC_UART1_TypeDef *)uart->UART) == LPC_UART1 )
{
/*
@@ -183,7 +183,7 @@ static rt_err_t rt_uart_init (rt_device_t dev)
}
#endif
-#ifdef RT_USING_UART2
+#ifdef BSP_USING_UART2
if( uart->UART == LPC_UART2 )
{
}
@@ -298,11 +298,11 @@ static rt_ssize_t rt_uart_write(rt_device_t dev, rt_off_t pos, const void* buffe
return (rt_size_t) ptr - (rt_size_t) buffer;
}
-void rt_hw_uart_init(void)
+void rt_hw_usart_init(void)
{
struct rt_uart_lpc* uart;
-#ifdef RT_USING_UART0
+#ifdef BSP_USING_UART0
/* get uart device */
uart = &uart0_device;
uart0_device.UART = LPC_UART0;
@@ -326,7 +326,7 @@ void rt_hw_uart_init(void)
"uart0", RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_STREAM | RT_DEVICE_FLAG_INT_RX);
#endif
-#ifdef RT_USING_UART1
+#ifdef BSP_USING_UART1
/* get uart device */
uart = &uart1_device;
uart1_device.UART = (LPC_UART_TypeDef *)LPC_UART1;
diff --git a/bsp/nxp/lpc/lpc178x/drivers/uart.h b/bsp/nxp/lpc/lpc178x/drivers/uart.h
index c5ca6c70c4..2f0eba96aa 100644
--- a/bsp/nxp/lpc/lpc178x/drivers/uart.h
+++ b/bsp/nxp/lpc/lpc178x/drivers/uart.h
@@ -1,6 +1,6 @@
#ifndef __UART_H__
#define __UART_H__
-void rt_hw_uart_init(void);
+void rt_hw_usart_init(void);
#endif
diff --git a/bsp/nxp/lpc/lpc178x/rtconfig.h b/bsp/nxp/lpc/lpc178x/rtconfig.h
index 95f879d754..70b391847a 100644
--- a/bsp/nxp/lpc/lpc178x/rtconfig.h
+++ b/bsp/nxp/lpc/lpc178x/rtconfig.h
@@ -1,9 +1,6 @@
#ifndef RT_CONFIG_H__
#define RT_CONFIG_H__
-/* Automatically generated file; DO NOT EDIT. */
-/* RT-Thread Project Configuration */
-
/* RT-Thread Kernel */
#define RT_NAME_MAX 6
@@ -12,7 +9,6 @@
#define RT_THREAD_PRIORITY_32
#define RT_THREAD_PRIORITY_MAX 32
#define RT_TICK_PER_SECOND 100
-#define RT_USING_OVERFLOW_CHECK
#define RT_USING_HOOK
#define RT_HOOK_USING_FUNC_PTR
#define RT_USING_IDLE_HOOK
@@ -24,10 +20,16 @@
/* kservice optimization */
-#define RT_KSERVICE_USING_STDLIB
+/* end of kservice optimization */
+
+/* klibc optimization */
+
+/* end of klibc optimization */
#define RT_USING_DEBUG
+#define RT_DEBUGING_ASSERT
#define RT_DEBUGING_COLOR
#define RT_DEBUGING_CONTEXT
+#define RT_USING_OVERFLOW_CHECK
/* Inter-Thread communication */
@@ -36,6 +38,7 @@
#define RT_USING_EVENT
#define RT_USING_MAILBOX
#define RT_USING_MESSAGEQUEUE
+/* end of Inter-Thread communication */
/* Memory Management */
@@ -45,12 +48,14 @@
#define RT_MEMHEAP_FAST_MODE
#define RT_USING_SMALL_MEM_AS_HEAP
#define RT_USING_HEAP
+/* end of Memory Management */
#define RT_USING_DEVICE
#define RT_USING_CONSOLE
#define RT_CONSOLEBUF_SIZE 128
#define RT_CONSOLE_DEVICE_NAME "uart"
-#define RT_VER_NUM 0x50100
+#define RT_VER_NUM 0x50200
#define RT_BACKTRACE_LEVEL_MAX_NR 32
+/* end of RT-Thread Kernel */
#define RT_USING_HW_ATOMIC
#define RT_USING_CPU_FFS
#define ARCH_ARM
@@ -59,6 +64,10 @@
/* RT-Thread Components */
+#define RT_USING_COMPONENTS_INIT
+#define RT_USING_USER_MAIN
+#define RT_MAIN_THREAD_STACK_SIZE 2048
+#define RT_MAIN_THREAD_PRIORITY 10
#define RT_USING_MSH
#define RT_USING_FINSH
#define FINSH_USING_MSH
@@ -98,7 +107,9 @@
#define RT_DFS_ELM_MAX_SECTOR_SIZE 512
#define RT_DFS_ELM_REENTRANT
#define RT_DFS_ELM_MUTEX_TIMEOUT 3000
+/* end of elm-chan's FatFs, Generic FAT Filesystem Module */
#define RT_USING_DFS_DEVFS
+/* end of DFS: device virtual file system */
/* Device Drivers */
@@ -109,9 +120,7 @@
#define RT_SERIAL_USING_DMA
#define RT_SERIAL_RB_BUFSZ 64
#define RT_USING_PIN
-
-/* Using USB */
-
+/* end of Device Drivers */
/* C/C++ and POSIX layer */
@@ -123,6 +132,8 @@
#define RT_LIBC_TZ_DEFAULT_HOUR 8
#define RT_LIBC_TZ_DEFAULT_MIN 0
#define RT_LIBC_TZ_DEFAULT_SEC 0
+/* end of Timezone and Daylight Saving Time */
+/* end of ISO-ANSI C layer */
/* POSIX (Portable Operating System Interface) layer */
@@ -132,18 +143,30 @@
/* Socket is in the 'Network' category */
+/* end of Interprocess Communication (IPC) */
+/* end of POSIX (Portable Operating System Interface) layer */
+/* end of C/C++ and POSIX layer */
/* Network */
+/* end of Network */
/* Memory protection */
+/* end of Memory protection */
/* Utilities */
+/* end of Utilities */
+
+/* Using USB legacy version */
+
+/* end of Using USB legacy version */
+/* end of RT-Thread Components */
/* RT-Thread Utestcases */
+/* end of RT-Thread Utestcases */
/* RT-Thread online packages */
@@ -154,57 +177,78 @@
/* Marvell WiFi */
+/* end of Marvell WiFi */
/* Wiced WiFi */
+/* end of Wiced WiFi */
/* CYW43012 WiFi */
+/* end of CYW43012 WiFi */
/* BL808 WiFi */
+/* end of BL808 WiFi */
/* CYW43439 WiFi */
+/* end of CYW43439 WiFi */
+/* end of Wi-Fi */
/* IoT Cloud */
+/* end of IoT Cloud */
+/* end of IoT - internet of things */
/* security packages */
+/* end of security packages */
/* language packages */
/* JSON: JavaScript Object Notation, a lightweight data-interchange format */
+/* end of JSON: JavaScript Object Notation, a lightweight data-interchange format */
/* XML: Extensible Markup Language */
+/* end of XML: Extensible Markup Language */
+/* end of language packages */
/* multimedia packages */
/* LVGL: powerful and easy-to-use embedded GUI library */
+/* end of LVGL: powerful and easy-to-use embedded GUI library */
/* u8g2: a monochrome graphic library */
+/* end of u8g2: a monochrome graphic library */
+/* end of multimedia packages */
/* tools packages */
+/* end of tools packages */
/* system packages */
/* enhanced kernel services */
+/* end of enhanced kernel services */
/* acceleration: Assembly language or algorithmic acceleration packages */
+/* end of acceleration: Assembly language or algorithmic acceleration packages */
/* CMSIS: ARM Cortex-M Microcontroller Software Interface Standard */
+/* end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard */
/* Micrium: Micrium software products porting for RT-Thread */
+/* end of Micrium: Micrium software products porting for RT-Thread */
+/* end of system packages */
/* peripheral libraries and drivers */
@@ -212,66 +256,109 @@
/* STM32 HAL & SDK Drivers */
+/* end of STM32 HAL & SDK Drivers */
+
+/* Infineon HAL Packages */
+
+/* end of Infineon HAL Packages */
/* Kendryte SDK */
+/* end of Kendryte SDK */
+/* end of HAL & SDK Drivers */
/* sensors drivers */
+/* end of sensors drivers */
/* touch drivers */
+/* end of touch drivers */
+/* end of peripheral libraries and drivers */
/* AI packages */
+/* end of AI packages */
/* Signal Processing and Control Algorithm Packages */
+/* end of Signal Processing and Control Algorithm Packages */
/* miscellaneous packages */
/* project laboratory */
+/* end of project laboratory */
+
/* samples: kernel and components samples */
+/* end of samples: kernel and components samples */
/* entertainment: terminal games and other interesting software packages */
+/* end of entertainment: terminal games and other interesting software packages */
+/* end of miscellaneous packages */
/* Arduino libraries */
/* Projects and Demos */
+/* end of Projects and Demos */
/* Sensors */
+/* end of Sensors */
/* Display */
+/* end of Display */
/* Timing */
+/* end of Timing */
/* Data Processing */
+/* end of Data Processing */
/* Data Storage */
/* Communication */
+/* end of Communication */
/* Device Control */
+/* end of Device Control */
/* Other */
+/* end of Other */
/* Signal IO */
+/* end of Signal IO */
/* Uncategorized */
+/* end of Arduino libraries */
+/* end of RT-Thread online packages */
#define SOC_LPC178
+/* Hardware Drivers Config */
+
+#define SOC_LPC178X
+
+/* On-chip Peripheral Drivers */
+
+#define BSP_USING_UART0
+/* end of On-chip Peripheral Drivers */
+
+/* Onboard Peripheral Drivers */
+
+/* Board extended module Drivers */
+
+/* end of Hardware Drivers Config */
+
#endif
diff --git a/bsp/nxp/lpc/lpc178x/rtconfig.py b/bsp/nxp/lpc/lpc178x/rtconfig.py
index 06f70506e0..3f2d804903 100644
--- a/bsp/nxp/lpc/lpc178x/rtconfig.py
+++ b/bsp/nxp/lpc/lpc178x/rtconfig.py
@@ -4,26 +4,29 @@ import os
ARCH='arm'
CPU='cortex-m3'
CROSS_TOOL='keil'
+BOARD_NAME = 'lpc178x'
if os.getenv('RTT_CC'):
CROSS_TOOL = os.getenv('RTT_CC')
+# cross_tool provides the cross compiler
+# EXEC_PATH is the compiler execute path, for example, CodeSourcery, Keil MDK, IAR
if CROSS_TOOL == 'gcc':
- PLATFORM = 'gcc'
- EXEC_PATH = 'C:/Program Files/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_EABI/bin'
+ PLATFORM = 'gcc'
+ EXEC_PATH = r'C:\Users\XXYYZZ'
elif CROSS_TOOL == 'keil':
- PLATFORM = 'armcc'
- EXEC_PATH = 'C:/Keil'
+ PLATFORM = 'armcc'
+ EXEC_PATH = 'C:/keil_v5'
elif CROSS_TOOL == 'iar':
- print('================ERROR============================')
- print('Not support iar yet!')
- print('=================================================')
- exit(0)
+ PLATFORM = 'iccarm'
+ EXEC_PATH = r'C:/Program Files (x86)/IAR Systems/Embedded Workbench 8.3'
if os.getenv('RTT_EXEC_PATH'):
EXEC_PATH = os.getenv('RTT_EXEC_PATH')
-BUILD = 'debug'
+BUILD = 'debug'
+# BUILD = 'release'
+
if PLATFORM == 'gcc':
# toolchains
@@ -31,6 +34,7 @@ if PLATFORM == 'gcc':
CC = PREFIX + 'gcc'
AS = PREFIX + 'gcc'
AR = PREFIX + 'ar'
+ CXX = PREFIX + 'g++'
LINK = PREFIX + 'gcc'
TARGET_EXT = 'elf'
SIZE = PREFIX + 'size'
@@ -40,7 +44,7 @@ if PLATFORM == 'gcc':
DEVICE = ' -mcpu=cortex-m3 -mthumb'
CFLAGS = DEVICE + ' -DRT_USING_MINILIBC'
AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp'
- LFLAGS = DEVICE + ' -Wl,--gc-sections,-Map=rtthread-lpc178x.map,-cref,-u,Reset_Handler -T rtthread-lpc178x.ld'
+ LFLAGS = DEVICE + ' -Wl,--gc-sections,-Map=rtthread.map,-cref,-u,Reset_Handler -T rtthread-lpc178x.ld'
CPATH = ''
LPATH = ''
@@ -50,12 +54,15 @@ if PLATFORM == 'gcc':
AFLAGS += ' -gdwarf-2'
else:
CFLAGS += ' -O2'
+
+ CXXFLAGS = CFLAGS
POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n'
elif PLATFORM == 'armcc':
# toolchains
CC = 'armcc'
+ CXX = 'armcc'
AS = 'armasm'
AR = 'armar'
LINK = 'armlink'
@@ -64,7 +71,7 @@ elif PLATFORM == 'armcc':
DEVICE = ' --device DARMP1'
CFLAGS = DEVICE + ' --apcs=interwork'
AFLAGS = DEVICE
- LFLAGS = DEVICE + ' --info sizes --info totals --info unused --info veneers --list rtthread-lpc178x.map --scatter rtthread-lpc178x.sct'
+ LFLAGS = DEVICE + ' --info sizes --info totals --info unused --info veneers --list rtthread.map --scatter rtthread-lpc178x.sct'
CFLAGS += ' -I' + EXEC_PATH + '/ARM/RV31/INC'
LFLAGS += ' --libpath ' + EXEC_PATH + '/ARM/RV31/LIB'
diff --git a/bsp/nxp/lpc/lpc2148/.config b/bsp/nxp/lpc/lpc2148/.config
index a8c0a66cb3..864f9b0ba3 100644
--- a/bsp/nxp/lpc/lpc2148/.config
+++ b/bsp/nxp/lpc/lpc2148/.config
@@ -1,7 +1,3 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# RT-Thread Project Configuration
-#
#
# RT-Thread Kernel
@@ -18,7 +14,6 @@ CONFIG_RT_THREAD_PRIORITY_32=y
# CONFIG_RT_THREAD_PRIORITY_256 is not set
CONFIG_RT_THREAD_PRIORITY_MAX=32
CONFIG_RT_TICK_PER_SECOND=100
-CONFIG_RT_USING_OVERFLOW_CHECK=y
CONFIG_RT_USING_HOOK=y
CONFIG_RT_HOOK_USING_FUNC_PTR=y
# CONFIG_RT_USING_HOOKLIST is not set
@@ -28,19 +23,29 @@ CONFIG_IDLE_THREAD_STACK_SIZE=256
CONFIG_RT_USING_TIMER_SOFT=y
CONFIG_RT_TIMER_THREAD_PRIO=4
CONFIG_RT_TIMER_THREAD_STACK_SIZE=512
+# CONFIG_RT_USING_TIMER_ALL_SOFT is not set
+# CONFIG_RT_USING_CPU_USAGE_TRACER is not set
#
# kservice optimization
#
-CONFIG_RT_KSERVICE_USING_STDLIB=y
-# CONFIG_RT_KSERVICE_USING_STDLIB_MEMORY is not set
-# CONFIG_RT_KSERVICE_USING_TINY_SIZE is not set
# CONFIG_RT_USING_TINY_FFS is not set
-# CONFIG_RT_KPRINTF_USING_LONGLONG is not set
+# end of kservice optimization
+
+#
+# klibc optimization
+#
+# CONFIG_RT_KLIBC_USING_STDLIB is not set
+# CONFIG_RT_KLIBC_USING_TINY_SIZE is not set
+# CONFIG_RT_KLIBC_USING_PRINTF_LONGLONG is not set
+# end of klibc optimization
+
CONFIG_RT_USING_DEBUG=y
+CONFIG_RT_DEBUGING_ASSERT=y
CONFIG_RT_DEBUGING_COLOR=y
CONFIG_RT_DEBUGING_CONTEXT=y
# CONFIG_RT_DEBUGING_AUTO_INIT is not set
+CONFIG_RT_USING_OVERFLOW_CHECK=y
#
# Inter-Thread communication
@@ -52,6 +57,7 @@ CONFIG_RT_USING_MAILBOX=y
CONFIG_RT_USING_MESSAGEQUEUE=y
# CONFIG_RT_USING_MESSAGEQUEUE_PRIORITY is not set
# CONFIG_RT_USING_SIGNALS is not set
+# end of Inter-Thread communication
#
# Memory Management
@@ -68,6 +74,8 @@ CONFIG_RT_USING_SMALL_MEM_AS_HEAP=y
# CONFIG_RT_USING_MEMTRACE is not set
# CONFIG_RT_USING_HEAP_ISR is not set
CONFIG_RT_USING_HEAP=y
+# end of Memory Management
+
CONFIG_RT_USING_DEVICE=y
# CONFIG_RT_USING_DEVICE_OPS is not set
# CONFIG_RT_USING_INTERRUPT_INFO is not set
@@ -76,21 +84,16 @@ CONFIG_RT_USING_DEVICE=y
CONFIG_RT_USING_CONSOLE=y
CONFIG_RT_CONSOLEBUF_SIZE=128
CONFIG_RT_CONSOLE_DEVICE_NAME="uart"
-CONFIG_RT_VER_NUM=0x50100
+CONFIG_RT_VER_NUM=0x50200
# CONFIG_RT_USING_STDC_ATOMIC is not set
CONFIG_RT_BACKTRACE_LEVEL_MAX_NR=32
-# CONFIG_RT_USING_CACHE is not set
-# CONFIG_RT_USING_HW_ATOMIC is not set
-# CONFIG_ARCH_ARM_BOOTWITH_FLUSH_CACHE is not set
-# CONFIG_ARCH_CPU_STACK_GROWS_UPWARD is not set
-# CONFIG_RT_USING_CPU_FFS is not set
+# end of RT-Thread Kernel
+
CONFIG_ARCH_ARM=y
#
# RT-Thread Components
#
-# CONFIG_RT_USING_COMPONENTS_INIT is not set
-# CONFIG_RT_USING_USER_MAIN is not set
# CONFIG_RT_USING_LEGACY is not set
CONFIG_RT_USING_MSH=y
CONFIG_RT_USING_FINSH=y
@@ -113,12 +116,15 @@ CONFIG_FINSH_USING_OPTION_COMPLETION=y
# DFS: device virtual file system
#
# CONFIG_RT_USING_DFS is not set
+# end of DFS: device virtual file system
+
# CONFIG_RT_USING_FAL is not set
#
# Device Drivers
#
# CONFIG_RT_USING_DM is not set
+# CONFIG_RT_USING_DEV_BUS is not set
CONFIG_RT_USING_DEVICE_IPC=y
CONFIG_RT_UNAMED_PIPE_NUMBER=64
# CONFIG_RT_USING_SYSTEM_WORKQUEUE is not set
@@ -137,6 +143,8 @@ CONFIG_RT_SERIAL_RB_BUFSZ=64
# CONFIG_RT_USING_ZERO is not set
# CONFIG_RT_USING_RANDOM is not set
# CONFIG_RT_USING_PWM is not set
+# CONFIG_RT_USING_PULSE_ENCODER is not set
+# CONFIG_RT_USING_INPUT_CAPTURE is not set
# CONFIG_RT_USING_MTD_NOR is not set
# CONFIG_RT_USING_MTD_NAND is not set
# CONFIG_RT_USING_PM is not set
@@ -149,21 +157,13 @@ CONFIG_RT_SERIAL_RB_BUFSZ=64
# CONFIG_RT_USING_TOUCH is not set
# CONFIG_RT_USING_LCD is not set
# CONFIG_RT_USING_HWCRYPTO is not set
-# CONFIG_RT_USING_PULSE_ENCODER is not set
-# CONFIG_RT_USING_INPUT_CAPTURE is not set
-# CONFIG_RT_USING_DEV_BUS is not set
# CONFIG_RT_USING_WIFI is not set
# CONFIG_RT_USING_VIRTIO is not set
CONFIG_RT_USING_PIN=y
# CONFIG_RT_USING_KTIME is not set
# CONFIG_RT_USING_HWTIMER is not set
-
-#
-# Using USB
-#
-# CONFIG_RT_USING_USB is not set
-# CONFIG_RT_USING_USB_HOST is not set
-# CONFIG_RT_USING_USB_DEVICE is not set
+# CONFIG_RT_USING_CHERRYUSB is not set
+# end of Device Drivers
#
# C/C++ and POSIX layer
@@ -181,6 +181,8 @@ CONFIG_RT_LIBC_USING_LIGHT_TZ_DST=y
CONFIG_RT_LIBC_TZ_DEFAULT_HOUR=8
CONFIG_RT_LIBC_TZ_DEFAULT_MIN=0
CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
+# end of Timezone and Daylight Saving Time
+# end of ISO-ANSI C layer
#
# POSIX (Portable Operating System Interface) layer
@@ -202,7 +204,11 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
#
# Socket is in the 'Network' category
#
+# end of Interprocess Communication (IPC)
+# end of POSIX (Portable Operating System Interface) layer
+
# CONFIG_RT_USING_CPLUSPLUS is not set
+# end of C/C++ and POSIX layer
#
# Network
@@ -211,12 +217,14 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_RT_USING_NETDEV is not set
# CONFIG_RT_USING_LWIP is not set
# CONFIG_RT_USING_AT is not set
+# end of Network
#
# Memory protection
#
# CONFIG_RT_USING_MEM_PROTECTION is not set
# CONFIG_RT_USING_HW_STACK_GUARD is not set
+# end of Memory protection
#
# Utilities
@@ -228,12 +236,25 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_RT_USING_RESOURCE_ID is not set
# CONFIG_RT_USING_ADT is not set
# CONFIG_RT_USING_RT_LINK is not set
+# end of Utilities
+
# CONFIG_RT_USING_VBUS is not set
#
+# Using USB legacy version
+#
+# CONFIG_RT_USING_USB_HOST is not set
+# CONFIG_RT_USING_USB_DEVICE is not set
+# end of Using USB legacy version
+
+# CONFIG_RT_USING_FDT is not set
+# end of RT-Thread Components
+
+#
# RT-Thread Utestcases
#
# CONFIG_RT_USING_UTESTCASES is not set
+# end of RT-Thread Utestcases
#
# RT-Thread online packages
@@ -242,7 +263,6 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
#
# IoT - internet of things
#
-# CONFIG_PKG_USING_LWIP is not set
# CONFIG_PKG_USING_LORAWAN_DRIVER is not set
# CONFIG_PKG_USING_PAHOMQTT is not set
# CONFIG_PKG_USING_UMQTT is not set
@@ -255,6 +275,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_WEBTERMINAL is not set
# CONFIG_PKG_USING_FREEMODBUS is not set
# CONFIG_PKG_USING_NANOPB is not set
+# CONFIG_PKG_USING_WIFI_HOST_DRIVER is not set
#
# Wi-Fi
@@ -264,27 +285,35 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# Marvell WiFi
#
# CONFIG_PKG_USING_WLANMARVELL is not set
+# end of Marvell WiFi
#
# Wiced WiFi
#
# CONFIG_PKG_USING_WLAN_WICED is not set
+# end of Wiced WiFi
+
# CONFIG_PKG_USING_RW007 is not set
#
# CYW43012 WiFi
#
# CONFIG_PKG_USING_WLAN_CYW43012 is not set
+# end of CYW43012 WiFi
#
# BL808 WiFi
#
# CONFIG_PKG_USING_WLAN_BL808 is not set
+# end of BL808 WiFi
#
# CYW43439 WiFi
#
# CONFIG_PKG_USING_WLAN_CYW43439 is not set
+# end of CYW43439 WiFi
+# end of Wi-Fi
+
# CONFIG_PKG_USING_COAP is not set
# CONFIG_PKG_USING_NOPOLL is not set
# CONFIG_PKG_USING_NETUTILS is not set
@@ -307,6 +336,8 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set
# CONFIG_PKG_USING_JOYLINK is not set
# CONFIG_PKG_USING_IOTSHARP_SDK is not set
+# end of IoT Cloud
+
# CONFIG_PKG_USING_NIMBLE is not set
# CONFIG_PKG_USING_LLSYNC_SDK_ADAPTER is not set
# CONFIG_PKG_USING_OTA_DOWNLOADER is not set
@@ -349,6 +380,8 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ZEPHYR_POLLING is not set
# CONFIG_PKG_USING_MATTER_ADAPTATION_LAYER is not set
# CONFIG_PKG_USING_LHC_MODBUS is not set
+# CONFIG_PKG_USING_QMODBUS is not set
+# end of IoT - internet of things
#
# security packages
@@ -359,6 +392,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_TINYCRYPT is not set
# CONFIG_PKG_USING_TFM is not set
# CONFIG_PKG_USING_YD_CRYPTO is not set
+# end of security packages
#
# language packages
@@ -374,18 +408,22 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_JSMN is not set
# CONFIG_PKG_USING_AGILE_JSMN is not set
# CONFIG_PKG_USING_PARSON is not set
+# end of JSON: JavaScript Object Notation, a lightweight data-interchange format
#
# XML: Extensible Markup Language
#
# CONFIG_PKG_USING_SIMPLE_XML is not set
# CONFIG_PKG_USING_EZXML is not set
+# end of XML: Extensible Markup Language
+
# CONFIG_PKG_USING_LUATOS_SOC is not set
# CONFIG_PKG_USING_LUA is not set
# CONFIG_PKG_USING_JERRYSCRIPT is not set
# CONFIG_PKG_USING_MICROPYTHON is not set
# CONFIG_PKG_USING_PIKASCRIPT is not set
# CONFIG_PKG_USING_RTT_RUST is not set
+# end of language packages
#
# multimedia packages
@@ -397,12 +435,15 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_LVGL is not set
# CONFIG_PKG_USING_LV_MUSIC_DEMO is not set
# CONFIG_PKG_USING_GUI_GUIDER_DEMO is not set
+# end of LVGL: powerful and easy-to-use embedded GUI library
#
# u8g2: a monochrome graphic library
#
# CONFIG_PKG_USING_U8G2_OFFICIAL is not set
# CONFIG_PKG_USING_U8G2 is not set
+# end of u8g2: a monochrome graphic library
+
# CONFIG_PKG_USING_OPENMV is not set
# CONFIG_PKG_USING_MUPDF is not set
# CONFIG_PKG_USING_STEMWIN is not set
@@ -422,6 +463,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_QRCODE is not set
# CONFIG_PKG_USING_GUIENGINE is not set
# CONFIG_PKG_USING_3GPP_AMRNB is not set
+# end of multimedia packages
#
# tools packages
@@ -470,6 +512,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ARMV7M_DWT_TOOL is not set
# CONFIG_PKG_USING_VOFA_PLUS is not set
# CONFIG_PKG_USING_ZDEBUG is not set
+# end of tools packages
#
# system packages
@@ -481,6 +524,9 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_RT_MEMCPY_CM is not set
# CONFIG_PKG_USING_RT_KPRINTF_THREADSAFE is not set
# CONFIG_PKG_USING_RT_VSNPRINTF_FULL is not set
+# end of enhanced kernel services
+
+# CONFIG_PKG_USING_AUNITY is not set
#
# acceleration: Assembly language or algorithmic acceleration packages
@@ -488,6 +534,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_QFPLIB_M0_FULL is not set
# CONFIG_PKG_USING_QFPLIB_M0_TINY is not set
# CONFIG_PKG_USING_QFPLIB_M3 is not set
+# end of acceleration: Assembly language or algorithmic acceleration packages
#
# CMSIS: ARM Cortex-M Microcontroller Software Interface Standard
@@ -498,6 +545,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_CMSIS_NN is not set
# CONFIG_PKG_USING_CMSIS_RTOS1 is not set
# CONFIG_PKG_USING_CMSIS_RTOS2 is not set
+# end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard
#
# Micrium: Micrium software products porting for RT-Thread
@@ -508,6 +556,8 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_UC_CLK is not set
# CONFIG_PKG_USING_UC_COMMON is not set
# CONFIG_PKG_USING_UC_MODBUS is not set
+# end of Micrium: Micrium software products porting for RT-Thread
+
# CONFIG_PKG_USING_FREERTOS_WRAPPER is not set
# CONFIG_PKG_USING_LITEOS_SDK is not set
# CONFIG_PKG_USING_TZ_DATABASE is not set
@@ -555,6 +605,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_RTP is not set
# CONFIG_PKG_USING_REB is not set
# CONFIG_PKG_USING_R_RHEALSTONE is not set
+# end of system packages
#
# peripheral libraries and drivers
@@ -567,9 +618,27 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
#
# STM32 HAL & SDK Drivers
#
-# CONFIG_PKG_USING_STM32L4XX_HAL_DRIVER is not set
+# CONFIG_PKG_USING_STM32L4_HAL_DRIVER is not set
+# CONFIG_PKG_USING_STM32L4_CMSIS_DRIVER is not set
# CONFIG_PKG_USING_STM32WB55_SDK is not set
# CONFIG_PKG_USING_STM32_SDIO is not set
+# end of STM32 HAL & SDK Drivers
+
+#
+# Infineon HAL Packages
+#
+# CONFIG_PKG_USING_INFINEON_CAT1CM0P is not set
+# CONFIG_PKG_USING_INFINEON_CMSIS is not set
+# CONFIG_PKG_USING_INFINEON_CORE_LIB is not set
+# CONFIG_PKG_USING_INFINEON_MTB_HAL_CAT1 is not set
+# CONFIG_PKG_USING_INFINEON_MTB_PDL_CAT1 is not set
+# CONFIG_PKG_USING_INFINEON_RETARGET_IO is not set
+# CONFIG_PKG_USING_INFINEON_CAPSENSE is not set
+# CONFIG_PKG_USING_INFINEON_CSDIDAC is not set
+# CONFIG_PKG_USING_INFINEON_SERIAL_FLASH is not set
+# CONFIG_PKG_USING_INFINEON_USBDEV is not set
+# end of Infineon HAL Packages
+
# CONFIG_PKG_USING_BLUETRUM_SDK is not set
# CONFIG_PKG_USING_EMBARC_BSP is not set
# CONFIG_PKG_USING_ESP_IDF is not set
@@ -579,9 +648,12 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
#
# CONFIG_PKG_USING_K210_SDK is not set
# CONFIG_PKG_USING_KENDRYTE_SDK is not set
+# end of Kendryte SDK
+
# CONFIG_PKG_USING_NRF5X_SDK is not set
# CONFIG_PKG_USING_NRFX is not set
# CONFIG_PKG_USING_RASPBERRYPI_PICO_SDK is not set
+# end of HAL & SDK Drivers
#
# sensors drivers
@@ -651,6 +723,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ICM20608 is not set
# CONFIG_PKG_USING_PAJ7620 is not set
# CONFIG_PKG_USING_STHS34PF80 is not set
+# end of sensors drivers
#
# touch drivers
@@ -665,6 +738,8 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_XPT2046_TOUCH is not set
# CONFIG_PKG_USING_CST816X is not set
# CONFIG_PKG_USING_CST812T is not set
+# end of touch drivers
+
# CONFIG_PKG_USING_REALTEK_AMEBA is not set
# CONFIG_PKG_USING_BUTTON is not set
# CONFIG_PKG_USING_PCF8574 is not set
@@ -737,6 +812,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_BT_MX01 is not set
# CONFIG_PKG_USING_RGPOWER is not set
# CONFIG_PKG_USING_SPI_TOOLS is not set
+# end of peripheral libraries and drivers
#
# AI packages
@@ -751,15 +827,18 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_QUEST is not set
# CONFIG_PKG_USING_NAXOS is not set
# CONFIG_PKG_USING_R_TINYMAIX is not set
+# end of AI packages
#
# Signal Processing and Control Algorithm Packages
#
+# CONFIG_PKG_USING_APID is not set
# CONFIG_PKG_USING_FIRE_PID_CURVE is not set
# CONFIG_PKG_USING_QPID is not set
# CONFIG_PKG_USING_UKAL is not set
# CONFIG_PKG_USING_DIGITALCTRL is not set
# CONFIG_PKG_USING_KISSFFT is not set
+# end of Signal Processing and Control Algorithm Packages
#
# miscellaneous packages
@@ -768,6 +847,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
#
# project laboratory
#
+# end of project laboratory
#
# samples: kernel and components samples
@@ -776,6 +856,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_FILESYSTEM_SAMPLES is not set
# CONFIG_PKG_USING_NETWORK_SAMPLES is not set
# CONFIG_PKG_USING_PERIPHERAL_SAMPLES is not set
+# end of samples: kernel and components samples
#
# entertainment: terminal games and other interesting software packages
@@ -791,6 +872,8 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_DONUT is not set
# CONFIG_PKG_USING_COWSAY is not set
# CONFIG_PKG_USING_MORSE is not set
+# end of entertainment: terminal games and other interesting software packages
+
# CONFIG_PKG_USING_LIBCSV is not set
# CONFIG_PKG_USING_OPTPARSE is not set
# CONFIG_PKG_USING_FASTLZ is not set
@@ -824,6 +907,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_SOEM is not set
# CONFIG_PKG_USING_QPARAM is not set
# CONFIG_PKG_USING_CorevMCU_CLI is not set
+# end of miscellaneous packages
#
# Arduino libraries
@@ -839,6 +923,8 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ARDUINO_NINEINONE_SENSOR_SHIELD is not set
# CONFIG_PKG_USING_ARDUINO_SENSOR_KIT is not set
# CONFIG_PKG_USING_ARDUINO_MATLAB_SUPPORT is not set
+# CONFIG_PKG_USING_ARDUINO_RTDUINO_SENSORFUSION_SHIELD is not set
+# end of Projects and Demos
#
# Sensors
@@ -978,6 +1064,8 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ARDUINO_SEEED_LTC2941 is not set
# CONFIG_PKG_USING_ARDUINO_SEEED_LDC1612 is not set
# CONFIG_PKG_USING_ARDUINO_CAPACITIVESENSOR is not set
+# CONFIG_PKG_USING_ARDUINO_JARZEBSKI_MPU6050 is not set
+# end of Sensors
#
# Display
@@ -989,6 +1077,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SSD1306 is not set
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ILI9341 is not set
# CONFIG_PKG_USING_SEEED_TM1637 is not set
+# end of Display
#
# Timing
@@ -997,6 +1086,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ARDUINO_MSTIMER2 is not set
# CONFIG_PKG_USING_ARDUINO_TICKER is not set
# CONFIG_PKG_USING_ARDUINO_TASKSCHEDULER is not set
+# end of Timing
#
# Data Processing
@@ -1004,6 +1094,8 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ARDUINO_KALMANFILTER is not set
# CONFIG_PKG_USING_ARDUINO_ARDUINOJSON is not set
# CONFIG_PKG_USING_ARDUINO_TENSORFLOW_LITE_MICRO is not set
+# CONFIG_PKG_USING_ARDUINO_RUNNINGMEDIAN is not set
+# end of Data Processing
#
# Data Storage
@@ -1014,6 +1106,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
#
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PN532 is not set
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SI4713 is not set
+# end of Communication
#
# Device Control
@@ -1025,12 +1118,14 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DS1841 is not set
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DS3502 is not set
# CONFIG_PKG_USING_ARDUINO_SEEED_PCF85063TP is not set
+# end of Device Control
#
# Other
#
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MFRC630 is not set
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SI5351 is not set
+# end of Other
#
# Signal IO
@@ -1043,8 +1138,12 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP3008 is not set
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP4725 is not set
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BD3491FS is not set
+# end of Signal IO
#
# Uncategorized
#
+# end of Arduino libraries
+# end of RT-Thread online packages
+
CONFIG_SOC_LPC2148=y
diff --git a/bsp/nxp/lpc/lpc2148/rtconfig.h b/bsp/nxp/lpc/lpc2148/rtconfig.h
index 3d822c847d..244550e60c 100644
--- a/bsp/nxp/lpc/lpc2148/rtconfig.h
+++ b/bsp/nxp/lpc/lpc2148/rtconfig.h
@@ -1,9 +1,6 @@
#ifndef RT_CONFIG_H__
#define RT_CONFIG_H__
-/* Automatically generated file; DO NOT EDIT. */
-/* RT-Thread Project Configuration */
-
/* RT-Thread Kernel */
#define RT_NAME_MAX 8
@@ -12,7 +9,6 @@
#define RT_THREAD_PRIORITY_32
#define RT_THREAD_PRIORITY_MAX 32
#define RT_TICK_PER_SECOND 100
-#define RT_USING_OVERFLOW_CHECK
#define RT_USING_HOOK
#define RT_HOOK_USING_FUNC_PTR
#define RT_USING_IDLE_HOOK
@@ -24,10 +20,16 @@
/* kservice optimization */
-#define RT_KSERVICE_USING_STDLIB
+/* end of kservice optimization */
+
+/* klibc optimization */
+
+/* end of klibc optimization */
#define RT_USING_DEBUG
+#define RT_DEBUGING_ASSERT
#define RT_DEBUGING_COLOR
#define RT_DEBUGING_CONTEXT
+#define RT_USING_OVERFLOW_CHECK
/* Inter-Thread communication */
@@ -36,6 +38,7 @@
#define RT_USING_EVENT
#define RT_USING_MAILBOX
#define RT_USING_MESSAGEQUEUE
+/* end of Inter-Thread communication */
/* Memory Management */
@@ -43,12 +46,14 @@
#define RT_USING_SMALL_MEM
#define RT_USING_SMALL_MEM_AS_HEAP
#define RT_USING_HEAP
+/* end of Memory Management */
#define RT_USING_DEVICE
#define RT_USING_CONSOLE
#define RT_CONSOLEBUF_SIZE 128
#define RT_CONSOLE_DEVICE_NAME "uart"
-#define RT_VER_NUM 0x50100
+#define RT_VER_NUM 0x50200
#define RT_BACKTRACE_LEVEL_MAX_NR 32
+/* end of RT-Thread Kernel */
#define ARCH_ARM
/* RT-Thread Components */
@@ -70,6 +75,7 @@
/* DFS: device virtual file system */
+/* end of DFS: device virtual file system */
/* Device Drivers */
@@ -80,9 +86,7 @@
#define RT_SERIAL_USING_DMA
#define RT_SERIAL_RB_BUFSZ 64
#define RT_USING_PIN
-
-/* Using USB */
-
+/* end of Device Drivers */
/* C/C++ and POSIX layer */
@@ -94,6 +98,8 @@
#define RT_LIBC_TZ_DEFAULT_HOUR 8
#define RT_LIBC_TZ_DEFAULT_MIN 0
#define RT_LIBC_TZ_DEFAULT_SEC 0
+/* end of Timezone and Daylight Saving Time */
+/* end of ISO-ANSI C layer */
/* POSIX (Portable Operating System Interface) layer */
@@ -103,18 +109,30 @@
/* Socket is in the 'Network' category */
+/* end of Interprocess Communication (IPC) */
+/* end of POSIX (Portable Operating System Interface) layer */
+/* end of C/C++ and POSIX layer */
/* Network */
+/* end of Network */
/* Memory protection */
+/* end of Memory protection */
/* Utilities */
+/* end of Utilities */
+
+/* Using USB legacy version */
+
+/* end of Using USB legacy version */
+/* end of RT-Thread Components */
/* RT-Thread Utestcases */
+/* end of RT-Thread Utestcases */
/* RT-Thread online packages */
@@ -125,57 +143,78 @@
/* Marvell WiFi */
+/* end of Marvell WiFi */
/* Wiced WiFi */
+/* end of Wiced WiFi */
/* CYW43012 WiFi */
+/* end of CYW43012 WiFi */
/* BL808 WiFi */
+/* end of BL808 WiFi */
/* CYW43439 WiFi */
+/* end of CYW43439 WiFi */
+/* end of Wi-Fi */
/* IoT Cloud */
+/* end of IoT Cloud */
+/* end of IoT - internet of things */
/* security packages */
+/* end of security packages */
/* language packages */
/* JSON: JavaScript Object Notation, a lightweight data-interchange format */
+/* end of JSON: JavaScript Object Notation, a lightweight data-interchange format */
/* XML: Extensible Markup Language */
+/* end of XML: Extensible Markup Language */
+/* end of language packages */
/* multimedia packages */
/* LVGL: powerful and easy-to-use embedded GUI library */
+/* end of LVGL: powerful and easy-to-use embedded GUI library */
/* u8g2: a monochrome graphic library */
+/* end of u8g2: a monochrome graphic library */
+/* end of multimedia packages */
/* tools packages */
+/* end of tools packages */
/* system packages */
/* enhanced kernel services */
+/* end of enhanced kernel services */
/* acceleration: Assembly language or algorithmic acceleration packages */
+/* end of acceleration: Assembly language or algorithmic acceleration packages */
/* CMSIS: ARM Cortex-M Microcontroller Software Interface Standard */
+/* end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard */
/* Micrium: Micrium software products porting for RT-Thread */
+/* end of Micrium: Micrium software products porting for RT-Thread */
+/* end of system packages */
/* peripheral libraries and drivers */
@@ -183,66 +222,94 @@
/* STM32 HAL & SDK Drivers */
+/* end of STM32 HAL & SDK Drivers */
+
+/* Infineon HAL Packages */
+
+/* end of Infineon HAL Packages */
/* Kendryte SDK */
+/* end of Kendryte SDK */
+/* end of HAL & SDK Drivers */
/* sensors drivers */
+/* end of sensors drivers */
/* touch drivers */
+/* end of touch drivers */
+/* end of peripheral libraries and drivers */
/* AI packages */
+/* end of AI packages */
/* Signal Processing and Control Algorithm Packages */
+/* end of Signal Processing and Control Algorithm Packages */
/* miscellaneous packages */
/* project laboratory */
+/* end of project laboratory */
+
/* samples: kernel and components samples */
+/* end of samples: kernel and components samples */
/* entertainment: terminal games and other interesting software packages */
+/* end of entertainment: terminal games and other interesting software packages */
+/* end of miscellaneous packages */
/* Arduino libraries */
/* Projects and Demos */
+/* end of Projects and Demos */
/* Sensors */
+/* end of Sensors */
/* Display */
+/* end of Display */
/* Timing */
+/* end of Timing */
/* Data Processing */
+/* end of Data Processing */
/* Data Storage */
/* Communication */
+/* end of Communication */
/* Device Control */
+/* end of Device Control */
/* Other */
+/* end of Other */
/* Signal IO */
+/* end of Signal IO */
/* Uncategorized */
+/* end of Arduino libraries */
+/* end of RT-Thread online packages */
#define SOC_LPC2148
#endif
diff --git a/bsp/nxp/lpc/lpc2148/rtconfig.py b/bsp/nxp/lpc/lpc2148/rtconfig.py
index c2b1678fda..f7347aa17a 100644
--- a/bsp/nxp/lpc/lpc2148/rtconfig.py
+++ b/bsp/nxp/lpc/lpc2148/rtconfig.py
@@ -66,7 +66,7 @@ elif PLATFORM == 'armcc':
DEVICE = ' --device DARMP'
CFLAGS = DEVICE + ' --apcs=interwork'
AFLAGS = DEVICE
- LFLAGS = DEVICE + ' --info sizes --info totals --info unused --info veneers --list rtthread-lpc2148.map --scatter lpc2148_rom.sct'
+ LFLAGS = DEVICE + ' --info sizes --info totals --info unused --info veneers --list rtthread.map --scatter lpc2148_rom.sct'
CFLAGS += ' -I' + EXEC_PATH + '/ARM/RV31/INC'
LFLAGS += ' --libpath ' + EXEC_PATH + '/ARM/RV31/LIB'
diff --git a/bsp/nxp/lpc/lpc2478/.config b/bsp/nxp/lpc/lpc2478/.config
index 9ab9fee0ac..cf9bd82305 100644
--- a/bsp/nxp/lpc/lpc2478/.config
+++ b/bsp/nxp/lpc/lpc2478/.config
@@ -1,7 +1,3 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# RT-Thread Project Configuration
-#
#
# RT-Thread Kernel
@@ -18,7 +14,6 @@ CONFIG_RT_THREAD_PRIORITY_32=y
# CONFIG_RT_THREAD_PRIORITY_256 is not set
CONFIG_RT_THREAD_PRIORITY_MAX=32
CONFIG_RT_TICK_PER_SECOND=100
-CONFIG_RT_USING_OVERFLOW_CHECK=y
CONFIG_RT_USING_HOOK=y
CONFIG_RT_HOOK_USING_FUNC_PTR=y
# CONFIG_RT_USING_HOOKLIST is not set
@@ -28,19 +23,29 @@ CONFIG_IDLE_THREAD_STACK_SIZE=256
CONFIG_RT_USING_TIMER_SOFT=y
CONFIG_RT_TIMER_THREAD_PRIO=1
CONFIG_RT_TIMER_THREAD_STACK_SIZE=512
+# CONFIG_RT_USING_TIMER_ALL_SOFT is not set
+# CONFIG_RT_USING_CPU_USAGE_TRACER is not set
#
# kservice optimization
#
-CONFIG_RT_KSERVICE_USING_STDLIB=y
-# CONFIG_RT_KSERVICE_USING_STDLIB_MEMORY is not set
-# CONFIG_RT_KSERVICE_USING_TINY_SIZE is not set
# CONFIG_RT_USING_TINY_FFS is not set
-# CONFIG_RT_KPRINTF_USING_LONGLONG is not set
+# end of kservice optimization
+
+#
+# klibc optimization
+#
+# CONFIG_RT_KLIBC_USING_STDLIB is not set
+# CONFIG_RT_KLIBC_USING_TINY_SIZE is not set
+# CONFIG_RT_KLIBC_USING_PRINTF_LONGLONG is not set
+# end of klibc optimization
+
CONFIG_RT_USING_DEBUG=y
+CONFIG_RT_DEBUGING_ASSERT=y
CONFIG_RT_DEBUGING_COLOR=y
CONFIG_RT_DEBUGING_CONTEXT=y
# CONFIG_RT_DEBUGING_AUTO_INIT is not set
+CONFIG_RT_USING_OVERFLOW_CHECK=y
#
# Inter-Thread communication
@@ -52,6 +57,7 @@ CONFIG_RT_USING_MAILBOX=y
CONFIG_RT_USING_MESSAGEQUEUE=y
# CONFIG_RT_USING_MESSAGEQUEUE_PRIORITY is not set
# CONFIG_RT_USING_SIGNALS is not set
+# end of Inter-Thread communication
#
# Memory Management
@@ -68,6 +74,8 @@ CONFIG_RT_USING_SMALL_MEM_AS_HEAP=y
# CONFIG_RT_USING_MEMTRACE is not set
# CONFIG_RT_USING_HEAP_ISR is not set
CONFIG_RT_USING_HEAP=y
+# end of Memory Management
+
CONFIG_RT_USING_DEVICE=y
# CONFIG_RT_USING_DEVICE_OPS is not set
# CONFIG_RT_USING_INTERRUPT_INFO is not set
@@ -76,21 +84,16 @@ CONFIG_RT_USING_DEVICE=y
CONFIG_RT_USING_CONSOLE=y
CONFIG_RT_CONSOLEBUF_SIZE=128
CONFIG_RT_CONSOLE_DEVICE_NAME="uart"
-CONFIG_RT_VER_NUM=0x50100
+CONFIG_RT_VER_NUM=0x50200
# CONFIG_RT_USING_STDC_ATOMIC is not set
CONFIG_RT_BACKTRACE_LEVEL_MAX_NR=32
-# CONFIG_RT_USING_CACHE is not set
-# CONFIG_RT_USING_HW_ATOMIC is not set
-# CONFIG_ARCH_ARM_BOOTWITH_FLUSH_CACHE is not set
-# CONFIG_ARCH_CPU_STACK_GROWS_UPWARD is not set
-# CONFIG_RT_USING_CPU_FFS is not set
+# end of RT-Thread Kernel
+
CONFIG_ARCH_ARM=y
#
# RT-Thread Components
#
-# CONFIG_RT_USING_COMPONENTS_INIT is not set
-# CONFIG_RT_USING_USER_MAIN is not set
# CONFIG_RT_USING_LEGACY is not set
CONFIG_RT_USING_MSH=y
CONFIG_RT_USING_FINSH=y
@@ -128,12 +131,15 @@ CONFIG_RT_USING_DFS_DEVFS=y
# CONFIG_RT_USING_DFS_RAMFS is not set
# CONFIG_RT_USING_DFS_TMPFS is not set
# CONFIG_RT_USING_DFS_MQUEUE is not set
+# end of DFS: device virtual file system
+
# CONFIG_RT_USING_FAL is not set
#
# Device Drivers
#
# CONFIG_RT_USING_DM is not set
+# CONFIG_RT_USING_DEV_BUS is not set
CONFIG_RT_USING_DEVICE_IPC=y
CONFIG_RT_UNAMED_PIPE_NUMBER=64
# CONFIG_RT_USING_SYSTEM_WORKQUEUE is not set
@@ -152,6 +158,8 @@ CONFIG_RT_SERIAL_RB_BUFSZ=64
# CONFIG_RT_USING_ZERO is not set
# CONFIG_RT_USING_RANDOM is not set
# CONFIG_RT_USING_PWM is not set
+# CONFIG_RT_USING_PULSE_ENCODER is not set
+# CONFIG_RT_USING_INPUT_CAPTURE is not set
# CONFIG_RT_USING_MTD_NOR is not set
# CONFIG_RT_USING_MTD_NAND is not set
# CONFIG_RT_USING_PM is not set
@@ -164,21 +172,13 @@ CONFIG_RT_SERIAL_RB_BUFSZ=64
# CONFIG_RT_USING_TOUCH is not set
# CONFIG_RT_USING_LCD is not set
# CONFIG_RT_USING_HWCRYPTO is not set
-# CONFIG_RT_USING_PULSE_ENCODER is not set
-# CONFIG_RT_USING_INPUT_CAPTURE is not set
-# CONFIG_RT_USING_DEV_BUS is not set
# CONFIG_RT_USING_WIFI is not set
# CONFIG_RT_USING_VIRTIO is not set
CONFIG_RT_USING_PIN=y
# CONFIG_RT_USING_KTIME is not set
# CONFIG_RT_USING_HWTIMER is not set
-
-#
-# Using USB
-#
-# CONFIG_RT_USING_USB is not set
-# CONFIG_RT_USING_USB_HOST is not set
-# CONFIG_RT_USING_USB_DEVICE is not set
+# CONFIG_RT_USING_CHERRYUSB is not set
+# end of Device Drivers
#
# C/C++ and POSIX layer
@@ -196,6 +196,8 @@ CONFIG_RT_LIBC_USING_LIGHT_TZ_DST=y
CONFIG_RT_LIBC_TZ_DEFAULT_HOUR=8
CONFIG_RT_LIBC_TZ_DEFAULT_MIN=0
CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
+# end of Timezone and Daylight Saving Time
+# end of ISO-ANSI C layer
#
# POSIX (Portable Operating System Interface) layer
@@ -217,7 +219,11 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
#
# Socket is in the 'Network' category
#
+# end of Interprocess Communication (IPC)
+# end of POSIX (Portable Operating System Interface) layer
+
# CONFIG_RT_USING_CPLUSPLUS is not set
+# end of C/C++ and POSIX layer
#
# Network
@@ -226,12 +232,14 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_RT_USING_NETDEV is not set
# CONFIG_RT_USING_LWIP is not set
# CONFIG_RT_USING_AT is not set
+# end of Network
#
# Memory protection
#
# CONFIG_RT_USING_MEM_PROTECTION is not set
# CONFIG_RT_USING_HW_STACK_GUARD is not set
+# end of Memory protection
#
# Utilities
@@ -243,12 +251,25 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_RT_USING_RESOURCE_ID is not set
# CONFIG_RT_USING_ADT is not set
# CONFIG_RT_USING_RT_LINK is not set
+# end of Utilities
+
# CONFIG_RT_USING_VBUS is not set
#
+# Using USB legacy version
+#
+# CONFIG_RT_USING_USB_HOST is not set
+# CONFIG_RT_USING_USB_DEVICE is not set
+# end of Using USB legacy version
+
+# CONFIG_RT_USING_FDT is not set
+# end of RT-Thread Components
+
+#
# RT-Thread Utestcases
#
# CONFIG_RT_USING_UTESTCASES is not set
+# end of RT-Thread Utestcases
#
# RT-Thread online packages
@@ -257,7 +278,6 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
#
# IoT - internet of things
#
-# CONFIG_PKG_USING_LWIP is not set
# CONFIG_PKG_USING_LORAWAN_DRIVER is not set
# CONFIG_PKG_USING_PAHOMQTT is not set
# CONFIG_PKG_USING_UMQTT is not set
@@ -270,6 +290,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_WEBTERMINAL is not set
# CONFIG_PKG_USING_FREEMODBUS is not set
# CONFIG_PKG_USING_NANOPB is not set
+# CONFIG_PKG_USING_WIFI_HOST_DRIVER is not set
#
# Wi-Fi
@@ -279,27 +300,35 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# Marvell WiFi
#
# CONFIG_PKG_USING_WLANMARVELL is not set
+# end of Marvell WiFi
#
# Wiced WiFi
#
# CONFIG_PKG_USING_WLAN_WICED is not set
+# end of Wiced WiFi
+
# CONFIG_PKG_USING_RW007 is not set
#
# CYW43012 WiFi
#
# CONFIG_PKG_USING_WLAN_CYW43012 is not set
+# end of CYW43012 WiFi
#
# BL808 WiFi
#
# CONFIG_PKG_USING_WLAN_BL808 is not set
+# end of BL808 WiFi
#
# CYW43439 WiFi
#
# CONFIG_PKG_USING_WLAN_CYW43439 is not set
+# end of CYW43439 WiFi
+# end of Wi-Fi
+
# CONFIG_PKG_USING_COAP is not set
# CONFIG_PKG_USING_NOPOLL is not set
# CONFIG_PKG_USING_NETUTILS is not set
@@ -322,6 +351,8 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set
# CONFIG_PKG_USING_JOYLINK is not set
# CONFIG_PKG_USING_IOTSHARP_SDK is not set
+# end of IoT Cloud
+
# CONFIG_PKG_USING_NIMBLE is not set
# CONFIG_PKG_USING_LLSYNC_SDK_ADAPTER is not set
# CONFIG_PKG_USING_OTA_DOWNLOADER is not set
@@ -364,6 +395,8 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ZEPHYR_POLLING is not set
# CONFIG_PKG_USING_MATTER_ADAPTATION_LAYER is not set
# CONFIG_PKG_USING_LHC_MODBUS is not set
+# CONFIG_PKG_USING_QMODBUS is not set
+# end of IoT - internet of things
#
# security packages
@@ -374,6 +407,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_TINYCRYPT is not set
# CONFIG_PKG_USING_TFM is not set
# CONFIG_PKG_USING_YD_CRYPTO is not set
+# end of security packages
#
# language packages
@@ -389,18 +423,22 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_JSMN is not set
# CONFIG_PKG_USING_AGILE_JSMN is not set
# CONFIG_PKG_USING_PARSON is not set
+# end of JSON: JavaScript Object Notation, a lightweight data-interchange format
#
# XML: Extensible Markup Language
#
# CONFIG_PKG_USING_SIMPLE_XML is not set
# CONFIG_PKG_USING_EZXML is not set
+# end of XML: Extensible Markup Language
+
# CONFIG_PKG_USING_LUATOS_SOC is not set
# CONFIG_PKG_USING_LUA is not set
# CONFIG_PKG_USING_JERRYSCRIPT is not set
# CONFIG_PKG_USING_MICROPYTHON is not set
# CONFIG_PKG_USING_PIKASCRIPT is not set
# CONFIG_PKG_USING_RTT_RUST is not set
+# end of language packages
#
# multimedia packages
@@ -412,12 +450,15 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_LVGL is not set
# CONFIG_PKG_USING_LV_MUSIC_DEMO is not set
# CONFIG_PKG_USING_GUI_GUIDER_DEMO is not set
+# end of LVGL: powerful and easy-to-use embedded GUI library
#
# u8g2: a monochrome graphic library
#
# CONFIG_PKG_USING_U8G2_OFFICIAL is not set
# CONFIG_PKG_USING_U8G2 is not set
+# end of u8g2: a monochrome graphic library
+
# CONFIG_PKG_USING_OPENMV is not set
# CONFIG_PKG_USING_MUPDF is not set
# CONFIG_PKG_USING_STEMWIN is not set
@@ -437,6 +478,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_QRCODE is not set
# CONFIG_PKG_USING_GUIENGINE is not set
# CONFIG_PKG_USING_3GPP_AMRNB is not set
+# end of multimedia packages
#
# tools packages
@@ -485,6 +527,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ARMV7M_DWT_TOOL is not set
# CONFIG_PKG_USING_VOFA_PLUS is not set
# CONFIG_PKG_USING_ZDEBUG is not set
+# end of tools packages
#
# system packages
@@ -496,6 +539,9 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_RT_MEMCPY_CM is not set
# CONFIG_PKG_USING_RT_KPRINTF_THREADSAFE is not set
# CONFIG_PKG_USING_RT_VSNPRINTF_FULL is not set
+# end of enhanced kernel services
+
+# CONFIG_PKG_USING_AUNITY is not set
#
# acceleration: Assembly language or algorithmic acceleration packages
@@ -503,6 +549,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_QFPLIB_M0_FULL is not set
# CONFIG_PKG_USING_QFPLIB_M0_TINY is not set
# CONFIG_PKG_USING_QFPLIB_M3 is not set
+# end of acceleration: Assembly language or algorithmic acceleration packages
#
# CMSIS: ARM Cortex-M Microcontroller Software Interface Standard
@@ -513,6 +560,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_CMSIS_NN is not set
# CONFIG_PKG_USING_CMSIS_RTOS1 is not set
# CONFIG_PKG_USING_CMSIS_RTOS2 is not set
+# end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard
#
# Micrium: Micrium software products porting for RT-Thread
@@ -523,6 +571,8 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_UC_CLK is not set
# CONFIG_PKG_USING_UC_COMMON is not set
# CONFIG_PKG_USING_UC_MODBUS is not set
+# end of Micrium: Micrium software products porting for RT-Thread
+
# CONFIG_PKG_USING_FREERTOS_WRAPPER is not set
# CONFIG_PKG_USING_LITEOS_SDK is not set
# CONFIG_PKG_USING_TZ_DATABASE is not set
@@ -570,6 +620,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_RTP is not set
# CONFIG_PKG_USING_REB is not set
# CONFIG_PKG_USING_R_RHEALSTONE is not set
+# end of system packages
#
# peripheral libraries and drivers
@@ -582,9 +633,27 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
#
# STM32 HAL & SDK Drivers
#
-# CONFIG_PKG_USING_STM32L4XX_HAL_DRIVER is not set
+# CONFIG_PKG_USING_STM32L4_HAL_DRIVER is not set
+# CONFIG_PKG_USING_STM32L4_CMSIS_DRIVER is not set
# CONFIG_PKG_USING_STM32WB55_SDK is not set
# CONFIG_PKG_USING_STM32_SDIO is not set
+# end of STM32 HAL & SDK Drivers
+
+#
+# Infineon HAL Packages
+#
+# CONFIG_PKG_USING_INFINEON_CAT1CM0P is not set
+# CONFIG_PKG_USING_INFINEON_CMSIS is not set
+# CONFIG_PKG_USING_INFINEON_CORE_LIB is not set
+# CONFIG_PKG_USING_INFINEON_MTB_HAL_CAT1 is not set
+# CONFIG_PKG_USING_INFINEON_MTB_PDL_CAT1 is not set
+# CONFIG_PKG_USING_INFINEON_RETARGET_IO is not set
+# CONFIG_PKG_USING_INFINEON_CAPSENSE is not set
+# CONFIG_PKG_USING_INFINEON_CSDIDAC is not set
+# CONFIG_PKG_USING_INFINEON_SERIAL_FLASH is not set
+# CONFIG_PKG_USING_INFINEON_USBDEV is not set
+# end of Infineon HAL Packages
+
# CONFIG_PKG_USING_BLUETRUM_SDK is not set
# CONFIG_PKG_USING_EMBARC_BSP is not set
# CONFIG_PKG_USING_ESP_IDF is not set
@@ -594,9 +663,12 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
#
# CONFIG_PKG_USING_K210_SDK is not set
# CONFIG_PKG_USING_KENDRYTE_SDK is not set
+# end of Kendryte SDK
+
# CONFIG_PKG_USING_NRF5X_SDK is not set
# CONFIG_PKG_USING_NRFX is not set
# CONFIG_PKG_USING_RASPBERRYPI_PICO_SDK is not set
+# end of HAL & SDK Drivers
#
# sensors drivers
@@ -666,6 +738,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ICM20608 is not set
# CONFIG_PKG_USING_PAJ7620 is not set
# CONFIG_PKG_USING_STHS34PF80 is not set
+# end of sensors drivers
#
# touch drivers
@@ -680,6 +753,8 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_XPT2046_TOUCH is not set
# CONFIG_PKG_USING_CST816X is not set
# CONFIG_PKG_USING_CST812T is not set
+# end of touch drivers
+
# CONFIG_PKG_USING_REALTEK_AMEBA is not set
# CONFIG_PKG_USING_BUTTON is not set
# CONFIG_PKG_USING_PCF8574 is not set
@@ -752,6 +827,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_BT_MX01 is not set
# CONFIG_PKG_USING_RGPOWER is not set
# CONFIG_PKG_USING_SPI_TOOLS is not set
+# end of peripheral libraries and drivers
#
# AI packages
@@ -766,15 +842,18 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_QUEST is not set
# CONFIG_PKG_USING_NAXOS is not set
# CONFIG_PKG_USING_R_TINYMAIX is not set
+# end of AI packages
#
# Signal Processing and Control Algorithm Packages
#
+# CONFIG_PKG_USING_APID is not set
# CONFIG_PKG_USING_FIRE_PID_CURVE is not set
# CONFIG_PKG_USING_QPID is not set
# CONFIG_PKG_USING_UKAL is not set
# CONFIG_PKG_USING_DIGITALCTRL is not set
# CONFIG_PKG_USING_KISSFFT is not set
+# end of Signal Processing and Control Algorithm Packages
#
# miscellaneous packages
@@ -783,6 +862,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
#
# project laboratory
#
+# end of project laboratory
#
# samples: kernel and components samples
@@ -791,6 +871,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_FILESYSTEM_SAMPLES is not set
# CONFIG_PKG_USING_NETWORK_SAMPLES is not set
# CONFIG_PKG_USING_PERIPHERAL_SAMPLES is not set
+# end of samples: kernel and components samples
#
# entertainment: terminal games and other interesting software packages
@@ -806,6 +887,8 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_DONUT is not set
# CONFIG_PKG_USING_COWSAY is not set
# CONFIG_PKG_USING_MORSE is not set
+# end of entertainment: terminal games and other interesting software packages
+
# CONFIG_PKG_USING_LIBCSV is not set
# CONFIG_PKG_USING_OPTPARSE is not set
# CONFIG_PKG_USING_FASTLZ is not set
@@ -839,6 +922,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_SOEM is not set
# CONFIG_PKG_USING_QPARAM is not set
# CONFIG_PKG_USING_CorevMCU_CLI is not set
+# end of miscellaneous packages
#
# Arduino libraries
@@ -854,6 +938,8 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ARDUINO_NINEINONE_SENSOR_SHIELD is not set
# CONFIG_PKG_USING_ARDUINO_SENSOR_KIT is not set
# CONFIG_PKG_USING_ARDUINO_MATLAB_SUPPORT is not set
+# CONFIG_PKG_USING_ARDUINO_RTDUINO_SENSORFUSION_SHIELD is not set
+# end of Projects and Demos
#
# Sensors
@@ -993,6 +1079,8 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ARDUINO_SEEED_LTC2941 is not set
# CONFIG_PKG_USING_ARDUINO_SEEED_LDC1612 is not set
# CONFIG_PKG_USING_ARDUINO_CAPACITIVESENSOR is not set
+# CONFIG_PKG_USING_ARDUINO_JARZEBSKI_MPU6050 is not set
+# end of Sensors
#
# Display
@@ -1004,6 +1092,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SSD1306 is not set
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ILI9341 is not set
# CONFIG_PKG_USING_SEEED_TM1637 is not set
+# end of Display
#
# Timing
@@ -1012,6 +1101,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ARDUINO_MSTIMER2 is not set
# CONFIG_PKG_USING_ARDUINO_TICKER is not set
# CONFIG_PKG_USING_ARDUINO_TASKSCHEDULER is not set
+# end of Timing
#
# Data Processing
@@ -1019,6 +1109,8 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ARDUINO_KALMANFILTER is not set
# CONFIG_PKG_USING_ARDUINO_ARDUINOJSON is not set
# CONFIG_PKG_USING_ARDUINO_TENSORFLOW_LITE_MICRO is not set
+# CONFIG_PKG_USING_ARDUINO_RUNNINGMEDIAN is not set
+# end of Data Processing
#
# Data Storage
@@ -1029,6 +1121,7 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
#
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PN532 is not set
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SI4713 is not set
+# end of Communication
#
# Device Control
@@ -1040,12 +1133,14 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DS1841 is not set
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DS3502 is not set
# CONFIG_PKG_USING_ARDUINO_SEEED_PCF85063TP is not set
+# end of Device Control
#
# Other
#
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MFRC630 is not set
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SI5351 is not set
+# end of Other
#
# Signal IO
@@ -1058,8 +1153,12 @@ CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP3008 is not set
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP4725 is not set
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BD3491FS is not set
+# end of Signal IO
#
# Uncategorized
#
+# end of Arduino libraries
+# end of RT-Thread online packages
+
CONFIG_SOC_LPC2478=y
diff --git a/bsp/nxp/lpc/lpc2478/rtconfig.h b/bsp/nxp/lpc/lpc2478/rtconfig.h
index cea519c9a3..3ef41a085e 100644
--- a/bsp/nxp/lpc/lpc2478/rtconfig.h
+++ b/bsp/nxp/lpc/lpc2478/rtconfig.h
@@ -1,9 +1,6 @@
#ifndef RT_CONFIG_H__
#define RT_CONFIG_H__
-/* Automatically generated file; DO NOT EDIT. */
-/* RT-Thread Project Configuration */
-
/* RT-Thread Kernel */
#define RT_NAME_MAX 8
@@ -12,7 +9,6 @@
#define RT_THREAD_PRIORITY_32
#define RT_THREAD_PRIORITY_MAX 32
#define RT_TICK_PER_SECOND 100
-#define RT_USING_OVERFLOW_CHECK
#define RT_USING_HOOK
#define RT_HOOK_USING_FUNC_PTR
#define RT_USING_IDLE_HOOK
@@ -24,10 +20,16 @@
/* kservice optimization */
-#define RT_KSERVICE_USING_STDLIB
+/* end of kservice optimization */
+
+/* klibc optimization */
+
+/* end of klibc optimization */
#define RT_USING_DEBUG
+#define RT_DEBUGING_ASSERT
#define RT_DEBUGING_COLOR
#define RT_DEBUGING_CONTEXT
+#define RT_USING_OVERFLOW_CHECK
/* Inter-Thread communication */
@@ -36,6 +38,7 @@
#define RT_USING_EVENT
#define RT_USING_MAILBOX
#define RT_USING_MESSAGEQUEUE
+/* end of Inter-Thread communication */
/* Memory Management */
@@ -43,12 +46,14 @@
#define RT_USING_SMALL_MEM
#define RT_USING_SMALL_MEM_AS_HEAP
#define RT_USING_HEAP
+/* end of Memory Management */
#define RT_USING_DEVICE
#define RT_USING_CONSOLE
#define RT_CONSOLEBUF_SIZE 128
#define RT_CONSOLE_DEVICE_NAME "uart"
-#define RT_VER_NUM 0x50100
+#define RT_VER_NUM 0x50200
#define RT_BACKTRACE_LEVEL_MAX_NR 32
+/* end of RT-Thread Kernel */
#define ARCH_ARM
/* RT-Thread Components */
@@ -78,6 +83,7 @@
#define DFS_FILESYSTEMS_MAX 4
#define DFS_FILESYSTEM_TYPES_MAX 4
#define RT_USING_DFS_DEVFS
+/* end of DFS: device virtual file system */
/* Device Drivers */
@@ -88,9 +94,7 @@
#define RT_SERIAL_USING_DMA
#define RT_SERIAL_RB_BUFSZ 64
#define RT_USING_PIN
-
-/* Using USB */
-
+/* end of Device Drivers */
/* C/C++ and POSIX layer */
@@ -102,6 +106,8 @@
#define RT_LIBC_TZ_DEFAULT_HOUR 8
#define RT_LIBC_TZ_DEFAULT_MIN 0
#define RT_LIBC_TZ_DEFAULT_SEC 0
+/* end of Timezone and Daylight Saving Time */
+/* end of ISO-ANSI C layer */
/* POSIX (Portable Operating System Interface) layer */
@@ -111,18 +117,30 @@
/* Socket is in the 'Network' category */
+/* end of Interprocess Communication (IPC) */
+/* end of POSIX (Portable Operating System Interface) layer */
+/* end of C/C++ and POSIX layer */
/* Network */
+/* end of Network */
/* Memory protection */
+/* end of Memory protection */
/* Utilities */
+/* end of Utilities */
+
+/* Using USB legacy version */
+
+/* end of Using USB legacy version */
+/* end of RT-Thread Components */
/* RT-Thread Utestcases */
+/* end of RT-Thread Utestcases */
/* RT-Thread online packages */
@@ -133,57 +151,78 @@
/* Marvell WiFi */
+/* end of Marvell WiFi */
/* Wiced WiFi */
+/* end of Wiced WiFi */
/* CYW43012 WiFi */
+/* end of CYW43012 WiFi */
/* BL808 WiFi */
+/* end of BL808 WiFi */
/* CYW43439 WiFi */
+/* end of CYW43439 WiFi */
+/* end of Wi-Fi */
/* IoT Cloud */
+/* end of IoT Cloud */
+/* end of IoT - internet of things */
/* security packages */
+/* end of security packages */
/* language packages */
/* JSON: JavaScript Object Notation, a lightweight data-interchange format */
+/* end of JSON: JavaScript Object Notation, a lightweight data-interchange format */
/* XML: Extensible Markup Language */
+/* end of XML: Extensible Markup Language */
+/* end of language packages */
/* multimedia packages */
/* LVGL: powerful and easy-to-use embedded GUI library */
+/* end of LVGL: powerful and easy-to-use embedded GUI library */
/* u8g2: a monochrome graphic library */
+/* end of u8g2: a monochrome graphic library */
+/* end of multimedia packages */
/* tools packages */
+/* end of tools packages */
/* system packages */
/* enhanced kernel services */
+/* end of enhanced kernel services */
/* acceleration: Assembly language or algorithmic acceleration packages */
+/* end of acceleration: Assembly language or algorithmic acceleration packages */
/* CMSIS: ARM Cortex-M Microcontroller Software Interface Standard */
+/* end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard */
/* Micrium: Micrium software products porting for RT-Thread */
+/* end of Micrium: Micrium software products porting for RT-Thread */
+/* end of system packages */
/* peripheral libraries and drivers */
@@ -191,66 +230,94 @@
/* STM32 HAL & SDK Drivers */
+/* end of STM32 HAL & SDK Drivers */
+
+/* Infineon HAL Packages */
+
+/* end of Infineon HAL Packages */
/* Kendryte SDK */
+/* end of Kendryte SDK */
+/* end of HAL & SDK Drivers */
/* sensors drivers */
+/* end of sensors drivers */
/* touch drivers */
+/* end of touch drivers */
+/* end of peripheral libraries and drivers */
/* AI packages */
+/* end of AI packages */
/* Signal Processing and Control Algorithm Packages */
+/* end of Signal Processing and Control Algorithm Packages */
/* miscellaneous packages */
/* project laboratory */
+/* end of project laboratory */
+
/* samples: kernel and components samples */
+/* end of samples: kernel and components samples */
/* entertainment: terminal games and other interesting software packages */
+/* end of entertainment: terminal games and other interesting software packages */
+/* end of miscellaneous packages */
/* Arduino libraries */
/* Projects and Demos */
+/* end of Projects and Demos */
/* Sensors */
+/* end of Sensors */
/* Display */
+/* end of Display */
/* Timing */
+/* end of Timing */
/* Data Processing */
+/* end of Data Processing */
/* Data Storage */
/* Communication */
+/* end of Communication */
/* Device Control */
+/* end of Device Control */
/* Other */
+/* end of Other */
/* Signal IO */
+/* end of Signal IO */
/* Uncategorized */
+/* end of Arduino libraries */
+/* end of RT-Thread online packages */
#define SOC_LPC2478
#endif
diff --git a/bsp/nxp/lpc/lpc2478/rtconfig.py b/bsp/nxp/lpc/lpc2478/rtconfig.py
index 81b28c4064..853467be5d 100644
--- a/bsp/nxp/lpc/lpc2478/rtconfig.py
+++ b/bsp/nxp/lpc/lpc2478/rtconfig.py
@@ -41,7 +41,7 @@ if PLATFORM == 'gcc':
DEVICE = ' -mcpu=arm7tdmi-s'
CFLAGS = DEVICE
AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp'
- LFLAGS = DEVICE + ' -Wl,--gc-sections,-Map=rtthread-lpc2478.map,-cref,-u,Reset_Handler -nostartfiles -T lpc2478_rom.lds'
+ LFLAGS = DEVICE + ' -Wl,--gc-sections,-Map=rtthread.map,-cref,-u,Reset_Handler -nostartfiles -T lpc2478_rom.lds'
CPATH = ''
LPATH = ''
@@ -66,7 +66,7 @@ elif PLATFORM == 'armcc':
DEVICE = ' --device DARMP'
CFLAGS = DEVICE + ' --apcs=interwork'
AFLAGS = DEVICE
- LFLAGS = DEVICE + ' --info sizes --info totals --info unused --info veneers --list rtthread-lpc2478.map --scatter lpc2478_rom.sct'
+ LFLAGS = DEVICE + ' --info sizes --info totals --info unused --info veneers --list rtthread.map --scatter lpc2478_rom.sct'
CFLAGS += ' -I' + EXEC_PATH + '/ARM/RV31/INC'
LFLAGS += ' --libpath ' + EXEC_PATH + '/ARM/RV31/LIB'
diff --git a/bsp/nxp/lpc/lpc43xx/M0/rtconfig.h b/bsp/nxp/lpc/lpc43xx/M0/rtconfig.h
index 57a6300ec6..af5b1f7905 100644
--- a/bsp/nxp/lpc/lpc43xx/M0/rtconfig.h
+++ b/bsp/nxp/lpc/lpc43xx/M0/rtconfig.h
@@ -36,8 +36,8 @@
#define RT_TIMER_THREAD_PRIO 4
// <integer name="RT_TIMER_THREAD_STACK_SIZE" description="The stack size of timer thread" default="512" />
#define RT_TIMER_THREAD_STACK_SIZE 512
-// <integer name="RT_TIMER_TICK_PER_SECOND" description="The soft-timer tick per second" default="10" />
-#define RT_TIMER_TICK_PER_SECOND 100
+// <integer name="RT_TICK_PER_SECOND" description="The soft-timer tick per second" default="10" />
+#define RT_TICK_PER_SECOND 100
// </section>
// <section name="IPC" description="Inter-Thread communication" default="always" >
diff --git a/bsp/nxp/lpc/lpc43xx/M4/rtconfig.h b/bsp/nxp/lpc/lpc43xx/M4/rtconfig.h
index 0db680fff3..e042aeb9bc 100644
--- a/bsp/nxp/lpc/lpc43xx/M4/rtconfig.h
+++ b/bsp/nxp/lpc/lpc43xx/M4/rtconfig.h
@@ -39,8 +39,8 @@
#define RT_TIMER_THREAD_PRIO 4
// <integer name="RT_TIMER_THREAD_STACK_SIZE" description="The stack size of timer thread" default="512" />
#define RT_TIMER_THREAD_STACK_SIZE 512
-// <integer name="RT_TIMER_TICK_PER_SECOND" description="The soft-timer tick per second" default="10" />
-#define RT_TIMER_TICK_PER_SECOND 100
+// <integer name="RT_TICK_PER_SECOND" description="The soft-timer tick per second" default="10" />
+#define RT_TICK_PER_SECOND 100
// </section>
// <section name="IPC" description="Inter-Thread communication" default="always" >
diff --git a/bsp/nxp/lpc/lpc824/.config b/bsp/nxp/lpc/lpc824/.config
new file mode 100644
index 0000000000..194857f657
--- /dev/null
+++ b/bsp/nxp/lpc/lpc824/.config
@@ -0,0 +1,1019 @@
+
+#
+# RT-Thread Kernel
+#
+CONFIG_RT_NAME_MAX=8
+# CONFIG_RT_USING_ARCH_DATA_TYPE is not set
+CONFIG_RT_USING_NANO=y
+# CONFIG_RT_USING_AMP is not set
+# CONFIG_RT_USING_SMP is not set
+CONFIG_RT_CPUS_NR=1
+CONFIG_RT_ALIGN_SIZE=8
+# CONFIG_RT_THREAD_PRIORITY_8 is not set
+CONFIG_RT_THREAD_PRIORITY_32=y
+# CONFIG_RT_THREAD_PRIORITY_256 is not set
+CONFIG_RT_THREAD_PRIORITY_MAX=32
+CONFIG_RT_TICK_PER_SECOND=1000
+CONFIG_RT_USING_HOOK=y
+CONFIG_RT_HOOK_USING_FUNC_PTR=y
+# CONFIG_RT_USING_HOOKLIST is not set
+CONFIG_RT_USING_IDLE_HOOK=y
+CONFIG_RT_IDLE_HOOK_LIST_SIZE=4
+CONFIG_IDLE_THREAD_STACK_SIZE=256
+# CONFIG_RT_USING_TIMER_SOFT is not set
+# CONFIG_RT_USING_CPU_USAGE_TRACER is not set
+
+#
+# kservice optimization
+#
+# CONFIG_RT_USING_TINY_FFS is not set
+# end of kservice optimization
+
+#
+# klibc optimization
+#
+# CONFIG_RT_KLIBC_USING_STDLIB is not set
+# CONFIG_RT_KLIBC_USING_TINY_SIZE is not set
+# CONFIG_RT_KLIBC_USING_PRINTF_LONGLONG is not set
+# end of klibc optimization
+
+# CONFIG_RT_USING_DEBUG is not set
+
+#
+# Inter-Thread communication
+#
+CONFIG_RT_USING_SEMAPHORE=y
+CONFIG_RT_USING_MUTEX=y
+# CONFIG_RT_USING_EVENT is not set
+# CONFIG_RT_USING_MAILBOX is not set
+# CONFIG_RT_USING_MESSAGEQUEUE is not set
+# CONFIG_RT_USING_SIGNALS is not set
+# end of Inter-Thread communication
+
+#
+# Memory Management
+#
+CONFIG_RT_USING_MEMPOOL=y
+CONFIG_RT_USING_SMALL_MEM=y
+# CONFIG_RT_USING_SLAB is not set
+# CONFIG_RT_USING_MEMHEAP is not set
+CONFIG_RT_USING_SMALL_MEM_AS_HEAP=y
+# CONFIG_RT_USING_MEMHEAP_AS_HEAP is not set
+# CONFIG_RT_USING_SLAB_AS_HEAP is not set
+# CONFIG_RT_USING_USERHEAP is not set
+# CONFIG_RT_USING_NOHEAP is not set
+# CONFIG_RT_USING_MEMTRACE is not set
+# CONFIG_RT_USING_HEAP_ISR is not set
+CONFIG_RT_USING_HEAP=y
+# end of Memory Management
+
+# CONFIG_RT_USING_INTERRUPT_INFO is not set
+# CONFIG_RT_USING_THREADSAFE_PRINTF is not set
+# CONFIG_RT_USING_SCHED_THREAD_CTX is not set
+# CONFIG_RT_USING_CONSOLE is not set
+CONFIG_RT_VER_NUM=0x50200
+# CONFIG_RT_USING_STDC_ATOMIC is not set
+CONFIG_RT_BACKTRACE_LEVEL_MAX_NR=32
+# end of RT-Thread Kernel
+
+CONFIG_ARCH_ARM=y
+CONFIG_ARCH_ARM_CORTEX_M=y
+CONFIG_ARCH_ARM_CORTEX_M0=y
+
+#
+# RT-Thread Components
+#
+CONFIG_RT_USING_COMPONENTS_INIT=y
+CONFIG_RT_USING_USER_MAIN=y
+CONFIG_RT_MAIN_THREAD_STACK_SIZE=2048
+CONFIG_RT_MAIN_THREAD_PRIORITY=10
+# CONFIG_RT_USING_LEGACY is not set
+
+#
+# Using USB legacy version
+#
+# CONFIG_RT_USING_USB_HOST is not set
+# CONFIG_RT_USING_USB_DEVICE is not set
+# end of Using USB legacy version
+
+# CONFIG_RT_USING_FDT is not set
+# end of RT-Thread Components
+
+#
+# RT-Thread Utestcases
+#
+# CONFIG_RT_USING_UTESTCASES is not set
+# end of RT-Thread Utestcases
+
+#
+# RT-Thread online packages
+#
+
+#
+# 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
+# CONFIG_PKG_USING_MYMQTT is not set
+# CONFIG_PKG_USING_KAWAII_MQTT is not set
+# CONFIG_PKG_USING_BC28_MQTT is not set
+# CONFIG_PKG_USING_WEBTERMINAL is not set
+# CONFIG_PKG_USING_FREEMODBUS is not set
+# CONFIG_PKG_USING_NANOPB is not set
+# CONFIG_PKG_USING_WIFI_HOST_DRIVER is not set
+
+#
+# Wi-Fi
+#
+
+#
+# Marvell WiFi
+#
+# CONFIG_PKG_USING_WLANMARVELL is not set
+# end of Marvell WiFi
+
+#
+# Wiced WiFi
+#
+# CONFIG_PKG_USING_WLAN_WICED is not set
+# end of Wiced WiFi
+
+# CONFIG_PKG_USING_RW007 is not set
+
+#
+# CYW43012 WiFi
+#
+# CONFIG_PKG_USING_WLAN_CYW43012 is not set
+# end of CYW43012 WiFi
+
+#
+# BL808 WiFi
+#
+# CONFIG_PKG_USING_WLAN_BL808 is not set
+# end of BL808 WiFi
+
+#
+# CYW43439 WiFi
+#
+# CONFIG_PKG_USING_WLAN_CYW43439 is not set
+# end of CYW43439 WiFi
+# end of Wi-Fi
+
+# CONFIG_PKG_USING_COAP is not set
+# CONFIG_PKG_USING_NOPOLL is not set
+# CONFIG_PKG_USING_NETUTILS is not set
+# CONFIG_PKG_USING_CMUX is not set
+# CONFIG_PKG_USING_PPP_DEVICE is not set
+# CONFIG_PKG_USING_AT_DEVICE is not set
+# CONFIG_PKG_USING_ATSRV_SOCKET is not set
+# CONFIG_PKG_USING_WIZNET is not set
+# CONFIG_PKG_USING_ZB_COORDINATOR is not set
+
+#
+# IoT Cloud
+#
+# CONFIG_PKG_USING_ONENET is not set
+# 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_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
+# CONFIG_PKG_USING_IOTSHARP_SDK is not set
+# end of IoT Cloud
+
+# CONFIG_PKG_USING_NIMBLE is not set
+# CONFIG_PKG_USING_LLSYNC_SDK_ADAPTER is not set
+# CONFIG_PKG_USING_OTA_DOWNLOADER is not set
+# CONFIG_PKG_USING_IPMSG is not set
+# CONFIG_PKG_USING_LSSDP is not set
+# CONFIG_PKG_USING_AIRKISS_OPEN is not set
+# CONFIG_PKG_USING_LIBRWS is not set
+# CONFIG_PKG_USING_TCPSERVER is not set
+# CONFIG_PKG_USING_PROTOBUF_C is not set
+# CONFIG_PKG_USING_DLT645 is not set
+# CONFIG_PKG_USING_QXWZ is not set
+# CONFIG_PKG_USING_SMTP_CLIENT is not set
+# CONFIG_PKG_USING_ABUP_FOTA is not set
+# CONFIG_PKG_USING_LIBCURL2RTT is not set
+# CONFIG_PKG_USING_CAPNP is not set
+# CONFIG_PKG_USING_AGILE_TELNET is not set
+# CONFIG_PKG_USING_NMEALIB is not set
+# CONFIG_PKG_USING_PDULIB is not set
+# CONFIG_PKG_USING_BTSTACK is not set
+# CONFIG_PKG_USING_BT_CYW43012 is not set
+# CONFIG_PKG_USING_CYW43XX is not set
+# CONFIG_PKG_USING_LORAWAN_ED_STACK is not set
+# CONFIG_PKG_USING_WAYZ_IOTKIT is not set
+# CONFIG_PKG_USING_MAVLINK is not set
+# CONFIG_PKG_USING_BSAL is not set
+# CONFIG_PKG_USING_AGILE_MODBUS is not set
+# CONFIG_PKG_USING_AGILE_FTP is not set
+# CONFIG_PKG_USING_EMBEDDEDPROTO is not set
+# CONFIG_PKG_USING_RT_LINK_HW is not set
+# CONFIG_PKG_USING_RYANMQTT is not set
+# CONFIG_PKG_USING_RYANW5500 is not set
+# CONFIG_PKG_USING_LORA_PKT_FWD is not set
+# CONFIG_PKG_USING_LORA_GW_DRIVER_LIB is not set
+# CONFIG_PKG_USING_LORA_PKT_SNIFFER is not set
+# CONFIG_PKG_USING_HM is not set
+# CONFIG_PKG_USING_SMALL_MODBUS is not set
+# CONFIG_PKG_USING_NET_SERVER is not set
+# CONFIG_PKG_USING_ZFTP is not set
+# CONFIG_PKG_USING_WOL is not set
+# CONFIG_PKG_USING_ZEPHYR_POLLING is not set
+# CONFIG_PKG_USING_MATTER_ADAPTATION_LAYER is not set
+# CONFIG_PKG_USING_LHC_MODBUS is not set
+# CONFIG_PKG_USING_QMODBUS is not set
+# end of IoT - internet of things
+
+#
+# security packages
+#
+# CONFIG_PKG_USING_MBEDTLS is not set
+# CONFIG_PKG_USING_LIBSODIUM is not set
+# CONFIG_PKG_USING_LIBHYDROGEN 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
+# end of security packages
+
+#
+# language packages
+#
+
+#
+# JSON: JavaScript Object Notation, a lightweight data-interchange format
+#
+# CONFIG_PKG_USING_CJSON is not set
+# CONFIG_PKG_USING_LJSON is not set
+# CONFIG_PKG_USING_RT_CJSON_TOOLS is not set
+# CONFIG_PKG_USING_RAPIDJSON is not set
+# CONFIG_PKG_USING_JSMN is not set
+# CONFIG_PKG_USING_AGILE_JSMN is not set
+# CONFIG_PKG_USING_PARSON is not set
+# end of JSON: JavaScript Object Notation, a lightweight data-interchange format
+
+#
+# XML: Extensible Markup Language
+#
+# CONFIG_PKG_USING_SIMPLE_XML is not set
+# CONFIG_PKG_USING_EZXML is not set
+# end of XML: Extensible Markup Language
+
+# CONFIG_PKG_USING_LUATOS_SOC is not set
+# CONFIG_PKG_USING_LUA is not set
+# CONFIG_PKG_USING_JERRYSCRIPT is not set
+# CONFIG_PKG_USING_MICROPYTHON is not set
+# CONFIG_PKG_USING_PIKASCRIPT is not set
+# CONFIG_PKG_USING_RTT_RUST is not set
+# end of language packages
+
+#
+# multimedia packages
+#
+
+#
+# LVGL: powerful and easy-to-use embedded GUI library
+#
+# CONFIG_PKG_USING_LVGL is not set
+# CONFIG_PKG_USING_LV_MUSIC_DEMO is not set
+# CONFIG_PKG_USING_GUI_GUIDER_DEMO is not set
+# end of LVGL: powerful and easy-to-use embedded GUI library
+
+#
+# u8g2: a monochrome graphic library
+#
+# CONFIG_PKG_USING_U8G2_OFFICIAL is not set
+# CONFIG_PKG_USING_U8G2 is not set
+# end of u8g2: a monochrome graphic library
+
+# CONFIG_PKG_USING_OPENMV is not set
+# CONFIG_PKG_USING_MUPDF is not set
+# CONFIG_PKG_USING_STEMWIN is not set
+# CONFIG_PKG_USING_WAVPLAYER is not set
+# CONFIG_PKG_USING_TJPGD is not set
+# CONFIG_PKG_USING_PDFGEN is not set
+# CONFIG_PKG_USING_HELIX is not set
+# CONFIG_PKG_USING_AZUREGUIX is not set
+# CONFIG_PKG_USING_TOUCHGFX2RTT is not set
+# CONFIG_PKG_USING_NUEMWIN is not set
+# CONFIG_PKG_USING_MP3PLAYER is not set
+# CONFIG_PKG_USING_TINYJPEG is not set
+# CONFIG_PKG_USING_UGUI is not set
+# CONFIG_PKG_USING_MCURSES is not set
+# CONFIG_PKG_USING_TERMBOX is not set
+# CONFIG_PKG_USING_VT100 is not set
+# CONFIG_PKG_USING_QRCODE is not set
+# CONFIG_PKG_USING_GUIENGINE is not set
+# CONFIG_PKG_USING_3GPP_AMRNB is not set
+# end of multimedia packages
+
+#
+# tools packages
+#
+# CONFIG_PKG_USING_CMBACKTRACE is not set
+# CONFIG_PKG_USING_EASYFLASH is not set
+# CONFIG_PKG_USING_EASYLOGGER is not set
+# CONFIG_PKG_USING_SYSTEMVIEW is not set
+# CONFIG_PKG_USING_SEGGER_RTT is not set
+# CONFIG_PKG_USING_RTT_AUTO_EXE_CMD is not set
+# CONFIG_PKG_USING_RDB is not set
+# CONFIG_PKG_USING_ULOG_EASYFLASH is not set
+# CONFIG_PKG_USING_LOGMGR is not set
+# CONFIG_PKG_USING_ADBD is not set
+# CONFIG_PKG_USING_COREMARK is not set
+# CONFIG_PKG_USING_DHRYSTONE is not set
+# CONFIG_PKG_USING_MEMORYPERF is not set
+# CONFIG_PKG_USING_NR_MICRO_SHELL is not set
+# 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
+# CONFIG_PKG_USING_LWRB2RTT is not set
+# CONFIG_PKG_USING_CPU_USAGE is not set
+# CONFIG_PKG_USING_GBK2UTF8 is not set
+# CONFIG_PKG_USING_VCONSOLE is not set
+# CONFIG_PKG_USING_KDB is not set
+# CONFIG_PKG_USING_WAMR is not set
+# CONFIG_PKG_USING_MICRO_XRCE_DDS_CLIENT is not set
+# CONFIG_PKG_USING_LWLOG is not set
+# CONFIG_PKG_USING_ANV_TRACE is not set
+# CONFIG_PKG_USING_ANV_MEMLEAK is not set
+# CONFIG_PKG_USING_ANV_TESTSUIT is not set
+# CONFIG_PKG_USING_ANV_BENCH is not set
+# CONFIG_PKG_USING_DEVMEM is not set
+# CONFIG_PKG_USING_REGEX is not set
+# CONFIG_PKG_USING_MEM_SANDBOX is not set
+# CONFIG_PKG_USING_SOLAR_TERMS is not set
+# CONFIG_PKG_USING_GAN_ZHI is not set
+# CONFIG_PKG_USING_FDT is not set
+# CONFIG_PKG_USING_CBOX is not set
+# CONFIG_PKG_USING_SNOWFLAKE is not set
+# CONFIG_PKG_USING_HASH_MATCH is not set
+# CONFIG_PKG_USING_ARMV7M_DWT_TOOL is not set
+# CONFIG_PKG_USING_VOFA_PLUS is not set
+# CONFIG_PKG_USING_RT_TRACE is not set
+# CONFIG_PKG_USING_ZDEBUG is not set
+# end of tools packages
+
+#
+# system packages
+#
+
+#
+# enhanced kernel services
+#
+# CONFIG_PKG_USING_RT_MEMCPY_CM is not set
+# CONFIG_PKG_USING_RT_KPRINTF_THREADSAFE is not set
+# CONFIG_PKG_USING_RT_VSNPRINTF_FULL is not set
+# end of enhanced kernel services
+
+# CONFIG_PKG_USING_AUNITY is not set
+
+#
+# acceleration: Assembly language or algorithmic acceleration packages
+#
+# CONFIG_PKG_USING_QFPLIB_M0_FULL is not set
+# CONFIG_PKG_USING_QFPLIB_M0_TINY is not set
+# CONFIG_PKG_USING_QFPLIB_M3 is not set
+# end of acceleration: Assembly language or algorithmic acceleration packages
+
+#
+# CMSIS: ARM Cortex-M Microcontroller Software Interface Standard
+#
+# CONFIG_PKG_USING_CMSIS_5 is not set
+# CONFIG_PKG_USING_CMSIS_CORE is not set
+# CONFIG_PKG_USING_CMSIS_DSP is not set
+# CONFIG_PKG_USING_CMSIS_NN is not set
+# CONFIG_PKG_USING_CMSIS_RTOS1 is not set
+# CONFIG_PKG_USING_CMSIS_RTOS2 is not set
+# end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard
+
+#
+# Micrium: Micrium software products porting for RT-Thread
+#
+# CONFIG_PKG_USING_UCOSIII_WRAPPER is not set
+# CONFIG_PKG_USING_UCOSII_WRAPPER is not set
+# CONFIG_PKG_USING_UC_CRC is not set
+# CONFIG_PKG_USING_UC_CLK is not set
+# CONFIG_PKG_USING_UC_COMMON is not set
+# CONFIG_PKG_USING_UC_MODBUS is not set
+# end of Micrium: Micrium software products porting for RT-Thread
+
+# CONFIG_PKG_USING_FREERTOS_WRAPPER is not set
+# CONFIG_PKG_USING_LITEOS_SDK is not set
+# CONFIG_PKG_USING_TZ_DATABASE is not set
+# CONFIG_PKG_USING_CAIRO is not set
+# CONFIG_PKG_USING_PIXMAN is not set
+# CONFIG_PKG_USING_PARTITION is not set
+# CONFIG_PKG_USING_PERF_COUNTER is not set
+# CONFIG_PKG_USING_FILEX is not set
+# CONFIG_PKG_USING_LEVELX is not set
+# CONFIG_PKG_USING_FLASHDB is not set
+# CONFIG_PKG_USING_SQLITE is not set
+# CONFIG_PKG_USING_RTI is not set
+# CONFIG_PKG_USING_DFS_YAFFS is not set
+# CONFIG_PKG_USING_LITTLEFS is not set
+# CONFIG_PKG_USING_DFS_JFFS2 is not set
+# CONFIG_PKG_USING_DFS_UFFS is not set
+# CONFIG_PKG_USING_LWEXT4 is not set
+# CONFIG_PKG_USING_THREAD_POOL is not set
+# CONFIG_PKG_USING_ROBOTS is not set
+# CONFIG_PKG_USING_EV is not set
+# 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_PPOOL is not set
+# CONFIG_PKG_USING_OPENAMP is not set
+# CONFIG_PKG_USING_RPMSG_LITE is not set
+# CONFIG_PKG_USING_LPM is not set
+# CONFIG_PKG_USING_TLSF is not set
+# CONFIG_PKG_USING_EVENT_RECORDER is not set
+# CONFIG_PKG_USING_ARM_2D is not set
+# CONFIG_PKG_USING_MCUBOOT is not set
+# CONFIG_PKG_USING_TINYUSB is not set
+# CONFIG_PKG_USING_CHERRYUSB is not set
+# CONFIG_PKG_USING_KMULTI_RTIMER is not set
+# CONFIG_PKG_USING_TFDB is not set
+# CONFIG_PKG_USING_QPC is not set
+# CONFIG_PKG_USING_AGILE_UPGRADE is not set
+# CONFIG_PKG_USING_FLASH_BLOB is not set
+# CONFIG_PKG_USING_MLIBC is not set
+# CONFIG_PKG_USING_TASK_MSG_BUS is not set
+# CONFIG_PKG_USING_SFDB is not set
+# CONFIG_PKG_USING_RTP is not set
+# CONFIG_PKG_USING_REB is not set
+# CONFIG_PKG_USING_R_RHEALSTONE is not set
+# end of system packages
+
+#
+# peripheral libraries and drivers
+#
+
+#
+# HAL & SDK Drivers
+#
+
+#
+# STM32 HAL & SDK Drivers
+#
+# CONFIG_PKG_USING_STM32L4_HAL_DRIVER is not set
+# CONFIG_PKG_USING_STM32L4_CMSIS_DRIVER is not set
+# CONFIG_PKG_USING_STM32WB55_SDK is not set
+# CONFIG_PKG_USING_STM32_SDIO is not set
+# end of STM32 HAL & SDK Drivers
+
+#
+# Infineon HAL Packages
+#
+# CONFIG_PKG_USING_INFINEON_CAT1CM0P is not set
+# CONFIG_PKG_USING_INFINEON_CMSIS is not set
+# CONFIG_PKG_USING_INFINEON_CORE_LIB is not set
+# CONFIG_PKG_USING_INFINEON_MTB_HAL_CAT1 is not set
+# CONFIG_PKG_USING_INFINEON_MTB_PDL_CAT1 is not set
+# CONFIG_PKG_USING_INFINEON_RETARGET_IO is not set
+# CONFIG_PKG_USING_INFINEON_CAPSENSE is not set
+# CONFIG_PKG_USING_INFINEON_CSDIDAC is not set
+# CONFIG_PKG_USING_INFINEON_SERIAL_FLASH is not set
+# CONFIG_PKG_USING_INFINEON_USBDEV is not set
+# end of Infineon HAL Packages
+
+# CONFIG_PKG_USING_BLUETRUM_SDK is not set
+# CONFIG_PKG_USING_EMBARC_BSP is not set
+# CONFIG_PKG_USING_ESP_IDF is not set
+
+#
+# Kendryte SDK
+#
+# CONFIG_PKG_USING_K210_SDK is not set
+# CONFIG_PKG_USING_KENDRYTE_SDK is not set
+# end of Kendryte SDK
+
+# CONFIG_PKG_USING_NRF5X_SDK is not set
+# CONFIG_PKG_USING_NRFX is not set
+# CONFIG_PKG_USING_RASPBERRYPI_PICO_SDK is not set
+# end of HAL & SDK Drivers
+
+#
+# sensors drivers
+#
+# CONFIG_PKG_USING_LSM6DSM is not set
+# CONFIG_PKG_USING_LSM6DSL is not set
+# CONFIG_PKG_USING_LPS22HB is not set
+# CONFIG_PKG_USING_HTS221 is not set
+# CONFIG_PKG_USING_LSM303AGR is not set
+# CONFIG_PKG_USING_BME280 is not set
+# CONFIG_PKG_USING_BME680 is not set
+# CONFIG_PKG_USING_BMA400 is not set
+# CONFIG_PKG_USING_BMI160_BMX160 is not set
+# CONFIG_PKG_USING_SPL0601 is not set
+# CONFIG_PKG_USING_MS5805 is not set
+# CONFIG_PKG_USING_DA270 is not set
+# CONFIG_PKG_USING_DF220 is not set
+# CONFIG_PKG_USING_HSHCAL001 is not set
+# CONFIG_PKG_USING_BH1750 is not set
+# CONFIG_PKG_USING_MPU6XXX is not set
+# CONFIG_PKG_USING_AHT10 is not set
+# CONFIG_PKG_USING_AP3216C is not set
+# CONFIG_PKG_USING_TSL4531 is not set
+# CONFIG_PKG_USING_DS18B20 is not set
+# CONFIG_PKG_USING_DHT11 is not set
+# CONFIG_PKG_USING_DHTXX is not set
+# CONFIG_PKG_USING_GY271 is not set
+# CONFIG_PKG_USING_GP2Y10 is not set
+# CONFIG_PKG_USING_SGP30 is not set
+# CONFIG_PKG_USING_HDC1000 is not set
+# CONFIG_PKG_USING_BMP180 is not set
+# CONFIG_PKG_USING_BMP280 is not set
+# CONFIG_PKG_USING_SHTC1 is not set
+# CONFIG_PKG_USING_BMI088 is not set
+# CONFIG_PKG_USING_HMC5883 is not set
+# CONFIG_PKG_USING_MAX6675 is not set
+# CONFIG_PKG_USING_TMP1075 is not set
+# CONFIG_PKG_USING_SR04 is not set
+# CONFIG_PKG_USING_CCS811 is not set
+# CONFIG_PKG_USING_PMSXX is not set
+# CONFIG_PKG_USING_RT3020 is not set
+# CONFIG_PKG_USING_MLX90632 is not set
+# CONFIG_PKG_USING_MLX90393 is not set
+# CONFIG_PKG_USING_MLX90392 is not set
+# CONFIG_PKG_USING_MLX90397 is not set
+# CONFIG_PKG_USING_MS5611 is not set
+# CONFIG_PKG_USING_MAX31865 is not set
+# CONFIG_PKG_USING_VL53L0X is not set
+# CONFIG_PKG_USING_INA260 is not set
+# CONFIG_PKG_USING_MAX30102 is not set
+# CONFIG_PKG_USING_INA226 is not set
+# CONFIG_PKG_USING_LIS2DH12 is not set
+# CONFIG_PKG_USING_HS300X is not set
+# CONFIG_PKG_USING_ZMOD4410 is not set
+# CONFIG_PKG_USING_ISL29035 is not set
+# CONFIG_PKG_USING_MMC3680KJ is not set
+# CONFIG_PKG_USING_QMP6989 is not set
+# CONFIG_PKG_USING_BALANCE is not set
+# CONFIG_PKG_USING_SHT2X is not set
+# CONFIG_PKG_USING_SHT3X is not set
+# CONFIG_PKG_USING_SHT4X is not set
+# CONFIG_PKG_USING_AD7746 is not set
+# CONFIG_PKG_USING_ADT74XX is not set
+# CONFIG_PKG_USING_MAX17048 is not set
+# CONFIG_PKG_USING_AS7341 is not set
+# CONFIG_PKG_USING_CW2015 is not set
+# CONFIG_PKG_USING_ICM20608 is not set
+# CONFIG_PKG_USING_PAJ7620 is not set
+# CONFIG_PKG_USING_STHS34PF80 is not set
+# end of sensors drivers
+
+#
+# touch drivers
+#
+# CONFIG_PKG_USING_GT9147 is not set
+# CONFIG_PKG_USING_GT1151 is not set
+# CONFIG_PKG_USING_GT917S is not set
+# CONFIG_PKG_USING_GT911 is not set
+# CONFIG_PKG_USING_FT6206 is not set
+# CONFIG_PKG_USING_FT5426 is not set
+# CONFIG_PKG_USING_FT6236 is not set
+# CONFIG_PKG_USING_XPT2046_TOUCH is not set
+# CONFIG_PKG_USING_CST816X is not set
+# CONFIG_PKG_USING_CST812T is not set
+# end of touch drivers
+
+# CONFIG_PKG_USING_REALTEK_AMEBA is not set
+# CONFIG_PKG_USING_BUTTON is not set
+# CONFIG_PKG_USING_PCF8574 is not set
+# CONFIG_PKG_USING_SX12XX is not set
+# CONFIG_PKG_USING_SIGNAL_LED is not set
+# CONFIG_PKG_USING_LEDBLINK is not set
+# CONFIG_PKG_USING_LITTLED is not set
+# CONFIG_PKG_USING_LKDGUI is not set
+# CONFIG_PKG_USING_INFRARED is not set
+# CONFIG_PKG_USING_MULTI_INFRARED is not set
+# CONFIG_PKG_USING_AGILE_BUTTON is not set
+# CONFIG_PKG_USING_AGILE_LED is not set
+# CONFIG_PKG_USING_AT24CXX is not set
+# CONFIG_PKG_USING_MOTIONDRIVER2RTT is not set
+# CONFIG_PKG_USING_PCA9685 is not set
+# CONFIG_PKG_USING_ILI9341 is not set
+# CONFIG_PKG_USING_I2C_TOOLS is not set
+# CONFIG_PKG_USING_NRF24L01 is not set
+# 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_EXTERN_RTC_DRIVERS is not set
+# CONFIG_PKG_USING_MULTI_RTIMER is not set
+# CONFIG_PKG_USING_MAX7219 is not set
+# CONFIG_PKG_USING_BEEP is not set
+# CONFIG_PKG_USING_EASYBLINK is not set
+# CONFIG_PKG_USING_PMS_SERIES 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_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
+# CONFIG_PKG_USING_SSD1306 is not set
+# CONFIG_PKG_USING_QKEY is not set
+# CONFIG_PKG_USING_RS485 is not set
+# CONFIG_PKG_USING_RS232 is not set
+# CONFIG_PKG_USING_NES is not set
+# CONFIG_PKG_USING_VIRTUAL_SENSOR is not set
+# CONFIG_PKG_USING_VDEVICE is not set
+# CONFIG_PKG_USING_SGM706 is not set
+# CONFIG_PKG_USING_RDA58XX is not set
+# CONFIG_PKG_USING_LIBNFC is not set
+# CONFIG_PKG_USING_MFOC is not set
+# CONFIG_PKG_USING_TMC51XX is not set
+# CONFIG_PKG_USING_TCA9534 is not set
+# CONFIG_PKG_USING_KOBUKI is not set
+# CONFIG_PKG_USING_ROSSERIAL is not set
+# CONFIG_PKG_USING_MICRO_ROS is not set
+# CONFIG_PKG_USING_MCP23008 is not set
+# CONFIG_PKG_USING_MISAKA_AT24CXX is not set
+# CONFIG_PKG_USING_MISAKA_RGB_BLING is not set
+# CONFIG_PKG_USING_LORA_MODEM_DRIVER is not set
+# CONFIG_PKG_USING_SOFT_SERIAL is not set
+# CONFIG_PKG_USING_MB85RS16 is not set
+# CONFIG_PKG_USING_RFM300 is not set
+# CONFIG_PKG_USING_IO_INPUT_FILTER is not set
+# CONFIG_PKG_USING_LRF_NV7LIDAR is not set
+# CONFIG_PKG_USING_AIP650 is not set
+# CONFIG_PKG_USING_FINGERPRINT is not set
+# CONFIG_PKG_USING_BT_ECB02C is not set
+# CONFIG_PKG_USING_UAT is not set
+# CONFIG_PKG_USING_ST7789 is not set
+# CONFIG_PKG_USING_VS1003 is not set
+# CONFIG_PKG_USING_X9555 is not set
+# CONFIG_PKG_USING_SYSTEM_RUN_LED is not set
+# CONFIG_PKG_USING_BT_MX01 is not set
+# CONFIG_PKG_USING_RGPOWER is not set
+# CONFIG_PKG_USING_SPI_TOOLS is not set
+# end of peripheral libraries and drivers
+
+#
+# AI packages
+#
+# CONFIG_PKG_USING_LIBANN is not set
+# CONFIG_PKG_USING_NNOM is not set
+# CONFIG_PKG_USING_ONNX_BACKEND is not set
+# CONFIG_PKG_USING_ONNX_PARSER is not set
+# CONFIG_PKG_USING_TENSORFLOWLITEMICRO is not set
+# CONFIG_PKG_USING_ELAPACK is not set
+# CONFIG_PKG_USING_ULAPACK is not set
+# CONFIG_PKG_USING_QUEST is not set
+# CONFIG_PKG_USING_NAXOS is not set
+# CONFIG_PKG_USING_R_TINYMAIX is not set
+# end of AI packages
+
+#
+# Signal Processing and Control Algorithm Packages
+#
+# CONFIG_PKG_USING_APID is not set
+# CONFIG_PKG_USING_FIRE_PID_CURVE is not set
+# CONFIG_PKG_USING_QPID is not set
+# CONFIG_PKG_USING_UKAL is not set
+# CONFIG_PKG_USING_DIGITALCTRL is not set
+# CONFIG_PKG_USING_KISSFFT is not set
+# end of Signal Processing and Control Algorithm Packages
+
+#
+# miscellaneous packages
+#
+
+#
+# project laboratory
+#
+# end of project laboratory
+
+#
+# samples: kernel and components samples
+#
+# CONFIG_PKG_USING_KERNEL_SAMPLES is not set
+# CONFIG_PKG_USING_FILESYSTEM_SAMPLES is not set
+# CONFIG_PKG_USING_NETWORK_SAMPLES is not set
+# CONFIG_PKG_USING_PERIPHERAL_SAMPLES is not set
+# end of samples: kernel and components samples
+
+#
+# entertainment: terminal games and other interesting software packages
+#
+# CONFIG_PKG_USING_CMATRIX is not set
+# CONFIG_PKG_USING_SL is not set
+# CONFIG_PKG_USING_CAL is not set
+# CONFIG_PKG_USING_ACLOCK is not set
+# CONFIG_PKG_USING_THREES is not set
+# CONFIG_PKG_USING_2048 is not set
+# CONFIG_PKG_USING_SNAKE is not set
+# CONFIG_PKG_USING_TETRIS is not set
+# CONFIG_PKG_USING_DONUT is not set
+# CONFIG_PKG_USING_COWSAY is not set
+# CONFIG_PKG_USING_MORSE is not set
+# CONFIG_PKG_USING_TINYSQUARE is not set
+# end of entertainment: terminal games and other interesting software packages
+
+# CONFIG_PKG_USING_LIBCSV is not set
+# CONFIG_PKG_USING_OPTPARSE is not set
+# CONFIG_PKG_USING_FASTLZ is not set
+# CONFIG_PKG_USING_MINILZO is not set
+# CONFIG_PKG_USING_QUICKLZ is not set
+# CONFIG_PKG_USING_LZMA is not set
+# CONFIG_PKG_USING_RALARAM is not set
+# CONFIG_PKG_USING_MULTIBUTTON is not set
+# CONFIG_PKG_USING_FLEXIBLE_BUTTON is not set
+# CONFIG_PKG_USING_CANFESTIVAL is not set
+# CONFIG_PKG_USING_ZLIB is not set
+# CONFIG_PKG_USING_MINIZIP is not set
+# CONFIG_PKG_USING_HEATSHRINK is not set
+# CONFIG_PKG_USING_DSTR is not set
+# CONFIG_PKG_USING_TINYFRAME is not set
+# CONFIG_PKG_USING_KENDRYTE_DEMO is not set
+# CONFIG_PKG_USING_UPACKER is not set
+# CONFIG_PKG_USING_UPARAM is not set
+# CONFIG_PKG_USING_HELLO is not set
+# CONFIG_PKG_USING_VI is not set
+# CONFIG_PKG_USING_KI is not set
+# CONFIG_PKG_USING_ARMv7M_DWT is not set
+# CONFIG_PKG_USING_CRCLIB is not set
+# CONFIG_PKG_USING_LWGPS is not set
+# CONFIG_PKG_USING_STATE_MACHINE is not set
+# CONFIG_PKG_USING_DESIGN_PATTERN is not set
+# CONFIG_PKG_USING_CONTROLLER is not set
+# CONFIG_PKG_USING_PHASE_LOCKED_LOOP is not set
+# CONFIG_PKG_USING_MFBD is not set
+# CONFIG_PKG_USING_SLCAN2RTT is not set
+# CONFIG_PKG_USING_SOEM is not set
+# CONFIG_PKG_USING_QPARAM is not set
+# CONFIG_PKG_USING_CorevMCU_CLI is not set
+# end of miscellaneous packages
+
+#
+# Arduino libraries
+#
+# CONFIG_PKG_USING_RTDUINO is not set
+
+#
+# Projects and Demos
+#
+# CONFIG_PKG_USING_ARDUINO_MSGQ_C_CPP_DEMO is not set
+# CONFIG_PKG_USING_ARDUINO_SKETCH_LOADER_DEMO is not set
+# CONFIG_PKG_USING_ARDUINO_ULTRASOUND_RADAR is not set
+# CONFIG_PKG_USING_ARDUINO_NINEINONE_SENSOR_SHIELD is not set
+# CONFIG_PKG_USING_ARDUINO_SENSOR_KIT is not set
+# CONFIG_PKG_USING_ARDUINO_MATLAB_SUPPORT is not set
+# CONFIG_PKG_USING_ARDUINO_RTDUINO_SENSORFUSION_SHIELD is not set
+# end of Projects and Demos
+
+#
+# Sensors
+#
+# CONFIG_PKG_USING_ARDUINO_SENSOR_DEVICE_DRIVERS is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSOR is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSORLAB is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADXL375 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L0X is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L1X is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL6180X is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31855 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31865 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31856 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX6675 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MLX90614 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LSM9DS1 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AHTX0 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LSM9DS0 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BMP280 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADT7410 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BMP085 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BME680 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP9808 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP4728 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_INA219 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LTR390 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADXL345 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DHT is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP9600 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LSM6DS is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO055 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX1704X is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MMC56X3 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MLX90393 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MLX90395 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ICM20X is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DPS310 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTS221 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SHT4X is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SHT31 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADXL343 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BME280 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AS726X is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AMG88XX is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AM2320 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AM2315 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LTR329_LTR303 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BMP085_UNIFIED is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BMP183 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BMP183_UNIFIED is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BMP3XX is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MS8607 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LIS3MDL is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MLX90640 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MMA8451 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MSA301 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPL115A2 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X_RVC is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LIS2MDL is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LSM303DLH_MAG is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LC709203F is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_CAP1188 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_CCS811 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_NAU7802 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LIS331 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LPS2X is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LPS35HW is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LSM303_ACCEL is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LIS3DH is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCF8591 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPL3115A2 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPR121 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPRLS is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPU6050 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCT2075 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PM25AQI is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_EMC2101 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_FXAS21002C is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SCD30 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_FXOS8700 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HMC5883_UNIFIED is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SGP30 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TMP006 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TLA202X is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TCS34725 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SI7021 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SI1145 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SGP40 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SHTC3 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HDC1000 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU21DF is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AS7341 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU31D is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_INA260 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TMP007_LIBRARY is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_L3GD20 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TMP117 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TSC2007 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TSL2561 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TSL2591_LIBRARY is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VCNL4040 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VEML6070 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VEML6075 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VEML7700 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_LIS3DHTR is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_DHT is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_ADXL335 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_ADXL345 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_BME280 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_BMP280 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_H3LIS331DL is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_MMA7660 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_TSL2561 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_PAJ7620 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_VL53L0X is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_ITG3200 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_SHT31 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_HP20X is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_DRV2605L is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_BBM150 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_HMC5883L is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_LSM303DLH is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_TCS3414CS is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_MP503 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_BMP085 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_HIGHTEMP is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_VEML6070 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_SI1145 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_SHT35 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_AT42QT1070 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_LSM6DS3 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_HDC1000 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_HM3301 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_MCP9600 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_LTC2941 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_LDC1612 is not set
+# CONFIG_PKG_USING_ARDUINO_CAPACITIVESENSOR is not set
+# CONFIG_PKG_USING_ARDUINO_JARZEBSKI_MPU6050 is not set
+# end of Sensors
+
+#
+# Display
+#
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_GFX_LIBRARY is not set
+# CONFIG_PKG_USING_ARDUINO_U8G2 is not set
+# CONFIG_PKG_USING_ARDUINO_TFT_ESPI is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ST7735 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SSD1306 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ILI9341 is not set
+# CONFIG_PKG_USING_SEEED_TM1637 is not set
+# end of Display
+
+#
+# Timing
+#
+# CONFIG_PKG_USING_ARDUINO_RTCLIB is not set
+# CONFIG_PKG_USING_ARDUINO_MSTIMER2 is not set
+# CONFIG_PKG_USING_ARDUINO_TICKER is not set
+# CONFIG_PKG_USING_ARDUINO_TASKSCHEDULER is not set
+# end of Timing
+
+#
+# Data Processing
+#
+# CONFIG_PKG_USING_ARDUINO_KALMANFILTER is not set
+# CONFIG_PKG_USING_ARDUINO_ARDUINOJSON is not set
+# CONFIG_PKG_USING_ARDUINO_TENSORFLOW_LITE_MICRO is not set
+# CONFIG_PKG_USING_ARDUINO_RUNNINGMEDIAN is not set
+# end of Data Processing
+
+#
+# Data Storage
+#
+
+#
+# Communication
+#
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PN532 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SI4713 is not set
+# end of Communication
+
+#
+# Device Control
+#
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCF8574 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCA9685 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TPA2016 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DRV2605 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DS1841 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DS3502 is not set
+# CONFIG_PKG_USING_ARDUINO_SEEED_PCF85063TP is not set
+# end of Device Control
+
+#
+# Other
+#
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MFRC630 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SI5351 is not set
+# end of Other
+
+#
+# Signal IO
+#
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BUSIO is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TCA8418 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP23017 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADS1X15 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AW9523 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP3008 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP4725 is not set
+# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BD3491FS is not set
+# end of Signal IO
+
+#
+# Uncategorized
+#
+# end of Arduino libraries
+# end of RT-Thread online packages
+
+CONFIG_SOC_LPC824=y
+
+#
+# Hardware Drivers Config
+#
+
+#
+# On-chip Peripheral Drivers
+#
+# CONFIG_BSP_USING_UART is not set
+# end of On-chip Peripheral Drivers
+
+#
+# Onboard Peripheral Drivers
+#
+
+#
+# Board extended module Drivers
+#
+# end of Hardware Drivers Config
diff --git a/bsp/nxp/lpc/lpc824/Kconfig b/bsp/nxp/lpc/lpc824/Kconfig
new file mode 100644
index 0000000000..66a97c5688
--- /dev/null
+++ b/bsp/nxp/lpc/lpc824/Kconfig
@@ -0,0 +1,20 @@
+mainmenu "RT-Thread Configuration"
+
+BSP_DIR := .
+
+RTT_DIR := ../../../..
+
+PKGS_DIR := packages
+
+source "$(RTT_DIR)/Kconfig"
+osource "$PKGS_DIR/Kconfig"
+
+config SOC_LPC824
+ bool
+ select ARCH_ARM_CORTEX_M0
+ select RT_USING_COMPONENTS_INIT
+ select RT_USING_USER_MAIN
+ default y
+
+source "$(BSP_DIR)/drivers/Kconfig"
+
diff --git a/bsp/nxp/lpc/lpc824/Libraries/SConscript b/bsp/nxp/lpc/lpc824/Libraries/SConscript
index ba42f62bb3..dd2be33143 100644
--- a/bsp/nxp/lpc/lpc824/Libraries/SConscript
+++ b/bsp/nxp/lpc/lpc824/Libraries/SConscript
@@ -12,8 +12,7 @@ src += Glob('common/chip/*.c')
# add for startup script
if rtconfig.PLATFORM in ['gcc']:
- print("not gcc startup file")
- exit(0)
+ src += [cwd + '/common/startup/gcc_startup_lpc82x.s']
elif rtconfig.PLATFORM in ['armcc', 'armclang']:
src += [cwd + '/common/startup/keil_startup_lpc82x.s']
elif rtconfig.PLATFORM in ['iccarm']:
diff --git a/bsp/nxp/lpc/lpc824/Libraries/common/CMSIS/cmsis_gcc.h b/bsp/nxp/lpc/lpc824/Libraries/common/CMSIS/cmsis_gcc.h
new file mode 100644
index 0000000000..a1cabfbdfe
--- /dev/null
+++ b/bsp/nxp/lpc/lpc824/Libraries/common/CMSIS/cmsis_gcc.h
@@ -0,0 +1,2213 @@
+/**************************************************************************//**
+ * @file cmsis_gcc.h
+ * @brief CMSIS compiler GCC header file
+ * @version V5.4.1
+ * @date 27. May 2021
+ ******************************************************************************/
+/*
+ * Copyright (c) 2009-2021 Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Licensed under the Apache License, Version 2.0 (the License); you may
+ * not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __CMSIS_GCC_H
+#define __CMSIS_GCC_H
+
+/* ignore some GCC warnings */
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wsign-conversion"
+#pragma GCC diagnostic ignored "-Wconversion"
+#pragma GCC diagnostic ignored "-Wunused-parameter"
+
+/* Fallback for __has_builtin */
+#ifndef __has_builtin
+ #define __has_builtin(x) (0)
+#endif
+
+/* CMSIS compiler specific defines */
+#ifndef __ASM
+ #define __ASM __asm
+#endif
+#ifndef __INLINE
+ #define __INLINE inline
+#endif
+#ifndef __STATIC_INLINE
+ #define __STATIC_INLINE static inline
+#endif
+#ifndef __STATIC_FORCEINLINE
+ #define __STATIC_FORCEINLINE __attribute__((always_inline)) static inline
+#endif
+#ifndef __NO_RETURN
+ #define __NO_RETURN __attribute__((__noreturn__))
+#endif
+#ifndef __USED
+ #define __USED __attribute__((used))
+#endif
+#ifndef __WEAK
+ #define __WEAK __attribute__((weak))
+#endif
+#ifndef __PACKED
+ #define __PACKED __attribute__((packed, aligned(1)))
+#endif
+#ifndef __PACKED_STRUCT
+ #define __PACKED_STRUCT struct __attribute__((packed, aligned(1)))
+#endif
+#ifndef __PACKED_UNION
+ #define __PACKED_UNION union __attribute__((packed, aligned(1)))
+#endif
+#ifndef __UNALIGNED_UINT32 /* deprecated */
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wpacked"
+ #pragma GCC diagnostic ignored "-Wattributes"
+ struct __attribute__((packed)) T_UINT32 { uint32_t v; };
+ #pragma GCC diagnostic pop
+ #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+#endif
+#ifndef __UNALIGNED_UINT16_WRITE
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wpacked"
+ #pragma GCC diagnostic ignored "-Wattributes"
+ __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
+ #pragma GCC diagnostic pop
+ #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))->v) = (val))
+#endif
+#ifndef __UNALIGNED_UINT16_READ
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wpacked"
+ #pragma GCC diagnostic ignored "-Wattributes"
+ __PACKED_STRUCT T_UINT16_READ { uint16_t v; };
+ #pragma GCC diagnostic pop
+ #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(addr))->v)
+#endif
+#ifndef __UNALIGNED_UINT32_WRITE
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wpacked"
+ #pragma GCC diagnostic ignored "-Wattributes"
+ __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
+ #pragma GCC diagnostic pop
+ #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))->v) = (val))
+#endif
+#ifndef __UNALIGNED_UINT32_READ
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wpacked"
+ #pragma GCC diagnostic ignored "-Wattributes"
+ __PACKED_STRUCT T_UINT32_READ { uint32_t v; };
+ #pragma GCC diagnostic pop
+ #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(addr))->v)
+#endif
+#ifndef __ALIGNED
+ #define __ALIGNED(x) __attribute__((aligned(x)))
+#endif
+#ifndef __RESTRICT
+ #define __RESTRICT __restrict
+#endif
+#ifndef __COMPILER_BARRIER
+ #define __COMPILER_BARRIER() __ASM volatile("":::"memory")
+#endif
+
+/* ######################### Startup and Lowlevel Init ######################## */
+
+#ifndef __PROGRAM_START
+
+/**
+ \brief Initializes data and bss sections
+ \details This default implementations initialized all data and additional bss
+ sections relying on .copy.table and .zero.table specified properly
+ in the used linker script.
+
+ */
+__STATIC_FORCEINLINE __NO_RETURN void __cmsis_start(void)
+{
+ // extern void _start(void) __NO_RETURN;
+ extern int entry();
+
+ typedef struct {
+ uint32_t const* src;
+ uint32_t* dest;
+ uint32_t wlen;
+ } __copy_table_t;
+
+ typedef struct {
+ uint32_t* dest;
+ uint32_t wlen;
+ } __zero_table_t;
+
+ extern const __copy_table_t __copy_table_start__;
+ extern const __copy_table_t __copy_table_end__;
+ extern const __zero_table_t __zero_table_start__;
+ extern const __zero_table_t __zero_table_end__;
+
+ for (__copy_table_t const* pTable = &__copy_table_start__; pTable < &__copy_table_end__; ++pTable) {
+ for(uint32_t i=0u; i<pTable->wlen; ++i) {
+ pTable->dest[i] = pTable->src[i];
+ }
+ }
+
+ for (__zero_table_t const* pTable = &__zero_table_start__; pTable < &__zero_table_end__; ++pTable) {
+ for(uint32_t i=0u; i<pTable->wlen; ++i) {
+ pTable->dest[i] = 0u;
+ }
+ }
+
+ entry();
+ // _start();
+}
+
+#define __PROGRAM_START __cmsis_start
+#endif
+
+#ifndef __INITIAL_SP
+#define __INITIAL_SP __StackTop
+#endif
+
+#ifndef __STACK_LIMIT
+#define __STACK_LIMIT __StackLimit
+#endif
+
+#ifndef __VECTOR_TABLE
+#define __VECTOR_TABLE __Vectors
+#endif
+
+#ifndef __VECTOR_TABLE_ATTRIBUTE
+#define __VECTOR_TABLE_ATTRIBUTE __attribute__((used, section(".vectors")))
+#endif
+
+#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
+#ifndef __STACK_SEAL
+#define __STACK_SEAL __StackSeal
+#endif
+
+#ifndef __TZ_STACK_SEAL_SIZE
+#define __TZ_STACK_SEAL_SIZE 8U
+#endif
+
+#ifndef __TZ_STACK_SEAL_VALUE
+#define __TZ_STACK_SEAL_VALUE 0xFEF5EDA5FEF5EDA5ULL
+#endif
+
+
+__STATIC_FORCEINLINE void __TZ_set_STACKSEAL_S (uint32_t* stackTop) {
+ *((uint64_t *)stackTop) = __TZ_STACK_SEAL_VALUE;
+}
+#endif
+
+
+/* ########################## Core Instruction Access ######################### */
+/** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface
+ Access to dedicated instructions
+ @{
+*/
+
+/* Define macros for porting to both thumb1 and thumb2.
+ * For thumb1, use low register (r0-r7), specified by constraint "l"
+ * Otherwise, use general registers, specified by constraint "r" */
+#if defined (__thumb__) && !defined (__thumb2__)
+#define __CMSIS_GCC_OUT_REG(r) "=l" (r)
+#define __CMSIS_GCC_RW_REG(r) "+l" (r)
+#define __CMSIS_GCC_USE_REG(r) "l" (r)
+#else
+#define __CMSIS_GCC_OUT_REG(r) "=r" (r)
+#define __CMSIS_GCC_RW_REG(r) "+r" (r)
+#define __CMSIS_GCC_USE_REG(r) "r" (r)
+#endif
+
+/**
+ \brief No Operation
+ \details No Operation does nothing. This instruction can be used for code alignment purposes.
+ */
+#define __NOP() __ASM volatile ("nop")
+
+/**
+ \brief Wait For Interrupt
+ \details Wait For Interrupt is a hint instruction that suspends execution until one of a number of events occurs.
+ */
+#define __WFI() __ASM volatile ("wfi":::"memory")
+
+
+/**
+ \brief Wait For Event
+ \details Wait For Event is a hint instruction that permits the processor to enter
+ a low-power state until one of a number of events occurs.
+ */
+#define __WFE() __ASM volatile ("wfe":::"memory")
+
+
+/**
+ \brief Send Event
+ \details Send Event is a hint instruction. It causes an event to be signaled to the CPU.
+ */
+#define __SEV() __ASM volatile ("sev")
+
+
+/**
+ \brief Instruction Synchronization Barrier
+ \details Instruction Synchronization Barrier flushes the pipeline in the processor,
+ so that all instructions following the ISB are fetched from cache or memory,
+ after the instruction has been completed.
+ */
+__STATIC_FORCEINLINE void __ISB(void)
+{
+ __ASM volatile ("isb 0xF":::"memory");
+}
+
+
+/**
+ \brief Data Synchronization Barrier
+ \details Acts as a special kind of Data Memory Barrier.
+ It completes when all explicit memory accesses before this instruction complete.
+ */
+__STATIC_FORCEINLINE void __DSB(void)
+{
+ __ASM volatile ("dsb 0xF":::"memory");
+}
+
+
+/**
+ \brief Data Memory Barrier
+ \details Ensures the apparent order of the explicit memory operations before
+ and after the instruction, without ensuring their completion.
+ */
+__STATIC_FORCEINLINE void __DMB(void)
+{
+ __ASM volatile ("dmb 0xF":::"memory");
+}
+
+
+/**
+ \brief Reverse byte order (32 bit)
+ \details Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x78563412.
+ \param [in] value Value to reverse
+ \return Reversed value
+ */
+__STATIC_FORCEINLINE uint32_t __REV(uint32_t value)
+{
+#if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)
+ return __builtin_bswap32(value);
+#else
+ uint32_t result;
+
+ __ASM ("rev %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
+ return result;
+#endif
+}
+
+
+/**
+ \brief Reverse byte order (16 bit)
+ \details Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes 0x34127856.
+ \param [in] value Value to reverse
+ \return Reversed value
+ */
+__STATIC_FORCEINLINE uint32_t __REV16(uint32_t value)
+{
+ uint32_t result;
+
+ __ASM ("rev16 %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
+ return result;
+}
+
+
+/**
+ \brief Reverse byte order (16 bit)
+ \details Reverses the byte order in a 16-bit value and returns the signed 16-bit result. For example, 0x0080 becomes 0x8000.
+ \param [in] value Value to reverse
+ \return Reversed value
+ */
+__STATIC_FORCEINLINE int16_t __REVSH(int16_t value)
+{
+#if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
+ return (int16_t)__builtin_bswap16(value);
+#else
+ int16_t result;
+
+ __ASM ("revsh %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
+ return result;
+#endif
+}
+
+
+/**
+ \brief Rotate Right in unsigned value (32 bit)
+ \details Rotate Right (immediate) provides the value of the contents of a register rotated by a variable number of bits.
+ \param [in] op1 Value to rotate
+ \param [in] op2 Number of Bits to rotate
+ \return Rotated value
+ */
+__STATIC_FORCEINLINE uint32_t __ROR(uint32_t op1, uint32_t op2)
+{
+ op2 %= 32U;
+ if (op2 == 0U)
+ {
+ return op1;
+ }
+ return (op1 >> op2) | (op1 << (32U - op2));
+}
+
+
+/**
+ \brief Breakpoint
+ \details Causes the processor to enter Debug state.
+ Debug tools can use this to investigate system state when the instruction at a particular address is reached.
+ \param [in] value is ignored by the processor.
+ If required, a debugger can use it to store additional information about the breakpoint.
+ */
+#define __BKPT(value) __ASM volatile ("bkpt "#value)
+
+
+/**
+ \brief Reverse bit order of value
+ \details Reverses the bit order of the given value.
+ \param [in] value Value to reverse
+ \return Reversed value
+ */
+__STATIC_FORCEINLINE uint32_t __RBIT(uint32_t value)
+{
+ uint32_t result;
+
+#if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
+ (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
+ (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) )
+ __ASM ("rbit %0, %1" : "=r" (result) : "r" (value) );
+#else
+ uint32_t s = (4U /*sizeof(v)*/ * 8U) - 1U; /* extra shift needed at end */
+
+ result = value; /* r will be reversed bits of v; first get LSB of v */
+ for (value >>= 1U; value != 0U; value >>= 1U)
+ {
+ result <<= 1U;
+ result |= value & 1U;
+ s--;
+ }
+ result <<= s; /* shift when v's highest bits are zero */
+#endif
+ return result;
+}
+
+
+/**
+ \brief Count leading zeros
+ \details Counts the number of leading zeros of a data value.
+ \param [in] value Value to count the leading zeros
+ \return number of leading zeros in value
+ */
+__STATIC_FORCEINLINE uint8_t __CLZ(uint32_t value)
+{
+ /* Even though __builtin_clz produces a CLZ instruction on ARM, formally
+ __builtin_clz(0) is undefined behaviour, so handle this case specially.
+ This guarantees ARM-compatible results if happening to compile on a non-ARM
+ target, and ensures the compiler doesn't decide to activate any
+ optimisations using the logic "value was passed to __builtin_clz, so it
+ is non-zero".
+ ARM GCC 7.3 and possibly earlier will optimise this test away, leaving a
+ single CLZ instruction.
+ */
+ if (value == 0U)
+ {
+ return 32U;
+ }
+ return __builtin_clz(value);
+}
+
+
+#if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
+ (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
+ (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
+ (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) )
+/**
+ \brief LDR Exclusive (8 bit)
+ \details Executes a exclusive LDR instruction for 8 bit value.
+ \param [in] ptr Pointer to data
+ \return value of type uint8_t at (*ptr)
+ */
+__STATIC_FORCEINLINE uint8_t __LDREXB(volatile uint8_t *addr)
+{
+ uint32_t result;
+
+#if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
+ __ASM volatile ("ldrexb %0, %1" : "=r" (result) : "Q" (*addr) );
+#else
+ /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not
+ accepted by assembler. So has to use following less efficient pattern.
+ */
+ __ASM volatile ("ldrexb %0, [%1]" : "=r" (result) : "r" (addr) : "memory" );
+#endif
+ return ((uint8_t) result); /* Add explicit type cast here */
+}
+
+
+/**
+ \brief LDR Exclusive (16 bit)
+ \details Executes a exclusive LDR instruction for 16 bit values.
+ \param [in] ptr Pointer to data
+ \return value of type uint16_t at (*ptr)
+ */
+__STATIC_FORCEINLINE uint16_t __LDREXH(volatile uint16_t *addr)
+{
+ uint32_t result;
+
+#if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
+ __ASM volatile ("ldrexh %0, %1" : "=r" (result) : "Q" (*addr) );
+#else
+ /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not
+ accepted by assembler. So has to use following less efficient pattern.
+ */
+ __ASM volatile ("ldrexh %0, [%1]" : "=r" (result) : "r" (addr) : "memory" );
+#endif
+ return ((uint16_t) result); /* Add explicit type cast here */
+}
+
+
+/**
+ \brief LDR Exclusive (32 bit)
+ \details Executes a exclusive LDR instruction for 32 bit values.
+ \param [in] ptr Pointer to data
+ \return value of type uint32_t at (*ptr)
+ */
+__STATIC_FORCEINLINE uint32_t __LDREXW(volatile uint32_t *addr)
+{
+ uint32_t result;
+
+ __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) );
+ return(result);
+}
+
+
+/**
+ \brief STR Exclusive (8 bit)
+ \details Executes a exclusive STR instruction for 8 bit values.
+ \param [in] value Value to store
+ \param [in] ptr Pointer to location
+ \return 0 Function succeeded
+ \return 1 Function failed
+ */
+__STATIC_FORCEINLINE uint32_t __STREXB(uint8_t value, volatile uint8_t *addr)
+{
+ uint32_t result;
+
+ __ASM volatile ("strexb %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" ((uint32_t)value) );
+ return(result);
+}
+
+
+/**
+ \brief STR Exclusive (16 bit)
+ \details Executes a exclusive STR instruction for 16 bit values.
+ \param [in] value Value to store
+ \param [in] ptr Pointer to location
+ \return 0 Function succeeded
+ \return 1 Function failed
+ */
+__STATIC_FORCEINLINE uint32_t __STREXH(uint16_t value, volatile uint16_t *addr)
+{
+ uint32_t result;
+
+ __ASM volatile ("strexh %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" ((uint32_t)value) );
+ return(result);
+}
+
+
+/**
+ \brief STR Exclusive (32 bit)
+ \details Executes a exclusive STR instruction for 32 bit values.
+ \param [in] value Value to store
+ \param [in] ptr Pointer to location
+ \return 0 Function succeeded
+ \return 1 Function failed
+ */
+__STATIC_FORCEINLINE uint32_t __STREXW(uint32_t value, volatile uint32_t *addr)
+{
+ uint32_t result;
+
+ __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) );
+ return(result);
+}
+
+
+/**
+ \brief Remove the exclusive lock
+ \details Removes the exclusive lock which is created by LDREX.
+ */
+__STATIC_FORCEINLINE void __CLREX(void)
+{
+ __ASM volatile ("clrex" ::: "memory");
+}
+
+#endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
+ (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
+ (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
+ (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) */
+
+
+#if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
+ (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
+ (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) )
+/**
+ \brief Signed Saturate
+ \details Saturates a signed value.
+ \param [in] ARG1 Value to be saturated
+ \param [in] ARG2 Bit position to saturate to (1..32)
+ \return Saturated value
+ */
+#define __SSAT(ARG1, ARG2) \
+__extension__ \
+({ \
+ int32_t __RES, __ARG1 = (ARG1); \
+ __ASM volatile ("ssat %0, %1, %2" : "=r" (__RES) : "I" (ARG2), "r" (__ARG1) : "cc" ); \
+ __RES; \
+ })
+
+
+/**
+ \brief Unsigned Saturate
+ \details Saturates an unsigned value.
+ \param [in] ARG1 Value to be saturated
+ \param [in] ARG2 Bit position to saturate to (0..31)
+ \return Saturated value
+ */
+#define __USAT(ARG1, ARG2) \
+__extension__ \
+({ \
+ uint32_t __RES, __ARG1 = (ARG1); \
+ __ASM volatile ("usat %0, %1, %2" : "=r" (__RES) : "I" (ARG2), "r" (__ARG1) : "cc" ); \
+ __RES; \
+ })
+
+
+/**
+ \brief Rotate Right with Extend (32 bit)
+ \details Moves each bit of a bitstring right by one bit.
+ The carry input is shifted in at the left end of the bitstring.
+ \param [in] value Value to rotate
+ \return Rotated value
+ */
+__STATIC_FORCEINLINE uint32_t __RRX(uint32_t value)
+{
+ uint32_t result;
+
+ __ASM volatile ("rrx %0, %1" : __CMSIS_GCC_OUT_REG (result) : __CMSIS_GCC_USE_REG (value) );
+ return(result);
+}
+
+
+/**
+ \brief LDRT Unprivileged (8 bit)
+ \details Executes a Unprivileged LDRT instruction for 8 bit value.
+ \param [in] ptr Pointer to data
+ \return value of type uint8_t at (*ptr)
+ */
+__STATIC_FORCEINLINE uint8_t __LDRBT(volatile uint8_t *ptr)
+{
+ uint32_t result;
+
+#if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
+ __ASM volatile ("ldrbt %0, %1" : "=r" (result) : "Q" (*ptr) );
+#else
+ /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not
+ accepted by assembler. So has to use following less efficient pattern.
+ */
+ __ASM volatile ("ldrbt %0, [%1]" : "=r" (result) : "r" (ptr) : "memory" );
+#endif
+ return ((uint8_t) result); /* Add explicit type cast here */
+}
+
+
+/**
+ \brief LDRT Unprivileged (16 bit)
+ \details Executes a Unprivileged LDRT instruction for 16 bit values.
+ \param [in] ptr Pointer to data
+ \return value of type uint16_t at (*ptr)
+ */
+__STATIC_FORCEINLINE uint16_t __LDRHT(volatile uint16_t *ptr)
+{
+ uint32_t result;
+
+#if (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
+ __ASM volatile ("ldrht %0, %1" : "=r" (result) : "Q" (*ptr) );
+#else
+ /* Prior to GCC 4.8, "Q" will be expanded to [rx, #0] which is not
+ accepted by assembler. So has to use following less efficient pattern.
+ */
+ __ASM volatile ("ldrht %0, [%1]" : "=r" (result) : "r" (ptr) : "memory" );
+#endif
+ return ((uint16_t) result); /* Add explicit type cast here */
+}
+
+
+/**
+ \brief LDRT Unprivileged (32 bit)
+ \details Executes a Unprivileged LDRT instruction for 32 bit values.
+ \param [in] ptr Pointer to data
+ \return value of type uint32_t at (*ptr)
+ */
+__STATIC_FORCEINLINE uint32_t __LDRT(volatile uint32_t *ptr)
+{
+ uint32_t result;
+
+ __ASM volatile ("ldrt %0, %1" : "=r" (result) : "Q" (*ptr) );
+ return(result);
+}
+
+
+/**
+ \brief STRT Unprivileged (8 bit)
+ \details Executes a Unprivileged STRT instruction for 8 bit values.
+ \param [in] value Value to store
+ \param [in] ptr Pointer to location
+ */
+__STATIC_FORCEINLINE void __STRBT(uint8_t value, volatile uint8_t *ptr)
+{
+ __ASM volatile ("strbt %1, %0" : "=Q" (*ptr) : "r" ((uint32_t)value) );
+}
+
+
+/**
+ \brief STRT Unprivileged (16 bit)
+ \details Executes a Unprivileged STRT instruction for 16 bit values.
+ \param [in] value Value to store
+ \param [in] ptr Pointer to location
+ */
+__STATIC_FORCEINLINE void __STRHT(uint16_t value, volatile uint16_t *ptr)
+{
+ __ASM volatile ("strht %1, %0" : "=Q" (*ptr) : "r" ((uint32_t)value) );
+}
+
+
+/**
+ \brief STRT Unprivileged (32 bit)
+ \details Executes a Unprivileged STRT instruction for 32 bit values.
+ \param [in] value Value to store
+ \param [in] ptr Pointer to location
+ */
+__STATIC_FORCEINLINE void __STRT(uint32_t value, volatile uint32_t *ptr)
+{
+ __ASM volatile ("strt %1, %0" : "=Q" (*ptr) : "r" (value) );
+}
+
+#else /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
+ (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
+ (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) */
+
+/**
+ \brief Signed Saturate
+ \details Saturates a signed value.
+ \param [in] value Value to be saturated
+ \param [in] sat Bit position to saturate to (1..32)
+ \return Saturated value
+ */
+__STATIC_FORCEINLINE int32_t __SSAT(int32_t val, uint32_t sat)
+{
+ if ((sat >= 1U) && (sat <= 32U))
+ {
+ const int32_t max = (int32_t)((1U << (sat - 1U)) - 1U);
+ const int32_t min = -1 - max ;
+ if (val > max)
+ {
+ return max;
+ }
+ else if (val < min)
+ {
+ return min;
+ }
+ }
+ return val;
+}
+
+/**
+ \brief Unsigned Saturate
+ \details Saturates an unsigned value.
+ \param [in] value Value to be saturated
+ \param [in] sat Bit position to saturate to (0..31)
+ \return Saturated value
+ */
+__STATIC_FORCEINLINE uint32_t __USAT(int32_t val, uint32_t sat)
+{
+ if (sat <= 31U)
+ {
+ const uint32_t max = ((1U << sat) - 1U);
+ if (val > (int32_t)max)
+ {
+ return max;
+ }
+ else if (val < 0)
+ {
+ return 0U;
+ }
+ }
+ return (uint32_t)val;
+}
+
+#endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
+ (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
+ (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) */
+
+
+#if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
+ (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) )
+/**
+ \brief Load-Acquire (8 bit)
+ \details Executes a LDAB instruction for 8 bit value.
+ \param [in] ptr Pointer to data
+ \return value of type uint8_t at (*ptr)
+ */
+__STATIC_FORCEINLINE uint8_t __LDAB(volatile uint8_t *ptr)
+{
+ uint32_t result;
+
+ __ASM volatile ("ldab %0, %1" : "=r" (result) : "Q" (*ptr) : "memory" );
+ return ((uint8_t) result);
+}
+
+
+/**
+ \brief Load-Acquire (16 bit)
+ \details Executes a LDAH instruction for 16 bit values.
+ \param [in] ptr Pointer to data
+ \return value of type uint16_t at (*ptr)
+ */
+__STATIC_FORCEINLINE uint16_t __LDAH(volatile uint16_t *ptr)
+{
+ uint32_t result;
+
+ __ASM volatile ("ldah %0, %1" : "=r" (result) : "Q" (*ptr) : "memory" );
+ return ((uint16_t) result);
+}
+
+
+/**
+ \brief Load-Acquire (32 bit)
+ \details Executes a LDA instruction for 32 bit values.
+ \param [in] ptr Pointer to data
+ \return value of type uint32_t at (*ptr)
+ */
+__STATIC_FORCEINLINE uint32_t __LDA(volatile uint32_t *ptr)
+{
+ uint32_t result;
+
+ __ASM volatile ("lda %0, %1" : "=r" (result) : "Q" (*ptr) : "memory" );
+ return(result);
+}
+
+
+/**
+ \brief Store-Release (8 bit)
+ \details Executes a STLB instruction for 8 bit values.
+ \param [in] value Value to store
+ \param [in] ptr Pointer to location
+ */
+__STATIC_FORCEINLINE void __STLB(uint8_t value, volatile uint8_t *ptr)
+{
+ __ASM volatile ("stlb %1, %0" : "=Q" (*ptr) : "r" ((uint32_t)value) : "memory" );
+}
+
+
+/**
+ \brief Store-Release (16 bit)
+ \details Executes a STLH instruction for 16 bit values.
+ \param [in] value Value to store
+ \param [in] ptr Pointer to location
+ */
+__STATIC_FORCEINLINE void __STLH(uint16_t value, volatile uint16_t *ptr)
+{
+ __ASM volatile ("stlh %1, %0" : "=Q" (*ptr) : "r" ((uint32_t)value) : "memory" );
+}
+
+
+/**
+ \brief Store-Release (32 bit)
+ \details Executes a STL instruction for 32 bit values.
+ \param [in] value Value to store
+ \param [in] ptr Pointer to location
+ */
+__STATIC_FORCEINLINE void __STL(uint32_t value, volatile uint32_t *ptr)
+{
+ __ASM volatile ("stl %1, %0" : "=Q" (*ptr) : "r" ((uint32_t)value) : "memory" );
+}
+
+
+/**
+ \brief Load-Acquire Exclusive (8 bit)
+ \details Executes a LDAB exclusive instruction for 8 bit value.
+ \param [in] ptr Pointer to data
+ \return value of type uint8_t at (*ptr)
+ */
+__STATIC_FORCEINLINE uint8_t __LDAEXB(volatile uint8_t *ptr)
+{
+ uint32_t result;
+
+ __ASM volatile ("ldaexb %0, %1" : "=r" (result) : "Q" (*ptr) : "memory" );
+ return ((uint8_t) result);
+}
+
+
+/**
+ \brief Load-Acquire Exclusive (16 bit)
+ \details Executes a LDAH exclusive instruction for 16 bit values.
+ \param [in] ptr Pointer to data
+ \return value of type uint16_t at (*ptr)
+ */
+__STATIC_FORCEINLINE uint16_t __LDAEXH(volatile uint16_t *ptr)
+{
+ uint32_t result;
+
+ __ASM volatile ("ldaexh %0, %1" : "=r" (result) : "Q" (*ptr) : "memory" );
+ return ((uint16_t) result);
+}
+
+
+/**
+ \brief Load-Acquire Exclusive (32 bit)
+ \details Executes a LDA exclusive instruction for 32 bit values.
+ \param [in] ptr Pointer to data
+ \return value of type uint32_t at (*ptr)
+ */
+__STATIC_FORCEINLINE uint32_t __LDAEX(volatile uint32_t *ptr)
+{
+ uint32_t result;
+
+ __ASM volatile ("ldaex %0, %1" : "=r" (result) : "Q" (*ptr) : "memory" );
+ return(result);
+}
+
+
+/**
+ \brief Store-Release Exclusive (8 bit)
+ \details Executes a STLB exclusive instruction for 8 bit values.
+ \param [in] value Value to store
+ \param [in] ptr Pointer to location
+ \return 0 Function succeeded
+ \return 1 Function failed
+ */
+__STATIC_FORCEINLINE uint32_t __STLEXB(uint8_t value, volatile uint8_t *ptr)
+{
+ uint32_t result;
+
+ __ASM volatile ("stlexb %0, %2, %1" : "=&r" (result), "=Q" (*ptr) : "r" ((uint32_t)value) : "memory" );
+ return(result);
+}
+
+
+/**
+ \brief Store-Release Exclusive (16 bit)
+ \details Executes a STLH exclusive instruction for 16 bit values.
+ \param [in] value Value to store
+ \param [in] ptr Pointer to location
+ \return 0 Function succeeded
+ \return 1 Function failed
+ */
+__STATIC_FORCEINLINE uint32_t __STLEXH(uint16_t value, volatile uint16_t *ptr)
+{
+ uint32_t result;
+
+ __ASM volatile ("stlexh %0, %2, %1" : "=&r" (result), "=Q" (*ptr) : "r" ((uint32_t)value) : "memory" );
+ return(result);
+}
+
+
+/**
+ \brief Store-Release Exclusive (32 bit)
+ \details Executes a STL exclusive instruction for 32 bit values.
+ \param [in] value Value to store
+ \param [in] ptr Pointer to location
+ \return 0 Function succeeded
+ \return 1 Function failed
+ */
+__STATIC_FORCEINLINE uint32_t __STLEX(uint32_t value, volatile uint32_t *ptr)
+{
+ uint32_t result;
+
+ __ASM volatile ("stlex %0, %2, %1" : "=&r" (result), "=Q" (*ptr) : "r" ((uint32_t)value) : "memory" );
+ return(result);
+}
+
+#endif /* ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
+ (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) */
+
+/*@}*/ /* end of group CMSIS_Core_InstructionInterface */
+
+
+/* ########################### Core Function Access ########################### */
+/** \ingroup CMSIS_Core_FunctionInterface
+ \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions
+ @{
+ */
+
+/**
+ \brief Enable IRQ Interrupts
+ \details Enables IRQ interrupts by clearing special-purpose register PRIMASK.
+ Can only be executed in Privileged modes.
+ */
+__STATIC_FORCEINLINE void __enable_irq(void)
+{
+ __ASM volatile ("cpsie i" : : : "memory");
+}
+
+
+/**
+ \brief Disable IRQ Interrupts
+ \details Disables IRQ interrupts by setting special-purpose register PRIMASK.
+ Can only be executed in Privileged modes.
+ */
+__STATIC_FORCEINLINE void __disable_irq(void)
+{
+ __ASM volatile ("cpsid i" : : : "memory");
+}
+
+
+/**
+ \brief Get Control Register
+ \details Returns the content of the Control Register.
+ \return Control Register value
+ */
+__STATIC_FORCEINLINE uint32_t __get_CONTROL(void)
+{
+ uint32_t result;
+
+ __ASM volatile ("MRS %0, control" : "=r" (result) );
+ return(result);
+}
+
+
+#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
+/**
+ \brief Get Control Register (non-secure)
+ \details Returns the content of the non-secure Control Register when in secure mode.
+ \return non-secure Control Register value
+ */
+__STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void)
+{
+ uint32_t result;
+
+ __ASM volatile ("MRS %0, control_ns" : "=r" (result) );
+ return(result);
+}
+#endif
+
+
+/**
+ \brief Set Control Register
+ \details Writes the given value to the Control Register.
+ \param [in] control Control Register value to set
+ */
+__STATIC_FORCEINLINE void __set_CONTROL(uint32_t control)
+{
+ __ASM volatile ("MSR control, %0" : : "r" (control) : "memory");
+ __ISB();
+}
+
+
+#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
+/**
+ \brief Set Control Register (non-secure)
+ \details Writes the given value to the non-secure Control Register when in secure state.
+ \param [in] control Control Register value to set
+ */
+__STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control)
+{
+ __ASM volatile ("MSR control_ns, %0" : : "r" (control) : "memory");
+ __ISB();
+}
+#endif
+
+
+/**
+ \brief Get IPSR Register
+ \details Returns the content of the IPSR Register.
+ \return IPSR Register value
+ */
+__STATIC_FORCEINLINE uint32_t __get_IPSR(void)
+{
+ uint32_t result;
+
+ __ASM volatile ("MRS %0, ipsr" : "=r" (result) );
+ return(result);
+}
+
+
+/**
+ \brief Get APSR Register
+ \details Returns the content of the APSR Register.
+ \return APSR Register value
+ */
+__STATIC_FORCEINLINE uint32_t __get_APSR(void)
+{
+ uint32_t result;
+
+ __ASM volatile ("MRS %0, apsr" : "=r" (result) );
+ return(result);
+}
+
+
+/**
+ \brief Get xPSR Register
+ \details Returns the content of the xPSR Register.
+ \return xPSR Register value
+ */
+__STATIC_FORCEINLINE uint32_t __get_xPSR(void)
+{
+ uint32_t result;
+
+ __ASM volatile ("MRS %0, xpsr" : "=r" (result) );
+ return(result);
+}
+
+
+/**
+ \brief Get Process Stack Pointer
+ \details Returns the current value of the Process Stack Pointer (PSP).
+ \return PSP Register value
+ */
+__STATIC_FORCEINLINE uint32_t __get_PSP(void)
+{
+ uint32_t result;
+
+ __ASM volatile ("MRS %0, psp" : "=r" (result) );
+ return(result);
+}
+
+
+#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
+/**
+ \brief Get Process Stack Pointer (non-secure)
+ \details Returns the current value of the non-secure Process Stack Pointer (PSP) when in secure state.
+ \return PSP Register value
+ */
+__STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void)
+{
+ uint32_t result;
+
+ __ASM volatile ("MRS %0, psp_ns" : "=r" (result) );
+ return(result);
+}
+#endif
+
+
+/**
+ \brief Set Process Stack Pointer
+ \details Assigns the given value to the Process Stack Pointer (PSP).
+ \param [in] topOfProcStack Process Stack Pointer value to set
+ */
+__STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack)
+{
+ __ASM volatile ("MSR psp, %0" : : "r" (topOfProcStack) : );
+}
+
+
+#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
+/**
+ \brief Set Process Stack Pointer (non-secure)
+ \details Assigns the given value to the non-secure Process Stack Pointer (PSP) when in secure state.
+ \param [in] topOfProcStack Process Stack Pointer value to set
+ */
+__STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack)
+{
+ __ASM volatile ("MSR psp_ns, %0" : : "r" (topOfProcStack) : );
+}
+#endif
+
+
+/**
+ \brief Get Main Stack Pointer
+ \details Returns the current value of the Main Stack Pointer (MSP).
+ \return MSP Register value
+ */
+__STATIC_FORCEINLINE uint32_t __get_MSP(void)
+{
+ uint32_t result;
+
+ __ASM volatile ("MRS %0, msp" : "=r" (result) );
+ return(result);
+}
+
+
+#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
+/**
+ \brief Get Main Stack Pointer (non-secure)
+ \details Returns the current value of the non-secure Main Stack Pointer (MSP) when in secure state.
+ \return MSP Register value
+ */
+__STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void)
+{
+ uint32_t result;
+
+ __ASM volatile ("MRS %0, msp_ns" : "=r" (result) );
+ return(result);
+}
+#endif
+
+
+/**
+ \brief Set Main Stack Pointer
+ \details Assigns the given value to the Main Stack Pointer (MSP).
+ \param [in] topOfMainStack Main Stack Pointer value to set
+ */
+__STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack)
+{
+ __ASM volatile ("MSR msp, %0" : : "r" (topOfMainStack) : );
+}
+
+
+#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
+/**
+ \brief Set Main Stack Pointer (non-secure)
+ \details Assigns the given value to the non-secure Main Stack Pointer (MSP) when in secure state.
+ \param [in] topOfMainStack Main Stack Pointer value to set
+ */
+__STATIC_FORCEINLINE void __TZ_set_MSP_NS(uint32_t topOfMainStack)
+{
+ __ASM volatile ("MSR msp_ns, %0" : : "r" (topOfMainStack) : );
+}
+#endif
+
+
+#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
+/**
+ \brief Get Stack Pointer (non-secure)
+ \details Returns the current value of the non-secure Stack Pointer (SP) when in secure state.
+ \return SP Register value
+ */
+__STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void)
+{
+ uint32_t result;
+
+ __ASM volatile ("MRS %0, sp_ns" : "=r" (result) );
+ return(result);
+}
+
+
+/**
+ \brief Set Stack Pointer (non-secure)
+ \details Assigns the given value to the non-secure Stack Pointer (SP) when in secure state.
+ \param [in] topOfStack Stack Pointer value to set
+ */
+__STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack)
+{
+ __ASM volatile ("MSR sp_ns, %0" : : "r" (topOfStack) : );
+}
+#endif
+
+
+/**
+ \brief Get Priority Mask
+ \details Returns the current state of the priority mask bit from the Priority Mask Register.
+ \return Priority Mask value
+ */
+__STATIC_FORCEINLINE uint32_t __get_PRIMASK(void)
+{
+ uint32_t result;
+
+ __ASM volatile ("MRS %0, primask" : "=r" (result) );
+ return(result);
+}
+
+
+#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
+/**
+ \brief Get Priority Mask (non-secure)
+ \details Returns the current state of the non-secure priority mask bit from the Priority Mask Register when in secure state.
+ \return Priority Mask value
+ */
+__STATIC_FORCEINLINE uint32_t __TZ_get_PRIMASK_NS(void)
+{
+ uint32_t result;
+
+ __ASM volatile ("MRS %0, primask_ns" : "=r" (result) );
+ return(result);
+}
+#endif
+
+
+/**
+ \brief Set Priority Mask
+ \details Assigns the given value to the Priority Mask Register.
+ \param [in] priMask Priority Mask
+ */
+__STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask)
+{
+ __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory");
+}
+
+
+#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
+/**
+ \brief Set Priority Mask (non-secure)
+ \details Assigns the given value to the non-secure Priority Mask Register when in secure state.
+ \param [in] priMask Priority Mask
+ */
+__STATIC_FORCEINLINE void __TZ_set_PRIMASK_NS(uint32_t priMask)
+{
+ __ASM volatile ("MSR primask_ns, %0" : : "r" (priMask) : "memory");
+}
+#endif
+
+
+#if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
+ (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
+ (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) )
+/**
+ \brief Enable FIQ
+ \details Enables FIQ interrupts by clearing special-purpose register FAULTMASK.
+ Can only be executed in Privileged modes.
+ */
+__STATIC_FORCEINLINE void __enable_fault_irq(void)
+{
+ __ASM volatile ("cpsie f" : : : "memory");
+}
+
+
+/**
+ \brief Disable FIQ
+ \details Disables FIQ interrupts by setting special-purpose register FAULTMASK.
+ Can only be executed in Privileged modes.
+ */
+__STATIC_FORCEINLINE void __disable_fault_irq(void)
+{
+ __ASM volatile ("cpsid f" : : : "memory");
+}
+
+
+/**
+ \brief Get Base Priority
+ \details Returns the current value of the Base Priority register.
+ \return Base Priority register value
+ */
+__STATIC_FORCEINLINE uint32_t __get_BASEPRI(void)
+{
+ uint32_t result;
+
+ __ASM volatile ("MRS %0, basepri" : "=r" (result) );
+ return(result);
+}
+
+
+#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
+/**
+ \brief Get Base Priority (non-secure)
+ \details Returns the current value of the non-secure Base Priority register when in secure state.
+ \return Base Priority register value
+ */
+__STATIC_FORCEINLINE uint32_t __TZ_get_BASEPRI_NS(void)
+{
+ uint32_t result;
+
+ __ASM volatile ("MRS %0, basepri_ns" : "=r" (result) );
+ return(result);
+}
+#endif
+
+
+/**
+ \brief Set Base Priority
+ \details Assigns the given value to the Base Priority register.
+ \param [in] basePri Base Priority value to set
+ */
+__STATIC_FORCEINLINE void __set_BASEPRI(uint32_t basePri)
+{
+ __ASM volatile ("MSR basepri, %0" : : "r" (basePri) : "memory");
+}
+
+
+#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
+/**
+ \brief Set Base Priority (non-secure)
+ \details Assigns the given value to the non-secure Base Priority register when in secure state.
+ \param [in] basePri Base Priority value to set
+ */
+__STATIC_FORCEINLINE void __TZ_set_BASEPRI_NS(uint32_t basePri)
+{
+ __ASM volatile ("MSR basepri_ns, %0" : : "r" (basePri) : "memory");
+}
+#endif
+
+
+/**
+ \brief Set Base Priority with condition
+ \details Assigns the given value to the Base Priority register only if BASEPRI masking is disabled,
+ or the new value increases the BASEPRI priority level.
+ \param [in] basePri Base Priority value to set
+ */
+__STATIC_FORCEINLINE void __set_BASEPRI_MAX(uint32_t basePri)
+{
+ __ASM volatile ("MSR basepri_max, %0" : : "r" (basePri) : "memory");
+}
+
+
+/**
+ \brief Get Fault Mask
+ \details Returns the current value of the Fault Mask register.
+ \return Fault Mask register value
+ */
+__STATIC_FORCEINLINE uint32_t __get_FAULTMASK(void)
+{
+ uint32_t result;
+
+ __ASM volatile ("MRS %0, faultmask" : "=r" (result) );
+ return(result);
+}
+
+
+#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
+/**
+ \brief Get Fault Mask (non-secure)
+ \details Returns the current value of the non-secure Fault Mask register when in secure state.
+ \return Fault Mask register value
+ */
+__STATIC_FORCEINLINE uint32_t __TZ_get_FAULTMASK_NS(void)
+{
+ uint32_t result;
+
+ __ASM volatile ("MRS %0, faultmask_ns" : "=r" (result) );
+ return(result);
+}
+#endif
+
+
+/**
+ \brief Set Fault Mask
+ \details Assigns the given value to the Fault Mask register.
+ \param [in] faultMask Fault Mask value to set
+ */
+__STATIC_FORCEINLINE void __set_FAULTMASK(uint32_t faultMask)
+{
+ __ASM volatile ("MSR faultmask, %0" : : "r" (faultMask) : "memory");
+}
+
+
+#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
+/**
+ \brief Set Fault Mask (non-secure)
+ \details Assigns the given value to the non-secure Fault Mask register when in secure state.
+ \param [in] faultMask Fault Mask value to set
+ */
+__STATIC_FORCEINLINE void __TZ_set_FAULTMASK_NS(uint32_t faultMask)
+{
+ __ASM volatile ("MSR faultmask_ns, %0" : : "r" (faultMask) : "memory");
+}
+#endif
+
+#endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
+ (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
+ (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) */
+
+
+#if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
+ (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) )
+
+/**
+ \brief Get Process Stack Pointer Limit
+ Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
+ Stack Pointer Limit register hence zero is returned always in non-secure
+ mode.
+
+ \details Returns the current value of the Process Stack Pointer Limit (PSPLIM).
+ \return PSPLIM Register value
+ */
+__STATIC_FORCEINLINE uint32_t __get_PSPLIM(void)
+{
+#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
+ (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
+ // without main extensions, the non-secure PSPLIM is RAZ/WI
+ return 0U;
+#else
+ uint32_t result;
+ __ASM volatile ("MRS %0, psplim" : "=r" (result) );
+ return result;
+#endif
+}
+
+#if (defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3))
+/**
+ \brief Get Process Stack Pointer Limit (non-secure)
+ Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
+ Stack Pointer Limit register hence zero is returned always.
+
+ \details Returns the current value of the non-secure Process Stack Pointer Limit (PSPLIM) when in secure state.
+ \return PSPLIM Register value
+ */
+__STATIC_FORCEINLINE uint32_t __TZ_get_PSPLIM_NS(void)
+{
+#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
+ // without main extensions, the non-secure PSPLIM is RAZ/WI
+ return 0U;
+#else
+ uint32_t result;
+ __ASM volatile ("MRS %0, psplim_ns" : "=r" (result) );
+ return result;
+#endif
+}
+#endif
+
+
+/**
+ \brief Set Process Stack Pointer Limit
+ Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
+ Stack Pointer Limit register hence the write is silently ignored in non-secure
+ mode.
+
+ \details Assigns the given value to the Process Stack Pointer Limit (PSPLIM).
+ \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set
+ */
+__STATIC_FORCEINLINE void __set_PSPLIM(uint32_t ProcStackPtrLimit)
+{
+#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
+ (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
+ // without main extensions, the non-secure PSPLIM is RAZ/WI
+ (void)ProcStackPtrLimit;
+#else
+ __ASM volatile ("MSR psplim, %0" : : "r" (ProcStackPtrLimit));
+#endif
+}
+
+
+#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
+/**
+ \brief Set Process Stack Pointer (non-secure)
+ Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
+ Stack Pointer Limit register hence the write is silently ignored.
+
+ \details Assigns the given value to the non-secure Process Stack Pointer Limit (PSPLIM) when in secure state.
+ \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set
+ */
+__STATIC_FORCEINLINE void __TZ_set_PSPLIM_NS(uint32_t ProcStackPtrLimit)
+{
+#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
+ // without main extensions, the non-secure PSPLIM is RAZ/WI
+ (void)ProcStackPtrLimit;
+#else
+ __ASM volatile ("MSR psplim_ns, %0\n" : : "r" (ProcStackPtrLimit));
+#endif
+}
+#endif
+
+
+/**
+ \brief Get Main Stack Pointer Limit
+ Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
+ Stack Pointer Limit register hence zero is returned always in non-secure
+ mode.
+
+ \details Returns the current value of the Main Stack Pointer Limit (MSPLIM).
+ \return MSPLIM Register value
+ */
+__STATIC_FORCEINLINE uint32_t __get_MSPLIM(void)
+{
+#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
+ (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
+ // without main extensions, the non-secure MSPLIM is RAZ/WI
+ return 0U;
+#else
+ uint32_t result;
+ __ASM volatile ("MRS %0, msplim" : "=r" (result) );
+ return result;
+#endif
+}
+
+
+#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
+/**
+ \brief Get Main Stack Pointer Limit (non-secure)
+ Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
+ Stack Pointer Limit register hence zero is returned always.
+
+ \details Returns the current value of the non-secure Main Stack Pointer Limit(MSPLIM) when in secure state.
+ \return MSPLIM Register value
+ */
+__STATIC_FORCEINLINE uint32_t __TZ_get_MSPLIM_NS(void)
+{
+#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
+ // without main extensions, the non-secure MSPLIM is RAZ/WI
+ return 0U;
+#else
+ uint32_t result;
+ __ASM volatile ("MRS %0, msplim_ns" : "=r" (result) );
+ return result;
+#endif
+}
+#endif
+
+
+/**
+ \brief Set Main Stack Pointer Limit
+ Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
+ Stack Pointer Limit register hence the write is silently ignored in non-secure
+ mode.
+
+ \details Assigns the given value to the Main Stack Pointer Limit (MSPLIM).
+ \param [in] MainStackPtrLimit Main Stack Pointer Limit value to set
+ */
+__STATIC_FORCEINLINE void __set_MSPLIM(uint32_t MainStackPtrLimit)
+{
+#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
+ (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
+ // without main extensions, the non-secure MSPLIM is RAZ/WI
+ (void)MainStackPtrLimit;
+#else
+ __ASM volatile ("MSR msplim, %0" : : "r" (MainStackPtrLimit));
+#endif
+}
+
+
+#if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
+/**
+ \brief Set Main Stack Pointer Limit (non-secure)
+ Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
+ Stack Pointer Limit register hence the write is silently ignored.
+
+ \details Assigns the given value to the non-secure Main Stack Pointer Limit (MSPLIM) when in secure state.
+ \param [in] MainStackPtrLimit Main Stack Pointer value to set
+ */
+__STATIC_FORCEINLINE void __TZ_set_MSPLIM_NS(uint32_t MainStackPtrLimit)
+{
+#if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
+ // without main extensions, the non-secure MSPLIM is RAZ/WI
+ (void)MainStackPtrLimit;
+#else
+ __ASM volatile ("MSR msplim_ns, %0" : : "r" (MainStackPtrLimit));
+#endif
+}
+#endif
+
+#endif /* ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
+ (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) */
+
+
+/**
+ \brief Get FPSCR
+ \details Returns the current value of the Floating Point Status/Control register.
+ \return Floating Point Status/Control register value
+ */
+__STATIC_FORCEINLINE uint32_t __get_FPSCR(void)
+{
+#if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \
+ (defined (__FPU_USED ) && (__FPU_USED == 1U)) )
+#if __has_builtin(__builtin_arm_get_fpscr)
+// Re-enable using built-in when GCC has been fixed
+// || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2)
+ /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */
+ return __builtin_arm_get_fpscr();
+#else
+ uint32_t result;
+
+ __ASM volatile ("VMRS %0, fpscr" : "=r" (result) );
+ return(result);
+#endif
+#else
+ return(0U);
+#endif
+}
+
+
+/**
+ \brief Set FPSCR
+ \details Assigns the given value to the Floating Point Status/Control register.
+ \param [in] fpscr Floating Point Status/Control value to set
+ */
+__STATIC_FORCEINLINE void __set_FPSCR(uint32_t fpscr)
+{
+#if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \
+ (defined (__FPU_USED ) && (__FPU_USED == 1U)) )
+#if __has_builtin(__builtin_arm_set_fpscr)
+// Re-enable using built-in when GCC has been fixed
+// || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2)
+ /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */
+ __builtin_arm_set_fpscr(fpscr);
+#else
+ __ASM volatile ("VMSR fpscr, %0" : : "r" (fpscr) : "vfpcc", "memory");
+#endif
+#else
+ (void)fpscr;
+#endif
+}
+
+
+/*@} end of CMSIS_Core_RegAccFunctions */
+
+
+/* ################### Compiler specific Intrinsics ########################### */
+/** \defgroup CMSIS_SIMD_intrinsics CMSIS SIMD Intrinsics
+ Access to dedicated SIMD instructions
+ @{
+*/
+
+#if (defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1))
+
+__STATIC_FORCEINLINE uint32_t __SADD8(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM volatile ("sadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __QADD8(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM ("qadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __SHADD8(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM ("shadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __UADD8(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM volatile ("uadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __UQADD8(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM ("uqadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __UHADD8(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM ("uhadd8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+
+__STATIC_FORCEINLINE uint32_t __SSUB8(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM volatile ("ssub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __QSUB8(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM ("qsub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __SHSUB8(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM ("shsub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __USUB8(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM volatile ("usub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __UQSUB8(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM ("uqsub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __UHSUB8(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM ("uhsub8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+
+__STATIC_FORCEINLINE uint32_t __SADD16(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM volatile ("sadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __QADD16(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM ("qadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __SHADD16(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM ("shadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __UADD16(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM volatile ("uadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __UQADD16(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM ("uqadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __UHADD16(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM ("uhadd16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __SSUB16(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM volatile ("ssub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __QSUB16(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM ("qsub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __SHSUB16(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM ("shsub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __USUB16(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM volatile ("usub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __UQSUB16(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM ("uqsub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __UHSUB16(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM ("uhsub16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __SASX(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM volatile ("sasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __QASX(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM ("qasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __SHASX(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM ("shasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __UASX(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM volatile ("uasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __UQASX(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM ("uqasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __UHASX(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM ("uhasx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __SSAX(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM volatile ("ssax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __QSAX(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM ("qsax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __SHSAX(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM ("shsax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __USAX(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM volatile ("usax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __UQSAX(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM ("uqsax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __UHSAX(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM ("uhsax %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __USAD8(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM ("usad8 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __USADA8(uint32_t op1, uint32_t op2, uint32_t op3)
+{
+ uint32_t result;
+
+ __ASM ("usada8 %0, %1, %2, %3" : "=r" (result) : "r" (op1), "r" (op2), "r" (op3) );
+ return(result);
+}
+
+#define __SSAT16(ARG1, ARG2) \
+__extension__ \
+({ \
+ int32_t __RES, __ARG1 = (ARG1); \
+ __ASM volatile ("ssat16 %0, %1, %2" : "=r" (__RES) : "I" (ARG2), "r" (__ARG1) : "cc" ); \
+ __RES; \
+ })
+
+#define __USAT16(ARG1, ARG2) \
+__extension__ \
+({ \
+ uint32_t __RES, __ARG1 = (ARG1); \
+ __ASM volatile ("usat16 %0, %1, %2" : "=r" (__RES) : "I" (ARG2), "r" (__ARG1) : "cc" ); \
+ __RES; \
+ })
+
+__STATIC_FORCEINLINE uint32_t __UXTB16(uint32_t op1)
+{
+ uint32_t result;
+
+ __ASM ("uxtb16 %0, %1" : "=r" (result) : "r" (op1));
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __UXTAB16(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM ("uxtab16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __SXTB16(uint32_t op1)
+{
+ uint32_t result;
+
+ __ASM ("sxtb16 %0, %1" : "=r" (result) : "r" (op1));
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __SXTB16_RORn(uint32_t op1, uint32_t rotate)
+{
+ uint32_t result;
+ if (__builtin_constant_p(rotate) && ((rotate == 8U) || (rotate == 16U) || (rotate == 24U))) {
+ __ASM volatile ("sxtb16 %0, %1, ROR %2" : "=r" (result) : "r" (op1), "i" (rotate) );
+ } else {
+ result = __SXTB16(__ROR(op1, rotate)) ;
+ }
+ return result;
+}
+
+__STATIC_FORCEINLINE uint32_t __SXTAB16(uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM ("sxtab16 %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __SXTAB16_RORn(uint32_t op1, uint32_t op2, uint32_t rotate)
+{
+ uint32_t result;
+ if (__builtin_constant_p(rotate) && ((rotate == 8U) || (rotate == 16U) || (rotate == 24U))) {
+ __ASM volatile ("sxtab16 %0, %1, %2, ROR %3" : "=r" (result) : "r" (op1) , "r" (op2) , "i" (rotate));
+ } else {
+ result = __SXTAB16(op1, __ROR(op2, rotate));
+ }
+ return result;
+}
+
+
+__STATIC_FORCEINLINE uint32_t __SMUAD (uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM volatile ("smuad %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __SMUADX (uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM volatile ("smuadx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __SMLAD (uint32_t op1, uint32_t op2, uint32_t op3)
+{
+ uint32_t result;
+
+ __ASM volatile ("smlad %0, %1, %2, %3" : "=r" (result) : "r" (op1), "r" (op2), "r" (op3) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __SMLADX (uint32_t op1, uint32_t op2, uint32_t op3)
+{
+ uint32_t result;
+
+ __ASM volatile ("smladx %0, %1, %2, %3" : "=r" (result) : "r" (op1), "r" (op2), "r" (op3) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint64_t __SMLALD (uint32_t op1, uint32_t op2, uint64_t acc)
+{
+ union llreg_u{
+ uint32_t w32[2];
+ uint64_t w64;
+ } llr;
+ llr.w64 = acc;
+
+#ifndef __ARMEB__ /* Little endian */
+ __ASM volatile ("smlald %0, %1, %2, %3" : "=r" (llr.w32[0]), "=r" (llr.w32[1]): "r" (op1), "r" (op2) , "0" (llr.w32[0]), "1" (llr.w32[1]) );
+#else /* Big endian */
+ __ASM volatile ("smlald %0, %1, %2, %3" : "=r" (llr.w32[1]), "=r" (llr.w32[0]): "r" (op1), "r" (op2) , "0" (llr.w32[1]), "1" (llr.w32[0]) );
+#endif
+
+ return(llr.w64);
+}
+
+__STATIC_FORCEINLINE uint64_t __SMLALDX (uint32_t op1, uint32_t op2, uint64_t acc)
+{
+ union llreg_u{
+ uint32_t w32[2];
+ uint64_t w64;
+ } llr;
+ llr.w64 = acc;
+
+#ifndef __ARMEB__ /* Little endian */
+ __ASM volatile ("smlaldx %0, %1, %2, %3" : "=r" (llr.w32[0]), "=r" (llr.w32[1]): "r" (op1), "r" (op2) , "0" (llr.w32[0]), "1" (llr.w32[1]) );
+#else /* Big endian */
+ __ASM volatile ("smlaldx %0, %1, %2, %3" : "=r" (llr.w32[1]), "=r" (llr.w32[0]): "r" (op1), "r" (op2) , "0" (llr.w32[1]), "1" (llr.w32[0]) );
+#endif
+
+ return(llr.w64);
+}
+
+__STATIC_FORCEINLINE uint32_t __SMUSD (uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM volatile ("smusd %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __SMUSDX (uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM volatile ("smusdx %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __SMLSD (uint32_t op1, uint32_t op2, uint32_t op3)
+{
+ uint32_t result;
+
+ __ASM volatile ("smlsd %0, %1, %2, %3" : "=r" (result) : "r" (op1), "r" (op2), "r" (op3) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint32_t __SMLSDX (uint32_t op1, uint32_t op2, uint32_t op3)
+{
+ uint32_t result;
+
+ __ASM volatile ("smlsdx %0, %1, %2, %3" : "=r" (result) : "r" (op1), "r" (op2), "r" (op3) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE uint64_t __SMLSLD (uint32_t op1, uint32_t op2, uint64_t acc)
+{
+ union llreg_u{
+ uint32_t w32[2];
+ uint64_t w64;
+ } llr;
+ llr.w64 = acc;
+
+#ifndef __ARMEB__ /* Little endian */
+ __ASM volatile ("smlsld %0, %1, %2, %3" : "=r" (llr.w32[0]), "=r" (llr.w32[1]): "r" (op1), "r" (op2) , "0" (llr.w32[0]), "1" (llr.w32[1]) );
+#else /* Big endian */
+ __ASM volatile ("smlsld %0, %1, %2, %3" : "=r" (llr.w32[1]), "=r" (llr.w32[0]): "r" (op1), "r" (op2) , "0" (llr.w32[1]), "1" (llr.w32[0]) );
+#endif
+
+ return(llr.w64);
+}
+
+__STATIC_FORCEINLINE uint64_t __SMLSLDX (uint32_t op1, uint32_t op2, uint64_t acc)
+{
+ union llreg_u{
+ uint32_t w32[2];
+ uint64_t w64;
+ } llr;
+ llr.w64 = acc;
+
+#ifndef __ARMEB__ /* Little endian */
+ __ASM volatile ("smlsldx %0, %1, %2, %3" : "=r" (llr.w32[0]), "=r" (llr.w32[1]): "r" (op1), "r" (op2) , "0" (llr.w32[0]), "1" (llr.w32[1]) );
+#else /* Big endian */
+ __ASM volatile ("smlsldx %0, %1, %2, %3" : "=r" (llr.w32[1]), "=r" (llr.w32[0]): "r" (op1), "r" (op2) , "0" (llr.w32[1]), "1" (llr.w32[0]) );
+#endif
+
+ return(llr.w64);
+}
+
+__STATIC_FORCEINLINE uint32_t __SEL (uint32_t op1, uint32_t op2)
+{
+ uint32_t result;
+
+ __ASM volatile ("sel %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE int32_t __QADD( int32_t op1, int32_t op2)
+{
+ int32_t result;
+
+ __ASM volatile ("qadd %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+__STATIC_FORCEINLINE int32_t __QSUB( int32_t op1, int32_t op2)
+{
+ int32_t result;
+
+ __ASM volatile ("qsub %0, %1, %2" : "=r" (result) : "r" (op1), "r" (op2) );
+ return(result);
+}
+
+
+#define __PKHBT(ARG1,ARG2,ARG3) \
+__extension__ \
+({ \
+ uint32_t __RES, __ARG1 = (ARG1), __ARG2 = (ARG2); \
+ __ASM ("pkhbt %0, %1, %2, lsl %3" : "=r" (__RES) : "r" (__ARG1), "r" (__ARG2), "I" (ARG3) ); \
+ __RES; \
+ })
+
+#define __PKHTB(ARG1,ARG2,ARG3) \
+__extension__ \
+({ \
+ uint32_t __RES, __ARG1 = (ARG1), __ARG2 = (ARG2); \
+ if (ARG3 == 0) \
+ __ASM ("pkhtb %0, %1, %2" : "=r" (__RES) : "r" (__ARG1), "r" (__ARG2) ); \
+ else \
+ __ASM ("pkhtb %0, %1, %2, asr %3" : "=r" (__RES) : "r" (__ARG1), "r" (__ARG2), "I" (ARG3) ); \
+ __RES; \
+ })
+
+
+__STATIC_FORCEINLINE int32_t __SMMLA (int32_t op1, int32_t op2, int32_t op3)
+{
+ int32_t result;
+
+ __ASM ("smmla %0, %1, %2, %3" : "=r" (result): "r" (op1), "r" (op2), "r" (op3) );
+ return(result);
+}
+
+#endif /* (__ARM_FEATURE_DSP == 1) */
+/*@} end of group CMSIS_SIMD_intrinsics */
+
+
+#pragma GCC diagnostic pop
+
+#endif /* __CMSIS_GCC_H */
diff --git a/bsp/nxp/lpc/lpc824/Libraries/common/startup/gcc_startup_lpc82x.S b/bsp/nxp/lpc/lpc824/Libraries/common/startup/gcc_startup_lpc82x.S
new file mode 100644
index 0000000000..136b78beec
--- /dev/null
+++ b/bsp/nxp/lpc/lpc824/Libraries/common/startup/gcc_startup_lpc82x.S
@@ -0,0 +1,557 @@
+/* ------------------------------------------------------------------------- */
+/* @file: startup_LPC824.s */
+/* @purpose: CMSIS Cortex-M0P Core Device Startup File */
+/* LPC824 */
+/* @version: 1.1 */
+/* @date: 2018-2-25 */
+/* @build: b231018 */
+/* ------------------------------------------------------------------------- */
+/* */
+/* Copyright 1997-2016 Freescale Semiconductor, Inc. */
+/* Copyright 2016-2023 NXP */
+/* SPDX-License-Identifier: BSD-3-Clause */
+/*****************************************************************************/
+/* Version: GCC for ARM Embedded Processors */
+/*****************************************************************************/
+ .syntax unified
+ .arch armv6-m
+
+ .section .isr_vector, "a"
+ .align 2
+ .globl __Vectors
+__Vectors:
+ .long __StackTop /* Top of Stack */
+ .long Reset_Handler /* Reset Handler */
+ .long NMI_Handler /* NMI Handler*/
+ .long HardFault_Handler /* Hard Fault Handler*/
+ .long 0 /* Reserved*/
+ .long 0 /* Reserved*/
+ .long 0 /* Reserved*/
+ .long 0 /* Reserved*/
+ .long 0 /* Reserved*/
+ .long 0 /* Reserved*/
+ .long 0 /* Reserved*/
+ .long SVC_Handler /* SVCall Handler*/
+ .long 0 /* Reserved*/
+ .long 0 /* Reserved*/
+ .long PendSV_Handler /* PendSV Handler*/
+ .long SysTick_Handler /* SysTick Handler*/
+
+ /* External Interrupts*/
+ .long SPI0_IRQHandler /* SPI0 interrupt*/
+ .long SPI1_IRQHandler /* SPI1 interrupt*/
+ .long Reserved18_IRQHandler /* Reserved interrupt*/
+ .long USART0_IRQHandler /* USART0 interrupt*/
+ .long USART1_IRQHandler /* USART1 interrupt*/
+ .long USART2_IRQHandler /* USART2 interrupt*/
+ .long Reserved22_IRQHandler /* Reserved interrupt*/
+ .long I2C1_IRQHandler /* I2C1 interrupt*/
+ .long I2C0_IRQHandler /* I2C0 interrupt*/
+ .long SCT0_IRQHandler /* State configurable timer interrupt*/
+ .long MRT0_IRQHandler /* Multi-rate timer interrupt*/
+ .long CMP_IRQHandler /* Analog comparator interrupt*/
+ .long WDT_IRQHandler /* Windowed watchdog timer interrupt*/
+ .long BOD_IRQHandler /* BOD interrupts*/
+ .long FLASH_IRQHandler /* flash interrupt*/
+ .long WKT_IRQHandler /* Self-wake-up timer interrupt*/
+ .long ADC0_SEQA_IRQHandler /* ADC0 sequence A completion.*/
+ .long ADC0_SEQB_IRQHandler /* ADC0 sequence B completion.*/
+ .long ADC0_THCMP_IRQHandler /* ADC0 threshold compare and error.*/
+ .long ADC0_OVR_IRQHandler /* ADC0 overrun*/
+ .long DMA0_IRQHandler /* DMA0 interrupt*/
+ .long I2C2_IRQHandler /* I2C2 interrupt*/
+ .long I2C3_IRQHandler /* I2C3 interrupt*/
+ .long Reserved39_IRQHandler /* Reserved interrupt*/
+ .long PIN_INT0_IRQHandler /* Pin interrupt 0 or pattern match engine slice 0 interrupt*/
+ .long PIN_INT1_IRQHandler /* Pin interrupt 1 or pattern match engine slice 1 interrupt*/
+ .long PIN_INT2_IRQHandler /* Pin interrupt 2 or pattern match engine slice 2 interrupt*/
+ .long PIN_INT3_IRQHandler /* Pin interrupt 3 or pattern match engine slice 3 interrupt*/
+ .long PIN_INT4_IRQHandler /* Pin interrupt 4 or pattern match engine slice 4 interrupt*/
+ .long PIN_INT5_IRQHandler /* Pin interrupt 5 or pattern match engine slice 5 interrupt*/
+ .long PIN_INT6_IRQHandler /* Pin interrupt 6 or pattern match engine slice 6 interrupt*/
+ .long PIN_INT7_IRQHandler /* Pin interrupt 7 or pattern match engine slice 7 interrupt*/
+
+ .size __Vectors, . - __Vectors
+
+/* Variable to store CRP value in. No code read protection enabled by default
+ * Code Read Protection level (CRP)
+ * CRP_Level:
+ * <0xFFFFFFFF=> Disabled
+ * <0x4E697370=> NO_ISP
+ * <0x12345678=> CRP1
+ * <0x87654321=> CRP2
+ * <0x43218765=> CRP3
+ */
+ #ifndef NO_CRP
+ .section .crp, "a"
+ .long 0xFFFFFFFF
+ #endif
+
+ .text
+ .thumb
+
+#if defined (__cplusplus)
+#ifdef __REDLIB__
+#error Redlib does not support C++
+#endif
+#endif
+/* Reset Handler */
+
+ .thumb_func
+ .align 2
+ .globl Reset_Handler
+ .weak Reset_Handler
+ .type Reset_Handler, %function
+Reset_Handler:
+ cpsid i /* Mask interrupts */
+#ifndef __NO_SYSTEM_INIT
+ ldr r0,=SystemInit
+ blx r0
+#endif
+/* Loop to copy data from read only memory to RAM. The ranges
+ * of copy from/to are specified by following symbols evaluated in
+ * linker script.
+ * __etext: End of code section, i.e., begin of data sections to copy from.
+ * __data_start__/__data_end__: RAM address range that data should be
+ * copied to. Both must be aligned to 4 bytes boundary. */
+
+ ldr r1, =__etext
+ ldr r2, =__data_start__
+ ldr r3, =__data_end__
+
+ subs r3, r2
+ ble .LC0
+
+.LC1:
+ subs r3, 4
+ ldr r0, [r1,r3]
+ str r0, [r2,r3]
+ bgt .LC1
+.LC0:
+
+#ifdef __STARTUP_CLEAR_BSS
+/* This part of work usually is done in C library startup code. Otherwise,
+ * define this macro to enable it in this startup.
+ *
+ * Loop to zero out BSS section, which uses following symbols
+ * in linker script:
+ * __bss_start__: start of BSS section. Must align to 4
+ * __bss_end__: end of BSS section. Must align to 4
+ */
+ ldr r1, =__bss_start__
+ ldr r2, =__bss_end__
+
+ subs r2, r1
+ ble .LC3
+
+ movs r0, 0
+.LC2:
+ subs r2, 4
+ str r0, [r1, r2]
+ bgt .LC2
+.LC3:
+#endif
+ cpsie i /* Unmask interrupts */
+#ifndef __START
+#ifdef __REDLIB__
+#define __START __main
+#else
+#define __START entry
+#endif
+#endif
+#ifndef __ATOLLIC__
+ ldr r0,=__START
+ blx r0
+#else
+ ldr r0,=__libc_init_array
+ blx r0
+ ldr r0,=entry
+ bx r0
+#endif
+ .pool
+ .size Reset_Handler, . - Reset_Handler
+
+ .align 1
+ .thumb_func
+ .weak DefaultISR
+ .type DefaultISR, %function
+DefaultISR:
+ ldr r0, =DefaultISR
+ bx r0
+ .size DefaultISR, . - DefaultISR
+
+ .align 1
+ .thumb_func
+ .weak NMI_Handler
+ .type NMI_Handler, %function
+NMI_Handler:
+ ldr r0,=NMI_Handler
+ bx r0
+ .size NMI_Handler, . - NMI_Handler
+
+ .align 1
+ .thumb_func
+ .weak HardFault_Handler
+ .type HardFault_Handler, %function
+HardFault_Handler:
+ ldr r0,=HardFault_Handler
+ bx r0
+ .size HardFault_Handler, . - HardFault_Handler
+
+ .align 1
+ .thumb_func
+ .weak SVC_Handler
+ .type SVC_Handler, %function
+SVC_Handler:
+ ldr r0,=SVC_Handler
+ bx r0
+ .size SVC_Handler, . - SVC_Handler
+
+ .align 1
+ .thumb_func
+ .weak PendSV_Handler
+ .type PendSV_Handler, %function
+PendSV_Handler:
+ ldr r0,=PendSV_Handler
+ bx r0
+ .size PendSV_Handler, . - PendSV_Handler
+
+ .align 1
+ .thumb_func
+ .weak SysTick_Handler
+ .type SysTick_Handler, %function
+SysTick_Handler:
+ ldr r0,=SysTick_Handler
+ bx r0
+ .size SysTick_Handler, . - SysTick_Handler
+
+ .align 1
+ .thumb_func
+ .weak SPI0_IRQHandler
+ .type SPI0_IRQHandler, %function
+SPI0_IRQHandler:
+ ldr r0,=SPI0_DriverIRQHandler
+ bx r0
+ .size SPI0_IRQHandler, . - SPI0_IRQHandler
+
+ .align 1
+ .thumb_func
+ .weak SPI1_IRQHandler
+ .type SPI1_IRQHandler, %function
+SPI1_IRQHandler:
+ ldr r0,=SPI1_DriverIRQHandler
+ bx r0
+ .size SPI1_IRQHandler, . - SPI1_IRQHandler
+
+ .align 1
+ .thumb_func
+ .weak Reserved18_IRQHandler
+ .type Reserved18_IRQHandler, %function
+Reserved18_IRQHandler:
+ ldr r0,=Reserved18_DriverIRQHandler
+ bx r0
+ .size Reserved18_IRQHandler, . - Reserved18_IRQHandler
+
+ .align 1
+ .thumb_func
+ .weak USART0_IRQHandler
+ .type USART0_IRQHandler, %function
+USART0_IRQHandler:
+ ldr r0,=USART0_DriverIRQHandler
+ bx r0
+ .size USART0_IRQHandler, . - USART0_IRQHandler
+
+ .align 1
+ .thumb_func
+ .weak USART1_IRQHandler
+ .type USART1_IRQHandler, %function
+USART1_IRQHandler:
+ ldr r0,=USART1_DriverIRQHandler
+ bx r0
+ .size USART1_IRQHandler, . - USART1_IRQHandler
+
+ .align 1
+ .thumb_func
+ .weak USART2_IRQHandler
+ .type USART2_IRQHandler, %function
+USART2_IRQHandler:
+ ldr r0,=USART2_DriverIRQHandler
+ bx r0
+ .size USART2_IRQHandler, . - USART2_IRQHandler
+
+ .align 1
+ .thumb_func
+ .weak Reserved22_IRQHandler
+ .type Reserved22_IRQHandler, %function
+Reserved22_IRQHandler:
+ ldr r0,=Reserved22_DriverIRQHandler
+ bx r0
+ .size Reserved22_IRQHandler, . - Reserved22_IRQHandler
+
+ .align 1
+ .thumb_func
+ .weak I2C1_IRQHandler
+ .type I2C1_IRQHandler, %function
+I2C1_IRQHandler:
+ ldr r0,=I2C1_DriverIRQHandler
+ bx r0
+ .size I2C1_IRQHandler, . - I2C1_IRQHandler
+
+ .align 1
+ .thumb_func
+ .weak I2C0_IRQHandler
+ .type I2C0_IRQHandler, %function
+I2C0_IRQHandler:
+ ldr r0,=I2C0_DriverIRQHandler
+ bx r0
+ .size I2C0_IRQHandler, . - I2C0_IRQHandler
+
+ .align 1
+ .thumb_func
+ .weak SCT0_IRQHandler
+ .type SCT0_IRQHandler, %function
+SCT0_IRQHandler:
+ ldr r0,=SCT0_DriverIRQHandler
+ bx r0
+ .size SCT0_IRQHandler, . - SCT0_IRQHandler
+
+ .align 1
+ .thumb_func
+ .weak MRT0_IRQHandler
+ .type MRT0_IRQHandler, %function
+MRT0_IRQHandler:
+ ldr r0,=MRT0_DriverIRQHandler
+ bx r0
+ .size MRT0_IRQHandler, . - MRT0_IRQHandler
+
+ .align 1
+ .thumb_func
+ .weak CMP_IRQHandler
+ .type CMP_IRQHandler, %function
+CMP_IRQHandler:
+ ldr r0,=CMP_DriverIRQHandler
+ bx r0
+ .size CMP_IRQHandler, . - CMP_IRQHandler
+
+ .align 1
+ .thumb_func
+ .weak WDT_IRQHandler
+ .type WDT_IRQHandler, %function
+WDT_IRQHandler:
+ ldr r0,=WDT_DriverIRQHandler
+ bx r0
+ .size WDT_IRQHandler, . - WDT_IRQHandler
+
+ .align 1
+ .thumb_func
+ .weak BOD_IRQHandler
+ .type BOD_IRQHandler, %function
+BOD_IRQHandler:
+ ldr r0,=BOD_DriverIRQHandler
+ bx r0
+ .size BOD_IRQHandler, . - BOD_IRQHandler
+
+ .align 1
+ .thumb_func
+ .weak FLASH_IRQHandler
+ .type FLASH_IRQHandler, %function
+FLASH_IRQHandler:
+ ldr r0,=FLASH_DriverIRQHandler
+ bx r0
+ .size FLASH_IRQHandler, . - FLASH_IRQHandler
+
+ .align 1
+ .thumb_func
+ .weak WKT_IRQHandler
+ .type WKT_IRQHandler, %function
+WKT_IRQHandler:
+ ldr r0,=WKT_DriverIRQHandler
+ bx r0
+ .size WKT_IRQHandler, . - WKT_IRQHandler
+
+ .align 1
+ .thumb_func
+ .weak ADC0_SEQA_IRQHandler
+ .type ADC0_SEQA_IRQHandler, %function
+ADC0_SEQA_IRQHandler:
+ ldr r0,=ADC0_SEQA_DriverIRQHandler
+ bx r0
+ .size ADC0_SEQA_IRQHandler, . - ADC0_SEQA_IRQHandler
+
+ .align 1
+ .thumb_func
+ .weak ADC0_SEQB_IRQHandler
+ .type ADC0_SEQB_IRQHandler, %function
+ADC0_SEQB_IRQHandler:
+ ldr r0,=ADC0_SEQB_DriverIRQHandler
+ bx r0
+ .size ADC0_SEQB_IRQHandler, . - ADC0_SEQB_IRQHandler
+
+ .align 1
+ .thumb_func
+ .weak ADC0_THCMP_IRQHandler
+ .type ADC0_THCMP_IRQHandler, %function
+ADC0_THCMP_IRQHandler:
+ ldr r0,=ADC0_THCMP_DriverIRQHandler
+ bx r0
+ .size ADC0_THCMP_IRQHandler, . - ADC0_THCMP_IRQHandler
+
+ .align 1
+ .thumb_func
+ .weak ADC0_OVR_IRQHandler
+ .type ADC0_OVR_IRQHandler, %function
+ADC0_OVR_IRQHandler:
+ ldr r0,=ADC0_OVR_DriverIRQHandler
+ bx r0
+ .size ADC0_OVR_IRQHandler, . - ADC0_OVR_IRQHandler
+
+ .align 1
+ .thumb_func
+ .weak DMA0_IRQHandler
+ .type DMA0_IRQHandler, %function
+DMA0_IRQHandler:
+ ldr r0,=DMA0_DriverIRQHandler
+ bx r0
+ .size DMA0_IRQHandler, . - DMA0_IRQHandler
+
+ .align 1
+ .thumb_func
+ .weak I2C2_IRQHandler
+ .type I2C2_IRQHandler, %function
+I2C2_IRQHandler:
+ ldr r0,=I2C2_DriverIRQHandler
+ bx r0
+ .size I2C2_IRQHandler, . - I2C2_IRQHandler
+
+ .align 1
+ .thumb_func
+ .weak I2C3_IRQHandler
+ .type I2C3_IRQHandler, %function
+I2C3_IRQHandler:
+ ldr r0,=I2C3_DriverIRQHandler
+ bx r0
+ .size I2C3_IRQHandler, . - I2C3_IRQHandler
+
+ .align 1
+ .thumb_func
+ .weak Reserved39_IRQHandler
+ .type Reserved39_IRQHandler, %function
+Reserved39_IRQHandler:
+ ldr r0,=Reserved39_DriverIRQHandler
+ bx r0
+ .size Reserved39_IRQHandler, . - Reserved39_IRQHandler
+
+ .align 1
+ .thumb_func
+ .weak PIN_INT0_IRQHandler
+ .type PIN_INT0_IRQHandler, %function
+PIN_INT0_IRQHandler:
+ ldr r0,=PIN_INT0_DriverIRQHandler
+ bx r0
+ .size PIN_INT0_IRQHandler, . - PIN_INT0_IRQHandler
+
+ .align 1
+ .thumb_func
+ .weak PIN_INT1_IRQHandler
+ .type PIN_INT1_IRQHandler, %function
+PIN_INT1_IRQHandler:
+ ldr r0,=PIN_INT1_DriverIRQHandler
+ bx r0
+ .size PIN_INT1_IRQHandler, . - PIN_INT1_IRQHandler
+
+ .align 1
+ .thumb_func
+ .weak PIN_INT2_IRQHandler
+ .type PIN_INT2_IRQHandler, %function
+PIN_INT2_IRQHandler:
+ ldr r0,=PIN_INT2_DriverIRQHandler
+ bx r0
+ .size PIN_INT2_IRQHandler, . - PIN_INT2_IRQHandler
+
+ .align 1
+ .thumb_func
+ .weak PIN_INT3_IRQHandler
+ .type PIN_INT3_IRQHandler, %function
+PIN_INT3_IRQHandler:
+ ldr r0,=PIN_INT3_DriverIRQHandler
+ bx r0
+ .size PIN_INT3_IRQHandler, . - PIN_INT3_IRQHandler
+
+ .align 1
+ .thumb_func
+ .weak PIN_INT4_IRQHandler
+ .type PIN_INT4_IRQHandler, %function
+PIN_INT4_IRQHandler:
+ ldr r0,=PIN_INT4_DriverIRQHandler
+ bx r0
+ .size PIN_INT4_IRQHandler, . - PIN_INT4_IRQHandler
+
+ .align 1
+ .thumb_func
+ .weak PIN_INT5_IRQHandler
+ .type PIN_INT5_IRQHandler, %function
+PIN_INT5_IRQHandler:
+ ldr r0,=PIN_INT5_DriverIRQHandler
+ bx r0
+ .size PIN_INT5_IRQHandler, . - PIN_INT5_IRQHandler
+
+ .align 1
+ .thumb_func
+ .weak PIN_INT6_IRQHandler
+ .type PIN_INT6_IRQHandler, %function
+PIN_INT6_IRQHandler:
+ ldr r0,=PIN_INT6_DriverIRQHandler
+ bx r0
+ .size PIN_INT6_IRQHandler, . - PIN_INT6_IRQHandler
+
+ .align 1
+ .thumb_func
+ .weak PIN_INT7_IRQHandler
+ .type PIN_INT7_IRQHandler, %function
+PIN_INT7_IRQHandler:
+ ldr r0,=PIN_INT7_DriverIRQHandler
+ bx r0
+ .size PIN_INT7_IRQHandler, . - PIN_INT7_IRQHandler
+
+
+/* Macro to define default handlers. Default handler
+ * will be weak symbol and just dead loops. They can be
+ * overwritten by other handlers */
+ .macro def_irq_handler handler_name
+ .weak \handler_name
+ .set \handler_name, DefaultISR
+ .endm
+ def_irq_handler SPI0_DriverIRQHandler
+ def_irq_handler SPI1_DriverIRQHandler
+ def_irq_handler Reserved18_DriverIRQHandler
+ def_irq_handler USART0_DriverIRQHandler
+ def_irq_handler USART1_DriverIRQHandler
+ def_irq_handler USART2_DriverIRQHandler
+ def_irq_handler Reserved22_DriverIRQHandler
+ def_irq_handler I2C1_DriverIRQHandler
+ def_irq_handler I2C0_DriverIRQHandler
+ def_irq_handler SCT0_DriverIRQHandler
+ def_irq_handler MRT0_DriverIRQHandler
+ def_irq_handler CMP_DriverIRQHandler
+ def_irq_handler WDT_DriverIRQHandler
+ def_irq_handler BOD_DriverIRQHandler
+ def_irq_handler FLASH_DriverIRQHandler
+ def_irq_handler WKT_DriverIRQHandler
+ def_irq_handler ADC0_SEQA_DriverIRQHandler
+ def_irq_handler ADC0_SEQB_DriverIRQHandler
+ def_irq_handler ADC0_THCMP_DriverIRQHandler
+ def_irq_handler ADC0_OVR_DriverIRQHandler
+ def_irq_handler DMA0_DriverIRQHandler
+ def_irq_handler I2C2_DriverIRQHandler
+ def_irq_handler I2C3_DriverIRQHandler
+ def_irq_handler Reserved39_DriverIRQHandler
+ def_irq_handler PIN_INT0_DriverIRQHandler
+ def_irq_handler PIN_INT1_DriverIRQHandler
+ def_irq_handler PIN_INT2_DriverIRQHandler
+ def_irq_handler PIN_INT3_DriverIRQHandler
+ def_irq_handler PIN_INT4_DriverIRQHandler
+ def_irq_handler PIN_INT5_DriverIRQHandler
+ def_irq_handler PIN_INT6_DriverIRQHandler
+ def_irq_handler PIN_INT7_DriverIRQHandler
+
+ .end
diff --git a/bsp/nxp/lpc/lpc824/SConscript b/bsp/nxp/lpc/lpc824/SConscript
index fe0ae941ae..381b1612c7 100644
--- a/bsp/nxp/lpc/lpc824/SConscript
+++ b/bsp/nxp/lpc/lpc824/SConscript
@@ -1,6 +1,4 @@
-# for module compiling
-import os
-Import('RTT_ROOT')
+from building import *
cwd = str(Dir('#'))
objs = []
diff --git a/bsp/nxp/lpc/lpc824/SConstruct b/bsp/nxp/lpc/lpc824/SConstruct
index 1e9d9e0ec9..6677545fbb 100644
--- a/bsp/nxp/lpc/lpc824/SConstruct
+++ b/bsp/nxp/lpc/lpc824/SConstruct
@@ -2,7 +2,6 @@ import os
import sys
import rtconfig
-
if os.getenv('RTT_ROOT'):
RTT_ROOT = os.getenv('RTT_ROOT')
else:
@@ -11,26 +10,32 @@ else:
sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
from building import *
-TARGET = 'rtthread-lpc842.' + rtconfig.TARGET_EXT
-
+TARGET = 'rtthread-%s.%s' % (rtconfig.BOARD_NAME, rtconfig.TARGET_EXT)
DefaultEnvironment(tools=[])
-env = Environment(tools = ['mingw'],
- AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
- CC = rtconfig.CC, CFLAGS = rtconfig.CFLAGS,
- AR = rtconfig.AR, ARFLAGS = '-rc',
- LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS)
-env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
+if rtconfig.PLATFORM == 'armcc':
+ env = Environment(tools = ['mingw'],
+ AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
+ CC = rtconfig.CC, CFLAGS = rtconfig.CFLAGS,
+ CXX = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS,
+ AR = rtconfig.AR, ARFLAGS = '-rc',
+ LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS,
+ # overwrite cflags, because cflags has '--C99'
+ CXXCOM = '$CXX -o $TARGET --cpp -c $CXXFLAGS $_CCCOMCOM $SOURCES')
+else:
+ env = Environment(tools = ['mingw'],
+ AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
+ CC = rtconfig.CC, CFLAGS = rtconfig.CFLAGS,
+ CXX = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS,
+ AR = rtconfig.AR, ARFLAGS = '-rc',
+ LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS)
-if rtconfig.PLATFORM in ['iccarm']:
- env.Replace(CCCOM = ['$CC $CFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS -o $TARGET $SOURCES'])
- env.Replace(ARFLAGS = [''])
- env.Replace(LINKCOM = env["LINKCOM"] + ' --map project.map')
+env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
Export('RTT_ROOT')
Export('rtconfig')
# prepare building environment
-objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False)
+objs = PrepareBuilding(env, RTT_ROOT)
# make a building
DoBuilding(TARGET, objs)
diff --git a/bsp/nxp/lpc/lpc824/applications/application.c b/bsp/nxp/lpc/lpc824/applications/application.c
index cc7731ca12..8151c398aa 100644
--- a/bsp/nxp/lpc/lpc824/applications/application.c
+++ b/bsp/nxp/lpc/lpc824/applications/application.c
@@ -19,22 +19,42 @@
#ifndef RT_USING_HEAP
/* if there is not enable heap, we should use static thread and stack. */
-rt_align(8)
-static rt_uint8_t init_stack[INIT_STACK_SIZE];
-static struct rt_thread init_thread;
rt_align(8)
static rt_uint8_t led_stack[LED_STACK_SIZE];
static struct rt_thread led_thread;
#endif
-void rt_init_thread_entry(void* parameter)
+static int led_app();
+
+int main(void)
{
- /* initialization RT-Thread Components */
-#ifdef RT_USING_COMPONENTS_INIT
- rt_components_init();
-#endif
+ rt_kprintf("Hello RT-Thread!\n");
+
+ while(1)
+ {
+ rt_thread_mdelay(1000);
+ }
+ return 0;
+}
+
+/*******************************************************************************
+* Function Name : assert_failed
+* Description : Reports the name of the source file and the source line number
+* where the assert error has occurred.
+* Input : - file: pointer to the source file name
+* - line: assert error line source number
+* Output : None
+* Return : None
+*******************************************************************************/
+void assert_failed(uint8_t* file, uint32_t line)
+{
+ rt_kprintf("\n\r Wrong parameter value detected on\r\n");
+ rt_kprintf(" file %s\r\n", file);
+ rt_kprintf(" line %d\r\n", line);
+
+ while (1) ;
}
void rt_led_thread_entry(void *parameter)
@@ -54,29 +74,11 @@ void rt_led_thread_entry(void *parameter)
}
}
-int rt_application_init()
+static int led_app()
{
rt_thread_t tid;
#ifdef RT_USING_HEAP
- tid = rt_thread_create("init",
- rt_init_thread_entry, RT_NULL,
- INIT_STACK_SIZE, RT_THREAD_PRIORITY_MAX/3, 20);
-#else
- {
-
- rt_err_t result;
-
- tid = &init_thread;
- result = rt_thread_init(tid, "init", rt_init_thread_entry, RT_NULL,
- init_stack, sizeof(init_stack), RT_THREAD_PRIORITY_MAX / 3, 20);
- RT_ASSERT(result == RT_EOK);
- }
-#endif
- if (tid != RT_NULL)
- rt_thread_startup(tid);
-
-#ifdef RT_USING_HEAP
tid = rt_thread_create("led",
rt_led_thread_entry, RT_NULL,
LED_STACK_SIZE, RT_THREAD_PRIORITY_MAX/3, 20);
diff --git a/bsp/nxp/lpc/lpc824/applications/startup.c b/bsp/nxp/lpc/lpc824/applications/startup.c
deleted file mode 100644
index d25c76e723..0000000000
--- a/bsp/nxp/lpc/lpc824/applications/startup.c
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (c) 2006-2021, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2006-08-31 Bernard first implementation
- * 2017-07-29 Tanek modify for LPC8xx version
- */
-
-#include <stdint.h>
-#include <rthw.h>
-#include <rtthread.h>
-
-#include "board.h"
-
-/**
- * @addtogroup LPC8xx
- */
-
-/*@{*/
-
-extern int rt_application_init(void);
-
-/*******************************************************************************
-* Function Name : assert_failed
-* Description : Reports the name of the source file and the source line number
-* where the assert error has occurred.
-* Input : - file: pointer to the source file name
-* - line: assert error line source number
-* Output : None
-* Return : None
-*******************************************************************************/
-void assert_failed(uint8_t* file, uint32_t line)
-{
- rt_kprintf("\n\r Wrong parameter value detected on\r\n");
- rt_kprintf(" file %s\r\n", file);
- rt_kprintf(" line %d\r\n", line);
-
- while (1) ;
-}
-
-/**
- * This function will startup RT-Thread RTOS.
- */
-void rtthread_startup(void)
-{
- /* init board */
- rt_hw_board_init();
-
- /* show version */
- rt_show_version();
-
- /* init timer system */
- rt_system_timer_init();
-
-#ifdef RT_USING_HEAP
- rt_system_heap_init((void*)HEAP_BEGIN, (void*)HEAP_END);
-#endif
-
- /* init scheduler system */
- rt_system_scheduler_init();
-
- /* init application */
- rt_application_init();
-
- /* init timer thread */
- rt_system_timer_thread_init();
-
- /* init idle thread */
- rt_thread_idle_init();
-
- /* start scheduler */
- rt_system_scheduler_start();
-
- /* never reach here */
- return ;
-}
-
-int main(void)
-{
- /* disable interrupt first */
- rt_hw_interrupt_disable();
-
- /* startup RT-Thread RTOS */
- rtthread_startup();
- return 0;
-}
-
-/*@}*/
diff --git a/bsp/nxp/lpc/lpc824/drivers/Kconfig b/bsp/nxp/lpc/lpc824/drivers/Kconfig
new file mode 100644
index 0000000000..3e4e0c6df5
--- /dev/null
+++ b/bsp/nxp/lpc/lpc824/drivers/Kconfig
@@ -0,0 +1,37 @@
+menu "Hardware Drivers Config"
+
+config SOC_LPC824
+ bool
+ select SOC_LPC824_SERIES
+ select RT_USING_COMPONENTS_INIT
+ select RT_USING_USER_MAIN
+ default y
+
+menu "On-chip Peripheral Drivers"
+
+ menuconfig BSP_USING_UART
+ bool "Enable UART"
+ default n
+ select RT_USING_SERIAL
+ if BSP_USING_UART
+ config BSP_USING_UART0
+ bool "Enable UART0"
+ default n
+
+ config BSP_USING_UART1
+ bool "Enable UART1"
+ default n
+
+ endif
+
+endmenu
+
+menu "Onboard Peripheral Drivers"
+
+endmenu
+
+menu "Board extended module Drivers"
+
+endmenu
+
+endmenu \ No newline at end of file
diff --git a/bsp/nxp/lpc/lpc824/drivers/SConscript b/bsp/nxp/lpc/lpc824/drivers/SConscript
index c9e2f91b91..ed1f265403 100644
--- a/bsp/nxp/lpc/lpc824/drivers/SConscript
+++ b/bsp/nxp/lpc/lpc824/drivers/SConscript
@@ -1,17 +1,19 @@
-Import('RTT_ROOT')
-Import('rtconfig')
+import os
from building import *
-cwd = os.path.join(str(Dir('#')), 'drivers')
+objs = []
+cwd = GetCurrentDir()
+list = os.listdir(cwd)
+CPPPATH = [cwd]
+src = Glob('board.c')
-# add the general drivers.
-src = Split("""
-board.c
-usart.c
-""")
+if not GetDepend('RT_USING_NANO'):
+ src += Glob(cwd + 'drv_uart.c')
-CPPPATH = [cwd]
+objs = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH)
-group = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH)
+for item in list:
+ if os.path.isfile(os.path.join(cwd, item, 'SConscript')):
+ objs = objs + SConscript(os.path.join(item, 'SConscript'))
-Return('group')
+Return('objs')
diff --git a/bsp/nxp/lpc/lpc824/drivers/board.c b/bsp/nxp/lpc/lpc824/drivers/board.c
index f2bfae1ec3..a0319a298f 100644
--- a/bsp/nxp/lpc/lpc824/drivers/board.c
+++ b/bsp/nxp/lpc/lpc824/drivers/board.c
@@ -13,7 +13,7 @@
#include "board.h"
#include "board_lpc.h"
-#include "usart.h"
+#include "drv_usart.h"
void _init(void)
{
@@ -50,22 +50,38 @@ void SysTick_Handler(void)
rt_interrupt_leave();
}
+void rt_hw_systick_init(void)
+{
+ SystemCoreClockUpdate();
+ SysTick_Config(SystemCoreClock / RT_TICK_PER_SECOND);
+}
+
/**
* This function will initial LPC8XX board.
*/
-void rt_hw_board_init()
+rt_weak void rt_hw_board_init()
{
- SystemCoreClockUpdate();
- SysTick_Config(SystemCoreClock / RT_TIMER_TICK_PER_SECOND);
+ rt_hw_systick_init();
-#ifdef RT_USING_COMPONENTS_INIT
- rt_components_board_init();
+#ifdef RT_USING_HEAP
+ rt_system_heap_init((void*)HEAP_BEGIN, (void*)HEAP_END);
#endif
+ /* USART driver initialization is open by default */
+#ifdef RT_USING_SERIAL
+ rt_hw_usart_init();
+#endif
+
+ /* Set the shell console output device */
#if defined(RT_USING_CONSOLE) && defined(RT_USING_DEVICE)
rt_console_set_device(RT_CONSOLE_DEVICE_NAME);
#endif
+
+ /* Board underlying hardware initialization */
+#ifdef RT_USING_COMPONENTS_INIT
+ rt_components_board_init();
+#endif
}
/*@}*/
diff --git a/bsp/nxp/lpc/lpc824/drivers/board.h b/bsp/nxp/lpc/lpc824/drivers/board.h
index d86369ce31..4007c128f2 100644
--- a/bsp/nxp/lpc/lpc824/drivers/board.h
+++ b/bsp/nxp/lpc/lpc824/drivers/board.h
@@ -20,8 +20,8 @@ extern int Image$$RW_IRAM1$$ZI$$Limit;
#pragma section="HEAP"
#define HEAP_BEGIN (__segment_end("HEAP"))
#else
-extern int __bss_end;
-#define HEAP_BEGIN (&__bss_end)
+extern int __bss_end__;
+#define HEAP_BEGIN (&__bss_end__)
#endif
#define LPC824_SRAM_SIZE 8
diff --git a/bsp/nxp/lpc/lpc824/drivers/usart.c b/bsp/nxp/lpc/lpc824/drivers/drv_usart.c
index 6aa912c081..c13733c386 100644
--- a/bsp/nxp/lpc/lpc824/drivers/usart.c
+++ b/bsp/nxp/lpc/lpc824/drivers/drv_usart.c
@@ -8,11 +8,11 @@
* 2017-07-28 Tanek the first version
*/
#include <rtthread.h>
-#include "usart.h"
+#include "drv_usart.h"
#include "peri_driver.h"
-#ifdef RT_USING_UART
+#ifdef BSP_USING_UART
#ifdef RT_USING_DEVICE
#include <rtdevice.h>
@@ -30,15 +30,15 @@ struct lpc8xx_uart
rt_uint8_t rx_buffer[UART_RX_BUFSZ];
};
-#ifdef RT_USING_UART0
+#ifdef BSP_USING_UART0
struct lpc8xx_uart uart0_device;
#endif
-#ifdef RT_USING_UART1
+#ifdef BSP_USING_UART1
struct lpc8xx_uart uart1_device;
#endif
-#ifdef RT_USING_UART2
+#ifdef BSP_USING_UART2
struct lpc8xx_uart uart2_device;
#endif
@@ -64,22 +64,22 @@ void uart_irq_handler(struct lpc8xx_uart* uart)
rt_interrupt_leave();
}
-#ifdef RT_USING_UART0
-void UART0_IRQHandler(void)
+#ifdef BSP_USING_UART0
+void USART0_IRQHandler(void)
{
uart_irq_handler(&uart0_device);
}
#endif
-#ifdef RT_USING_UART1
-void UART1_IRQHandler(void)
+#ifdef BSP_USING_UART1
+void USART1_IRQHandler(void)
{
uart_irq_handler(&uart1_device);
}
#endif
-#ifdef RT_USING_UART2
-void UART2_IRQHandler(void)
+#ifdef BSP_USING_UART2
+void USART2_IRQHandler(void)
{
uart_irq_handler(&uart2_device);
}
@@ -92,7 +92,7 @@ static void uart1_io_init(LPC_USART_T * uart_base)
Chip_Clock_SetUARTClockDiv(1);
-#ifdef RT_USING_UART0
+#ifdef BSP_USING_UART0
if (uart_base == LPC_USART0)
{
Chip_SWM_MovablePinAssign(SWM_U0_TXD_O, 4);
@@ -101,7 +101,7 @@ static void uart1_io_init(LPC_USART_T * uart_base)
else
#endif
-#ifdef RT_USING_UART1
+#ifdef BSP_USING_UART1
if (uart_base == LPC_USART1)
{
Chip_SWM_MovablePinAssign(SWM_U1_TXD_O, 4);
@@ -110,7 +110,7 @@ static void uart1_io_init(LPC_USART_T * uart_base)
else
#endif
-#ifdef RT_USING_UART2
+#ifdef BSP_USING_UART2
if (uart_base == LPC_USART2)
{
Chip_SWM_MovablePinAssign(SWM_U2_TXD_O, 4);
@@ -190,7 +190,7 @@ static rt_ssize_t rt_uart_read(rt_device_t dev, rt_off_t pos, void* buffer, rt_s
rt_size_t length;
struct lpc8xx_uart* uart;
- RT_ASSERT(serial != RT_NULL);
+ RT_ASSERT(dev != RT_NULL);
uart = (struct lpc8xx_uart *)dev;
@@ -209,7 +209,7 @@ static rt_ssize_t rt_uart_write(rt_device_t dev, rt_off_t pos, const void* buffe
{
char *ptr = (char*) buffer;
struct lpc8xx_uart* uart;
- RT_ASSERT(serial != RT_NULL);
+ RT_ASSERT(dev != RT_NULL);
uart = (struct lpc8xx_uart *)dev;
if (dev->open_flag & RT_DEVICE_FLAG_STREAM)
@@ -247,7 +247,7 @@ static rt_ssize_t rt_uart_write(rt_device_t dev, rt_off_t pos, const void* buffe
int rt_hw_usart_init(void)
{
-#ifdef RT_USING_UART0
+#ifdef BSP_USING_UART0
{
struct lpc8xx_uart* uart;
@@ -274,7 +274,7 @@ int rt_hw_usart_init(void)
}
#endif
-#ifdef RT_USING_UART1
+#ifdef BSP_USING_UART1
{
struct lpc8xx_uart* uart;
@@ -301,7 +301,7 @@ int rt_hw_usart_init(void)
}
#endif
-#ifdef RT_USING_UART2
+#ifdef BSP_USING_UART2
{
struct lpc8xx_uart* uart;
@@ -310,7 +310,7 @@ int rt_hw_usart_init(void)
/* device initialization */
uart->parent.type = RT_Device_Class_Char;
- uart->uart_base = LPC_USART1;
+ uart->uart_base = LPC_USART2;
uart->uart_irq = UART2_IRQn;
rt_ringbuffer_init(&(uart->rx_rb), uart->rx_buffer, sizeof(uart->rx_buffer));
@@ -325,9 +325,9 @@ int rt_hw_usart_init(void)
rt_device_register(&uart->parent, "uart2", RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_INT_RX);
}
-#endif /* RT_USING_UART2 */
+#endif /* BSP_USING_UART2 */
return 0;
}
INIT_BOARD_EXPORT(rt_hw_usart_init);
-#endif /*RT_USING_UART*/
+#endif /*BSP_USING_UART*/
diff --git a/bsp/nxp/lpc/lpc824/drivers/drv_usart.h b/bsp/nxp/lpc/lpc824/drivers/drv_usart.h
new file mode 100644
index 0000000000..01915886dc
--- /dev/null
+++ b/bsp/nxp/lpc/lpc824/drivers/drv_usart.h
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2006-2021, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2013-11-15 bright the first version
+ */
+
+#ifndef __USART_H__
+#define __USART_H__
+
+#include <rthw.h>
+#include <rtthread.h>
+
+#include "cmsis.h"
+
+/* USART - Peripheral instance base addresses */
+/** Peripheral USART0 base address */
+#define USART0_BASE (0x40064000u)
+/** Peripheral USART0 base pointer */
+#define USART0 ((LPC_USART_T *)USART0_BASE)
+/** Peripheral USART1 base address */
+#define USART1_BASE (0x40068000u)
+/** Peripheral USART1 base pointer */
+#define USART1 ((LPC_USART_T *)USART1_BASE)
+/** Peripheral USART2 base address */
+#define USART2_BASE (0x4006C000u)
+/** Peripheral USART2 base pointer */
+#define USART2 ((LPC_USART_T *)USART2_BASE)
+/** Array initializer of USART peripheral base addresses */
+#define USART_BASE_ADDRS { USART0_BASE, USART1_BASE, USART2_BASE }
+/** Array initializer of USART peripheral base pointers */
+#define USART_BASE_PTRS { USART0, USART1, USART2 }
+/** Interrupt vectors for the USART peripheral type */
+#define USART_IRQS { USART0_IRQn, USART1_IRQn, USART2_IRQn }
+
+int rt_hw_usart_init(void);
+
+#endif
diff --git a/bsp/nxp/lpc/lpc824/drivers/usart.h b/bsp/nxp/lpc/lpc824/drivers/usart.h
deleted file mode 100644
index 7298cdab8b..0000000000
--- a/bsp/nxp/lpc/lpc824/drivers/usart.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Copyright (c) 2006-2021, RT-Thread Development Team
- *
- * SPDX-License-Identifier: Apache-2.0
- *
- * Change Logs:
- * Date Author Notes
- * 2013-11-15 bright the first version
- */
-
-#ifndef __USART_H__
-#define __USART_H__
-
-#include <rthw.h>
-#include <rtthread.h>
-
-int rt_hw_usart_init(void);
-
-#endif
diff --git a/bsp/nxp/lpc/lpc824/project.ewp b/bsp/nxp/lpc/lpc824/project.ewp
index 6725fdf35b..f96a4060b7 100644
--- a/bsp/nxp/lpc/lpc824/project.ewp
+++ b/bsp/nxp/lpc/lpc824/project.ewp
@@ -163,8 +163,15 @@
<option>
<name>CCDefines</name>
<state />
+ <state>CLOCKS_PER_SEC=RT_TICK_PER_SECOND</state>
+ <state>RT_USING_DLIBC</state>
+ <state>RT_USING_LIBC</state>
+ <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
+ <state>_DLIB_FILE_DESCRIPTOR</state>
<state>__RTTHREAD__</state>
<state>CORE_M0PLUS</state>
+ <state>__RT_IPC_SOURCE__</state>
+ <state>__RT_KERNEL_SOURCE__</state>
</option>
<option>
<name>CCPreprocFile</name>
@@ -294,22 +301,28 @@
<option>
<name>CCIncludePath2</name>
<state />
- <state>$PROJ_DIR$\applications</state>
- <state>$PROJ_DIR$\..\..\components\libc\compilers\common\nogcc</state>
- <state>$PROJ_DIR$\..\..\components\libc\posix\io\poll</state>
- <state>$PROJ_DIR$\.</state>
- <state>$PROJ_DIR$\Libraries\common\CMSIS</state>
- <state>$PROJ_DIR$\..\..\include</state>
- <state>$PROJ_DIR$\..\..\examples\utest\testcases\kernel</state>
+ <state>$PROJ_DIR$\..\..\..\..\components\dfs\dfs_v1\include</state>
+ <state>$PROJ_DIR$\drivers</state>
+ <state>$PROJ_DIR$\..\..\..\..\components\finsh</state>
<state>$PROJ_DIR$\Libraries\common\board</state>
- <state>$PROJ_DIR$\..\..\libcpu\arm\cortex-m0</state>
- <state>$PROJ_DIR$\..\..\components\drivers\include</state>
- <state>$PROJ_DIR$\..\..\components\finsh</state>
+ <state>$PROJ_DIR$\..\..\..\..\components\dfs\dfs_v1\filesystems\devfs</state>
+ <state>$PROJ_DIR$\..\..\..\..\components\drivers\include</state>
+ <state>$PROJ_DIR$\Libraries\common\CMSIS</state>
+ <state>$PROJ_DIR$\..\..\..\..\components\libc\compilers\common\include</state>
+ <state>$PROJ_DIR$\.</state>
+ <state>$PROJ_DIR$\..\..\..\..\components\libc\posix\ipc</state>
+ <state>$PROJ_DIR$\..\..\..\..\components\libc\posix\io\poll</state>
<state>$PROJ_DIR$\Libraries\common\chip</state>
- <state>$PROJ_DIR$\..\..\components\libc\compilers\common</state>
+ <state>$PROJ_DIR$\..\..\..\..\libcpu\arm\common</state>
+ <state>$PROJ_DIR$\..\..\..\..\libcpu\arm\cortex-m0</state>
+ <state>$PROJ_DIR$\..\..\..\..\components\drivers\smp</state>
+ <state>$PROJ_DIR$\..\..\..\..\include</state>
+ <state>$PROJ_DIR$\..\..\..\..\components\libc\compilers\common\extension</state>
<state>$PROJ_DIR$\Libraries\peri_driver</state>
- <state>$PROJ_DIR$\..\..\libcpu\arm\common</state>
- <state>$PROJ_DIR$\drivers</state>
+ <state>$PROJ_DIR$\..\..\..\..\components\libc\posix\io\epoll</state>
+ <state>$PROJ_DIR$\..\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+ <state>$PROJ_DIR$\applications</state>
+ <state>$PROJ_DIR$\..\..\..\..\components\libc\posix\io\eventfd</state>
</option>
<option>
<name>CCStdIncCheck</name>
@@ -1087,8 +1100,15 @@
<option>
<name>CCDefines</name>
<state>NDEBUG</state>
+ <state>CLOCKS_PER_SEC=RT_TICK_PER_SECOND</state>
+ <state>RT_USING_DLIBC</state>
+ <state>RT_USING_LIBC</state>
+ <state>_DLIB_ADD_EXTRA_SYMBOLS=0</state>
+ <state>_DLIB_FILE_DESCRIPTOR</state>
<state>__RTTHREAD__</state>
<state>CORE_M0PLUS</state>
+ <state>__RT_IPC_SOURCE__</state>
+ <state>__RT_KERNEL_SOURCE__</state>
</option>
<option>
<name>CCPreprocFile</name>
@@ -1218,22 +1238,28 @@
<option>
<name>CCIncludePath2</name>
<state />
- <state>$PROJ_DIR$\applications</state>
- <state>$PROJ_DIR$\..\..\components\libc\compilers\common\nogcc</state>
- <state>$PROJ_DIR$\..\..\components\libc\posix\io\poll</state>
- <state>$PROJ_DIR$\.</state>
- <state>$PROJ_DIR$\Libraries\common\CMSIS</state>
- <state>$PROJ_DIR$\..\..\include</state>
- <state>$PROJ_DIR$\..\..\examples\utest\testcases\kernel</state>
+ <state>$PROJ_DIR$\..\..\..\..\components\dfs\dfs_v1\include</state>
+ <state>$PROJ_DIR$\drivers</state>
+ <state>$PROJ_DIR$\..\..\..\..\components\finsh</state>
<state>$PROJ_DIR$\Libraries\common\board</state>
- <state>$PROJ_DIR$\..\..\libcpu\arm\cortex-m0</state>
- <state>$PROJ_DIR$\..\..\components\drivers\include</state>
- <state>$PROJ_DIR$\..\..\components\finsh</state>
+ <state>$PROJ_DIR$\..\..\..\..\components\dfs\dfs_v1\filesystems\devfs</state>
+ <state>$PROJ_DIR$\..\..\..\..\components\drivers\include</state>
+ <state>$PROJ_DIR$\Libraries\common\CMSIS</state>
+ <state>$PROJ_DIR$\..\..\..\..\components\libc\compilers\common\include</state>
+ <state>$PROJ_DIR$\.</state>
+ <state>$PROJ_DIR$\..\..\..\..\components\libc\posix\ipc</state>
+ <state>$PROJ_DIR$\..\..\..\..\components\libc\posix\io\poll</state>
<state>$PROJ_DIR$\Libraries\common\chip</state>
- <state>$PROJ_DIR$\..\..\components\libc\compilers\common</state>
+ <state>$PROJ_DIR$\..\..\..\..\libcpu\arm\common</state>
+ <state>$PROJ_DIR$\..\..\..\..\libcpu\arm\cortex-m0</state>
+ <state>$PROJ_DIR$\..\..\..\..\components\drivers\smp</state>
+ <state>$PROJ_DIR$\..\..\..\..\include</state>
+ <state>$PROJ_DIR$\..\..\..\..\components\libc\compilers\common\extension</state>
<state>$PROJ_DIR$\Libraries\peri_driver</state>
- <state>$PROJ_DIR$\..\..\libcpu\arm\common</state>
- <state>$PROJ_DIR$\drivers</state>
+ <state>$PROJ_DIR$\..\..\..\..\components\libc\posix\io\epoll</state>
+ <state>$PROJ_DIR$\..\..\..\..\components\libc\compilers\common\extension\fcntl\octal</state>
+ <state>$PROJ_DIR$\applications</state>
+ <state>$PROJ_DIR$\..\..\..\..\components\libc\posix\io\eventfd</state>
</option>
<option>
<name>CCStdIncCheck</name>
@@ -1853,188 +1879,284 @@
<file>
<name>$PROJ_DIR$\applications\application.c</name>
</file>
- <file>
- <name>$PROJ_DIR$\applications\startup.c</name>
- </file>
</group>
<group>
- <name>CPU</name>
+ <name>Compiler</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\components\libc\compilers\common\cctype.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\components\libc\compilers\common\cstdlib.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\components\libc\compilers\common\cstring.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\components\libc\compilers\common\ctime.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\components\libc\compilers\common\cunistd.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\components\libc\compilers\common\cwchar.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\components\libc\compilers\dlib\environ.c</name>
+ </file>
<file>
- <name>$PROJ_DIR$\..\..\libcpu\arm\common\showmem.c</name>
+ <name>$PROJ_DIR$\..\..\..\..\components\libc\compilers\dlib\syscall_close.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\libcpu\arm\common\div0.c</name>
+ <name>$PROJ_DIR$\..\..\..\..\components\libc\compilers\dlib\syscall_lseek.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\libcpu\arm\common\backtrace.c</name>
+ <name>$PROJ_DIR$\..\..\..\..\components\libc\compilers\dlib\syscall_mem.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\libcpu\arm\cortex-m0\context_iar.S</name>
+ <name>$PROJ_DIR$\..\..\..\..\components\libc\compilers\dlib\syscall_open.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\libcpu\arm\cortex-m0\cpuport.c</name>
+ <name>$PROJ_DIR$\..\..\..\..\components\libc\compilers\dlib\syscall_read.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\components\libc\compilers\dlib\syscall_remove.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\components\libc\compilers\dlib\syscall_write.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\components\libc\compilers\dlib\syscalls.c</name>
</file>
</group>
<group>
<name>DeviceDrivers</name>
<file>
- <name>$PROJ_DIR$\..\..\components\drivers\src\pipe.c</name>
+ <name>$PROJ_DIR$\..\..\..\..\components\drivers\core\device.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\components\drivers\ipc\completion_comm.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\components\drivers\ipc\completion_up.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\components\drivers\ipc\condvar.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\components\drivers\ipc\dataqueue.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\components\drivers\ipc\pipe.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\components\drivers\src\workqueue.c</name>
+ <name>$PROJ_DIR$\..\..\..\..\components\drivers\ipc\ringblk_buf.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\components\drivers\src\waitqueue.c</name>
+ <name>$PROJ_DIR$\..\..\..\..\components\drivers\ipc\ringbuffer.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\components\drivers\src\ringblk_buf.c</name>
+ <name>$PROJ_DIR$\..\..\..\..\components\drivers\ipc\waitqueue.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\components\drivers\src\completion.c</name>
+ <name>$PROJ_DIR$\..\..\..\..\components\drivers\ipc\workqueue.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\components\drivers\src\dataqueue.c</name>
+ <name>$PROJ_DIR$\..\..\..\..\components\drivers\pin\dev_pin.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\components\drivers\src\ringbuffer.c</name>
+ <name>$PROJ_DIR$\..\..\..\..\components\drivers\serial\dev_serial.c</name>
</file>
</group>
<group>
<name>Drivers</name>
<file>
+ <name>$PROJ_DIR$\drivers\drv_usart.c</name>
+ </file>
+ <file>
<name>$PROJ_DIR$\drivers\board.c</name>
</file>
+ </group>
+ <group>
+ <name>Filesystem</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\components\dfs\dfs_v1\filesystems\devfs\devfs.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\components\dfs\dfs_v1\src\dfs.c</name>
+ </file>
<file>
- <name>$PROJ_DIR$\drivers\usart.c</name>
+ <name>$PROJ_DIR$\..\..\..\..\components\dfs\dfs_v1\src\dfs_file.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\components\dfs\dfs_v1\src\dfs_fs.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\components\dfs\dfs_v1\src\dfs_posix.c</name>
</file>
</group>
<group>
<name>Finsh</name>
<file>
- <name>$PROJ_DIR$\..\..\components\finsh\msh.c</name>
+ <name>$PROJ_DIR$\..\..\..\..\components\finsh\shell.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\components\finsh\cmd.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\components\finsh\msh_parse.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\components\finsh\shell.c</name>
+ <name>$PROJ_DIR$\..\..\..\..\components\finsh\msh_file.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\components\finsh\msh.c</name>
</file>
</group>
<group>
<name>Kernel</name>
<file>
- <name>$PROJ_DIR$\..\..\src\object.c</name>
+ <name>$PROJ_DIR$\..\..\..\..\src\clock.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\src\components.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\src\cpu_up.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\src\idle.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\src\timer.c</name>
+ <name>$PROJ_DIR$\..\..\..\..\src\ipc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\src\device.c</name>
+ <name>$PROJ_DIR$\..\..\..\..\src\irq.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\src\components.c</name>
+ <name>$PROJ_DIR$\..\..\..\..\src\klibc\kerrno.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\src\kservice.c</name>
+ <name>$PROJ_DIR$\..\..\..\..\src\klibc\kstdio.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\src\ipc.c</name>
+ <name>$PROJ_DIR$\..\..\..\..\src\klibc\kstring.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\src\irq.c</name>
+ <name>$PROJ_DIR$\..\..\..\..\src\kservice.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\src\thread.c</name>
+ <name>$PROJ_DIR$\..\..\..\..\src\mem.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\src\idle.c</name>
+ <name>$PROJ_DIR$\..\..\..\..\src\mempool.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\src\mem.c</name>
+ <name>$PROJ_DIR$\..\..\..\..\src\object.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\src\clock.c</name>
+ <name>$PROJ_DIR$\..\..\..\..\src\scheduler_comm.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\src\scheduler.c</name>
+ <name>$PROJ_DIR$\..\..\..\..\src\scheduler_up.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\src\thread.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\src\timer.c</name>
</file>
</group>
<group>
- <name>libc</name>
+ <name>libcpu</name>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\libcpu\arm\common\div0.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\libcpu\arm\common\showmem.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\libcpu\arm\cortex-m0\context_iar.S</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\..\libcpu\arm\cortex-m0\cpuport.c</name>
+ </file>
</group>
<group>
<name>Libraries</name>
<file>
- <name>$PROJ_DIR$\Libraries\peri_driver\dma\dma_8xx.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\Libraries\peri_driver\adc\adc_8xx.c</name>
+ <name>$PROJ_DIR$\Libraries\peri_driver\sctimer\sct_pwm_8xx.c</name>
</file>
<file>
- <name>$PROJ_DIR$\Libraries\peri_driver\pinint\pinint_8xx.c</name>
+ <name>$PROJ_DIR$\Libraries\peri_driver\dma\dma_8xx.c</name>
</file>
<file>
- <name>$PROJ_DIR$\Libraries\peri_driver\crc\crc_8xx.c</name>
+ <name>$PROJ_DIR$\Libraries\common\board\board_lpc.c</name>
</file>
<file>
<name>$PROJ_DIR$\Libraries\common\chip\sysinit_8xx.c</name>
</file>
<file>
- <name>$PROJ_DIR$\Libraries\peri_driver\sctimer\sct_pwm_8xx.c</name>
+ <name>$PROJ_DIR$\Libraries\peri_driver\iap\iap.c</name>
</file>
<file>
- <name>$PROJ_DIR$\Libraries\peri_driver\i2c\i2c_8xx.c</name>
+ <name>$PROJ_DIR$\Libraries\peri_driver\wwdt\wwdt_8xx.c</name>
</file>
<file>
- <name>$PROJ_DIR$\Libraries\peri_driver\wwdt\wwdt_8xx.c</name>
+ <name>$PROJ_DIR$\Libraries\common\chip\ioswm_8xx.c</name>
</file>
<file>
- <name>$PROJ_DIR$\Libraries\common\chip\syscon_8xx.c</name>
+ <name>$PROJ_DIR$\Libraries\peri_driver\wkt\wkt_8xx.c</name>
</file>
<file>
- <name>$PROJ_DIR$\Libraries\common\startup\iar_startup_lpc82x.s</name>
+ <name>$PROJ_DIR$\Libraries\peri_driver\adc\adc_8xx.c</name>
</file>
<file>
- <name>$PROJ_DIR$\Libraries\peri_driver\pmu\pmu_8xx.c</name>
+ <name>$PROJ_DIR$\Libraries\peri_driver\mrt\stopwatch.c</name>
</file>
<file>
- <name>$PROJ_DIR$\Libraries\peri_driver\spi\spi_8xx.c</name>
+ <name>$PROJ_DIR$\Libraries\peri_driver\i2c\i2c_8xx.c</name>
</file>
<file>
<name>$PROJ_DIR$\Libraries\peri_driver\sctimer\sct_8xx.c</name>
</file>
<file>
- <name>$PROJ_DIR$\Libraries\peri_driver\wkt\wkt_8xx.c</name>
+ <name>$PROJ_DIR$\Libraries\peri_driver\pmu\pmu_8xx.c</name>
</file>
<file>
- <name>$PROJ_DIR$\Libraries\common\chip\ioswm_8xx.c</name>
+ <name>$PROJ_DIR$\Libraries\peri_driver\crc\crc_8xx.c</name>
</file>
<file>
- <name>$PROJ_DIR$\Libraries\peri_driver\mrt\stopwatch.c</name>
+ <name>$PROJ_DIR$\Libraries\common\chip\clock_8xx.c</name>
</file>
<file>
<name>$PROJ_DIR$\Libraries\peri_driver\gpio\gpio_8xx.c</name>
</file>
<file>
- <name>$PROJ_DIR$\Libraries\peri_driver\acmp\acmp_8xx.c</name>
+ <name>$PROJ_DIR$\Libraries\peri_driver\uart\uart_8xx.c</name>
</file>
<file>
- <name>$PROJ_DIR$\Libraries\peri_driver\uart\ring_buffer.c</name>
+ <name>$PROJ_DIR$\Libraries\peri_driver\pinint\pinint_8xx.c</name>
</file>
<file>
- <name>$PROJ_DIR$\Libraries\common\chip\clock_8xx.c</name>
+ <name>$PROJ_DIR$\Libraries\peri_driver\acmp\acmp_8xx.c</name>
</file>
<file>
- <name>$PROJ_DIR$\Libraries\peri_driver\iap\iap.c</name>
+ <name>$PROJ_DIR$\Libraries\common\startup\iar_startup_lpc82x.s</name>
</file>
<file>
- <name>$PROJ_DIR$\Libraries\peri_driver\uart\uart_8xx.c</name>
+ <name>$PROJ_DIR$\Libraries\peri_driver\spi\spi_8xx.c</name>
</file>
<file>
- <name>$PROJ_DIR$\Libraries\common\board\board_lpc.c</name>
+ <name>$PROJ_DIR$\Libraries\common\chip\syscon_8xx.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\Libraries\peri_driver\uart\ring_buffer.c</name>
</file>
</group>
<group>
<name>POSIX</name>
</group>
<group>
- <name>utestcases</name>
+ <name>smp</name>
</group>
</project>
diff --git a/bsp/nxp/lpc/lpc824/project.uvprojx b/bsp/nxp/lpc/lpc824/project.uvprojx
index 4c7e2abe97..cc477f78f2 100644
--- a/bsp/nxp/lpc/lpc824/project.uvprojx
+++ b/bsp/nxp/lpc/lpc824/project.uvprojx
@@ -330,9 +330,9 @@
<v6Rtti>0</v6Rtti>
<VariousControls>
<MiscControls />
- <Define>__CLK_TCK=RT_TICK_PER_SECOND, CORE_M0PLUS, __RTTHREAD__</Define>
+ <Define>__RTTHREAD__, RT_USING_LIBC, CORE_M0PLUS, __STDC_LIMIT_MACROS, __CLK_TCK=RT_TICK_PER_SECOND, RT_USING_ARMLIBC</Define>
<Undefine />
- <IncludePath>applications;.;..\..\libcpu\arm\common;..\..\libcpu\arm\cortex-m0;..\..\components\drivers\include;drivers;..\..\components\finsh;.;..\..\include;..\..\components\libc\compilers\common;..\..\components\libc\compilers\common\nogcc;Libraries\peri_driver;Libraries\common\board;Libraries\common\chip;Libraries\common\CMSIS;..\..\components\libc\posix\io\poll;..\..\examples\utest\testcases\kernel</IncludePath>
+ <IncludePath>Libraries\common\CMSIS;..\..\..\..\components\drivers\include;..\..\..\..\libcpu\arm\common;..\..\..\..\libcpu\arm\cortex-m0;.;..\..\..\..\components\drivers\smp;..\..\..\..\components\dfs\dfs_v1\filesystems\devfs;..\..\..\..\components\libc\compilers\common\include;..\..\..\..\components\dfs\dfs_v1\include;..\..\..\..\components\drivers\include;drivers;..\..\..\..\components\finsh;applications;..\..\..\..\components\libc\posix\io\eventfd;..\..\..\..\components\libc\compilers\common\extension;Libraries\common\chip;..\..\..\..\components\libc\posix\io\epoll;..\..\..\..\components\libc\posix\io\poll;Libraries\peri_driver;..\..\..\..\components\drivers\include;Libraries\common\board;..\..\..\..\components\libc\compilers\common\extension\fcntl\octal;..\..\..\..\components\drivers\include;..\..\..\..\components\libc\posix\ipc;..\..\..\..\include</IncludePath>
</VariousControls>
</Cads>
<Aads>
@@ -382,49 +382,63 @@
<FilePath>applications\application.c</FilePath>
</File>
</Files>
+ </Group>
+ <Group>
+ <GroupName>Compiler</GroupName>
<Files>
<File>
- <FileName>startup.c</FileName>
+ <FileName>syscall_mem.c</FileName>
<FileType>1</FileType>
- <FilePath>applications\startup.c</FilePath>
+ <FilePath>..\..\..\..\components\libc\compilers\armlibc\syscall_mem.c</FilePath>
</File>
</Files>
- </Group>
- <Group>
- <GroupName>CPU</GroupName>
<Files>
<File>
- <FileName>showmem.c</FileName>
+ <FileName>syscalls.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\libcpu\arm\common\showmem.c</FilePath>
+ <FilePath>..\..\..\..\components\libc\compilers\armlibc\syscalls.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>div0.c</FileName>
+ <FileName>cctype.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\libcpu\arm\common\div0.c</FilePath>
+ <FilePath>..\..\..\..\components\libc\compilers\common\cctype.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>backtrace.c</FileName>
+ <FileName>cstdlib.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\libcpu\arm\common\backtrace.c</FilePath>
+ <FilePath>..\..\..\..\components\libc\compilers\common\cstdlib.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>cpuport.c</FileName>
+ <FileName>cstring.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\libcpu\arm\cortex-m0\cpuport.c</FilePath>
+ <FilePath>..\..\..\..\components\libc\compilers\common\cstring.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>context_rvds.S</FileName>
- <FileType>2</FileType>
- <FilePath>..\..\libcpu\arm\cortex-m0\context_rvds.S</FilePath>
+ <FileName>ctime.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\components\libc\compilers\common\ctime.c</FilePath>
+ </File>
+ </Files>
+ <Files>
+ <File>
+ <FileName>cunistd.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\components\libc\compilers\common\cunistd.c</FilePath>
+ </File>
+ </Files>
+ <Files>
+ <File>
+ <FileName>cwchar.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\components\libc\compilers\common\cwchar.c</FilePath>
</File>
</Files>
</Group>
@@ -432,51 +446,230 @@
<GroupName>DeviceDrivers</GroupName>
<Files>
<File>
- <FileName>workqueue.c</FileName>
+ <FileName>device.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\drivers\src\workqueue.c</FilePath>
+ <FilePath>..\..\..\..\components\drivers\core\device.c</FilePath>
+ <FileOption>
+ <FileArmAds>
+ <Cads>
+ <VariousControls>
+ <MiscControls> </MiscControls>
+ <Define>__RT_IPC_SOURCE__</Define>
+ <Undefine> </Undefine>
+ <IncludePath> </IncludePath>
+ </VariousControls>
+ </Cads>
+ </FileArmAds>
+ </FileOption>
</File>
</Files>
<Files>
<File>
- <FileName>ringbuffer.c</FileName>
+ <FileName>completion_comm.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\components\drivers\ipc\completion_comm.c</FilePath>
+ <FileOption>
+ <FileArmAds>
+ <Cads>
+ <VariousControls>
+ <MiscControls> </MiscControls>
+ <Define>__RT_IPC_SOURCE__</Define>
+ <Undefine> </Undefine>
+ <IncludePath> </IncludePath>
+ </VariousControls>
+ </Cads>
+ </FileArmAds>
+ </FileOption>
+ </File>
+ </Files>
+ <Files>
+ <File>
+ <FileName>completion_up.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\components\drivers\ipc\completion_up.c</FilePath>
+ <FileOption>
+ <FileArmAds>
+ <Cads>
+ <VariousControls>
+ <MiscControls> </MiscControls>
+ <Define>__RT_IPC_SOURCE__</Define>
+ <Undefine> </Undefine>
+ <IncludePath> </IncludePath>
+ </VariousControls>
+ </Cads>
+ </FileArmAds>
+ </FileOption>
+ </File>
+ </Files>
+ <Files>
+ <File>
+ <FileName>condvar.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\components\drivers\ipc\condvar.c</FilePath>
+ <FileOption>
+ <FileArmAds>
+ <Cads>
+ <VariousControls>
+ <MiscControls> </MiscControls>
+ <Define>__RT_IPC_SOURCE__</Define>
+ <Undefine> </Undefine>
+ <IncludePath> </IncludePath>
+ </VariousControls>
+ </Cads>
+ </FileArmAds>
+ </FileOption>
+ </File>
+ </Files>
+ <Files>
+ <File>
+ <FileName>dataqueue.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\drivers\src\ringbuffer.c</FilePath>
+ <FilePath>..\..\..\..\components\drivers\ipc\dataqueue.c</FilePath>
+ <FileOption>
+ <FileArmAds>
+ <Cads>
+ <VariousControls>
+ <MiscControls> </MiscControls>
+ <Define>__RT_IPC_SOURCE__</Define>
+ <Undefine> </Undefine>
+ <IncludePath> </IncludePath>
+ </VariousControls>
+ </Cads>
+ </FileArmAds>
+ </FileOption>
+ </File>
+ </Files>
+ <Files>
+ <File>
+ <FileName>pipe.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\components\drivers\ipc\pipe.c</FilePath>
+ <FileOption>
+ <FileArmAds>
+ <Cads>
+ <VariousControls>
+ <MiscControls> </MiscControls>
+ <Define>__RT_IPC_SOURCE__</Define>
+ <Undefine> </Undefine>
+ <IncludePath> </IncludePath>
+ </VariousControls>
+ </Cads>
+ </FileArmAds>
+ </FileOption>
</File>
</Files>
<Files>
<File>
<FileName>ringblk_buf.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\drivers\src\ringblk_buf.c</FilePath>
+ <FilePath>..\..\..\..\components\drivers\ipc\ringblk_buf.c</FilePath>
+ <FileOption>
+ <FileArmAds>
+ <Cads>
+ <VariousControls>
+ <MiscControls> </MiscControls>
+ <Define>__RT_IPC_SOURCE__</Define>
+ <Undefine> </Undefine>
+ <IncludePath> </IncludePath>
+ </VariousControls>
+ </Cads>
+ </FileArmAds>
+ </FileOption>
</File>
</Files>
<Files>
<File>
- <FileName>completion.c</FileName>
+ <FileName>ringbuffer.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\drivers\src\completion.c</FilePath>
+ <FilePath>..\..\..\..\components\drivers\ipc\ringbuffer.c</FilePath>
+ <FileOption>
+ <FileArmAds>
+ <Cads>
+ <VariousControls>
+ <MiscControls> </MiscControls>
+ <Define>__RT_IPC_SOURCE__</Define>
+ <Undefine> </Undefine>
+ <IncludePath> </IncludePath>
+ </VariousControls>
+ </Cads>
+ </FileArmAds>
+ </FileOption>
</File>
</Files>
<Files>
<File>
<FileName>waitqueue.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\drivers\src\waitqueue.c</FilePath>
+ <FilePath>..\..\..\..\components\drivers\ipc\waitqueue.c</FilePath>
+ <FileOption>
+ <FileArmAds>
+ <Cads>
+ <VariousControls>
+ <MiscControls> </MiscControls>
+ <Define>__RT_IPC_SOURCE__</Define>
+ <Undefine> </Undefine>
+ <IncludePath> </IncludePath>
+ </VariousControls>
+ </Cads>
+ </FileArmAds>
+ </FileOption>
</File>
</Files>
<Files>
<File>
- <FileName>pipe.c</FileName>
+ <FileName>workqueue.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\drivers\src\pipe.c</FilePath>
+ <FilePath>..\..\..\..\components\drivers\ipc\workqueue.c</FilePath>
+ <FileOption>
+ <FileArmAds>
+ <Cads>
+ <VariousControls>
+ <MiscControls> </MiscControls>
+ <Define>__RT_IPC_SOURCE__</Define>
+ <Undefine> </Undefine>
+ <IncludePath> </IncludePath>
+ </VariousControls>
+ </Cads>
+ </FileArmAds>
+ </FileOption>
</File>
</Files>
<Files>
<File>
- <FileName>dataqueue.c</FileName>
+ <FileName>dev_pin.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\components\drivers\pin\dev_pin.c</FilePath>
+ <FileOption>
+ <FileArmAds>
+ <Cads>
+ <VariousControls>
+ <MiscControls> </MiscControls>
+ <Define>__RT_IPC_SOURCE__</Define>
+ <Undefine> </Undefine>
+ <IncludePath> </IncludePath>
+ </VariousControls>
+ </Cads>
+ </FileArmAds>
+ </FileOption>
+ </File>
+ </Files>
+ <Files>
+ <File>
+ <FileName>dev_serial.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\drivers\src\dataqueue.c</FilePath>
+ <FilePath>..\..\..\..\components\drivers\serial\dev_serial.c</FilePath>
+ <FileOption>
+ <FileArmAds>
+ <Cads>
+ <VariousControls>
+ <MiscControls> </MiscControls>
+ <Define>__RT_IPC_SOURCE__</Define>
+ <Undefine> </Undefine>
+ <IncludePath> </IncludePath>
+ </VariousControls>
+ </Cads>
+ </FileArmAds>
+ </FileOption>
</File>
</Files>
</Group>
@@ -484,16 +677,114 @@
<GroupName>Drivers</GroupName>
<Files>
<File>
- <FileName>usart.c</FileName>
+ <FileName>board.c</FileName>
<FileType>1</FileType>
- <FilePath>drivers\usart.c</FilePath>
+ <FilePath>drivers\board.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>board.c</FileName>
+ <FileName>drv_usart.c</FileName>
<FileType>1</FileType>
- <FilePath>drivers\board.c</FilePath>
+ <FilePath>drivers\drv_usart.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>Filesystem</GroupName>
+ <Files>
+ <File>
+ <FileName>devfs.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\components\dfs\dfs_v1\filesystems\devfs\devfs.c</FilePath>
+ <FileOption>
+ <FileArmAds>
+ <Cads>
+ <VariousControls>
+ <MiscControls> --c99</MiscControls>
+ <Define> </Define>
+ <Undefine> </Undefine>
+ <IncludePath> </IncludePath>
+ </VariousControls>
+ </Cads>
+ </FileArmAds>
+ </FileOption>
+ </File>
+ </Files>
+ <Files>
+ <File>
+ <FileName>dfs.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\components\dfs\dfs_v1\src\dfs.c</FilePath>
+ <FileOption>
+ <FileArmAds>
+ <Cads>
+ <VariousControls>
+ <MiscControls> --c99</MiscControls>
+ <Define> </Define>
+ <Undefine> </Undefine>
+ <IncludePath> </IncludePath>
+ </VariousControls>
+ </Cads>
+ </FileArmAds>
+ </FileOption>
+ </File>
+ </Files>
+ <Files>
+ <File>
+ <FileName>dfs_file.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\components\dfs\dfs_v1\src\dfs_file.c</FilePath>
+ <FileOption>
+ <FileArmAds>
+ <Cads>
+ <VariousControls>
+ <MiscControls> --c99</MiscControls>
+ <Define> </Define>
+ <Undefine> </Undefine>
+ <IncludePath> </IncludePath>
+ </VariousControls>
+ </Cads>
+ </FileArmAds>
+ </FileOption>
+ </File>
+ </Files>
+ <Files>
+ <File>
+ <FileName>dfs_fs.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\components\dfs\dfs_v1\src\dfs_fs.c</FilePath>
+ <FileOption>
+ <FileArmAds>
+ <Cads>
+ <VariousControls>
+ <MiscControls> --c99</MiscControls>
+ <Define> </Define>
+ <Undefine> </Undefine>
+ <IncludePath> </IncludePath>
+ </VariousControls>
+ </Cads>
+ </FileArmAds>
+ </FileOption>
+ </File>
+ </Files>
+ <Files>
+ <File>
+ <FileName>dfs_posix.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\components\dfs\dfs_v1\src\dfs_posix.c</FilePath>
+ <FileOption>
+ <FileArmAds>
+ <Cads>
+ <VariousControls>
+ <MiscControls> --c99</MiscControls>
+ <Define> </Define>
+ <Undefine> </Undefine>
+ <IncludePath> </IncludePath>
+ </VariousControls>
+ </Cads>
+ </FileArmAds>
+ </FileOption>
</File>
</Files>
</Group>
@@ -503,14 +794,35 @@
<File>
<FileName>shell.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\finsh\shell.c</FilePath>
+ <FilePath>..\..\..\..\components\finsh\shell.c</FilePath>
+ </File>
+ </Files>
+ <Files>
+ <File>
+ <FileName>msh_parse.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\components\finsh\msh_parse.c</FilePath>
</File>
</Files>
<Files>
<File>
<FileName>msh.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\components\finsh\msh.c</FilePath>
+ <FilePath>..\..\..\..\components\finsh\msh.c</FilePath>
+ </File>
+ </Files>
+ <Files>
+ <File>
+ <FileName>msh_file.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\components\finsh\msh_file.c</FilePath>
+ </File>
+ </Files>
+ <Files>
+ <File>
+ <FileName>cmd.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\components\finsh\cmd.c</FilePath>
</File>
</Files>
</Group>
@@ -518,119 +830,361 @@
<GroupName>Kernel</GroupName>
<Files>
<File>
- <FileName>mem.c</FileName>
+ <FileName>clock.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\src\mem.c</FilePath>
+ <FilePath>..\..\..\..\src\clock.c</FilePath>
+ <FileOption>
+ <FileArmAds>
+ <Cads>
+ <VariousControls>
+ <MiscControls> </MiscControls>
+ <Define>__RT_KERNEL_SOURCE__</Define>
+ <Undefine> </Undefine>
+ <IncludePath> </IncludePath>
+ </VariousControls>
+ </Cads>
+ </FileArmAds>
+ </FileOption>
</File>
</Files>
<Files>
<File>
- <FileName>clock.c</FileName>
+ <FileName>components.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\src\components.c</FilePath>
+ <FileOption>
+ <FileArmAds>
+ <Cads>
+ <VariousControls>
+ <MiscControls> </MiscControls>
+ <Define>__RT_KERNEL_SOURCE__</Define>
+ <Undefine> </Undefine>
+ <IncludePath> </IncludePath>
+ </VariousControls>
+ </Cads>
+ </FileArmAds>
+ </FileOption>
+ </File>
+ </Files>
+ <Files>
+ <File>
+ <FileName>cpu_up.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\src\clock.c</FilePath>
+ <FilePath>..\..\..\..\src\cpu_up.c</FilePath>
+ <FileOption>
+ <FileArmAds>
+ <Cads>
+ <VariousControls>
+ <MiscControls> </MiscControls>
+ <Define>__RT_KERNEL_SOURCE__</Define>
+ <Undefine> </Undefine>
+ <IncludePath> </IncludePath>
+ </VariousControls>
+ </Cads>
+ </FileArmAds>
+ </FileOption>
+ </File>
+ </Files>
+ <Files>
+ <File>
+ <FileName>idle.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\src\idle.c</FilePath>
+ <FileOption>
+ <FileArmAds>
+ <Cads>
+ <VariousControls>
+ <MiscControls> </MiscControls>
+ <Define>__RT_KERNEL_SOURCE__</Define>
+ <Undefine> </Undefine>
+ <IncludePath> </IncludePath>
+ </VariousControls>
+ </Cads>
+ </FileArmAds>
+ </FileOption>
</File>
</Files>
<Files>
<File>
<FileName>ipc.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\src\ipc.c</FilePath>
+ <FilePath>..\..\..\..\src\ipc.c</FilePath>
+ <FileOption>
+ <FileArmAds>
+ <Cads>
+ <VariousControls>
+ <MiscControls> </MiscControls>
+ <Define>__RT_KERNEL_SOURCE__</Define>
+ <Undefine> </Undefine>
+ <IncludePath> </IncludePath>
+ </VariousControls>
+ </Cads>
+ </FileArmAds>
+ </FileOption>
</File>
</Files>
<Files>
<File>
- <FileName>thread.c</FileName>
+ <FileName>irq.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\src\irq.c</FilePath>
+ <FileOption>
+ <FileArmAds>
+ <Cads>
+ <VariousControls>
+ <MiscControls> </MiscControls>
+ <Define>__RT_KERNEL_SOURCE__</Define>
+ <Undefine> </Undefine>
+ <IncludePath> </IncludePath>
+ </VariousControls>
+ </Cads>
+ </FileArmAds>
+ </FileOption>
+ </File>
+ </Files>
+ <Files>
+ <File>
+ <FileName>kerrno.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\src\klibc\kerrno.c</FilePath>
+ <FileOption>
+ <FileArmAds>
+ <Cads>
+ <VariousControls>
+ <MiscControls> </MiscControls>
+ <Define>__RT_KERNEL_SOURCE__</Define>
+ <Undefine> </Undefine>
+ <IncludePath> </IncludePath>
+ </VariousControls>
+ </Cads>
+ </FileArmAds>
+ </FileOption>
+ </File>
+ </Files>
+ <Files>
+ <File>
+ <FileName>kstdio.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\..\..\src\klibc\kstdio.c</FilePath>
+ <FileOption>
+ <FileArmAds>
+ <Cads>
+ <VariousControls>
+ <MiscControls> </MiscControls>
+ <Define>__RT_KERNEL_SOURCE__</Define>
+ <Undefine> </Undefine>
+ <IncludePath> </IncludePath>
+ </VariousControls>
+ </Cads>
+ </FileArmAds>
+ </FileOption>
+ </File>
+ </Files>
+ <Files>
+ <File>
+ <FileName>kstring.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\src\thread.c</FilePath>
+ <FilePath>..\..\..\..\src\klibc\kstring.c</FilePath>
+ <FileOption>
+ <FileArmAds>
+ <Cads>
+ <VariousControls>
+ <MiscControls> </MiscControls>
+ <Define>__RT_KERNEL_SOURCE__</Define>
+ <Undefine> </Undefine>
+ <IncludePath> </IncludePath>
+ </VariousControls>
+ </Cads>
+ </FileArmAds>
+ </FileOption>
</File>
</Files>
<Files>
<File>
<FileName>kservice.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\src\kservice.c</FilePath>
+ <FilePath>..\..\..\..\src\kservice.c</FilePath>
+ <FileOption>
+ <FileArmAds>
+ <Cads>
+ <VariousControls>
+ <MiscControls> </MiscControls>
+ <Define>__RT_KERNEL_SOURCE__</Define>
+ <Undefine> </Undefine>
+ <IncludePath> </IncludePath>
+ </VariousControls>
+ </Cads>
+ </FileArmAds>
+ </FileOption>
</File>
</Files>
<Files>
<File>
- <FileName>timer.c</FileName>
+ <FileName>mem.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\src\timer.c</FilePath>
+ <FilePath>..\..\..\..\src\mem.c</FilePath>
+ <FileOption>
+ <FileArmAds>
+ <Cads>
+ <VariousControls>
+ <MiscControls> </MiscControls>
+ <Define>__RT_KERNEL_SOURCE__</Define>
+ <Undefine> </Undefine>
+ <IncludePath> </IncludePath>
+ </VariousControls>
+ </Cads>
+ </FileArmAds>
+ </FileOption>
</File>
</Files>
<Files>
<File>
- <FileName>irq.c</FileName>
+ <FileName>mempool.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\src\irq.c</FilePath>
+ <FilePath>..\..\..\..\src\mempool.c</FilePath>
+ <FileOption>
+ <FileArmAds>
+ <Cads>
+ <VariousControls>
+ <MiscControls> </MiscControls>
+ <Define>__RT_KERNEL_SOURCE__</Define>
+ <Undefine> </Undefine>
+ <IncludePath> </IncludePath>
+ </VariousControls>
+ </Cads>
+ </FileArmAds>
+ </FileOption>
</File>
</Files>
<Files>
<File>
- <FileName>device.c</FileName>
+ <FileName>object.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\src\device.c</FilePath>
+ <FilePath>..\..\..\..\src\object.c</FilePath>
+ <FileOption>
+ <FileArmAds>
+ <Cads>
+ <VariousControls>
+ <MiscControls> </MiscControls>
+ <Define>__RT_KERNEL_SOURCE__</Define>
+ <Undefine> </Undefine>
+ <IncludePath> </IncludePath>
+ </VariousControls>
+ </Cads>
+ </FileArmAds>
+ </FileOption>
</File>
</Files>
<Files>
<File>
- <FileName>components.c</FileName>
+ <FileName>scheduler_comm.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\src\components.c</FilePath>
+ <FilePath>..\..\..\..\src\scheduler_comm.c</FilePath>
+ <FileOption>
+ <FileArmAds>
+ <Cads>
+ <VariousControls>
+ <MiscControls> </MiscControls>
+ <Define>__RT_KERNEL_SOURCE__</Define>
+ <Undefine> </Undefine>
+ <IncludePath> </IncludePath>
+ </VariousControls>
+ </Cads>
+ </FileArmAds>
+ </FileOption>
</File>
</Files>
<Files>
<File>
- <FileName>scheduler.c</FileName>
+ <FileName>scheduler_up.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\src\scheduler.c</FilePath>
+ <FilePath>..\..\..\..\src\scheduler_up.c</FilePath>
+ <FileOption>
+ <FileArmAds>
+ <Cads>
+ <VariousControls>
+ <MiscControls> </MiscControls>
+ <Define>__RT_KERNEL_SOURCE__</Define>
+ <Undefine> </Undefine>
+ <IncludePath> </IncludePath>
+ </VariousControls>
+ </Cads>
+ </FileArmAds>
+ </FileOption>
</File>
</Files>
<Files>
<File>
- <FileName>idle.c</FileName>
+ <FileName>thread.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\src\idle.c</FilePath>
+ <FilePath>..\..\..\..\src\thread.c</FilePath>
+ <FileOption>
+ <FileArmAds>
+ <Cads>
+ <VariousControls>
+ <MiscControls> </MiscControls>
+ <Define>__RT_KERNEL_SOURCE__</Define>
+ <Undefine> </Undefine>
+ <IncludePath> </IncludePath>
+ </VariousControls>
+ </Cads>
+ </FileArmAds>
+ </FileOption>
</File>
</Files>
<Files>
<File>
- <FileName>object.c</FileName>
+ <FileName>timer.c</FileName>
<FileType>1</FileType>
- <FilePath>..\..\src\object.c</FilePath>
+ <FilePath>..\..\..\..\src\timer.c</FilePath>
+ <FileOption>
+ <FileArmAds>
+ <Cads>
+ <VariousControls>
+ <MiscControls> </MiscControls>
+ <Define>__RT_KERNEL_SOURCE__</Define>
+ <Undefine> </Undefine>
+ <IncludePath> </IncludePath>
+ </VariousControls>
+ </Cads>
+ </FileArmAds>
+ </FileOption>
</File>
</Files>
</Group>
<Group>
- <GroupName>Libraries</GroupName>
+ <GroupName>libcpu</GroupName>
<Files>
<File>
- <FileName>iap.c</FileName>
+ <FileName>div0.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\peri_driver\iap\iap.c</FilePath>
+ <FilePath>..\..\..\..\libcpu\arm\common\div0.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>syscon_8xx.c</FileName>
+ <FileName>showmem.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\common\chip\syscon_8xx.c</FilePath>
+ <FilePath>..\..\..\..\libcpu\arm\common\showmem.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>dma_8xx.c</FileName>
- <FileType>1</FileType>
- <FilePath>Libraries\peri_driver\dma\dma_8xx.c</FilePath>
+ <FileName>context_rvds.S</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\..\..\libcpu\arm\cortex-m0\context_rvds.S</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>ring_buffer.c</FileName>
+ <FileName>cpuport.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\peri_driver\uart\ring_buffer.c</FilePath>
+ <FilePath>..\..\..\..\libcpu\arm\cortex-m0\cpuport.c</FilePath>
</File>
</Files>
+ </Group>
+ <Group>
+ <GroupName>Libraries</GroupName>
<Files>
<File>
<FileName>sct_8xx.c</FileName>
@@ -640,72 +1194,72 @@
</Files>
<Files>
<File>
- <FileName>clock_8xx.c</FileName>
+ <FileName>sct_pwm_8xx.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\common\chip\clock_8xx.c</FilePath>
+ <FilePath>Libraries\peri_driver\sctimer\sct_pwm_8xx.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>sct_pwm_8xx.c</FileName>
+ <FileName>dma_8xx.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\peri_driver\sctimer\sct_pwm_8xx.c</FilePath>
+ <FilePath>Libraries\peri_driver\dma\dma_8xx.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>board_lpc.c</FileName>
+ <FileName>spi_8xx.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\common\board\board_lpc.c</FilePath>
+ <FilePath>Libraries\peri_driver\spi\spi_8xx.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>sysinit_8xx.c</FileName>
+ <FileName>uart_8xx.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\common\chip\sysinit_8xx.c</FilePath>
+ <FilePath>Libraries\peri_driver\uart\uart_8xx.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>pinint_8xx.c</FileName>
+ <FileName>clock_8xx.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\peri_driver\pinint\pinint_8xx.c</FilePath>
+ <FilePath>Libraries\common\chip\clock_8xx.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>acmp_8xx.c</FileName>
+ <FileName>iap.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\peri_driver\acmp\acmp_8xx.c</FilePath>
+ <FilePath>Libraries\peri_driver\iap\iap.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>wkt_8xx.c</FileName>
+ <FileName>acmp_8xx.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\peri_driver\wkt\wkt_8xx.c</FilePath>
+ <FilePath>Libraries\peri_driver\acmp\acmp_8xx.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>pmu_8xx.c</FileName>
+ <FileName>ring_buffer.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\peri_driver\pmu\pmu_8xx.c</FilePath>
+ <FilePath>Libraries\peri_driver\uart\ring_buffer.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>i2c_8xx.c</FileName>
+ <FileName>sysinit_8xx.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\peri_driver\i2c\i2c_8xx.c</FilePath>
+ <FilePath>Libraries\common\chip\sysinit_8xx.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>ioswm_8xx.c</FileName>
+ <FileName>pinint_8xx.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\common\chip\ioswm_8xx.c</FilePath>
+ <FilePath>Libraries\peri_driver\pinint\pinint_8xx.c</FilePath>
</File>
</Files>
<Files>
@@ -717,23 +1271,23 @@
</Files>
<Files>
<File>
- <FileName>uart_8xx.c</FileName>
+ <FileName>ioswm_8xx.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\peri_driver\uart\uart_8xx.c</FilePath>
+ <FilePath>Libraries\common\chip\ioswm_8xx.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>gpio_8xx.c</FileName>
+ <FileName>crc_8xx.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\peri_driver\gpio\gpio_8xx.c</FilePath>
+ <FilePath>Libraries\peri_driver\crc\crc_8xx.c</FilePath>
</File>
</Files>
<Files>
<File>
- <FileName>stopwatch.c</FileName>
+ <FileName>wkt_8xx.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\peri_driver\mrt\stopwatch.c</FilePath>
+ <FilePath>Libraries\peri_driver\wkt\wkt_8xx.c</FilePath>
</File>
</Files>
<Files>
@@ -745,9 +1299,9 @@
</Files>
<Files>
<File>
- <FileName>spi_8xx.c</FileName>
+ <FileName>stopwatch.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\peri_driver\spi\spi_8xx.c</FilePath>
+ <FilePath>Libraries\peri_driver\mrt\stopwatch.c</FilePath>
</File>
</Files>
<Files>
@@ -759,9 +1313,37 @@
</Files>
<Files>
<File>
- <FileName>crc_8xx.c</FileName>
+ <FileName>board_lpc.c</FileName>
<FileType>1</FileType>
- <FilePath>Libraries\peri_driver\crc\crc_8xx.c</FilePath>
+ <FilePath>Libraries\common\board\board_lpc.c</FilePath>
+ </File>
+ </Files>
+ <Files>
+ <File>
+ <FileName>i2c_8xx.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>Libraries\peri_driver\i2c\i2c_8xx.c</FilePath>
+ </File>
+ </Files>
+ <Files>
+ <File>
+ <FileName>pmu_8xx.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>Libraries\peri_driver\pmu\pmu_8xx.c</FilePath>
+ </File>
+ </Files>
+ <Files>
+ <File>
+ <FileName>syscon_8xx.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>Libraries\common\chip\syscon_8xx.c</FilePath>
+ </File>
+ </Files>
+ <Files>
+ <File>
+ <FileName>gpio_8xx.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>Libraries\peri_driver\gpio\gpio_8xx.c</FilePath>
</File>
</Files>
</Group>
diff --git a/bsp/nxp/lpc/lpc824/rtconfig.h b/bsp/nxp/lpc/lpc824/rtconfig.h
index f9707b8013..3a698bdec1 100644
--- a/bsp/nxp/lpc/lpc824/rtconfig.h
+++ b/bsp/nxp/lpc/lpc824/rtconfig.h
@@ -1,187 +1,253 @@
-/* RT-Thread config file */
+#ifndef RT_CONFIG_H__
+#define RT_CONFIG_H__
-#ifndef __RTTHREAD_CFG_H__
-#define __RTTHREAD_CFG_H__
+/* RT-Thread Kernel */
-// <<< Use Configuration Wizard in Context Menu >>>
-// <h>Basic Configuration
-// <o>Maximal level of thread priority <8-256>
-// <i>Default: 32
-#define RT_THREAD_PRIORITY_MAX 8
-// <o>OS tick per second
-// <i>Default: 1000 (1ms)
-#define RT_TICK_PER_SECOND 100
-// <o>Alignment size for CPU architecture data access
-// <i>Default: 4
-#define RT_ALIGN_SIZE 8
-// <o>the max length of object name<2-16>
-// <i>Default: 8
-#define RT_NAME_MAX 8
-// <c1>Using RT-Thread components initialization
-// <i>Using RT-Thread components initialization
-#define RT_USING_COMPONENTS_INIT
-// </c>
-// <c1>Using user main
-// <i>Using user main
-//#define RT_USING_USER_MAIN
-// </c>
-// <o>the size of main thread<1-4086>
-// <i>Default: 512
-#define RT_MAIN_THREAD_STACK_SIZE 256
+#define RT_NAME_MAX 8
+#define RT_USING_NANO
+#define RT_CPUS_NR 1
+#define RT_ALIGN_SIZE 8
+#define RT_THREAD_PRIORITY_32
+#define RT_THREAD_PRIORITY_MAX 32
+#define RT_TICK_PER_SECOND 1000
+#define RT_USING_HOOK
+#define RT_HOOK_USING_FUNC_PTR
+#define RT_USING_IDLE_HOOK
+#define RT_IDLE_HOOK_LIST_SIZE 4
+#define IDLE_THREAD_STACK_SIZE 256
-// </h>
+/* kservice optimization */
-// <h>Debug Configuration
-// <c1>enable kernel debug configuration
-// <i>Default: enable kernel debug configuration
-//#define RT_DEBUG
-// </c>
-// <o>enable components initialization debug configuration<0-1>
-// <i>Default: 0
-#define RT_DEBUG_INIT 0
-// <c1>thread stack over flow detect
-// <i> Diable Thread stack over flow detect
-//#define RT_USING_OVERFLOW_CHECK
-// </c>
-// </h>
+/* end of kservice optimization */
-// <h>Hook Configuration
-// <c1>using hook
-// <i>using hook
-//#define RT_USING_HOOK
-// </c>
-// <c1>using idle hook
-// <i>using idle hook
-//#define RT_USING_IDLE_HOOK
-// </c>
-// </h>
+/* klibc optimization */
-// <e>Software timers Configuration
-// <i> Enables user timers
-#define RT_USING_TIMER_SOFT 0
-#if RT_USING_TIMER_SOFT == 0
-#undef RT_USING_TIMER_SOFT
-#endif
-// <o>The priority level of timer thread <0-31>
-// <i>Default: 4
-#define RT_TIMER_THREAD_PRIO 4
-// <o>The stack size of timer thread <0-8192>
-// <i>Default: 512
-#define RT_TIMER_THREAD_STACK_SIZE 512
-// <o>The soft-timer tick per second <0-1000>
-// <i>Default: 100
-#define RT_TIMER_TICK_PER_SECOND 100
-// </e>
+/* end of klibc optimization */
+
+/* Inter-Thread communication */
-// <h>IPC(Inter-process communication) Configuration
-// <c1>Using Semaphore
-// <i>Using Semaphore
#define RT_USING_SEMAPHORE
-// </c>
-// <c1>Using Mutex
-// <i>Using Mutex
#define RT_USING_MUTEX
-// </c>
-// <c1>Using Event
-// <i>Using Event
-//#define RT_USING_EVENT
-// </c>
-// <c1>Using MailBox
-// <i>Using MailBox
-#define RT_USING_MAILBOX
-// </c>
-// <c1>Using Message Queue
-// <i>Using Message Queue
-//#define RT_USING_MESSAGEQUEUE
-// </c>
-// </h>
+/* end of Inter-Thread communication */
-// <h>Memory Management Configuration
-// <c1>Using Memory Pool Management
-// <i>Using Memory Pool Management
-//#define RT_USING_MEMPOOL
-// </c>
-// <c1>Dynamic Heap Management
-// <i>Dynamic Heap Management
-#define RT_USING_HEAP
-// </c>
-// <c1>using small memory
-// <i>using small memory
+/* Memory Management */
+
+#define RT_USING_MEMPOOL
#define RT_USING_SMALL_MEM
-// </c>
-// <c1>using tiny size of memory
-// <i>using tiny size of memory
-#define RT_USING_TINY_SIZE
-// </c>
-// </h>
+#define RT_USING_SMALL_MEM_AS_HEAP
+#define RT_USING_HEAP
+/* end of Memory Management */
+#define RT_VER_NUM 0x50200
+#define RT_BACKTRACE_LEVEL_MAX_NR 32
+/* end of RT-Thread Kernel */
+#define ARCH_ARM
+#define ARCH_ARM_CORTEX_M
+#define ARCH_ARM_CORTEX_M0
+
+/* RT-Thread Components */
+
+#define RT_USING_COMPONENTS_INIT
+#define RT_USING_USER_MAIN
+#define RT_MAIN_THREAD_STACK_SIZE 2048
+#define RT_MAIN_THREAD_PRIORITY 10
+
+/* Using USB legacy version */
+
+/* end of Using USB legacy version */
+/* end of RT-Thread Components */
+
+/* RT-Thread Utestcases */
+
+/* end of RT-Thread Utestcases */
+
+/* RT-Thread online packages */
+
+/* IoT - internet of things */
+
+
+/* Wi-Fi */
+
+/* Marvell WiFi */
+
+/* end of Marvell WiFi */
+
+/* Wiced WiFi */
+
+/* end of Wiced WiFi */
+
+/* CYW43012 WiFi */
+
+/* end of CYW43012 WiFi */
+
+/* BL808 WiFi */
+
+/* end of BL808 WiFi */
+
+/* CYW43439 WiFi */
+
+/* end of CYW43439 WiFi */
+/* end of Wi-Fi */
+
+/* IoT Cloud */
+
+/* end of IoT Cloud */
+/* end of IoT - internet of things */
+
+/* security packages */
+
+/* end of security packages */
+
+/* language packages */
+
+/* JSON: JavaScript Object Notation, a lightweight data-interchange format */
+
+/* end of JSON: JavaScript Object Notation, a lightweight data-interchange format */
+
+/* XML: Extensible Markup Language */
+
+/* end of XML: Extensible Markup Language */
+/* end of language packages */
+
+/* multimedia packages */
+
+/* LVGL: powerful and easy-to-use embedded GUI library */
+
+/* end of LVGL: powerful and easy-to-use embedded GUI library */
+
+/* u8g2: a monochrome graphic library */
+
+/* end of u8g2: a monochrome graphic library */
+/* end of multimedia packages */
+
+/* tools packages */
+
+/* end of tools packages */
+
+/* system packages */
+
+/* enhanced kernel services */
+
+/* end of enhanced kernel services */
+
+/* acceleration: Assembly language or algorithmic acceleration packages */
+
+/* end of acceleration: Assembly language or algorithmic acceleration packages */
+
+/* CMSIS: ARM Cortex-M Microcontroller Software Interface Standard */
+
+/* end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard */
+
+/* Micrium: Micrium software products porting for RT-Thread */
+
+/* end of Micrium: Micrium software products porting for RT-Thread */
+/* end of system packages */
+
+/* peripheral libraries and drivers */
+
+/* HAL & SDK Drivers */
+
+/* STM32 HAL & SDK Drivers */
+
+/* end of STM32 HAL & SDK Drivers */
+
+/* Infineon HAL Packages */
+
+/* end of Infineon HAL Packages */
+
+/* Kendryte SDK */
+
+/* end of Kendryte SDK */
+/* end of HAL & SDK Drivers */
+
+/* sensors drivers */
+
+/* end of sensors drivers */
+
+/* touch drivers */
+
+/* end of touch drivers */
+/* end of peripheral libraries and drivers */
+
+/* AI packages */
+
+/* end of AI packages */
+
+/* Signal Processing and Control Algorithm Packages */
+
+/* end of Signal Processing and Control Algorithm Packages */
+
+/* miscellaneous packages */
+
+/* project laboratory */
+
+/* end of project laboratory */
+
+/* samples: kernel and components samples */
+
+/* end of samples: kernel and components samples */
+
+/* entertainment: terminal games and other interesting software packages */
+
+/* end of entertainment: terminal games and other interesting software packages */
+/* end of miscellaneous packages */
+
+/* Arduino libraries */
+
+
+/* Projects and Demos */
+
+/* end of Projects and Demos */
+
+/* Sensors */
+
+/* end of Sensors */
+
+/* Display */
+
+/* end of Display */
+
+/* Timing */
+
+/* end of Timing */
+
+/* Data Processing */
+
+/* end of Data Processing */
+
+/* Data Storage */
+
+/* Communication */
+
+/* end of Communication */
+
+/* Device Control */
+
+/* end of Device Control */
+
+/* Other */
+
+/* end of Other */
+
+/* Signal IO */
+
+/* end of Signal IO */
+
+/* Uncategorized */
+/* end of Arduino libraries */
+/* end of RT-Thread online packages */
+#define SOC_LPC824
-// <h>Device System Configuration
-// <c1>Using Device System
-// <i>Using Device System
-#define RT_USING_DEVICE
-// </c>
-// <c1>Using device communication
-// <i>Using device communication
-#define RT_USING_DEVICE_IPC
-// </c>
-// <c1>Using Serial
-// <i>Using Serial
-//#define RT_USING_SERIAL
-#define RT_SERIAL_USING_DMA
-// </c>
-// </h>
+/* Hardware Drivers Config */
-// <h>Console Configuration
-// <c1>Using console
-// <i>Using console
-#define RT_USING_CONSOLE
-// </c>
-// <o>the buffer size of console <1-1024>
-// <i>the buffer size of console
-// <i>Default: 128 (128Byte)
-#define RT_CONSOLEBUF_SIZE 128
-// <s>The device name for console
-// <i>The device name for console
-// <i>Default: uart1
-#define RT_CONSOLE_DEVICE_NAME "uart1"
-// </h>
+/* On-chip Peripheral Drivers */
+/* end of On-chip Peripheral Drivers */
-// <h>Finsh Configuration
-// <c1>Using finsh as shell, which is a C-Express shell
-// <i>Using finsh as shell, which is a C-Express shell
-#define RT_USING_FINSH
-// </c>
-// <o>the priority of finsh thread <1-7>
-// <i>the priority of finsh thread
-// <i>Default: 6
-#define FINSH_THREAD_PRIORITY (RT_THREAD_PRIORITY_MAX / 8 * 5 + 1)
-// <o>the stack of finsh thread <1-4096>
-// <i>the stack of finsh thread
-// <i>Default: 4096 (4096Byte)
-#define FINSH_THREAD_STACK_SIZE 512
-// <o>the history lines of finsh thread <1-32>
-// <i>the history lines of finsh thread
-// <i>Default: 5
-#define FINSH_HISTORY_LINES 1
-// <c1>Using symbol table in finsh shell
-// <i>Using symbol table in finsh shell
-#define FINSH_USING_SYMTAB
-// </c>
-// <c1>Using module shell in finsh
-// <i>Using module shell in finsh
-#define FINSH_USING_MSH
-// </c>
-// <c1>Only using module shell in finsh
-// <i>Only using module shell in finsh
-#define FINSH_USING_MSH_ONLY
-// </c>
-// </h>
+/* Onboard Peripheral Drivers */
-// <<< end of configuration section >>>
+/* Board extended module Drivers */
-#define RT_USING_UART
-#define RT_USING_UART1
+/* end of Hardware Drivers Config */
#endif
diff --git a/bsp/nxp/lpc/lpc824/rtconfig.py b/bsp/nxp/lpc/lpc824/rtconfig.py
index 851296762d..0534eb2b51 100644
--- a/bsp/nxp/lpc/lpc824/rtconfig.py
+++ b/bsp/nxp/lpc/lpc824/rtconfig.py
@@ -3,7 +3,8 @@ import os
# toolchains options
ARCH='arm'
CPU='cortex-m0'
-CROSS_TOOL='keil'
+CROSS_TOOL='gcc'
+BOARD_NAME = 'lpc824'
if os.getenv('RTT_CC'):
CROSS_TOOL = os.getenv('RTT_CC')
@@ -11,9 +12,8 @@ if os.getenv('RTT_CC'):
# cross_tool provides the cross compiler
# EXEC_PATH is the compiler execute path, for example, CodeSourcery, Keil MDK, IAR
if CROSS_TOOL == 'gcc':
- print('================ERROR============================')
- print('Not support gcc yet!')
- print('=================================================')
+ PLATFORM = 'gcc'
+ EXEC_PATH = r'C:\Users\XXYYZZ'
elif CROSS_TOOL == 'keil':
PLATFORM = 'armcc'
EXEC_PATH = 'C:/keil_v5'
@@ -24,8 +24,8 @@ elif CROSS_TOOL == 'iar':
if os.getenv('RTT_EXEC_PATH'):
EXEC_PATH = os.getenv('RTT_EXEC_PATH')
-#BUILD = 'debug'
-BUILD = 'release'
+BUILD = 'debug'
+# BUILD = 'release'
if PLATFORM == 'gcc':
# toolchains
@@ -33,6 +33,7 @@ if PLATFORM == 'gcc':
CC = PREFIX + 'gcc'
AS = PREFIX + 'gcc'
AR = PREFIX + 'ar'
+ CXX = PREFIX + 'g++'
LINK = PREFIX + 'gcc'
TARGET_EXT = 'elf'
SIZE = PREFIX + 'size'
@@ -40,9 +41,9 @@ if PLATFORM == 'gcc':
OBJCPY = PREFIX + 'objcopy'
DEVICE = ' -mcpu=cortex-m0 -mthumb -ffunction-sections -fdata-sections'
- CFLAGS = DEVICE
+ CFLAGS = DEVICE + ' -Dgcc'
AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp'
- LFLAGS = DEVICE + ' -Wl,--gc-sections,-Map=rtthread-lpc824.map,-cref,-u,Reset_Handler -T lpc824_rom.ld'
+ LFLAGS = DEVICE + ' -lm -lgcc -lc' + ' -nostartfiles -Wl,--gc-sections,-Map=rtthread.map,-cref,-u,Reset_Handler -T scripts/lpc824_flash.ld -L scripts/'
CPATH = ''
LPATH = ''
@@ -52,12 +53,15 @@ if PLATFORM == 'gcc':
AFLAGS += ' -gdwarf-2'
else:
CFLAGS += ' -O2'
+
+ CXXFLAGS = CFLAGS
POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n'
elif PLATFORM == 'armcc':
# toolchains
CC = 'armcc'
+ CXX = 'armcc'
AS = 'armasm'
AR = 'armar'
LINK = 'armlink'
@@ -66,7 +70,7 @@ elif PLATFORM == 'armcc':
DEVICE = ' --cpu Cortex-M0+'
CFLAGS = DEVICE + ' --apcs=interwork'
AFLAGS = DEVICE
- LFLAGS = DEVICE + ' --info sizes --info totals --info unused --info veneers --list rtthread-lpc824.map --scatter lpc824_rom.sct'
+ LFLAGS = DEVICE + ' --info sizes --info totals --info unused --info veneers --list rtthread.map --scatter scripts/lpc824_rom.sct'
CFLAGS += ' -I./'
@@ -79,7 +83,7 @@ elif PLATFORM == 'armcc':
CFLAGS += ' -O2'
CFLAGS += ' --split_sections'
- POST_ACTION = 'fromelf --bin $TARGET --output rtthread.bin \nfromelf -z $TARGET'
+ POST_ACTION = 'fromelf --bin $TARGET --output rtthread.bin \nfromelf -z $TARGET \n'
elif PLATFORM == 'iccarm':
# toolchains
@@ -116,7 +120,7 @@ elif PLATFORM == 'iccarm':
AFLAGS += ' --cpu Cortex-M0'
AFLAGS += ' --fpu None'
- LFLAGS = ' --config lpc824_rom.icf'
+ LFLAGS = ' --config scripts/lpc824_rom.icf'
LFLAGS += ' --redirect _Printf=_PrintfTiny'
LFLAGS += ' --redirect _Scanf=_ScanfSmall'
LFLAGS += ' --entry __iar_program_start'
diff --git a/bsp/nxp/lpc/lpc824/scripts/lpc824_flash.ld b/bsp/nxp/lpc/lpc824/scripts/lpc824_flash.ld
new file mode 100644
index 0000000000..7876edd1dd
--- /dev/null
+++ b/bsp/nxp/lpc/lpc824/scripts/lpc824_flash.ld
@@ -0,0 +1,229 @@
+/*
+** ###################################################################
+** Processors: LPC824M201JDH20
+** LPC824M201JHI33
+**
+** Compiler: GNU C Compiler
+** Reference manual: LPC82x User manual Rev.1.2 5 October 2016
+** Version: rev. 1.0, 2017-10-17
+** Build: b200408
+**
+** Abstract:
+** Linker file for the GNU C Compiler
+**
+** Copyright 2016 Freescale Semiconductor, Inc.
+** Copyright 2016-2020 NXP
+** All rights reserved.
+**
+** SPDX-License-Identifier: BSD-3-Clause
+**
+** http: www.nxp.com
+**
+** ###################################################################
+*/
+
+
+
+/* Entry Point */
+ENTRY(Reset_Handler)
+
+HEAP_SIZE = DEFINED(__heap_size__) ? __heap_size__ : 0x0400;
+STACK_SIZE = DEFINED(__stack_size__) ? __stack_size__ : 0x0800;
+
+/* Specify the memory areas */
+MEMORY
+{
+ m_interrupts (RX) : ORIGIN = 0x00000000, LENGTH = 0x00000200
+ m_crp (RX) : ORIGIN = 0x000002FC, LENGTH = 0x00000004
+ m_text (RX) : ORIGIN = 0x00000300, LENGTH = 0x00007D00
+ m_data (RW) : ORIGIN = 0x10000000, LENGTH = 0x00001FE0
+}
+
+/* Define output sections */
+SECTIONS
+{
+ /* The startup code goes first into internal flash */
+ .interrupts :
+ {
+ . = ALIGN(4);
+ KEEP(*(.isr_vector)) /* Startup code */
+ . = ALIGN(4);
+ } > m_interrupts
+
+ .crp :
+ {
+ . = ALIGN(4);
+ KEEP(*(.crp)) /* Code Read Protection level (CRP) */
+ . = ALIGN(4);
+ } > m_crp
+
+ /* The program code and other data goes into internal flash */
+ .text :
+ {
+ . = ALIGN(4);
+ *(.text) /* .text sections (code) */
+ *(.text*) /* .text* sections (code) */
+ *(.rodata) /* .rodata sections (constants, strings, etc.) */
+ *(.rodata*) /* .rodata* sections (constants, strings, etc.) */
+ *(.glue_7) /* glue arm to thumb code */
+ *(.glue_7t) /* glue thumb to arm code */
+ *(.eh_frame)
+ KEEP (*(.init))
+ KEEP (*(.fini))
+
+ /* section information for finsh shell */
+ . = ALIGN(4);
+ __fsymtab_start = .;
+ KEEP(*(FSymTab))
+ __fsymtab_end = .;
+
+ . = ALIGN(4);
+ __vsymtab_start = .;
+ KEEP(*(VSymTab))
+ __vsymtab_end = .;
+
+ /* section information for initial. */
+ . = ALIGN(4);
+ __rt_init_start = .;
+ KEEP(*(SORT(.rti_fn*)))
+ __rt_init_end = .;
+
+ . = ALIGN(4);
+ KEEP(*(FalPartTable))
+
+ . = ALIGN(4);
+ } > m_text
+
+ .ARM.extab :
+ {
+ *(.ARM.extab* .gnu.linkonce.armextab.*)
+ } > m_text
+
+ .ARM :
+ {
+ __exidx_start = .;
+ *(.ARM.exidx*)
+ __exidx_end = .;
+ } > m_text
+
+ .ctors :
+ {
+ __CTOR_LIST__ = .;
+ /* gcc uses crtbegin.o to find the start of
+ the constructors, so we make sure it is
+ first. Because this is a wildcard, it
+ doesn't matter if the user does not
+ actually link against crtbegin.o; the
+ linker won't look for a file to match a
+ wildcard. The wildcard also means that it
+ doesn't matter which directory crtbegin.o
+ is in. */
+ KEEP (*crtbegin.o(.ctors))
+ KEEP (*crtbegin?.o(.ctors))
+ /* We don't want to include the .ctor section from
+ from the crtend.o file until after the sorted ctors.
+ The .ctor section from the crtend file contains the
+ end of ctors marker and it must be last */
+ KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors))
+ KEEP (*(SORT(.ctors.*)))
+ KEEP (*(.ctors))
+ __CTOR_END__ = .;
+ } > m_text
+
+ .dtors :
+ {
+ __DTOR_LIST__ = .;
+ KEEP (*crtbegin.o(.dtors))
+ KEEP (*crtbegin?.o(.dtors))
+ KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors))
+ KEEP (*(SORT(.dtors.*)))
+ KEEP (*(.dtors))
+ __DTOR_END__ = .;
+ } > m_text
+
+ .preinit_array :
+ {
+ PROVIDE_HIDDEN (__preinit_array_start = .);
+ KEEP (*(.preinit_array*))
+ PROVIDE_HIDDEN (__preinit_array_end = .);
+ } > m_text
+
+ .init_array :
+ {
+ PROVIDE_HIDDEN (__init_array_start = .);
+ KEEP (*(SORT(.init_array.*)))
+ KEEP (*(.init_array*))
+ PROVIDE_HIDDEN (__init_array_end = .);
+ } > m_text
+
+ .fini_array :
+ {
+ PROVIDE_HIDDEN (__fini_array_start = .);
+ KEEP (*(SORT(.fini_array.*)))
+ KEEP (*(.fini_array*))
+ PROVIDE_HIDDEN (__fini_array_end = .);
+ } > m_text
+
+ __etext = .; /* define a global symbol at end of code */
+ __DATA_ROM = .; /* Symbol is used by startup for data initialization */
+
+ .data : AT(__DATA_ROM)
+ {
+ . = ALIGN(4);
+ __DATA_RAM = .;
+ __data_start__ = .; /* create a global symbol at data start */
+ *(.ramfunc*) /* for functions in ram */
+ *(.data) /* .data sections */
+ *(.data*) /* .data* sections */
+ KEEP(*(.jcr*))
+ . = ALIGN(4);
+ __data_end__ = .; /* define a global symbol at data end */
+ } > m_data
+
+ __DATA_END = __DATA_ROM + (__data_end__ - __data_start__);
+ text_end = ORIGIN(m_text) + LENGTH(m_text);
+ ASSERT(__DATA_END <= text_end, "region m_text overflowed with text and data")
+
+ /* Uninitialized data section */
+ .bss :
+ {
+ /* This is used by the startup in order to initialize the .bss section */
+ . = ALIGN(4);
+ __START_BSS = .;
+ __bss_start__ = .;
+ *(.bss)
+ *(.bss*)
+ *(COMMON)
+ . = ALIGN(4);
+ __bss_end__ = .;
+ __END_BSS = .;
+ } > m_data
+
+ .heap :
+ {
+ . = ALIGN(8);
+ __end__ = .;
+ PROVIDE(end = .);
+ __HeapBase = .;
+ . += HEAP_SIZE;
+ __HeapLimit = .;
+ __heap_limit = .; /* Add for _sbrk */
+ } > m_data
+
+ .stack :
+ {
+ . = ALIGN(8);
+ . += STACK_SIZE;
+ } > m_data
+
+ /* Initializes stack on the end of block */
+ __StackTop = ORIGIN(m_data) + LENGTH(m_data);
+ __StackLimit = __StackTop - STACK_SIZE;
+ PROVIDE(__stack = __StackTop);
+
+ .ARM.attributes 0 : { *(.ARM.attributes) }
+
+ ASSERT(__StackLimit >= __HeapLimit, "region m_data overflowed with stack and heap")
+}
+
diff --git a/bsp/nxp/lpc/lpc824/lpc824_rom.icf b/bsp/nxp/lpc/lpc824/scripts/lpc824_rom.icf
index 99675ad3a7..99675ad3a7 100644
--- a/bsp/nxp/lpc/lpc824/lpc824_rom.icf
+++ b/bsp/nxp/lpc/lpc824/scripts/lpc824_rom.icf
diff --git a/bsp/nxp/lpc/lpc824/lpc824_rom.ld b/bsp/nxp/lpc/lpc824/scripts/lpc824_rom.ld
index 0144c5d4d2..ce4f323135 100644
--- a/bsp/nxp/lpc/lpc824/lpc824_rom.ld
+++ b/bsp/nxp/lpc/lpc824/scripts/lpc824_rom.ld
@@ -46,7 +46,7 @@ SECTIONS
. = ALIGN(4);
. = ALIGN(4);
- _etext = .;
+ __etext = .;
} > CODE = 0
/* .ARM.exidx is sorted, so has to go in its own output section. */
@@ -61,12 +61,13 @@ SECTIONS
__exidx_end = .;
/* .data section which is used for initialized data */
+
.data : AT (_sidata)
{
. = ALIGN(4);
/* This is used by the startup in order to initialize the .data secion */
- _sdata = . ;
+ __data_start__ = . ;
*(.data)
*(.data.*)
@@ -74,7 +75,7 @@ SECTIONS
. = ALIGN(4);
/* This is used by the startup in order to initialize the .data secion */
- _edata = . ;
+ __data_end__ = . ;
} >DATA
.stack :
diff --git a/bsp/nxp/lpc/lpc824/lpc824_rom.sct b/bsp/nxp/lpc/lpc824/scripts/lpc824_rom.sct
index 9e164fb589..9e164fb589 100644
--- a/bsp/nxp/lpc/lpc824/lpc824_rom.sct
+++ b/bsp/nxp/lpc/lpc824/scripts/lpc824_rom.sct
diff --git a/bsp/nxp/mcx/mcxa/frdm-mcxa153/rtconfig.py b/bsp/nxp/mcx/mcxa/frdm-mcxa153/rtconfig.py
index 32714d5c3d..20fe142633 100644
--- a/bsp/nxp/mcx/mcxa/frdm-mcxa153/rtconfig.py
+++ b/bsp/nxp/mcx/mcxa/frdm-mcxa153/rtconfig.py
@@ -192,7 +192,7 @@ elif PLATFORM == 'iccarm':
def dist_handle(BSP_ROOT, dist_dir):
cwd_path = os.getcwd()
- sys.path.append(os.path.join(os.path.dirname(BSP_ROOT), 'tools'))
+ sys.path.append(os.path.join(os.path.dirname(BSP_ROOT), '..', 'tools'))
from sdk_dist import dist_do_building
dist_do_building(BSP_ROOT, dist_dir)
diff --git a/bsp/pic32ethernet/rtconfig.h b/bsp/pic32ethernet/rtconfig.h
index 1e0779cd42..e64897c6d1 100644
--- a/bsp/pic32ethernet/rtconfig.h
+++ b/bsp/pic32ethernet/rtconfig.h
@@ -33,7 +33,7 @@
/* #define RT_USING_TIMER_SOFT */
#define RT_TIMER_THREAD_PRIO 4
#define RT_TIMER_THREAD_STACK_SIZE 512
-#define RT_TIMER_TICK_PER_SECOND 10
+#define RT_TICK_PER_SECOND 10
/* SECTION: IPC */
/* Using Semaphore*/
diff --git a/bsp/rx/rtconfig.h b/bsp/rx/rtconfig.h
index d221aa6a92..156251515c 100644
--- a/bsp/rx/rtconfig.h
+++ b/bsp/rx/rtconfig.h
@@ -29,7 +29,7 @@
/* #define RT_USING_TIMER_SOFT */
#define RT_TIMER_THREAD_PRIO 4
#define RT_TIMER_THREAD_STACK_SIZE 512
-#define RT_TIMER_TICK_PER_SECOND 10
+#define RT_TICK_PER_SECOND 10
/* SECTION: IPC */
/* Using Semaphore*/
diff --git a/bsp/samd21/rtconfig.h b/bsp/samd21/rtconfig.h
index 50852b6dac..1ff70e84d9 100644
--- a/bsp/samd21/rtconfig.h
+++ b/bsp/samd21/rtconfig.h
@@ -30,7 +30,7 @@
/* #define RT_USING_TIMER_SOFT */
#define RT_TIMER_THREAD_PRIO 4
#define RT_TIMER_THREAD_STACK_SIZE 512
-#define RT_TIMER_TICK_PER_SECOND 100
+#define RT_TICK_PER_SECOND 100
/* SECTION: IPC */
/* Using Semaphore*/
diff --git a/bsp/sep6200/rtconfig.h b/bsp/sep6200/rtconfig.h
index ac5e520ca9..305da248a8 100644
--- a/bsp/sep6200/rtconfig.h
+++ b/bsp/sep6200/rtconfig.h
@@ -29,7 +29,7 @@
#define RT_USING_TIMER_SOFT
#define RT_TIMER_THREAD_PRIO 8
#define RT_TIMER_THREAD_STACK_SIZE 512
-#define RT_TIMER_TICK_PER_SECOND 10
+#define RT_TICK_PER_SECOND 10
/* SECTION: IPC */
/* Using Semaphore */
diff --git a/bsp/stm32/stm32f407-rt-spark/board/ports/lvgl/lv_conf.h b/bsp/stm32/stm32f407-rt-spark/board/ports/lvgl/lv_conf.h
index 666d6d6c5d..4364815465 100644
--- a/bsp/stm32/stm32f407-rt-spark/board/ports/lvgl/lv_conf.h
+++ b/bsp/stm32/stm32f407-rt-spark/board/ports/lvgl/lv_conf.h
@@ -32,7 +32,9 @@
#define LV_USE_SYSMON 1
#define LV_USE_PERF_MONITOR 1
#define LV_USE_DEMO_WIDGETS 1
+#define LV_FONT_MONTSERRAT_20 1
#define LV_FONT_MONTSERRAT_24 1
+#define LV_FONT_MONTSERRAT_26 1
#define LV_USE_DEMO_BENCHMARK 1
#endif
diff --git a/bsp/upd70f3454/rtconfig.h b/bsp/upd70f3454/rtconfig.h
index 8d58973dbc..965a1ad61a 100644
--- a/bsp/upd70f3454/rtconfig.h
+++ b/bsp/upd70f3454/rtconfig.h
@@ -29,7 +29,7 @@
/* #define RT_USING_TIMER_SOFT */
#define RT_TIMER_THREAD_PRIO 4
#define RT_TIMER_THREAD_STACK_SIZE 512
-#define RT_TIMER_TICK_PER_SECOND 10
+#define RT_TICK_PER_SECOND 10
/* SECTION: IPC */
/* Using Semaphore */
diff --git a/bsp/xplorer4330/M0/rtconfig.h b/bsp/xplorer4330/M0/rtconfig.h
index ecc1f8c92d..7b1c48ed38 100644
--- a/bsp/xplorer4330/M0/rtconfig.h
+++ b/bsp/xplorer4330/M0/rtconfig.h
@@ -39,8 +39,8 @@
#define RT_TIMER_THREAD_PRIO 4
// <integer name="RT_TIMER_THREAD_STACK_SIZE" description="The stack size of timer thread" default="512" />
#define RT_TIMER_THREAD_STACK_SIZE 512
-// <integer name="RT_TIMER_TICK_PER_SECOND" description="The soft-timer tick per second" default="10" />
-#define RT_TIMER_TICK_PER_SECOND 100
+// <integer name="RT_TICK_PER_SECOND" description="The soft-timer tick per second" default="10" />
+#define RT_TICK_PER_SECOND 100
// </section>
// <section name="IPC" description="Inter-Thread communication" default="always" >