diff --git a/.config b/.config index 99ce28f..f7bff01 100644 --- a/.config +++ b/.config @@ -419,7 +419,15 @@ CONFIG_LWIP_NETIF_LOOPBACK=0 CONFIG_RT_LWIP_USING_PING=y # CONFIG_LWIP_USING_DHCPD is not set # CONFIG_RT_LWIP_DEBUG is not set -# CONFIG_RT_USING_AT is not set +CONFIG_RT_USING_AT=y +CONFIG_AT_DEBUG=y +# CONFIG_AT_USING_SERVER is not set +CONFIG_AT_USING_CLIENT=y +CONFIG_AT_CLIENT_NUM_MAX=1 +# CONFIG_AT_USING_SOCKET is not set +CONFIG_AT_USING_CLI=y +CONFIG_AT_PRINT_RAW_CMD=y +CONFIG_AT_SW_VERSION_NUM=0x10301 # end of Network # @@ -548,6 +556,9 @@ CONFIG_PKG_USING_RW007_V210=y CONFIG_PKG_RW007_VER="v2.1.0" # CONFIG_RW007_NOT_USE_EXAMPLE_DRIVERS is not set CONFIG_RW007_USING_STM32_DRIVERS=y +# CONFIG_RW007_USING_BLE is not set +# CONFIG_RW007_USING_POWERSWITCH_EXAMPLE is not set +# CONFIG_RW007_USING_SPI_TEST is not set CONFIG_RW007_SPI_MAX_HZ=30000000 CONFIG_RW007_SPI_BUS_NAME="spi2" CONFIG_RW007_CS_PIN=90 @@ -737,6 +748,8 @@ CONFIG_PKG_ALI_IOTKIT_VER_NUM=0x30002 # CONFIG_PKG_USING_MATTER_ADAPTATION_LAYER is not set # CONFIG_PKG_USING_LHC_MODBUS is not set # CONFIG_PKG_USING_QMODBUS is not set +# CONFIG_PKG_USING_PNET is not set +# CONFIG_PKG_USING_OPENER is not set # end of IoT - internet of things # @@ -773,6 +786,7 @@ CONFIG_PKG_CJSON_VER="v1.7.17" # CONFIG_PKG_USING_JSMN is not set # CONFIG_PKG_USING_AGILE_JSMN is not set # CONFIG_PKG_USING_PARSON is not set +# CONFIG_PKG_USING_RYAN_JSON is not set # end of JSON: JavaScript Object Notation, a lightweight data-interchange format # @@ -883,6 +897,8 @@ CONFIG_PKG_VCONSOLE_VER="latest" # CONFIG_PKG_USING_VOFA_PLUS is not set # CONFIG_PKG_USING_RT_TRACE is not set # CONFIG_PKG_USING_ZDEBUG is not set +# CONFIG_PKG_USING_RVBACKTRACE is not set +# CONFIG_PKG_USING_HPATCHLITE is not set # end of tools packages # @@ -894,26 +910,6 @@ CONFIG_PKG_VCONSOLE_VER="latest" # # CONFIG_PKG_USING_RT_MEMCPY_CM is not set # CONFIG_PKG_USING_RT_KPRINTF_THREADSAFE is not set -CONFIG_PKG_USING_RT_VSNPRINTF_FULL=y -CONFIG_PKG_RT_VSNPRINTF_FULL_PATH="/packages/system/enhanced-kservice/rt_vsnprintf_full" -CONFIG_PKG_VSNPRINTF_SUPPORT_DECIMAL_SPECIFIERS=y -CONFIG_PKG_VSNPRINTF_SUPPORT_EXPONENTIAL_SPECIFIERS=y -CONFIG_PKG_VSNPRINTF_SUPPORT_WRITEBACK_SPECIFIER=y -CONFIG_PKG_VSNPRINTF_SUPPORT_LONG_LONG=y -CONFIG_PKG_VSNPRINTF_CHECK_FOR_NUL_IN_FORMAT_SPECIFIER=y -# CONFIG_PKG_VSNPRINTF_SUPPORT_MSVC_STYLE_INTEGER_SPECIFIERS is not set -CONFIG_PKG_VSNPRINTF_INTEGER_BUFFER_SIZE=32 -CONFIG_PKG_VSNPRINTF_DECIMAL_BUFFER_SIZE=32 -CONFIG_PKG_VSNPRINTF_DEFAULT_FLOAT_PRECISION=6 -CONFIG_PKG_VSNPRINTF_MAX_INTEGRAL_DIGITS_FOR_DECIMAL=9 -CONFIG_PKG_VSNPRINTF_LOG10_TAYLOR_TERMS=4 -# CONFIG_RT_VSNPRINTF_FULL_REPLACING_SPRINTF is not set -# CONFIG_RT_VSNPRINTF_FULL_REPLACING_SNPRINTF is not set -# CONFIG_RT_VSNPRINTF_FULL_REPLACING_PRINTF is not set -# CONFIG_RT_VSNPRINTF_FULL_REPLACING_VSPRINTF is not set -# CONFIG_RT_VSNPRINTF_FULL_REPLACING_VSNPRINTF is not set -CONFIG_PKG_USING_RT_VSNPRINTF_FULL_LATEST_VERSION=y -CONFIG_PKG_RT_VSNPRINTF_FULL_VER="latest" # end of enhanced kernel services # CONFIG_PKG_USING_AUNITY is not set @@ -931,7 +927,6 @@ CONFIG_PKG_RT_VSNPRINTF_FULL_VER="latest" # # 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 @@ -988,7 +983,6 @@ CONFIG_PKG_PERF_COUNTER_VER="v2.2.4.1" # 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 @@ -996,10 +990,13 @@ CONFIG_PKG_PERF_COUNTER_VER="v2.2.4.1" # 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_UART_FRAMEWORK 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_RMP is not set # CONFIG_PKG_USING_R_RHEALSTONE is not set +# CONFIG_PKG_USING_HEARTBEAT is not set # end of system packages # @@ -1013,6 +1010,8 @@ CONFIG_PKG_PERF_COUNTER_VER="v2.2.4.1" # # STM32 HAL & SDK Drivers # +# CONFIG_PKG_USING_STM32F4_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32F4_CMSIS_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 @@ -1049,6 +1048,43 @@ CONFIG_SDIO_MAX_FREQ=1000000 # CONFIG_PKG_USING_NRF5X_SDK is not set # CONFIG_PKG_USING_NRFX is not set # CONFIG_PKG_USING_RASPBERRYPI_PICO_SDK is not set +# CONFIG_PKG_USING_MM32 is not set + +# +# WCH HAL & SDK Drivers +# +# CONFIG_PKG_USING_CH32V20x_SDK is not set +# CONFIG_PKG_USING_CH32V307_SDK is not set +# end of WCH HAL & SDK Drivers + +# +# AT32 HAL & SDK Drivers +# +# CONFIG_PKG_USING_AT32A403A_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32A403A_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32A423_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32A423_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F45x_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F45x_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F402_405_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F402_405_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F403A_407_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F403A_407_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F413_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F413_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F415_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F415_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F421_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F421_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F423_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F423_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F425_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F425_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F435_437_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F435_437_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32M412_416_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32M412_416_CMSIS_DRIVER is not set +# end of AT32 HAL & SDK Drivers # end of HAL & SDK Drivers # @@ -1072,9 +1108,11 @@ CONFIG_SDIO_MAX_FREQ=1000000 # CONFIG_PKG_USING_MPU6XXX is not set CONFIG_PKG_USING_AHT10=y CONFIG_PKG_AHT10_PATH="/packages/peripherals/sensors/aht10" -# CONFIG_AHT10_USING_SOFT_FILTER is not set -# CONFIG_AHT10_USING_SENSOR_DEVICE is not set +# CONFIG_PKG_AHT10_USING_SOFT_FILTER is not set +# CONFIG_PKG_AHT10_USING_SENSOR_V2 is not set +# CONFIG_PKG_USING_AHT10_SAMPLE is not set CONFIG_PKG_USING_AHT10_LATEST_VERSION=y +# CONFIG_PKG_USING_AHT10_V300 is not set # CONFIG_PKG_USING_AHT10_V210 is not set CONFIG_PKG_AHT10_VER="latest" CONFIG_PKG_USING_AP3216C=y @@ -1105,8 +1143,10 @@ CONFIG_PKG_AP3216C_VER="latest" # CONFIG_PKG_USING_PMSXX is not set # CONFIG_PKG_USING_RT3020 is not set # CONFIG_PKG_USING_MLX90632 is not set +# CONFIG_PKG_USING_MLX90382 is not set # CONFIG_PKG_USING_MLX90393 is not set # CONFIG_PKG_USING_MLX90392 is not set +# CONFIG_PKG_USING_MLX90394 is not set # CONFIG_PKG_USING_MLX90397 is not set # CONFIG_PKG_USING_MS5611 is not set # CONFIG_PKG_USING_MAX31865 is not set @@ -1136,6 +1176,7 @@ CONFIG_PKG_USING_ICM20608_LATEST_VERSION=y CONFIG_PKG_ICM20608_VER="latest" # CONFIG_PKG_USING_PAJ7620 is not set # CONFIG_PKG_USING_STHS34PF80 is not set +# CONFIG_PKG_USING_P3T1755 is not set # end of sensors drivers # @@ -1242,6 +1283,10 @@ CONFIG_PKG_INFRARED_VER="v0.1.1" # 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_BT_MX02 is not set +# CONFIG_PKG_USING_GC9A01 is not set +# CONFIG_PKG_USING_IK485 is not set +# CONFIG_PKG_USING_SERVO is not set # CONFIG_PKG_USING_SPI_TOOLS is not set # end of peripheral libraries and drivers @@ -1258,6 +1303,7 @@ CONFIG_PKG_INFRARED_VER="v0.1.1" # CONFIG_PKG_USING_QUEST is not set # CONFIG_PKG_USING_NAXOS is not set # CONFIG_PKG_USING_R_TINYMAIX is not set +# CONFIG_PKG_USING_LLMCHAT is not set # end of AI packages # @@ -1269,6 +1315,7 @@ CONFIG_PKG_INFRARED_VER="v0.1.1" # CONFIG_PKG_USING_UKAL is not set # CONFIG_PKG_USING_DIGITALCTRL is not set # CONFIG_PKG_USING_KISSFFT is not set +# CONFIG_PKG_USING_CMSIS_DSP is not set # end of Signal Processing and Control Algorithm Packages # @@ -1299,7 +1346,6 @@ CONFIG_KERNEL_SAMPLES_USING_EVENT=y CONFIG_KERNEL_SAMPLES_USING_MESSAGEQUEUE=y # CONFIG_KERNEL_SAMPLES_USING_TIMER is not set # CONFIG_KERNEL_SAMPLES_USING_HEAP is not set -# CONFIG_KERNEL_SAMPLES_USING_MEMHEAP is not set # CONFIG_KERNEL_SAMPLES_USING_MEMPOOL is not set # CONFIG_KERNEL_SAMPLES_USING_IDLEHOOK is not set # CONFIG_KERNEL_SAMPLES_USING_SIGNAL is not set @@ -1358,6 +1404,7 @@ CONFIG_PKG_FLEXIBLE_BUTTON_VER="v1.0.0" # 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_LIBCRC 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 @@ -1369,6 +1416,7 @@ CONFIG_PKG_FLEXIBLE_BUTTON_VER="v1.0.0" # CONFIG_PKG_USING_QPARAM is not set # CONFIG_PKG_USING_CorevMCU_CLI is not set # CONFIG_PKG_USING_GET_IRQ_PRIORITY is not set +# CONFIG_PKG_USING_DRMP is not set # end of miscellaneous packages # @@ -1382,6 +1430,7 @@ CONFIG_PKG_FLEXIBLE_BUTTON_VER="v1.0.0" # 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_RTDUINO_SENSORFUSION_SHIELD 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 diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json index e157755..f5dfcb1 100644 --- a/.vscode/c_cpp_properties.json +++ b/.vscode/c_cpp_properties.json @@ -4,425 +4,93 @@ "name": "rt-thread", "defines": [ "RT_USING_LIBC", - "USE_HAL_DRIVER", - "__RTTHREAD__", - "__STDC_LIMIT_MACROS", - "__CLK_TCK=RT_TICK_PER_SECOND", + "RT_USING_NEWLIBC", "STM32F407xx", - "RT_USING_ARMLIBC", - "__alignof__(x)=", - "__asm(x)=", - "__asm__(x)=", - "__forceinline=", - "__restrict=", - "__volatile__=", - "__inline=", - "__inline__=", - "__declspec(x)=", - "__attribute__(x)=", - "__nonnull__(x)=", - "__unaligned=", - "__promise(x)=", - "__irq=", - "__swi=", - "__weak=", - "__register=", - "__pure=", - "__value_in_regs=", - "__breakpoint(x)=", - "__current_pc()=0U", - "__current_sp()=0U", - "__disable_fiq()=", - "__disable_irq()=", - "__enable_fiq()=", - "__enable_irq()=", - "__force_stores()=", - "__memory_changed()=", - "__schedule_barrier()=", - "__semihost(x,y)=0", - "__vfp_status(x,y)=0", - "__builtin_arm_nop()=", - "__builtin_arm_wfi()=", - "__builtin_arm_wfe()=", - "__builtin_arm_sev()=", - "__builtin_arm_sevl()=", - "__builtin_arm_yield()=", - "__builtin_arm_isb(x)=", - "__builtin_arm_dsb(x)=", - "__builtin_arm_dmb(x)=", - "__builtin_bswap32(x)=0U", - "__builtin_bswap16(x)=0U", - "__builtin_arm_rbit(x)=0U", - "__builtin_clz(x)=0U", - "__builtin_arm_ldrex(x)=0U", - "__builtin_arm_strex(x,y)=0U", - "__builtin_arm_clrex()=", - "__builtin_arm_ssat(x,y)=0U", - "__builtin_arm_usat(x,y)=0U", - "__builtin_arm_ldaex(x)=0U", - "__builtin_arm_stlex(x,y)=0U", - "_ILP32=1", - "_USE_STATIC_INLINE=1", - "__APCS_32__=1", - "__ARMCC_VERSION=6070001", - "__ARMCOMPILER_VERSION=6070001", - "__ARMEL__=1", - "__ARM_32BIT_STATE=1", - "__ARM_ACLE=200", - "__ARM_ARCH=4", - "__ARM_ARCH_4T__=1", - "__ARM_ARCH_ISA_ARM=1", - "__ARM_ARCH_ISA_THUMB=1", - "__ARM_EABI__=1", - "__ARM_FP16_ARGS=1", - "__ARM_FP16_FORMAT_IEEE=1", - "__ARM_NO_IMAGINARY_TYPE=1", - "__ARM_PCS=1", - "__ARM_PROMISE=__builtin_assume", - "__ARM_SIZEOF_MINIMAL_ENUM=4", - "__ARM_SIZEOF_WCHAR_T=4", - "__ARM_TARGET_COPROC=1", - "__ARM_TARGET_COPROC_V4=1", - "__ATOMIC_ACQUIRE=2", - "__ATOMIC_ACQ_REL=4", - "__ATOMIC_CONSUME=1", - "__ATOMIC_RELAXED=0", - "__ATOMIC_RELEASE=3", - "__ATOMIC_SEQ_CST=5", - "__BIGGEST_ALIGNMENT__=8", - "__BYTE_ORDER__=__ORDER_LITTLE_ENDIAN__", - "__CHAR16_TYPE__=unsigned short", - "__CHAR32_TYPE__=unsigned int", - "__CHAR_BIT__=8", - "__CHAR_UNSIGNED__=1", - "__CONSTANT_CFSTRINGS__=1", - "__DBL_DECIMAL_DIG__=17", - "__DBL_DENORM_MIN__=4.9406564584124654e-324", - "__DBL_DIG__=15", - "__DBL_EPSILON__=2.2204460492503131e-16", - "__DBL_HAS_DENORM__=1", - "__DBL_HAS_INFINITY__=1", - "__DBL_HAS_QUIET_NAN__=1", - "__DBL_MANT_DIG__=53", - "__DBL_MAX_10_EXP__=308", - "__DBL_MAX_EXP__=1024", - "__DBL_MAX__=1.7976931348623157e+308", - "__DBL_MIN_10_EXP__=(-307)", - "__DBL_MIN_EXP__=(-1021)", - "__DBL_MIN__=2.2250738585072014e-308", - "__DECIMAL_DIG__=__LDBL_DECIMAL_DIG__", - "__ELF__=1", - "__ESCAPE__=", - "__FINITE_MATH_ONLY__=1", - "__FLT_DECIMAL_DIG__=9", - "__FLT_DENORM_MIN__=1.40129846e-45F", - "__FLT_DIG__=6", - "__FLT_EPSILON__=1.19209290e-7F", - "__FLT_EVAL_METHOD__=0", - "__FLT_HAS_DENORM__=1", - "__FLT_HAS_INFINITY__=1", - "__FLT_HAS_QUIET_NAN__=1", - "__FLT_MANT_DIG__=24", - "__FLT_MAX_10_EXP__=38", - "__FLT_MAX_EXP__=128", - "__FLT_MAX__=3.40282347e+38F", - "__FLT_MIN_10_EXP__=(-37)", - "__FLT_MIN_EXP__=(-125)", - "__FLT_MIN__=1.17549435e-38F", - "__FLT_RADIX__=2", - "__GCC_ATOMIC_BOOL_LOCK_FREE=1", - "__GCC_ATOMIC_CHAR16_T_LOCK_FREE=1", - "__GCC_ATOMIC_CHAR32_T_LOCK_FREE=1", - "__GCC_ATOMIC_CHAR_LOCK_FREE=1", - "__GCC_ATOMIC_INT_LOCK_FREE=1", - "__GCC_ATOMIC_LLONG_LOCK_FREE=1", - "__GCC_ATOMIC_LONG_LOCK_FREE=1", - "__GCC_ATOMIC_POINTER_LOCK_FREE=1", - "__GCC_ATOMIC_SHORT_LOCK_FREE=1", - "__GCC_ATOMIC_TEST_AND_SET_TRUEVAL=1", - "__GCC_ATOMIC_WCHAR_T_LOCK_FREE=1", - "__GNUC_MINOR__=2", - "__GNUC_PATCHLEVEL__=1", - "__GNUC_STDC_INLINE__=1", - "__GNUC__=4", - "__GXX_ABI_VERSION=1002", - "__ILP32__=1", - "__INT16_C_SUFFIX__=", - "__INT16_FMTd__=\"hd\"", - "__INT16_FMTi__=\"hi\"", - "__INT16_MAX__=32767", - "__INT16_TYPE__=short", - "__INT32_C_SUFFIX__=", - "__INT32_FMTd__=\"d\"", - "__INT32_FMTi__=\"i\"", - "__INT32_MAX__=2147483647", - "__INT32_TYPE__=int", - "__INT64_C_SUFFIX__=LL", - "__INT64_FMTd__=\"lld\"", - "__INT64_FMTi__=\"lli\"", - "__INT64_MAX__=9223372036854775807LL", - "__INT64_TYPE__=long long int", - "__INT8_C_SUFFIX__=", - "__INT8_FMTd__=\"hhd\"", - "__INT8_FMTi__=\"hhi\"", - "__INT8_MAX__=127", - "__INT8_TYPE__=signed char", - "__INTMAX_C_SUFFIX__=LL", - "__INTMAX_FMTd__=\"lld\"", - "__INTMAX_FMTi__=\"lli\"", - "__INTMAX_MAX__=9223372036854775807LL", - "__INTMAX_TYPE__=long long int", - "__INTMAX_WIDTH__=64", - "__INTPTR_FMTd__=\"ld\"", - "__INTPTR_FMTi__=\"li\"", - "__INTPTR_MAX__=2147483647L", - "__INTPTR_TYPE__=long int", - "__INTPTR_WIDTH__=32", - "__INT_FAST16_FMTd__=\"hd\"", - "__INT_FAST16_FMTi__=\"hi\"", - "__INT_FAST16_MAX__=32767", - "__INT_FAST16_TYPE__=short", - "__INT_FAST32_FMTd__=\"d\"", - "__INT_FAST32_FMTi__=\"i\"", - "__INT_FAST32_MAX__=2147483647", - "__INT_FAST32_TYPE__=int", - "__INT_FAST64_FMTd__=\"lld\"", - "__INT_FAST64_FMTi__=\"lli\"", - "__INT_FAST64_MAX__=9223372036854775807LL", - "__INT_FAST64_TYPE__=long long int", - "__INT_FAST8_FMTd__=\"hhd\"", - "__INT_FAST8_FMTi__=\"hhi\"", - "__INT_FAST8_MAX__=127", - "__INT_FAST8_TYPE__=signed char", - "__INT_LEAST16_FMTd__=\"hd\"", - "__INT_LEAST16_FMTi__=\"hi\"", - "__INT_LEAST16_MAX__=32767", - "__INT_LEAST16_TYPE__=short", - "__INT_LEAST32_FMTd__=\"d\"", - "__INT_LEAST32_FMTi__=\"i\"", - "__INT_LEAST32_MAX__=2147483647", - "__INT_LEAST32_TYPE__=int", - "__INT_LEAST64_FMTd__=\"lld\"", - "__INT_LEAST64_FMTi__=\"lli\"", - "__INT_LEAST64_MAX__=9223372036854775807LL", - "__INT_LEAST64_TYPE__=long long int", - "__INT_LEAST8_FMTd__=\"hhd\"", - "__INT_LEAST8_FMTi__=\"hhi\"", - "__INT_LEAST8_MAX__=127", - "__INT_LEAST8_TYPE__=signed char", - "__INT_MAX__=2147483647", - "__I__=1.0if", - "__LDBL_DECIMAL_DIG__=17", - "__LDBL_DENORM_MIN__=4.9406564584124654e-324L", - "__LDBL_DIG__=15", - "__LDBL_EPSILON__=2.2204460492503131e-16L", - "__LDBL_HAS_DENORM__=1", - "__LDBL_HAS_INFINITY__=1", - "__LDBL_HAS_QUIET_NAN__=1", - "__LDBL_MANT_DIG__=53", - "__LDBL_MAX_10_EXP__=308", - "__LDBL_MAX_EXP__=1024", - "__LDBL_MAX__=1.7976931348623157e+308L", - "__LDBL_MIN_10_EXP__=(-307)", - "__LDBL_MIN_EXP__=(-1021)", - "__LDBL_MIN__=2.2250738585072014e-308L", - "__LITTLE_ENDIAN__=1", - "__LONG_LONG_MAX__=9223372036854775807LL", - "__LONG_MAX__=2147483647L", - "__NO_INLINE__=1", - "__OBJC_BOOL_IS_BOOL=0", - "__ORDER_BIG_ENDIAN__=4321", - "__ORDER_LITTLE_ENDIAN__=1234", - "__ORDER_PDP_ENDIAN__=3412", - "__POINTER_WIDTH__=32", - "__PRAGMA_REDEFINE_EXTNAME=1", - "__PTRDIFF_FMTd__=\"d\"", - "__PTRDIFF_FMTi__=\"i\"", - "__PTRDIFF_MAX__=2147483647", - "__PTRDIFF_TYPE__=int", - "__PTRDIFF_WIDTH__=32", - "__REGISTER_PREFIX__=", - "__SCHAR_MAX__=127", - "__SHRT_MAX__=32767", - "__SIG_ATOMIC_MAX__=2147483647", - "__SIG_ATOMIC_WIDTH__=32", - "__SIZEOF_DOUBLE__=8", - "__SIZEOF_FLOAT__=4", - "__SIZEOF_INT__=4", - "__SIZEOF_LONG_DOUBLE__=8", - "__SIZEOF_LONG_LONG__=8", - "__SIZEOF_LONG__=4", - "__SIZEOF_POINTER__=4", - "__SIZEOF_PTRDIFF_T__=4", - "__SIZEOF_SHORT__=2", - "__SIZEOF_SIZE_T__=4", - "__SIZEOF_WCHAR_T__=4", - "__SIZEOF_WINT_T__=4", - "__SIZE_FMTX__=\"X\"", - "__SIZE_FMTo__=\"o\"", - "__SIZE_FMTu__=\"u\"", - "__SIZE_FMTx__=\"x\"", - "__SIZE_MAX__=4294967295U", - "__SIZE_TYPE__=unsigned int", - "__SIZE_WIDTH__=32", - "__STDC_HOSTED__=1", - "__STDC_UTF_16__=1", - "__STDC_UTF_32__=1", - "__STDC_VERSION__=201112L", - "__STDC__=1", - "__UINT16_C_SUFFIX__=", - "__UINT16_FMTX__=\"hX\"", - "__UINT16_FMTo__=\"ho\"", - "__UINT16_FMTu__=\"hu\"", - "__UINT16_FMTx__=\"hx\"", - "__UINT16_MAX__=65535", - "__UINT16_TYPE__=unsigned short", - "__UINT32_C_SUFFIX__=U", - "__UINT32_FMTX__=\"X\"", - "__UINT32_FMTo__=\"o\"", - "__UINT32_FMTu__=\"u\"", - "__UINT32_FMTx__=\"x\"", - "__UINT32_MAX__=4294967295U", - "__UINT32_TYPE__=unsigned int", - "__UINT64_C_SUFFIX__=ULL", - "__UINT64_FMTX__=\"llX\"", - "__UINT64_FMTo__=\"llo\"", - "__UINT64_FMTu__=\"llu\"", - "__UINT64_FMTx__=\"llx\"", - "__UINT64_MAX__=18446744073709551615ULL", - "__UINT64_TYPE__=long long unsigned int", - "__UINT8_C_SUFFIX__=", - "__UINT8_FMTX__=\"hhX\"", - "__UINT8_FMTo__=\"hho\"", - "__UINT8_FMTu__=\"hhu\"", - "__UINT8_FMTx__=\"hhx\"", - "__UINT8_MAX__=255", - "__UINT8_TYPE__=unsigned char", - "__UINTMAX_C_SUFFIX__=ULL", - "__UINTMAX_FMTX__=\"llX\"", - "__UINTMAX_FMTo__=\"llo\"", - "__UINTMAX_FMTu__=\"llu\"", - "__UINTMAX_FMTx__=\"llx\"", - "__UINTMAX_MAX__=18446744073709551615ULL", - "__UINTMAX_TYPE__=long long unsigned int", - "__UINTMAX_WIDTH__=64", - "__UINTPTR_FMTX__=\"lX\"", - "__UINTPTR_FMTo__=\"lo\"", - "__UINTPTR_FMTu__=\"lu\"", - "__UINTPTR_FMTx__=\"lx\"", - "__UINTPTR_MAX__=4294967295UL", - "__UINTPTR_TYPE__=long unsigned int", - "__UINTPTR_WIDTH__=32", - "__UINT_FAST16_FMTX__=\"hX\"", - "__UINT_FAST16_FMTo__=\"ho\"", - "__UINT_FAST16_FMTu__=\"hu\"", - "__UINT_FAST16_FMTx__=\"hx\"", - "__UINT_FAST16_MAX__=65535", - "__UINT_FAST16_TYPE__=unsigned short", - "__UINT_FAST32_FMTX__=\"X\"", - "__UINT_FAST32_FMTo__=\"o\"", - "__UINT_FAST32_FMTu__=\"u\"", - "__UINT_FAST32_FMTx__=\"x\"", - "__UINT_FAST32_MAX__=4294967295U", - "__UINT_FAST32_TYPE__=unsigned int", - "__UINT_FAST64_FMTX__=\"llX\"", - "__UINT_FAST64_FMTo__=\"llo\"", - "__UINT_FAST64_FMTu__=\"llu\"", - "__UINT_FAST64_FMTx__=\"llx\"", - "__UINT_FAST64_MAX__=18446744073709551615ULL", - "__UINT_FAST64_TYPE__=long long unsigned int", - "__UINT_FAST8_FMTX__=\"hhX\"", - "__UINT_FAST8_FMTo__=\"hho\"", - "__UINT_FAST8_FMTu__=\"hhu\"", - "__UINT_FAST8_FMTx__=\"hhx\"", - "__UINT_FAST8_MAX__=255", - "__UINT_FAST8_TYPE__=unsigned char", - "__UINT_LEAST16_FMTX__=\"hX\"", - "__UINT_LEAST16_FMTo__=\"ho\"", - "__UINT_LEAST16_FMTu__=\"hu\"", - "__UINT_LEAST16_FMTx__=\"hx\"", - "__UINT_LEAST16_MAX__=65535", - "__UINT_LEAST16_TYPE__=unsigned short", - "__UINT_LEAST32_FMTX__=\"X\"", - "__UINT_LEAST32_FMTo__=\"o\"", - "__UINT_LEAST32_FMTu__=\"u\"", - "__UINT_LEAST32_FMTx__=\"x\"", - "__UINT_LEAST32_MAX__=4294967295U", - "__UINT_LEAST32_TYPE__=unsigned int", - "__UINT_LEAST64_FMTX__=\"llX\"", - "__UINT_LEAST64_FMTo__=\"llo\"", - "__UINT_LEAST64_FMTu__=\"llu\"", - "__UINT_LEAST64_FMTx__=\"llx\"", - "__UINT_LEAST64_MAX__=18446744073709551615ULL", - "__UINT_LEAST64_TYPE__=long long unsigned int", - "__UINT_LEAST8_FMTX__=\"hhX\"", - "__UINT_LEAST8_FMTo__=\"hho\"", - "__UINT_LEAST8_FMTu__=\"hhu\"", - "__UINT_LEAST8_FMTx__=\"hhx\"", - "__UINT_LEAST8_MAX__=255", - "__UINT_LEAST8_TYPE__=unsigned char", - "__USER_LABEL_PREFIX__=", - "__VERSION__=\"4.2.1 Compatible Clang 5.0.0 \"", - "__WCHAR_MAX__=4294967295U", - "__WCHAR_TYPE__=unsigned int", - "__WCHAR_UNSIGNED__=1", - "__WCHAR_WIDTH__=32", - "__WINT_TYPE__=int", - "__WINT_WIDTH__=32", - "__arm=1", - "__arm__=1", - "__clang__=1", - "__clang_major__=5", - "__clang_minor__=0", - "__clang_patchlevel__=0", - "__clang_version__=\"5.0.0 \"", - "__llvm__=1" + "USE_HAL_DRIVER", + "_POSIX_C_SOURCE=1", + "__RTTHREAD__", + "__perf_counter_printf__=rt_kprintf" ], "intelliSenseMode": "gcc-arm", - "compilerPath": "d:/Develop/env2/tools/gnu_gcc/arm_gcc/mingw/bin/arm-none-eabi-gcc", + "compilerPath": "d:/DevTools/env2/tools/gnu_gcc/arm_gcc/mingw/bin/arm-none-eabi-gcc", "cStandard": "c99", "cppStandard": "c++11", - "compileCommands": "build/compile_commands.json", + "compileCommands": [ + "build/compile_commands.json" + ], "includePath": [ - "d:\\components\\drivers\\include", - "d:\\Develop\\libraries\\HAL_Drivers\\drivers\\config", - "d:\\Develop\\libraries\\HAL_Drivers\\drivers", - "d:\\components\\libc\\posix\\io\\eventfd", - "d:\\Develop\\SumProject\\board", - "d:\\Develop\\SumProject\\board\\CubeMX_Config\\Inc", - "d:\\libcpu\\arm\\common", - "d:\\components\\libc\\posix\\ipc", - "d:\\Develop\\libraries\\HAL_Drivers\\CMSIS\\Include", - "d:\\Develop\\SumProject\\board\\ports", - "d:\\Develop\\libraries\\HAL_Drivers", - "d:\\components\\libc\\compilers\\common\\include", - "d:\\libcpu\\arm\\cortex-m4", - "d:\\components\\libc\\posix\\io\\poll", - "d:\\Develop\\SumProject", - "d:\\components\\libc\\posix\\io\\epoll", - "d:\\components\\finsh", - "d:\\Develop\\libraries\\STM32F4xx_HAL\\CMSIS\\Device\\ST\\STM32F4xx\\Include", - "d:\\Develop\\libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Inc", - "d:\\components\\libc\\compilers\\common\\extension", - "d:\\components\\libc\\compilers\\common\\extension\\fcntl\\octal", - "d:\\Develop\\SumProject\\applications", - "d:\\include", - "D:\\Keil5\\ARM\\ARMCLANG\\include", - "D:\\Keil5\\ARM\\ARMCLANG\\include\\libcxx", - "d:\\components\\libc\\compilers\\armlibc", - "d:\\components\\libc\\compilers\\common", - "d:\\components\\drivers\\core", - "d:\\components\\drivers\\i2c", - "d:\\components\\drivers\\ipc", - "d:\\components\\drivers\\misc", - "d:\\components\\drivers\\pin", - "d:\\components\\drivers\\serial", - "d:\\Develop\\libraries\\STM32F4xx_HAL\\CMSIS\\Device\\ST\\STM32F4xx\\Source\\Templates\\arm", - "d:\\Develop\\SumProject\\board\\CubeMX_Config\\Src", - "d:\\src", - "d:\\src\\klibc", - "d:\\Develop\\libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src", - "d:\\Develop\\libraries\\STM32F4xx_HAL\\CMSIS\\Device\\ST\\STM32F4xx\\Source\\Templates" + "packages\\aht10-latest\\inc", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\mqtt\\impl", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\mqtt", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\client", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\server", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_sign", + "packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\wrappers", + "packages\\ap3216c-latest", + "applications", + "my_pro", + "rt-thread\\components\\net\\at\\include", + "packages\\cJSON-v1.7.17", + "rt-thread\\components\\libc\\compilers\\common\\include", + "rt-thread\\components\\libc\\compilers\\newlib", + "rt-thread\\components\\libc\\cplusplus", + "rt-thread\\components\\drivers\\include", + "rt-thread\\components\\drivers\\spi", + "rt-thread\\components\\drivers\\spi\\sfud\\inc", + "rt-thread\\components\\drivers\\wlan", + "board", + "board\\CubeMX_Config\\Inc", + "board\\ports", + "board\\ports\\fal", + "board\\ports\\lcd", + "board\\ports\\led_matrix", + "libraries\\HAL_Drivers\\drivers", + "libraries\\HAL_Drivers\\drivers\\config", + "libraries\\HAL_Drivers\\drivers\\drv_flash", + "libraries\\HAL_Drivers", + "libraries\\HAL_Drivers\\CMSIS\\Include", + "rt-thread\\components\\fal\\inc", + "rt-thread\\components\\dfs\\dfs_v1\\include", + "rt-thread\\components\\dfs\\dfs_v1\\filesystems\\devfs", + "rt-thread\\components\\dfs\\dfs_v1\\filesystems\\elmfat", + "rt-thread\\components\\dfs\\dfs_v1\\filesystems\\romfs", + "rt-thread\\components\\finsh", + "packages\\FlexibleButton-v1.0.0", + "packages\\icm20608-latest", + "packages\\infrared-v0.1.1\\inc", + ".", + "rt-thread\\include", + "packages\\kernel_samples-latest\\en", + "rt-thread\\components\\legacy", + "rt-thread\\components\\legacy\\dfs", + "rt-thread\\libcpu\\arm\\common", + "rt-thread\\libcpu\\arm\\cortex-m4", + "libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Inc", + "libraries\\STM32F4xx_HAL\\CMSIS\\Device\\ST\\STM32F4xx\\Include", + "rt-thread\\components\\net\\lwip\\lwip-2.0.3\\src\\include", + "rt-thread\\components\\net\\lwip\\lwip-2.0.3\\src\\include\\ipv4", + "rt-thread\\components\\net\\lwip\\lwip-2.0.3\\src\\include\\netif", + "rt-thread\\components\\net\\lwip\\port", + "packages\\netutils-latest\\ntp", + "packages\\perf_counter-v2.2.4.1", + "rt-thread\\components\\libc\\posix\\io\\epoll", + "rt-thread\\components\\libc\\posix\\io\\eventfd", + "rt-thread\\components\\libc\\posix\\io\\poll", + "rt-thread\\components\\libc\\posix\\ipc", + "board\\ports\\rs485", + "rt-thread\\components\\legacy\\usb\\usbdevice", + "packages\\rw007-v2.1.0", + "packages\\rw007-v2.1.0\\inc", + "rt-thread\\components\\net\\netdev\\include", + "rt-thread\\components\\net\\sal\\include", + "rt-thread\\components\\net\\sal\\include\\socket", + "rt-thread\\components\\net\\sal\\impl", + "rt-thread\\components\\net\\sal\\include\\dfs_net", + "rt-thread\\components\\net\\sal\\include\\socket\\sys_socket", + "rt-thread\\components\\utilities\\ulog", + "packages\\vconsole-latest" ] } ], diff --git a/.vscode/keil-assistant.log b/.vscode/keil-assistant.log index 21fe735..e331767 100644 --- a/.vscode/keil-assistant.log +++ b/.vscode/keil-assistant.log @@ -34,3 +34,5 @@ [info] Log at : 2025/3/10|21:09:20|GMT+0800 +[info] Log at : 2025/3/14|07:53:16|GMT+0800 + diff --git a/.vscode/launch.json b/.vscode/launch.json index a5326b9..4ca27e1 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -1,32 +1,20 @@ { - // 使用 IntelliSense 了解相关属性。 - // 悬停以查看现有属性的描述。 - // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ + { - "name": "rt-spark-openocd", - // "cwd": "${workspaceFolder}", - "executable": "${workspaceRoot}/rt-thread.elf", - - "request": "launch", + "name": "调试_pyocd", "type": "cortex-debug", - "runToEntryPoint": "main", - "targetId": "STM32F407ZG", -"cwd": "${workspaceRoot}", + "request": "launch", + "cwd": "${workspaceRoot}", "servertype": "pyocd", - "configFiles": [ - "interface/stlink-v2.cfg", - "target/stm32f4x.cfg" - ], - "armToolchainPath": "d:/Develop/env2/tools/gnu_gcc/arm_gcc/mingw/bin", - "gdbPath": "d:/Develop/env2/tools/gnu_gcc/arm_gcc/mingw/bin/arm-none-eabi-gdb.exe", - "serverpath": "d:\\Develop\\env2\\.venv\\Scripts\\pyocd", - "svdFile": "${workspaceRoot}/chip/STM32F407.svd", - "cmsisPack": "${workspaceRoot}/chip/Keil.STM32F4xx_DFP.2.17.1.pack", - - // "cortex-debug.openocdPath": "d:/Develop/OpenOCD/bin/openocd.exe" + "serverpath": "d:\\DevTools\\env2\\.venv\\Scripts\\pyocd.exe", + "executable": "${workspaceRoot}/rt-thread.elf", + "targetId": "stm32f407vg", + "svdFile": "${workspaceRoot}/.vscode/STM32F407.svd", + "armToolchainPath": "d:/DevTools/env2/tools/gnu_gcc/arm_gcc/mingw/bin/", + "gdbPath": "d:\\DevTools\\env2\\tools\\gnu_gcc\\arm_gcc\\mingw\\bin\\arm-none-eabi-gdb.exe", + // "showDevDebugOutput": "raw" , } ] - } \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index c100fee..8d9439a 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -29,7 +29,8 @@ "indicator_led.h": "c", "drv_matrix_led.h": "c", "init.h": "c", - "string.h": "c" + "string.h": "c", + "at.h": "c" }, // "cortex-debug.openocdPath": "d:/Develop/" } \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 8ddf9c6..981079d 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -9,18 +9,39 @@ "args": [ "/d", "/c", - "d:\\Develop\\env2\\tools\\bin\\env-init.bat && " + "d:\\DevTools\\env2\\tools\\bin\\env-init.bat && " ] } }, }, "tasks": [ - { - "label": "更新软件包", - "type": "shell", - "command": "call ${workspaceFolder}\\tools\\pkgs_update.bat", - "problemMatcher": [] - }, + // { + // "label": "更新软件包", + // "type": "shell", + // "command": "call ${workspaceFolder}\\tools\\pkgs_update.bat", + // "problemMatcher": [] + // }, + // { + // "label": "MenuConfig", + // "type": "shell", + // "command": "start", + // "args": [ + // "cmd.exe", + // "/d", + // "/c call ${workspaceFolder}\\tools\\mc.bat " + // ], + // "problemMatcher": [] + // }, + // { + // "label": "MenuConfig -s", + // "type": "shell", + // "command": "start", + // "args": [ + // "cmd.exe", + // "/d /c call menuconfig -s" + // ], + // "problemMatcher": [] + // }, { "label": "PyConfig", "type": "shell", @@ -34,7 +55,11 @@ "args": [ "-j8" ], - "options": {}, + "options": { + "env": { + "MCU": "STM32F407ZG" + } + }, "problemMatcher": { "owner": "cpp", "fileLocation": [ @@ -50,15 +75,11 @@ "message": 5 } }, - "group": { - "kind": "build", - "isDefault": true - } }, { "label": "编译(j1)", "type": "shell", - "command": "scons", + "command": "${workspaceFolder}\\tools\\build-stm32.bat", "args": [ "-j1" ], @@ -78,49 +99,6 @@ } } }, - { - "label": "编译下载(j1)", - "type": "shell", - "command": "scons -j1 && copy /z ${workspaceFolder}\\rtthread.bin g:\\", - "args": [], - "problemMatcher": { - "owner": "cpp", - "fileLocation": [ - "relative", - "${workspaceFolder}" - ], - "pattern": { - "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$", - "file": 1, - "line": 2, - "column": 3, - "severity": 4, - "message": 5 - } - } - }, - { - "label": "编译下载(j8)", - "type": "shell", - // "command": "scons -j8 && pyocd flash -t stm32l431rctx ${workspaceFolder}/rt-thread.elf", - "command": "scons -j8 && copy /z ${workspaceFolder}\\rtthread.bin g:\\", - "args": [], - "problemMatcher": { - "owner": "cpp", - "fileLocation": [ - "relative", - "${workspaceFolder}" - ], - "pattern": { - "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$", - "file": 1, - "line": 2, - "column": 3, - "severity": 4, - "message": 5 - } - } - }, { "label": "清理", "type": "shell", @@ -128,16 +106,6 @@ "args": [], "problemMatcher": [] }, - { - "label": "下载固件(pyocd)", - "type": "shell", - // "command": "pyocd flash -t stm32l431rctx ${workspaceFolder}/rt-thread.elf", - "command": "copy /z ${workspaceFolder}/rtthread.bin g:\\", - "args": [], - - "args": [], - "problemMatcher": [] - }, { "label": "更新 C/C++ 路径", "type": "shell", @@ -146,10 +114,9 @@ "problemMatcher": [] }, { - "label": "全部编译(j1)", + "label": "编译(j1)下载", "type": "shell", - "command": "scons -c && cd ${workspaceFolder} && rm -fv *.elf *.hex *.bin *.map && scons -j1", - "args": [], + "command": "scons -j1 &&pyocd load -M under-reset -t stm32f407zg ${workspaceFolder}/rt-thread.elf", "problemMatcher": { "owner": "cpp", "fileLocation": [ @@ -167,10 +134,9 @@ } }, { - "label": "全部编译(j8)", + "label": "编译(j8)下载", "type": "shell", - "command": "scons -c && cd ${workspaceFolder} && rm -fv *.elf *.hex *.bin *.map && scons -j8", - "args": [], + "command": "scons -j8 &&pyocd load -M under-reset -t stm32f407zg ${workspaceFolder}/rt-thread.elf", "problemMatcher": { "owner": "cpp", "fileLocation": [ @@ -188,26 +154,18 @@ } }, { - "label": "全部编译下载(j8)", + "label": "下载固件(pyocd)", "type": "shell", - // "command": "scons -c && cd ${workspaceFolder} && rm -fv *.elf *.hex *.bin *.map && scons -j8 && pyocd flash -t stm32l431rctx ${workspaceFolder}/rt-thread.elf", - "command": "scons -c && cd ${workspaceFolder} && rm -fv *.elf *.hex *.bin *.map && scons -j8 && copy /z ${workspaceFolder}/rtthread.bin g:\\", + "command": "pyocd load -M under-reset -t stm32f407zg ${workspaceFolder}/rt-thread.elf", "args": [], - "problemMatcher": { - "owner": "cpp", - "fileLocation": [ - "relative", - "${workspaceFolder}" - ], - "pattern": { - "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$", - "file": 1, - "line": 2, - "column": 3, - "severity": 4, - "message": 5 - } - } + "problemMatcher": [] + }, + { + "label": "重启(pyocd)", + "type": "shell", + "command": "pyocd reset -t stm32f407zg", + "args": [], + "problemMatcher": [] }, ] } \ No newline at end of file diff --git a/applications/init.c b/applications/init.c index 0e6eda6..26ae60a 100644 --- a/applications/init.c +++ b/applications/init.c @@ -1,3 +1,4 @@ +#include "sim.h" #include #include #include @@ -52,6 +53,7 @@ int main_init(void) char str[] = "wifi join Dong abcd07691234"; my_round(20); + sim_dev_init(); // system(str); // rt_thread_mdelay(18000); // char *argv[] = {"wifi", "join", "Dong", "abcd07691234"}; diff --git a/applications/logn.h b/applications/logn.h new file mode 100644 index 0000000..6cc62b6 --- /dev/null +++ b/applications/logn.h @@ -0,0 +1,218 @@ +#ifndef __LOGN_H___ +#define __LOGN_H___ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#define LOGN_PRINTF(...) rt_kprintf(__VA_ARGS__) + +#if defined(RT_USING_ULOG) +#include +#else +#define LOG_LVL_ERROR 0 +#define LOG_LVL_WARNING 1 +#define LOG_LVL_INFO 2 +#define LOG_LVL_DBG 3 + +#ifdef LOG_TAG +#undef DBG_TAG +#define DBG_TAG LOG_TAG +#else +#define LOG_TAG DGB_TAG +#endif // LOG_TAG + +#ifdef RT_DEBUG + +#ifdef LOG_LVL +#undef DBG_LVL +#define DBG_LVL LOG_LVL +#else +#define LOG_LVL DBG_LVL +#endif // LOG_LVL + +#include +#else +#define LOGN_ENABLE +#endif // RT_DEBUG +#endif // !RT_USING_ULOG + +#if (LOG_LVL < LOG_LVL_DBG) +#define LOG0(fmt, ...) +#define LOG1(fmt, ...) +#define LOG2(fmt, ...) +#define LOG3(fmt, ...) +#define LOG4(fmt, ...) +#define LOG5(fmt, ...) +#define LOG6(fmt, ...) +#define LOG7(fmt, ...) +#define LOG10(fmt, ...) +#define LOG11(fmt, ...) +#define LOG12(fmt, ...) +#define LOG13(fmt, ...) +#define LOG14(fmt, ...) +#define LOG15(fmt, ...) +#define LOG16(fmt, ...) +#define LOG17(fmt, ...) +#else + +/** + * CSI(Control Sequence Introducer/Initiator) sign + * more information on https://en.wikipedia.org/wiki/ANSI_escape_code + */ +#define CSI_START "\033[" +#define CSI_END "\033[0m" +/* output log front color */ +#define F_BLACK "30m" +#define F_RED "31m" +#define F_GREEN "32m" +#define F_YELLOW "33m" +#define F_BLUE "34m" +#define F_MAGENTA "35m" +#define F_CYAN "36m" +#define F_WHITE "37m" +/* output log backgroup color */ +#define B_BLACK "40m" +#define B_RED "41m" +#define B_GREEN "42m" +#define B_YELLOW "43m" +#define B_BLUE "44m" +#define B_MAGENTA "45m" +#define B_CYAN "46m" +#define B_WHITE "47m" +// 亮前景色 +#define F_GRAY "90m" +#define F_B_BLACK "90m" +#define F_B_RED "91m" +#define F_B_GREEN "92m" +#define F_B_YELLOW "93m" +#define F_B_BLUE "94m" +#define F_B_MAGENTA "95m" +#define F_B_CYAN "96m" +#define F_B_WHITE "97m" +// 亮背景色 +#define B_GRAY "100m" +#define B_B_BLACK "100m" +#define B_B_RED "101m" +#define B_B_GREEN "102m" +#define B_B_YELLOW "103m" +#define B_B_BLUE "104m" +#define B_B_MAGENTA "105m" +#define B_B_CYAN "106m" +#define B_B_WHITE "107m" + +#define SET_COLOR(c, s) CSI_START c s CSI_END +#ifdef RT_USING_ULOG +#define logn_line(color_n, fmt, ...) ulog_d(LOG_TAG, SET_COLOR(color_n, fmt), ##__VA_ARGS__) +#else // !RT_USING_ULOG + +#if (DBG_LEVEL >= DBG_LOG || defined(LOGN_ENABLE)) + +#ifndef RT_DEBUG +#define dbg_log_line(lvl, color_n, fmt, ...) LOGN_PRINTF(SET_COLOR(color_n, lvl) fmt "\n", ##__VA_ARGS__); +#endif // !RT_DEBUG + +#define logn_line(color_n, fmt, ...) dbg_log_line("N", 0, SET_COLOR(color_n, fmt), ##__VA_ARGS__) + +#else // !(DBG_LEVEL >= DBG_LOG) +#define logn_line(...) +#endif // (DBG_LEVEL >= DBG_LOG) + +#endif // RT_USING_ULOG + +#ifdef USE_LOG0 +#define LOG0(fmt, ...) logn_line("30;100m", fmt, ##__VA_ARGS__) +#else +#define LOG0(fmt, ...) +#endif // USE_LOG0 +#ifdef USE_LOG1 +#define LOG1(fmt, ...) logn_line(F_RED, fmt, ##__VA_ARGS__) +#else +#define LOG1(fmt, ...) +#endif // USE_LOG1 +#ifdef USE_LOG2 +#define LOG2(fmt, ...) logn_line(F_GREEN, fmt, ##__VA_ARGS__) +#else +#define LOG2(fmt, ...) +#endif // USE_LOG2 +#ifdef USE_LOG3 +#define LOG3(fmt, ...) logn_line(F_YELLOW, fmt, ##__VA_ARGS__) +#else +#define LOG3(fmt, ...) +#endif // USE_LOG3 +#ifdef USE_LOG4 +#define LOG4(fmt, ...) logn_line(F_BLUE, fmt, ##__VA_ARGS__) +#else +#define LOG4(fmt, ...) +#endif // USE_LOG4 +#ifdef USE_LOG5 +#define LOG5(fmt, ...) logn_line(F_MAGENTA, fmt, ##__VA_ARGS__) +#else +#define LOG5(fmt, ...) +#endif // USE_LOG5 +#ifdef USE_LOG6 +#define LOG6(fmt, ...) logn_line(F_CYAN, fmt, ##__VA_ARGS__) +#else +#define LOG6(fmt, ...) +#endif // USE_LOG6 +#ifdef USE_LOG7 +#define LOG7(fmt, ...) logn_line(F_WHITE, fmt, ##__VA_ARGS__) +#else +#define LOG7(fmt, ...) +#endif // USE_LOG7 + +#ifdef USE_LOG10 +#define LOG10(fmt, ...) logn_line(F_GRAY, fmt, ##__VA_ARGS__) +#else +#define LOG10(fmt, ...) +#endif // USE_LOG10 +#ifdef USE_LOG11 +#define LOG11(fmt, ...) logn_line(F_B_RED, fmt, ##__VA_ARGS__) +#else +#define LOG11(fmt, ...) +#endif // USE_LOG11 +#ifdef USE_LOG12 +#define LOG12(fmt, ...) logn_line(F_B_GREEN, fmt, ##__VA_ARGS__) +#else +#define LOG12(fmt, ...) +#endif // USE_LOG12 +#ifdef USE_LOG13 +#define LOG13(fmt, ...) logn_line(F_B_YELLOW, fmt, ##__VA_ARGS__) +#else +#define LOG13(fmt, ...) +#endif // USE_LOG13 +#ifdef USE_LOG14 +#define LOG14(fmt, ...) logn_line(F_B_BLUE, fmt, ##__VA_ARGS__) +#else +#define LOG14(fmt, ...) +#endif // USE_LOG14 +#ifdef USE_LOG15 +#define LOG15(fmt, ...) logn_line(F_B_MAGENTA, fmt, ##__VA_ARGS__) +#else +#define LOG15(fmt, ...) +#endif // USE_LOG15 +#ifdef USE_LOG16 +#define LOG16(fmt, ...) logn_line(F_B_CYAN, fmt, ##__VA_ARGS__) +#else +#define LOG16(fmt, ...) +#endif // USE_LOG16 +#ifdef USE_LOG17 +#define LOG17(fmt, ...) logn_line(F_B_WHITE, fmt, ##__VA_ARGS__) +#else +#define LOG17(fmt, ...) +#endif // USE_LOG17 + +#ifndef USE_LOG_D +#undef LOG_D +#define LOG_D(...) +#endif // USE_LOG_D +#endif + +#define IS_USE_LOGN(n) ((defined(USE_LOG##n)) && (LOG_LVL >= LOG_LVL_DBG)) + +#ifdef __cplusplus +} +#endif + +#endif // !__LOGN_H___ \ No newline at end of file diff --git a/applications/sim.c b/applications/sim.c new file mode 100644 index 0000000..24555c3 --- /dev/null +++ b/applications/sim.c @@ -0,0 +1,181 @@ + +#include "at.h" +#include "board.h" +#include "drv_gpio.h" +#include "rtatomic.h" +#include "rtthread.h" +#include +#include +#include + +#define LOG_TAG "sim" +#define DBG_LVL DBG_LOG +// #define DBG_LVL DBG_INFO + +#define USE_LOG1 +#define USE_LOG2 +#define USE_LOG3 +// #define USE_LOG4 +#define USE_LOG5 +// #define USE_LOG6 +// #define USE_LOG_D +#include "logn.h" + +#define BT_UART_NAME "uart2" +#define BT_RST_PIN GET_PIN(C, 4) +#define BT_LINK_STATUS_PIN GET_PIN(B, 6) +#define BT_PIN_LINKED PIN_HIGH +#define BT_PIN_UNLINKED PIN_LOW +#define BT_AT_LINKED ((rt_atomic_t)1) +#define BT_AT_UNLINKED ((rt_atomic_t)0) +#define BT_AT_RETRY_TIMES 3 +#define BT_LINK_TIMEOUT_MS 5000 + +#define BT24_SLEEP 0 +#define BT24_POWER_ON 1 +#define BT24_AT_READY 2 +#define BT24_UNLINK 3 +#define BT24_LINKED 4 +#define BT24_TRANSPORT 5 + +static at_client_t at_client; + +#define AT_SEND_CMD(cmd, resp) \ + do \ + { \ + rc = RT_EOK; \ + if (at_obj_exec_cmd((at_client), (resp), (cmd)) < 0) \ + { \ + rc = -RT_ERROR; \ + goto __exit; \ + } \ + } while (0) + + +rt_err_t sim_call(char *phonenum) +{ + rt_err_t rc = RT_EOK; + at_response_t resp = NULL; + + resp = at_create_resp(256, 1, 5 * RT_TICK_PER_SECOND); + if (!resp) + { + LOG_E("No memory for AT response structure!"); + return -RT_ENOMEM; + } + char at_str[32]; + rt_snprintf(at_str, sizeof(at_str), "ATD%s;", phonenum); + AT_SEND_CMD(at_str, resp); + at_resp_parse_line_args(resp, 1, "%s", at_str); + if(!rt_strcasecmp(at_str, "error")) + { + LOG_E("Call failed!"); + } +__exit: + if (resp) + { + at_delete_resp(resp); + } + return rc; +} + +int cmd_at_send(int argc, char**argv) +{ + rt_err_t rc = RT_EOK; + at_response_t resp = NULL; + + resp = at_create_resp(256, 1, 5 * RT_TICK_PER_SECOND); + if (!resp) + { + LOG_E("No memory for AT response structure!"); + return -RT_ENOMEM; + } + char at_str[128]; + AT_SEND_CMD(argv[1], resp); + + LOG5("%s",at_resp_get_line(resp, 1)); + LOG5("%s",at_resp_get_line(resp, 2)); +__exit: + if (resp) + { + at_delete_resp(resp); + } + return rc; +} +MSH_CMD_EXPORT_ALIAS(cmd_at_send, AT_SEND, send AT command); + +static void urc_hang_up_handler(struct at_client *client, const char *buf, size_t len) +{ + (void)client; + + LOG3("The call was hung up."); + +} + +static void urc_ok_handler(struct at_client *client, const char *buf, size_t len) +{ + (void)client; + + LOG3("at receive OK."); + +} + +static void urc_error_handler(struct at_client *client, const char *buf, size_t len) +{ + (void)client; + + LOG3("at receive ERROR."); + +} + +static struct at_urc urc_table[] = { + {"NO CARRIER", "\r\n", urc_hang_up_handler}, + {"OK", "\r\n", urc_ok_handler}, + {"ERROR", "\r\n", urc_error_handler}, +}; + +rt_err_t sim_dev_init() +{ + // cmd_mq = ((struct bt_global *)parameter)->cmd_mq; + // init pin + // rt_pin_mode(BT_RST_PIN, PIN_MODE_OUTPUT_OD); + // rt_pin_mode(BT_LINK_STATUS_PIN, PIN_MODE_INPUT); + // init cmd lock + // rt_mutex_init(&cmd_lock, "cmd_lock", RT_IPC_FLAG_FIFO); + // init at client + at_client_init(BT_UART_NAME, 128, 128); + at_client = at_client_get_first(); + if (at_client) + { + /* step2:修改串口配置参数 */ + const struct serial_configure config = { + .baud_rate = BAUD_RATE_115200, // 修改波特率为 115200 + .data_bits = DATA_BITS_8, // 数据位 8 + .stop_bits = STOP_BITS_1, // 停止位 1 + .parity = PARITY_NONE, // 无奇偶校验位 + .bit_order = BIT_ORDER_LSB, // 小端模式 + .flowcontrol = RT_SERIAL_FLOWCONTROL_NONE, // 无流控 + .invert = NRZ_NORMAL, // NRZ 正常模式 +#if defined(RT_USING_SERIAL_V1) + .bufsz = RT_SERIAL_RB_BUFSZ, +#elif defined(RT_USING_SERIAL_V2) + .rx_bufsz = BSP_UART2_RX_BUFSIZE, // 修改缓冲区 rx buff size 为 128 + .tx_bufsz = BSP_UART2_TX_BUFSIZE, // 修改缓冲区 tx buff size 为 128 +#endif // RT_USING_SERIAL_Vx + }; + /* step3:控制串口设备。通过控制接口传入命令控制字,与控制参数 */ + rt_device_control(at_client->device, RT_DEVICE_CTRL_CONFIG, (void *)&config); + + /* 添加多种 URC 数据至 URC 列表中,当接收到同时匹配 URC 前缀和后缀的数据,执行 + * URC 函数 + */ + at_set_urc_table(urc_table, sizeof(urc_table) / sizeof(urc_table[0])); + LOG_I("sim initialization success"); + return RT_EOK; + } + else + { + LOG_E("sim initialization failed"); + return -RT_ERROR; + } +} \ No newline at end of file diff --git a/applications/sim.h b/applications/sim.h new file mode 100644 index 0000000..54fdbee --- /dev/null +++ b/applications/sim.h @@ -0,0 +1,2 @@ +#include "rtthread.h" +rt_err_t sim_dev_init(); \ No newline at end of file diff --git a/rtconfig.h b/rtconfig.h index 02d7f0c..4f6fd8c 100644 --- a/rtconfig.h +++ b/rtconfig.h @@ -271,6 +271,13 @@ #define LWIP_SO_LINGER 0 #define LWIP_NETIF_LOOPBACK 0 #define RT_LWIP_USING_PING +#define RT_USING_AT +#define AT_DEBUG +#define AT_USING_CLIENT +#define AT_CLIENT_NUM_MAX 1 +#define AT_USING_CLI +#define AT_PRINT_RAW_CMD +#define AT_SW_VERSION_NUM 0x10301 /* end of Network */ /* Memory protection */ @@ -453,18 +460,6 @@ /* enhanced kernel services */ -#define PKG_USING_RT_VSNPRINTF_FULL -#define PKG_VSNPRINTF_SUPPORT_DECIMAL_SPECIFIERS -#define PKG_VSNPRINTF_SUPPORT_EXPONENTIAL_SPECIFIERS -#define PKG_VSNPRINTF_SUPPORT_WRITEBACK_SPECIFIER -#define PKG_VSNPRINTF_SUPPORT_LONG_LONG -#define PKG_VSNPRINTF_CHECK_FOR_NUL_IN_FORMAT_SPECIFIER -#define PKG_VSNPRINTF_INTEGER_BUFFER_SIZE 32 -#define PKG_VSNPRINTF_DECIMAL_BUFFER_SIZE 32 -#define PKG_VSNPRINTF_DEFAULT_FLOAT_PRECISION 6 -#define PKG_VSNPRINTF_MAX_INTEGRAL_DIGITS_FOR_DECIMAL 9 -#define PKG_VSNPRINTF_LOG10_TAYLOR_TERMS 4 -#define PKG_USING_RT_VSNPRINTF_FULL_LATEST_VERSION /* end of enhanced kernel services */ /* acceleration: Assembly language or algorithmic acceleration packages */ @@ -498,6 +493,14 @@ /* Kendryte SDK */ /* end of Kendryte SDK */ + +/* WCH HAL & SDK Drivers */ + +/* end of WCH HAL & SDK Drivers */ + +/* AT32 HAL & SDK Drivers */ + +/* end of AT32 HAL & SDK Drivers */ /* end of HAL & SDK Drivers */ /* sensors drivers */ diff --git a/tools/build-stm32.bat b/tools/build-stm32.bat new file mode 100644 index 0000000..05a187f --- /dev/null +++ b/tools/build-stm32.bat @@ -0,0 +1,5 @@ +@REM @echo off + +cd /d %~dp0.. +set MCU=STM32F407VG +scons %1 diff --git a/tools/mc_py.bat b/tools/mc_py.bat new file mode 100644 index 0000000..96183a6 --- /dev/null +++ b/tools/mc_py.bat @@ -0,0 +1,27 @@ +@echo off +echo .git.bak -- .git +for /f %%d in ('dir /s /ad /b "packages\*-latest"') do ( + if exist %%d\.git.bak ( + REM echo "%%d\.git.bak --> %%d\.git" + move %%d\.git.bak %%d\.git >nul + attrib +h %%d\.git + )else ( + rmdir /s/q %%d + ) +) + +pkgs --upgrade +@REM menuconfig +call scons --pyconfig +pkgs --update + +echo .git -- .git.bak +for /f %%d in ('dir /s /ad /b "packages"') do ( + if exist %%d\.git ( + attrib -h %%d\.git + move %%d\.git %%d\.git.bak >nul + ) +) +call scons --target=vsc -s +call scons -c +@REM timeout 10