mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2026-05-30 11:08:49 +08:00
[kservice] improve backtrace service in kernel (#8144)
Signed-off-by: Shell <smokewood@qq.com>
This commit is contained in:
@@ -87,7 +87,6 @@ void assert_handler(const char *ex_string, const char *func, rt_size_t line)
|
|||||||
{
|
{
|
||||||
volatile char dummy = 0;
|
volatile char dummy = 0;
|
||||||
extern int list_thread(void);
|
extern int list_thread(void);
|
||||||
extern void rt_backtrace(void);
|
|
||||||
|
|
||||||
list_thread();
|
list_thread();
|
||||||
rt_backtrace();
|
rt_backtrace();
|
||||||
|
|||||||
+35
-160
@@ -11,6 +11,7 @@ CONFIG_RT_NAME_MAX=8
|
|||||||
# CONFIG_RT_USING_SMART is not set
|
# CONFIG_RT_USING_SMART is not set
|
||||||
# CONFIG_RT_USING_AMP is not set
|
# CONFIG_RT_USING_AMP is not set
|
||||||
# CONFIG_RT_USING_SMP is not set
|
# CONFIG_RT_USING_SMP is not set
|
||||||
|
CONFIG_RT_CPUS_NR=1
|
||||||
CONFIG_RT_ALIGN_SIZE=8
|
CONFIG_RT_ALIGN_SIZE=8
|
||||||
# CONFIG_RT_THREAD_PRIORITY_8 is not set
|
# CONFIG_RT_THREAD_PRIORITY_8 is not set
|
||||||
# CONFIG_RT_THREAD_PRIORITY_32 is not set
|
# CONFIG_RT_THREAD_PRIORITY_32 is not set
|
||||||
@@ -80,8 +81,9 @@ CONFIG_RT_USING_INTERRUPT_INFO=y
|
|||||||
CONFIG_RT_USING_CONSOLE=y
|
CONFIG_RT_USING_CONSOLE=y
|
||||||
CONFIG_RT_CONSOLEBUF_SIZE=256
|
CONFIG_RT_CONSOLEBUF_SIZE=256
|
||||||
CONFIG_RT_CONSOLE_DEVICE_NAME="uart0"
|
CONFIG_RT_CONSOLE_DEVICE_NAME="uart0"
|
||||||
CONFIG_RT_VER_NUM=0x50002
|
CONFIG_RT_VER_NUM=0x50100
|
||||||
# CONFIG_RT_USING_STDC_ATOMIC is not set
|
# CONFIG_RT_USING_STDC_ATOMIC is not set
|
||||||
|
CONFIG_RT_BACKTRACE_LEVEL_MAX_NR=32
|
||||||
CONFIG_RT_USING_CACHE=y
|
CONFIG_RT_USING_CACHE=y
|
||||||
CONFIG_RT_USING_HW_ATOMIC=y
|
CONFIG_RT_USING_HW_ATOMIC=y
|
||||||
# CONFIG_ARCH_ARM_BOOTWITH_FLUSH_CACHE is not set
|
# CONFIG_ARCH_ARM_BOOTWITH_FLUSH_CACHE is not set
|
||||||
@@ -160,6 +162,7 @@ CONFIG_RT_USING_DFS_ROMFS=y
|
|||||||
# CONFIG_RT_USING_DFS_CROMFS is not set
|
# CONFIG_RT_USING_DFS_CROMFS is not set
|
||||||
CONFIG_RT_USING_DFS_TMPFS=y
|
CONFIG_RT_USING_DFS_TMPFS=y
|
||||||
CONFIG_RT_USING_DFS_MQUEUE=y
|
CONFIG_RT_USING_DFS_MQUEUE=y
|
||||||
|
# CONFIG_RT_USING_PAGECACHE is not set
|
||||||
# CONFIG_RT_USING_FAL is not set
|
# CONFIG_RT_USING_FAL is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
@@ -311,6 +314,11 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_RT_USING_RT_LINK is not set
|
# CONFIG_RT_USING_RT_LINK is not set
|
||||||
# CONFIG_RT_USING_VBUS is not set
|
# CONFIG_RT_USING_VBUS is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Memory management
|
||||||
|
#
|
||||||
|
# CONFIG_RT_USING_MEMBLOCK is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# RT-Thread Utestcases
|
# RT-Thread Utestcases
|
||||||
#
|
#
|
||||||
@@ -334,6 +342,7 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_KAWAII_MQTT is not set
|
# CONFIG_PKG_USING_KAWAII_MQTT is not set
|
||||||
# CONFIG_PKG_USING_BC28_MQTT is not set
|
# CONFIG_PKG_USING_BC28_MQTT is not set
|
||||||
# CONFIG_PKG_USING_WEBTERMINAL is not set
|
# CONFIG_PKG_USING_WEBTERMINAL is not set
|
||||||
|
# CONFIG_PKG_USING_LIBMODBUS is not set
|
||||||
# CONFIG_PKG_USING_FREEMODBUS is not set
|
# CONFIG_PKG_USING_FREEMODBUS is not set
|
||||||
# CONFIG_PKG_USING_NANOPB is not set
|
# CONFIG_PKG_USING_NANOPB is not set
|
||||||
|
|
||||||
@@ -401,8 +410,6 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_AGILE_FTP is not set
|
# CONFIG_PKG_USING_AGILE_FTP is not set
|
||||||
# CONFIG_PKG_USING_EMBEDDEDPROTO is not set
|
# CONFIG_PKG_USING_EMBEDDEDPROTO is not set
|
||||||
# CONFIG_PKG_USING_RT_LINK_HW 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_PKT_FWD is not set
|
||||||
# CONFIG_PKG_USING_LORA_GW_DRIVER_LIB 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_LORA_PKT_SNIFFER is not set
|
||||||
@@ -410,8 +417,6 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_SMALL_MODBUS is not set
|
# CONFIG_PKG_USING_SMALL_MODBUS is not set
|
||||||
# CONFIG_PKG_USING_NET_SERVER is not set
|
# CONFIG_PKG_USING_NET_SERVER is not set
|
||||||
# CONFIG_PKG_USING_ZFTP 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
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# security packages
|
# security packages
|
||||||
@@ -480,13 +485,18 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_MP3PLAYER is not set
|
# CONFIG_PKG_USING_MP3PLAYER is not set
|
||||||
# CONFIG_PKG_USING_TINYJPEG is not set
|
# CONFIG_PKG_USING_TINYJPEG is not set
|
||||||
# CONFIG_PKG_USING_UGUI is not set
|
# CONFIG_PKG_USING_UGUI is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# PainterEngine: A cross-platform graphics application framework written in C language
|
||||||
|
#
|
||||||
|
# CONFIG_PKG_USING_PAINTERENGINE is not set
|
||||||
|
# CONFIG_PKG_USING_PAINTERENGINE_AUX is not set
|
||||||
# CONFIG_PKG_USING_MCURSES is not set
|
# CONFIG_PKG_USING_MCURSES is not set
|
||||||
# CONFIG_PKG_USING_TERMBOX is not set
|
# CONFIG_PKG_USING_TERMBOX is not set
|
||||||
# CONFIG_PKG_USING_VT100 is not set
|
# CONFIG_PKG_USING_VT100 is not set
|
||||||
# CONFIG_PKG_USING_QRCODE is not set
|
# CONFIG_PKG_USING_QRCODE is not set
|
||||||
# CONFIG_PKG_USING_GUIENGINE is not set
|
# CONFIG_PKG_USING_GUIENGINE is not set
|
||||||
# CONFIG_PKG_USING_PERSIMMON is not set
|
# CONFIG_PKG_USING_PERSIMMON is not set
|
||||||
# CONFIG_PKG_USING_3GPP_AMRNB is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# tools packages
|
# tools packages
|
||||||
@@ -496,9 +506,9 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_EASYLOGGER is not set
|
# CONFIG_PKG_USING_EASYLOGGER is not set
|
||||||
# CONFIG_PKG_USING_SYSTEMVIEW is not set
|
# CONFIG_PKG_USING_SYSTEMVIEW is not set
|
||||||
# CONFIG_PKG_USING_SEGGER_RTT 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_RDB is not set
|
||||||
# CONFIG_PKG_USING_ULOG_EASYFLASH is not set
|
# CONFIG_PKG_USING_ULOG_EASYFLASH is not set
|
||||||
|
# CONFIG_PKG_USING_ULOG_FILE is not set
|
||||||
# CONFIG_PKG_USING_LOGMGR is not set
|
# CONFIG_PKG_USING_LOGMGR is not set
|
||||||
# CONFIG_PKG_USING_ADBD is not set
|
# CONFIG_PKG_USING_ADBD is not set
|
||||||
# CONFIG_PKG_USING_COREMARK is not set
|
# CONFIG_PKG_USING_COREMARK is not set
|
||||||
@@ -532,6 +542,7 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_CBOX is not set
|
# CONFIG_PKG_USING_CBOX is not set
|
||||||
# CONFIG_PKG_USING_SNOWFLAKE is not set
|
# CONFIG_PKG_USING_SNOWFLAKE is not set
|
||||||
# CONFIG_PKG_USING_HASH_MATCH is not set
|
# CONFIG_PKG_USING_HASH_MATCH is not set
|
||||||
|
# CONFIG_PKG_USING_FIRE_PID_CURVE is not set
|
||||||
# CONFIG_PKG_USING_ARMV7M_DWT_TOOL is not set
|
# CONFIG_PKG_USING_ARMV7M_DWT_TOOL is not set
|
||||||
# CONFIG_PKG_USING_VOFA_PLUS is not set
|
# CONFIG_PKG_USING_VOFA_PLUS is not set
|
||||||
|
|
||||||
@@ -604,96 +615,19 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_TFDB is not set
|
# CONFIG_PKG_USING_TFDB is not set
|
||||||
# CONFIG_PKG_USING_QPC is not set
|
# CONFIG_PKG_USING_QPC is not set
|
||||||
# CONFIG_PKG_USING_AGILE_UPGRADE 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
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# peripheral libraries and drivers
|
# peripheral libraries and drivers
|
||||||
#
|
#
|
||||||
|
# CONFIG_PKG_USING_SENSORS_DRIVERS is not set
|
||||||
#
|
# CONFIG_PKG_USING_REALTEK_AMEBA is not set
|
||||||
# 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_SHT2X is not set
|
||||||
# CONFIG_PKG_USING_SHT3X is not set
|
# CONFIG_PKG_USING_SHT3X is not set
|
||||||
# CONFIG_PKG_USING_AD7746 is not set
|
|
||||||
# CONFIG_PKG_USING_ADT74XX 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_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
|
|
||||||
|
|
||||||
#
|
|
||||||
# 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_REALTEK_AMEBA is not set
|
|
||||||
# CONFIG_PKG_USING_STM32_SDIO is not set
|
# CONFIG_PKG_USING_STM32_SDIO is not set
|
||||||
# CONFIG_PKG_USING_ESP_IDF is not set
|
# CONFIG_PKG_USING_ESP_IDF is not set
|
||||||
|
# CONFIG_PKG_USING_ICM20608 is not set
|
||||||
# CONFIG_PKG_USING_BUTTON is not set
|
# CONFIG_PKG_USING_BUTTON is not set
|
||||||
# CONFIG_PKG_USING_PCF8574 is not set
|
# CONFIG_PKG_USING_PCF8574 is not set
|
||||||
# CONFIG_PKG_USING_SX12XX is not set
|
# CONFIG_PKG_USING_SX12XX is not set
|
||||||
@@ -703,6 +637,7 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_LKDGUI is not set
|
# CONFIG_PKG_USING_LKDGUI is not set
|
||||||
# CONFIG_PKG_USING_NRF5X_SDK is not set
|
# CONFIG_PKG_USING_NRF5X_SDK is not set
|
||||||
# CONFIG_PKG_USING_NRFX is not set
|
# CONFIG_PKG_USING_NRFX is not set
|
||||||
|
# CONFIG_PKG_USING_WM_LIBRARIES is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Kendryte SDK
|
# Kendryte SDK
|
||||||
@@ -715,10 +650,12 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_AGILE_LED is not set
|
# CONFIG_PKG_USING_AGILE_LED is not set
|
||||||
# CONFIG_PKG_USING_AT24CXX is not set
|
# CONFIG_PKG_USING_AT24CXX is not set
|
||||||
# CONFIG_PKG_USING_MOTIONDRIVER2RTT is not set
|
# CONFIG_PKG_USING_MOTIONDRIVER2RTT is not set
|
||||||
|
# CONFIG_PKG_USING_AD7746 is not set
|
||||||
# CONFIG_PKG_USING_PCA9685 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_I2C_TOOLS is not set
|
||||||
# CONFIG_PKG_USING_NRF24L01 is not set
|
# CONFIG_PKG_USING_NRF24L01 is not set
|
||||||
|
# CONFIG_PKG_USING_TOUCH_DRIVERS is not set
|
||||||
|
# CONFIG_PKG_USING_MAX17048 is not set
|
||||||
# CONFIG_PKG_USING_RPLIDAR is not set
|
# CONFIG_PKG_USING_RPLIDAR is not set
|
||||||
# CONFIG_PKG_USING_AS608 is not set
|
# CONFIG_PKG_USING_AS608 is not set
|
||||||
# CONFIG_PKG_USING_RC522 is not set
|
# CONFIG_PKG_USING_RC522 is not set
|
||||||
@@ -733,6 +670,7 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_CAN_YMODEM is not set
|
# CONFIG_PKG_USING_CAN_YMODEM is not set
|
||||||
# CONFIG_PKG_USING_LORA_RADIO_DRIVER is not set
|
# CONFIG_PKG_USING_LORA_RADIO_DRIVER is not set
|
||||||
# CONFIG_PKG_USING_QLED is not set
|
# CONFIG_PKG_USING_QLED is not set
|
||||||
|
# CONFIG_PKG_USING_PAJ7620 is not set
|
||||||
# CONFIG_PKG_USING_AGILE_CONSOLE is not set
|
# CONFIG_PKG_USING_AGILE_CONSOLE is not set
|
||||||
# CONFIG_PKG_USING_LD3320 is not set
|
# CONFIG_PKG_USING_LD3320 is not set
|
||||||
# CONFIG_PKG_USING_WK2124 is not set
|
# CONFIG_PKG_USING_WK2124 is not set
|
||||||
@@ -760,17 +698,13 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_MISAKA_AT24CXX is not set
|
# CONFIG_PKG_USING_MISAKA_AT24CXX is not set
|
||||||
# CONFIG_PKG_USING_MISAKA_RGB_BLING is not set
|
# CONFIG_PKG_USING_MISAKA_RGB_BLING is not set
|
||||||
# CONFIG_PKG_USING_LORA_MODEM_DRIVER is not set
|
# CONFIG_PKG_USING_LORA_MODEM_DRIVER is not set
|
||||||
|
# CONFIG_PKG_USING_BL_MCU_SDK is not set
|
||||||
# CONFIG_PKG_USING_SOFT_SERIAL is not set
|
# CONFIG_PKG_USING_SOFT_SERIAL is not set
|
||||||
# CONFIG_PKG_USING_MB85RS16 is not set
|
# CONFIG_PKG_USING_MB85RS16 is not set
|
||||||
|
# CONFIG_PKG_USING_CW2015 is not set
|
||||||
# CONFIG_PKG_USING_RFM300 is not set
|
# CONFIG_PKG_USING_RFM300 is not set
|
||||||
# CONFIG_PKG_USING_IO_INPUT_FILTER is not set
|
# CONFIG_PKG_USING_IO_INPUT_FILTER is not set
|
||||||
# CONFIG_PKG_USING_RASPBERRYPI_PICO_SDK is not set
|
# CONFIG_PKG_USING_RASPBERRYPI_PICO_SDK 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_SPI_TOOLS is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# AI packages
|
# AI packages
|
||||||
@@ -785,15 +719,6 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_QUEST is not set
|
# CONFIG_PKG_USING_QUEST is not set
|
||||||
# CONFIG_PKG_USING_NAXOS is not set
|
# CONFIG_PKG_USING_NAXOS is not set
|
||||||
|
|
||||||
#
|
|
||||||
# Signal Processing and Control Algorithm Packages
|
|
||||||
#
|
|
||||||
# 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
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# miscellaneous packages
|
# miscellaneous packages
|
||||||
#
|
#
|
||||||
@@ -823,7 +748,6 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_TETRIS is not set
|
# CONFIG_PKG_USING_TETRIS is not set
|
||||||
# CONFIG_PKG_USING_DONUT is not set
|
# CONFIG_PKG_USING_DONUT is not set
|
||||||
# CONFIG_PKG_USING_COWSAY is not set
|
# CONFIG_PKG_USING_COWSAY is not set
|
||||||
# CONFIG_PKG_USING_MORSE is not set
|
|
||||||
# CONFIG_PKG_USING_LIBCSV is not set
|
# CONFIG_PKG_USING_LIBCSV is not set
|
||||||
# CONFIG_PKG_USING_OPTPARSE is not set
|
# CONFIG_PKG_USING_OPTPARSE is not set
|
||||||
# CONFIG_PKG_USING_FASTLZ is not set
|
# CONFIG_PKG_USING_FASTLZ is not set
|
||||||
@@ -839,12 +763,14 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_DSTR is not set
|
# CONFIG_PKG_USING_DSTR is not set
|
||||||
# CONFIG_PKG_USING_TINYFRAME is not set
|
# CONFIG_PKG_USING_TINYFRAME is not set
|
||||||
# CONFIG_PKG_USING_KENDRYTE_DEMO is not set
|
# CONFIG_PKG_USING_KENDRYTE_DEMO is not set
|
||||||
|
# CONFIG_PKG_USING_DIGITALCTRL is not set
|
||||||
# CONFIG_PKG_USING_UPACKER is not set
|
# CONFIG_PKG_USING_UPACKER is not set
|
||||||
# CONFIG_PKG_USING_UPARAM is not set
|
# CONFIG_PKG_USING_UPARAM is not set
|
||||||
# CONFIG_PKG_USING_HELLO is not set
|
# CONFIG_PKG_USING_HELLO is not set
|
||||||
# CONFIG_PKG_USING_VI is not set
|
# CONFIG_PKG_USING_VI is not set
|
||||||
# CONFIG_PKG_USING_KI is not set
|
# CONFIG_PKG_USING_KI is not set
|
||||||
# CONFIG_PKG_USING_ARMv7M_DWT is not set
|
# CONFIG_PKG_USING_ARMv7M_DWT is not set
|
||||||
|
# CONFIG_PKG_USING_UKAL is not set
|
||||||
# CONFIG_PKG_USING_CRCLIB is not set
|
# CONFIG_PKG_USING_CRCLIB is not set
|
||||||
# CONFIG_PKG_USING_LWGPS is not set
|
# CONFIG_PKG_USING_LWGPS is not set
|
||||||
# CONFIG_PKG_USING_STATE_MACHINE is not set
|
# CONFIG_PKG_USING_STATE_MACHINE is not set
|
||||||
@@ -855,7 +781,6 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_SLCAN2RTT is not set
|
# CONFIG_PKG_USING_SLCAN2RTT is not set
|
||||||
# CONFIG_PKG_USING_SOEM is not set
|
# CONFIG_PKG_USING_SOEM is not set
|
||||||
# CONFIG_PKG_USING_QPARAM is not set
|
# CONFIG_PKG_USING_QPARAM is not set
|
||||||
# CONFIG_PKG_USING_CorevMCU_CLI is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Arduino libraries
|
# Arduino libraries
|
||||||
@@ -863,9 +788,8 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_RTDUINO is not set
|
# CONFIG_PKG_USING_RTDUINO is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Projects and Demos
|
# Projects
|
||||||
#
|
#
|
||||||
# CONFIG_PKG_USING_ARDUINO_MSGQ_C_CPP_DEMO is not set
|
|
||||||
# CONFIG_PKG_USING_ARDUINO_ULTRASOUND_RADAR is not set
|
# CONFIG_PKG_USING_ARDUINO_ULTRASOUND_RADAR is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_SENSOR_KIT 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_MATLAB_SUPPORT is not set
|
||||||
@@ -873,17 +797,16 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
#
|
#
|
||||||
# Sensors
|
# Sensors
|
||||||
#
|
#
|
||||||
# CONFIG_PKG_USING_ARDUINO_SENSOR_DEVICE_DRIVERS is not set
|
# CONFIG_PKG_USING_ARDUINO_SEEED_BMP280 is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_CAPACITIVESENSOR is not set
|
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADXL375 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_VL53L0X is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L1X 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_CAPACITIVESENSOR is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSOR is not set
|
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSOR is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL6180X is not set
|
|
||||||
# CONFIG_PKG_USING_ADAFRUIT_MAX31855 is not set
|
# CONFIG_PKG_USING_ADAFRUIT_MAX31855 is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31865 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_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_MLX90614 is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LSM9DS1 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_AHTX0 is not set
|
||||||
@@ -964,7 +887,6 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU21DF 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_AS7341 is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU31D is not set
|
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU31D is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSORLAB is not set
|
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_INA260 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_TMP007_LIBRARY is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_L3GD20 is not set
|
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_L3GD20 is not set
|
||||||
@@ -976,55 +898,16 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VEML6070 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_VEML6075 is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VEML7700 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_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_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
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Display
|
# Display
|
||||||
#
|
#
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_GFX_LIBRARY is not set
|
|
||||||
# CONFIG_PKG_USING_ARDUINO_U8G2 is not set
|
# CONFIG_PKG_USING_ARDUINO_U8G2 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
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Timing
|
# Timing
|
||||||
#
|
#
|
||||||
# CONFIG_PKG_USING_ARDUINO_MSTIMER2 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
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Data Processing
|
# Data Processing
|
||||||
@@ -1047,18 +930,10 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
#
|
#
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCF8574 is not set
|
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCF8574 is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCA9685 is not set
|
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCA9685 is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_SEEED_PCF85063TP 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
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Other
|
# Other
|
||||||
#
|
#
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MFRC630 is not set
|
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SI5351 is not set
|
|
||||||
# CONFIG_PKG_USING_ARDUINO_RTCLIB is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Signal IO
|
# Signal IO
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
/* RT-Thread Kernel */
|
/* RT-Thread Kernel */
|
||||||
|
|
||||||
#define RT_NAME_MAX 8
|
#define RT_NAME_MAX 8
|
||||||
|
#define RT_CPUS_NR 1
|
||||||
#define RT_ALIGN_SIZE 8
|
#define RT_ALIGN_SIZE 8
|
||||||
#define RT_THREAD_PRIORITY_256
|
#define RT_THREAD_PRIORITY_256
|
||||||
#define RT_THREAD_PRIORITY_MAX 256
|
#define RT_THREAD_PRIORITY_MAX 256
|
||||||
@@ -56,7 +57,8 @@
|
|||||||
#define RT_USING_CONSOLE
|
#define RT_USING_CONSOLE
|
||||||
#define RT_CONSOLEBUF_SIZE 256
|
#define RT_CONSOLEBUF_SIZE 256
|
||||||
#define RT_CONSOLE_DEVICE_NAME "uart0"
|
#define RT_CONSOLE_DEVICE_NAME "uart0"
|
||||||
#define RT_VER_NUM 0x50002
|
#define RT_VER_NUM 0x50100
|
||||||
|
#define RT_BACKTRACE_LEVEL_MAX_NR 32
|
||||||
#define RT_USING_CACHE
|
#define RT_USING_CACHE
|
||||||
#define RT_USING_HW_ATOMIC
|
#define RT_USING_HW_ATOMIC
|
||||||
#define RT_USING_CPU_FFS
|
#define RT_USING_CPU_FFS
|
||||||
@@ -203,6 +205,9 @@
|
|||||||
#define RT_USING_ADT_HASHMAP
|
#define RT_USING_ADT_HASHMAP
|
||||||
#define RT_USING_ADT_REF
|
#define RT_USING_ADT_REF
|
||||||
|
|
||||||
|
/* Memory management */
|
||||||
|
|
||||||
|
|
||||||
/* RT-Thread Utestcases */
|
/* RT-Thread Utestcases */
|
||||||
|
|
||||||
|
|
||||||
@@ -241,6 +246,9 @@
|
|||||||
/* u8g2: a monochrome graphic library */
|
/* u8g2: a monochrome graphic library */
|
||||||
|
|
||||||
|
|
||||||
|
/* PainterEngine: A cross-platform graphics application framework written in C language */
|
||||||
|
|
||||||
|
|
||||||
/* tools packages */
|
/* tools packages */
|
||||||
|
|
||||||
|
|
||||||
@@ -260,11 +268,6 @@
|
|||||||
|
|
||||||
/* peripheral libraries and drivers */
|
/* peripheral libraries and drivers */
|
||||||
|
|
||||||
/* sensors drivers */
|
|
||||||
|
|
||||||
|
|
||||||
/* touch drivers */
|
|
||||||
|
|
||||||
|
|
||||||
/* Kendryte SDK */
|
/* Kendryte SDK */
|
||||||
|
|
||||||
@@ -272,9 +275,6 @@
|
|||||||
/* AI packages */
|
/* AI packages */
|
||||||
|
|
||||||
|
|
||||||
/* Signal Processing and Control Algorithm Packages */
|
|
||||||
|
|
||||||
|
|
||||||
/* miscellaneous packages */
|
/* miscellaneous packages */
|
||||||
|
|
||||||
/* project laboratory */
|
/* project laboratory */
|
||||||
@@ -288,7 +288,7 @@
|
|||||||
/* Arduino libraries */
|
/* Arduino libraries */
|
||||||
|
|
||||||
|
|
||||||
/* Projects and Demos */
|
/* Projects */
|
||||||
|
|
||||||
|
|
||||||
/* Sensors */
|
/* Sensors */
|
||||||
@@ -313,7 +313,6 @@
|
|||||||
|
|
||||||
/* Other */
|
/* Other */
|
||||||
|
|
||||||
|
|
||||||
/* Signal IO */
|
/* Signal IO */
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+33
-161
@@ -84,8 +84,9 @@ CONFIG_RT_USING_INTERRUPT_INFO=y
|
|||||||
CONFIG_RT_USING_CONSOLE=y
|
CONFIG_RT_USING_CONSOLE=y
|
||||||
CONFIG_RT_CONSOLEBUF_SIZE=256
|
CONFIG_RT_CONSOLEBUF_SIZE=256
|
||||||
CONFIG_RT_CONSOLE_DEVICE_NAME="uart0"
|
CONFIG_RT_CONSOLE_DEVICE_NAME="uart0"
|
||||||
CONFIG_RT_VER_NUM=0x50002
|
CONFIG_RT_VER_NUM=0x50100
|
||||||
CONFIG_RT_USING_STDC_ATOMIC=y
|
CONFIG_RT_USING_STDC_ATOMIC=y
|
||||||
|
CONFIG_RT_BACKTRACE_LEVEL_MAX_NR=32
|
||||||
|
|
||||||
#
|
#
|
||||||
# AArch64 Architecture Configuration
|
# AArch64 Architecture Configuration
|
||||||
@@ -311,6 +312,11 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_RT_USING_RT_LINK is not set
|
# CONFIG_RT_USING_RT_LINK is not set
|
||||||
# CONFIG_RT_USING_VBUS is not set
|
# CONFIG_RT_USING_VBUS is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Memory management
|
||||||
|
#
|
||||||
|
# CONFIG_RT_USING_MEMBLOCK is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# RT-Thread Utestcases
|
# RT-Thread Utestcases
|
||||||
#
|
#
|
||||||
@@ -334,6 +340,7 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_KAWAII_MQTT is not set
|
# CONFIG_PKG_USING_KAWAII_MQTT is not set
|
||||||
# CONFIG_PKG_USING_BC28_MQTT is not set
|
# CONFIG_PKG_USING_BC28_MQTT is not set
|
||||||
# CONFIG_PKG_USING_WEBTERMINAL is not set
|
# CONFIG_PKG_USING_WEBTERMINAL is not set
|
||||||
|
# CONFIG_PKG_USING_LIBMODBUS is not set
|
||||||
# CONFIG_PKG_USING_FREEMODBUS is not set
|
# CONFIG_PKG_USING_FREEMODBUS is not set
|
||||||
# CONFIG_PKG_USING_NANOPB is not set
|
# CONFIG_PKG_USING_NANOPB is not set
|
||||||
|
|
||||||
@@ -401,8 +408,6 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_AGILE_FTP is not set
|
# CONFIG_PKG_USING_AGILE_FTP is not set
|
||||||
# CONFIG_PKG_USING_EMBEDDEDPROTO is not set
|
# CONFIG_PKG_USING_EMBEDDEDPROTO is not set
|
||||||
# CONFIG_PKG_USING_RT_LINK_HW 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_PKT_FWD is not set
|
||||||
# CONFIG_PKG_USING_LORA_GW_DRIVER_LIB 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_LORA_PKT_SNIFFER is not set
|
||||||
@@ -410,8 +415,6 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_SMALL_MODBUS is not set
|
# CONFIG_PKG_USING_SMALL_MODBUS is not set
|
||||||
# CONFIG_PKG_USING_NET_SERVER is not set
|
# CONFIG_PKG_USING_NET_SERVER is not set
|
||||||
# CONFIG_PKG_USING_ZFTP 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
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# security packages
|
# security packages
|
||||||
@@ -480,12 +483,17 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_MP3PLAYER is not set
|
# CONFIG_PKG_USING_MP3PLAYER is not set
|
||||||
# CONFIG_PKG_USING_TINYJPEG is not set
|
# CONFIG_PKG_USING_TINYJPEG is not set
|
||||||
# CONFIG_PKG_USING_UGUI is not set
|
# CONFIG_PKG_USING_UGUI is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# PainterEngine: A cross-platform graphics application framework written in C language
|
||||||
|
#
|
||||||
|
# CONFIG_PKG_USING_PAINTERENGINE is not set
|
||||||
|
# CONFIG_PKG_USING_PAINTERENGINE_AUX is not set
|
||||||
# CONFIG_PKG_USING_MCURSES is not set
|
# CONFIG_PKG_USING_MCURSES is not set
|
||||||
# CONFIG_PKG_USING_TERMBOX is not set
|
# CONFIG_PKG_USING_TERMBOX is not set
|
||||||
# CONFIG_PKG_USING_VT100 is not set
|
# CONFIG_PKG_USING_VT100 is not set
|
||||||
# CONFIG_PKG_USING_QRCODE is not set
|
# CONFIG_PKG_USING_QRCODE is not set
|
||||||
# CONFIG_PKG_USING_GUIENGINE is not set
|
# CONFIG_PKG_USING_GUIENGINE is not set
|
||||||
# CONFIG_PKG_USING_3GPP_AMRNB is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# tools packages
|
# tools packages
|
||||||
@@ -495,9 +503,9 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_EASYLOGGER is not set
|
# CONFIG_PKG_USING_EASYLOGGER is not set
|
||||||
# CONFIG_PKG_USING_SYSTEMVIEW is not set
|
# CONFIG_PKG_USING_SYSTEMVIEW is not set
|
||||||
# CONFIG_PKG_USING_SEGGER_RTT 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_RDB is not set
|
||||||
# CONFIG_PKG_USING_ULOG_EASYFLASH is not set
|
# CONFIG_PKG_USING_ULOG_EASYFLASH is not set
|
||||||
|
# CONFIG_PKG_USING_ULOG_FILE is not set
|
||||||
# CONFIG_PKG_USING_LOGMGR is not set
|
# CONFIG_PKG_USING_LOGMGR is not set
|
||||||
# CONFIG_PKG_USING_ADBD is not set
|
# CONFIG_PKG_USING_ADBD is not set
|
||||||
# CONFIG_PKG_USING_COREMARK is not set
|
# CONFIG_PKG_USING_COREMARK is not set
|
||||||
@@ -531,6 +539,7 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_CBOX is not set
|
# CONFIG_PKG_USING_CBOX is not set
|
||||||
# CONFIG_PKG_USING_SNOWFLAKE is not set
|
# CONFIG_PKG_USING_SNOWFLAKE is not set
|
||||||
# CONFIG_PKG_USING_HASH_MATCH is not set
|
# CONFIG_PKG_USING_HASH_MATCH is not set
|
||||||
|
# CONFIG_PKG_USING_FIRE_PID_CURVE is not set
|
||||||
# CONFIG_PKG_USING_ARMV7M_DWT_TOOL is not set
|
# CONFIG_PKG_USING_ARMV7M_DWT_TOOL is not set
|
||||||
# CONFIG_PKG_USING_VOFA_PLUS is not set
|
# CONFIG_PKG_USING_VOFA_PLUS is not set
|
||||||
|
|
||||||
@@ -603,96 +612,19 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_TFDB is not set
|
# CONFIG_PKG_USING_TFDB is not set
|
||||||
# CONFIG_PKG_USING_QPC is not set
|
# CONFIG_PKG_USING_QPC is not set
|
||||||
# CONFIG_PKG_USING_AGILE_UPGRADE 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
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# peripheral libraries and drivers
|
# peripheral libraries and drivers
|
||||||
#
|
#
|
||||||
|
# CONFIG_PKG_USING_SENSORS_DRIVERS is not set
|
||||||
#
|
# CONFIG_PKG_USING_REALTEK_AMEBA is not set
|
||||||
# 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_SHT2X is not set
|
||||||
# CONFIG_PKG_USING_SHT3X is not set
|
# CONFIG_PKG_USING_SHT3X is not set
|
||||||
# CONFIG_PKG_USING_AD7746 is not set
|
|
||||||
# CONFIG_PKG_USING_ADT74XX 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_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
|
|
||||||
|
|
||||||
#
|
|
||||||
# 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_REALTEK_AMEBA is not set
|
|
||||||
# CONFIG_PKG_USING_STM32_SDIO is not set
|
# CONFIG_PKG_USING_STM32_SDIO is not set
|
||||||
# CONFIG_PKG_USING_ESP_IDF is not set
|
# CONFIG_PKG_USING_ESP_IDF is not set
|
||||||
|
# CONFIG_PKG_USING_ICM20608 is not set
|
||||||
# CONFIG_PKG_USING_BUTTON is not set
|
# CONFIG_PKG_USING_BUTTON is not set
|
||||||
# CONFIG_PKG_USING_PCF8574 is not set
|
# CONFIG_PKG_USING_PCF8574 is not set
|
||||||
# CONFIG_PKG_USING_SX12XX is not set
|
# CONFIG_PKG_USING_SX12XX is not set
|
||||||
@@ -702,6 +634,7 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_LKDGUI is not set
|
# CONFIG_PKG_USING_LKDGUI is not set
|
||||||
# CONFIG_PKG_USING_NRF5X_SDK is not set
|
# CONFIG_PKG_USING_NRF5X_SDK is not set
|
||||||
# CONFIG_PKG_USING_NRFX is not set
|
# CONFIG_PKG_USING_NRFX is not set
|
||||||
|
# CONFIG_PKG_USING_WM_LIBRARIES is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Kendryte SDK
|
# Kendryte SDK
|
||||||
@@ -714,10 +647,12 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_AGILE_LED is not set
|
# CONFIG_PKG_USING_AGILE_LED is not set
|
||||||
# CONFIG_PKG_USING_AT24CXX is not set
|
# CONFIG_PKG_USING_AT24CXX is not set
|
||||||
# CONFIG_PKG_USING_MOTIONDRIVER2RTT is not set
|
# CONFIG_PKG_USING_MOTIONDRIVER2RTT is not set
|
||||||
|
# CONFIG_PKG_USING_AD7746 is not set
|
||||||
# CONFIG_PKG_USING_PCA9685 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_I2C_TOOLS is not set
|
||||||
# CONFIG_PKG_USING_NRF24L01 is not set
|
# CONFIG_PKG_USING_NRF24L01 is not set
|
||||||
|
# CONFIG_PKG_USING_TOUCH_DRIVERS is not set
|
||||||
|
# CONFIG_PKG_USING_MAX17048 is not set
|
||||||
# CONFIG_PKG_USING_RPLIDAR is not set
|
# CONFIG_PKG_USING_RPLIDAR is not set
|
||||||
# CONFIG_PKG_USING_AS608 is not set
|
# CONFIG_PKG_USING_AS608 is not set
|
||||||
# CONFIG_PKG_USING_RC522 is not set
|
# CONFIG_PKG_USING_RC522 is not set
|
||||||
@@ -732,6 +667,7 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_CAN_YMODEM is not set
|
# CONFIG_PKG_USING_CAN_YMODEM is not set
|
||||||
# CONFIG_PKG_USING_LORA_RADIO_DRIVER is not set
|
# CONFIG_PKG_USING_LORA_RADIO_DRIVER is not set
|
||||||
# CONFIG_PKG_USING_QLED is not set
|
# CONFIG_PKG_USING_QLED is not set
|
||||||
|
# CONFIG_PKG_USING_PAJ7620 is not set
|
||||||
# CONFIG_PKG_USING_AGILE_CONSOLE is not set
|
# CONFIG_PKG_USING_AGILE_CONSOLE is not set
|
||||||
# CONFIG_PKG_USING_LD3320 is not set
|
# CONFIG_PKG_USING_LD3320 is not set
|
||||||
# CONFIG_PKG_USING_WK2124 is not set
|
# CONFIG_PKG_USING_WK2124 is not set
|
||||||
@@ -759,17 +695,13 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_MISAKA_AT24CXX is not set
|
# CONFIG_PKG_USING_MISAKA_AT24CXX is not set
|
||||||
# CONFIG_PKG_USING_MISAKA_RGB_BLING is not set
|
# CONFIG_PKG_USING_MISAKA_RGB_BLING is not set
|
||||||
# CONFIG_PKG_USING_LORA_MODEM_DRIVER is not set
|
# CONFIG_PKG_USING_LORA_MODEM_DRIVER is not set
|
||||||
|
# CONFIG_PKG_USING_BL_MCU_SDK is not set
|
||||||
# CONFIG_PKG_USING_SOFT_SERIAL is not set
|
# CONFIG_PKG_USING_SOFT_SERIAL is not set
|
||||||
# CONFIG_PKG_USING_MB85RS16 is not set
|
# CONFIG_PKG_USING_MB85RS16 is not set
|
||||||
|
# CONFIG_PKG_USING_CW2015 is not set
|
||||||
# CONFIG_PKG_USING_RFM300 is not set
|
# CONFIG_PKG_USING_RFM300 is not set
|
||||||
# CONFIG_PKG_USING_IO_INPUT_FILTER is not set
|
# CONFIG_PKG_USING_IO_INPUT_FILTER is not set
|
||||||
# CONFIG_PKG_USING_RASPBERRYPI_PICO_SDK is not set
|
# CONFIG_PKG_USING_RASPBERRYPI_PICO_SDK 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_SPI_TOOLS is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# AI packages
|
# AI packages
|
||||||
@@ -783,16 +715,6 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_ULAPACK is not set
|
# CONFIG_PKG_USING_ULAPACK is not set
|
||||||
# CONFIG_PKG_USING_QUEST is not set
|
# CONFIG_PKG_USING_QUEST is not set
|
||||||
# CONFIG_PKG_USING_NAXOS is not set
|
# CONFIG_PKG_USING_NAXOS is not set
|
||||||
# CONFIG_PKG_USING_NCNN is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# Signal Processing and Control Algorithm Packages
|
|
||||||
#
|
|
||||||
# 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
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# miscellaneous packages
|
# miscellaneous packages
|
||||||
@@ -823,7 +745,6 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_TETRIS is not set
|
# CONFIG_PKG_USING_TETRIS is not set
|
||||||
# CONFIG_PKG_USING_DONUT is not set
|
# CONFIG_PKG_USING_DONUT is not set
|
||||||
# CONFIG_PKG_USING_COWSAY is not set
|
# CONFIG_PKG_USING_COWSAY is not set
|
||||||
# CONFIG_PKG_USING_MORSE is not set
|
|
||||||
# CONFIG_PKG_USING_LIBCSV is not set
|
# CONFIG_PKG_USING_LIBCSV is not set
|
||||||
# CONFIG_PKG_USING_OPTPARSE is not set
|
# CONFIG_PKG_USING_OPTPARSE is not set
|
||||||
# CONFIG_PKG_USING_FASTLZ is not set
|
# CONFIG_PKG_USING_FASTLZ is not set
|
||||||
@@ -839,12 +760,14 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_DSTR is not set
|
# CONFIG_PKG_USING_DSTR is not set
|
||||||
# CONFIG_PKG_USING_TINYFRAME is not set
|
# CONFIG_PKG_USING_TINYFRAME is not set
|
||||||
# CONFIG_PKG_USING_KENDRYTE_DEMO is not set
|
# CONFIG_PKG_USING_KENDRYTE_DEMO is not set
|
||||||
|
# CONFIG_PKG_USING_DIGITALCTRL is not set
|
||||||
# CONFIG_PKG_USING_UPACKER is not set
|
# CONFIG_PKG_USING_UPACKER is not set
|
||||||
# CONFIG_PKG_USING_UPARAM is not set
|
# CONFIG_PKG_USING_UPARAM is not set
|
||||||
# CONFIG_PKG_USING_HELLO is not set
|
# CONFIG_PKG_USING_HELLO is not set
|
||||||
# CONFIG_PKG_USING_VI is not set
|
# CONFIG_PKG_USING_VI is not set
|
||||||
# CONFIG_PKG_USING_KI is not set
|
# CONFIG_PKG_USING_KI is not set
|
||||||
# CONFIG_PKG_USING_ARMv7M_DWT is not set
|
# CONFIG_PKG_USING_ARMv7M_DWT is not set
|
||||||
|
# CONFIG_PKG_USING_UKAL is not set
|
||||||
# CONFIG_PKG_USING_CRCLIB is not set
|
# CONFIG_PKG_USING_CRCLIB is not set
|
||||||
# CONFIG_PKG_USING_LWGPS is not set
|
# CONFIG_PKG_USING_LWGPS is not set
|
||||||
# CONFIG_PKG_USING_STATE_MACHINE is not set
|
# CONFIG_PKG_USING_STATE_MACHINE is not set
|
||||||
@@ -855,7 +778,6 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_SLCAN2RTT is not set
|
# CONFIG_PKG_USING_SLCAN2RTT is not set
|
||||||
# CONFIG_PKG_USING_SOEM is not set
|
# CONFIG_PKG_USING_SOEM is not set
|
||||||
# CONFIG_PKG_USING_QPARAM is not set
|
# CONFIG_PKG_USING_QPARAM is not set
|
||||||
# CONFIG_PKG_USING_CorevMCU_CLI is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Arduino libraries
|
# Arduino libraries
|
||||||
@@ -863,9 +785,8 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_RTDUINO is not set
|
# CONFIG_PKG_USING_RTDUINO is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Projects and Demos
|
# Projects
|
||||||
#
|
#
|
||||||
# CONFIG_PKG_USING_ARDUINO_MSGQ_C_CPP_DEMO is not set
|
|
||||||
# CONFIG_PKG_USING_ARDUINO_ULTRASOUND_RADAR is not set
|
# CONFIG_PKG_USING_ARDUINO_ULTRASOUND_RADAR is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_SENSOR_KIT 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_MATLAB_SUPPORT is not set
|
||||||
@@ -873,17 +794,16 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
#
|
#
|
||||||
# Sensors
|
# Sensors
|
||||||
#
|
#
|
||||||
# CONFIG_PKG_USING_ARDUINO_SENSOR_DEVICE_DRIVERS is not set
|
# CONFIG_PKG_USING_ARDUINO_SEEED_BMP280 is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_CAPACITIVESENSOR is not set
|
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADXL375 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_VL53L0X is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L1X 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_CAPACITIVESENSOR is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSOR is not set
|
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSOR is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL6180X is not set
|
|
||||||
# CONFIG_PKG_USING_ADAFRUIT_MAX31855 is not set
|
# CONFIG_PKG_USING_ADAFRUIT_MAX31855 is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31865 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_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_MLX90614 is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LSM9DS1 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_AHTX0 is not set
|
||||||
@@ -964,7 +884,6 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU21DF 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_AS7341 is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU31D is not set
|
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU31D is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSORLAB is not set
|
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_INA260 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_TMP007_LIBRARY is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_L3GD20 is not set
|
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_L3GD20 is not set
|
||||||
@@ -976,55 +895,16 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VEML6070 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_VEML6075 is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VEML7700 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_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_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
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Display
|
# Display
|
||||||
#
|
#
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_GFX_LIBRARY is not set
|
|
||||||
# CONFIG_PKG_USING_ARDUINO_U8G2 is not set
|
# CONFIG_PKG_USING_ARDUINO_U8G2 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
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Timing
|
# Timing
|
||||||
#
|
#
|
||||||
# CONFIG_PKG_USING_ARDUINO_MSTIMER2 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
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Data Processing
|
# Data Processing
|
||||||
@@ -1047,18 +927,10 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
#
|
#
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCF8574 is not set
|
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCF8574 is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCA9685 is not set
|
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCA9685 is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_SEEED_PCF85063TP 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
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Other
|
# Other
|
||||||
#
|
#
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MFRC630 is not set
|
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SI5351 is not set
|
|
||||||
# CONFIG_PKG_USING_ARDUINO_RTCLIB is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Signal IO
|
# Signal IO
|
||||||
|
|||||||
@@ -60,8 +60,9 @@
|
|||||||
#define RT_USING_CONSOLE
|
#define RT_USING_CONSOLE
|
||||||
#define RT_CONSOLEBUF_SIZE 256
|
#define RT_CONSOLEBUF_SIZE 256
|
||||||
#define RT_CONSOLE_DEVICE_NAME "uart0"
|
#define RT_CONSOLE_DEVICE_NAME "uart0"
|
||||||
#define RT_VER_NUM 0x50002
|
#define RT_VER_NUM 0x50100
|
||||||
#define RT_USING_STDC_ATOMIC
|
#define RT_USING_STDC_ATOMIC
|
||||||
|
#define RT_BACKTRACE_LEVEL_MAX_NR 32
|
||||||
|
|
||||||
/* AArch64 Architecture Configuration */
|
/* AArch64 Architecture Configuration */
|
||||||
|
|
||||||
@@ -199,6 +200,9 @@
|
|||||||
#define RT_USING_ADT_HASHMAP
|
#define RT_USING_ADT_HASHMAP
|
||||||
#define RT_USING_ADT_REF
|
#define RT_USING_ADT_REF
|
||||||
|
|
||||||
|
/* Memory management */
|
||||||
|
|
||||||
|
|
||||||
/* RT-Thread Utestcases */
|
/* RT-Thread Utestcases */
|
||||||
|
|
||||||
|
|
||||||
@@ -237,6 +241,9 @@
|
|||||||
/* u8g2: a monochrome graphic library */
|
/* u8g2: a monochrome graphic library */
|
||||||
|
|
||||||
|
|
||||||
|
/* PainterEngine: A cross-platform graphics application framework written in C language */
|
||||||
|
|
||||||
|
|
||||||
/* tools packages */
|
/* tools packages */
|
||||||
|
|
||||||
|
|
||||||
@@ -256,11 +263,6 @@
|
|||||||
|
|
||||||
/* peripheral libraries and drivers */
|
/* peripheral libraries and drivers */
|
||||||
|
|
||||||
/* sensors drivers */
|
|
||||||
|
|
||||||
|
|
||||||
/* touch drivers */
|
|
||||||
|
|
||||||
|
|
||||||
/* Kendryte SDK */
|
/* Kendryte SDK */
|
||||||
|
|
||||||
@@ -268,9 +270,6 @@
|
|||||||
/* AI packages */
|
/* AI packages */
|
||||||
|
|
||||||
|
|
||||||
/* Signal Processing and Control Algorithm Packages */
|
|
||||||
|
|
||||||
|
|
||||||
/* miscellaneous packages */
|
/* miscellaneous packages */
|
||||||
|
|
||||||
/* project laboratory */
|
/* project laboratory */
|
||||||
@@ -284,7 +283,7 @@
|
|||||||
/* Arduino libraries */
|
/* Arduino libraries */
|
||||||
|
|
||||||
|
|
||||||
/* Projects and Demos */
|
/* Projects */
|
||||||
|
|
||||||
|
|
||||||
/* Sensors */
|
/* Sensors */
|
||||||
@@ -309,7 +308,6 @@
|
|||||||
|
|
||||||
/* Other */
|
/* Other */
|
||||||
|
|
||||||
|
|
||||||
/* Signal IO */
|
/* Signal IO */
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+34
-160
@@ -11,6 +11,7 @@ CONFIG_RT_NAME_MAX=24
|
|||||||
# CONFIG_RT_USING_SMART is not set
|
# CONFIG_RT_USING_SMART is not set
|
||||||
# CONFIG_RT_USING_AMP is not set
|
# CONFIG_RT_USING_AMP is not set
|
||||||
# CONFIG_RT_USING_SMP is not set
|
# CONFIG_RT_USING_SMP is not set
|
||||||
|
CONFIG_RT_CPUS_NR=1
|
||||||
CONFIG_RT_ALIGN_SIZE=8
|
CONFIG_RT_ALIGN_SIZE=8
|
||||||
# CONFIG_RT_THREAD_PRIORITY_8 is not set
|
# CONFIG_RT_THREAD_PRIORITY_8 is not set
|
||||||
CONFIG_RT_THREAD_PRIORITY_32=y
|
CONFIG_RT_THREAD_PRIORITY_32=y
|
||||||
@@ -79,8 +80,9 @@ CONFIG_RT_USING_DEVICE_OPS=y
|
|||||||
CONFIG_RT_USING_CONSOLE=y
|
CONFIG_RT_USING_CONSOLE=y
|
||||||
CONFIG_RT_CONSOLEBUF_SIZE=256
|
CONFIG_RT_CONSOLEBUF_SIZE=256
|
||||||
CONFIG_RT_CONSOLE_DEVICE_NAME="uart0"
|
CONFIG_RT_CONSOLE_DEVICE_NAME="uart0"
|
||||||
CONFIG_RT_VER_NUM=0x50002
|
CONFIG_RT_VER_NUM=0x50100
|
||||||
# CONFIG_RT_USING_STDC_ATOMIC is not set
|
# CONFIG_RT_USING_STDC_ATOMIC is not set
|
||||||
|
CONFIG_RT_BACKTRACE_LEVEL_MAX_NR=32
|
||||||
CONFIG_ARCH_CPU_64BIT=y
|
CONFIG_ARCH_CPU_64BIT=y
|
||||||
CONFIG_RT_USING_CACHE=y
|
CONFIG_RT_USING_CACHE=y
|
||||||
CONFIG_RT_USING_HW_ATOMIC=y
|
CONFIG_RT_USING_HW_ATOMIC=y
|
||||||
@@ -375,6 +377,11 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_RT_USING_RT_LINK is not set
|
# CONFIG_RT_USING_RT_LINK is not set
|
||||||
# CONFIG_RT_USING_VBUS is not set
|
# CONFIG_RT_USING_VBUS is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Memory management
|
||||||
|
#
|
||||||
|
# CONFIG_RT_USING_MEMBLOCK is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# RT-Thread Utestcases
|
# RT-Thread Utestcases
|
||||||
#
|
#
|
||||||
@@ -398,6 +405,7 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_KAWAII_MQTT is not set
|
# CONFIG_PKG_USING_KAWAII_MQTT is not set
|
||||||
# CONFIG_PKG_USING_BC28_MQTT is not set
|
# CONFIG_PKG_USING_BC28_MQTT is not set
|
||||||
# CONFIG_PKG_USING_WEBTERMINAL is not set
|
# CONFIG_PKG_USING_WEBTERMINAL is not set
|
||||||
|
# CONFIG_PKG_USING_LIBMODBUS is not set
|
||||||
# CONFIG_PKG_USING_FREEMODBUS is not set
|
# CONFIG_PKG_USING_FREEMODBUS is not set
|
||||||
# CONFIG_PKG_USING_NANOPB is not set
|
# CONFIG_PKG_USING_NANOPB is not set
|
||||||
|
|
||||||
@@ -465,8 +473,6 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_AGILE_FTP is not set
|
# CONFIG_PKG_USING_AGILE_FTP is not set
|
||||||
# CONFIG_PKG_USING_EMBEDDEDPROTO is not set
|
# CONFIG_PKG_USING_EMBEDDEDPROTO is not set
|
||||||
# CONFIG_PKG_USING_RT_LINK_HW 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_PKT_FWD is not set
|
||||||
# CONFIG_PKG_USING_LORA_GW_DRIVER_LIB 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_LORA_PKT_SNIFFER is not set
|
||||||
@@ -474,8 +480,6 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_SMALL_MODBUS is not set
|
# CONFIG_PKG_USING_SMALL_MODBUS is not set
|
||||||
# CONFIG_PKG_USING_NET_SERVER is not set
|
# CONFIG_PKG_USING_NET_SERVER is not set
|
||||||
# CONFIG_PKG_USING_ZFTP 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
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# security packages
|
# security packages
|
||||||
@@ -544,12 +548,17 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_MP3PLAYER is not set
|
# CONFIG_PKG_USING_MP3PLAYER is not set
|
||||||
# CONFIG_PKG_USING_TINYJPEG is not set
|
# CONFIG_PKG_USING_TINYJPEG is not set
|
||||||
# CONFIG_PKG_USING_UGUI is not set
|
# CONFIG_PKG_USING_UGUI is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# PainterEngine: A cross-platform graphics application framework written in C language
|
||||||
|
#
|
||||||
|
# CONFIG_PKG_USING_PAINTERENGINE is not set
|
||||||
|
# CONFIG_PKG_USING_PAINTERENGINE_AUX is not set
|
||||||
# CONFIG_PKG_USING_MCURSES is not set
|
# CONFIG_PKG_USING_MCURSES is not set
|
||||||
# CONFIG_PKG_USING_TERMBOX is not set
|
# CONFIG_PKG_USING_TERMBOX is not set
|
||||||
# CONFIG_PKG_USING_VT100 is not set
|
# CONFIG_PKG_USING_VT100 is not set
|
||||||
# CONFIG_PKG_USING_QRCODE is not set
|
# CONFIG_PKG_USING_QRCODE is not set
|
||||||
# CONFIG_PKG_USING_GUIENGINE is not set
|
# CONFIG_PKG_USING_GUIENGINE is not set
|
||||||
# CONFIG_PKG_USING_3GPP_AMRNB is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# tools packages
|
# tools packages
|
||||||
@@ -559,9 +568,9 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_EASYLOGGER is not set
|
# CONFIG_PKG_USING_EASYLOGGER is not set
|
||||||
# CONFIG_PKG_USING_SYSTEMVIEW is not set
|
# CONFIG_PKG_USING_SYSTEMVIEW is not set
|
||||||
# CONFIG_PKG_USING_SEGGER_RTT 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_RDB is not set
|
||||||
# CONFIG_PKG_USING_ULOG_EASYFLASH is not set
|
# CONFIG_PKG_USING_ULOG_EASYFLASH is not set
|
||||||
|
# CONFIG_PKG_USING_ULOG_FILE is not set
|
||||||
# CONFIG_PKG_USING_LOGMGR is not set
|
# CONFIG_PKG_USING_LOGMGR is not set
|
||||||
# CONFIG_PKG_USING_ADBD is not set
|
# CONFIG_PKG_USING_ADBD is not set
|
||||||
# CONFIG_PKG_USING_COREMARK is not set
|
# CONFIG_PKG_USING_COREMARK is not set
|
||||||
@@ -595,6 +604,7 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_CBOX is not set
|
# CONFIG_PKG_USING_CBOX is not set
|
||||||
# CONFIG_PKG_USING_SNOWFLAKE is not set
|
# CONFIG_PKG_USING_SNOWFLAKE is not set
|
||||||
# CONFIG_PKG_USING_HASH_MATCH is not set
|
# CONFIG_PKG_USING_HASH_MATCH is not set
|
||||||
|
# CONFIG_PKG_USING_FIRE_PID_CURVE is not set
|
||||||
# CONFIG_PKG_USING_ARMV7M_DWT_TOOL is not set
|
# CONFIG_PKG_USING_ARMV7M_DWT_TOOL is not set
|
||||||
# CONFIG_PKG_USING_VOFA_PLUS is not set
|
# CONFIG_PKG_USING_VOFA_PLUS is not set
|
||||||
|
|
||||||
@@ -667,96 +677,19 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_TFDB is not set
|
# CONFIG_PKG_USING_TFDB is not set
|
||||||
# CONFIG_PKG_USING_QPC is not set
|
# CONFIG_PKG_USING_QPC is not set
|
||||||
# CONFIG_PKG_USING_AGILE_UPGRADE 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
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# peripheral libraries and drivers
|
# peripheral libraries and drivers
|
||||||
#
|
#
|
||||||
|
# CONFIG_PKG_USING_SENSORS_DRIVERS is not set
|
||||||
#
|
# CONFIG_PKG_USING_REALTEK_AMEBA is not set
|
||||||
# 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_SHT2X is not set
|
||||||
# CONFIG_PKG_USING_SHT3X is not set
|
# CONFIG_PKG_USING_SHT3X is not set
|
||||||
# CONFIG_PKG_USING_AD7746 is not set
|
|
||||||
# CONFIG_PKG_USING_ADT74XX 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_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
|
|
||||||
|
|
||||||
#
|
|
||||||
# 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_REALTEK_AMEBA is not set
|
|
||||||
# CONFIG_PKG_USING_STM32_SDIO is not set
|
# CONFIG_PKG_USING_STM32_SDIO is not set
|
||||||
# CONFIG_PKG_USING_ESP_IDF is not set
|
# CONFIG_PKG_USING_ESP_IDF is not set
|
||||||
|
# CONFIG_PKG_USING_ICM20608 is not set
|
||||||
# CONFIG_PKG_USING_BUTTON is not set
|
# CONFIG_PKG_USING_BUTTON is not set
|
||||||
# CONFIG_PKG_USING_PCF8574 is not set
|
# CONFIG_PKG_USING_PCF8574 is not set
|
||||||
# CONFIG_PKG_USING_SX12XX is not set
|
# CONFIG_PKG_USING_SX12XX is not set
|
||||||
@@ -766,6 +699,7 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_LKDGUI is not set
|
# CONFIG_PKG_USING_LKDGUI is not set
|
||||||
# CONFIG_PKG_USING_NRF5X_SDK is not set
|
# CONFIG_PKG_USING_NRF5X_SDK is not set
|
||||||
# CONFIG_PKG_USING_NRFX is not set
|
# CONFIG_PKG_USING_NRFX is not set
|
||||||
|
# CONFIG_PKG_USING_WM_LIBRARIES is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Kendryte SDK
|
# Kendryte SDK
|
||||||
@@ -778,10 +712,12 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_AGILE_LED is not set
|
# CONFIG_PKG_USING_AGILE_LED is not set
|
||||||
# CONFIG_PKG_USING_AT24CXX is not set
|
# CONFIG_PKG_USING_AT24CXX is not set
|
||||||
# CONFIG_PKG_USING_MOTIONDRIVER2RTT is not set
|
# CONFIG_PKG_USING_MOTIONDRIVER2RTT is not set
|
||||||
|
# CONFIG_PKG_USING_AD7746 is not set
|
||||||
# CONFIG_PKG_USING_PCA9685 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_I2C_TOOLS is not set
|
||||||
# CONFIG_PKG_USING_NRF24L01 is not set
|
# CONFIG_PKG_USING_NRF24L01 is not set
|
||||||
|
# CONFIG_PKG_USING_TOUCH_DRIVERS is not set
|
||||||
|
# CONFIG_PKG_USING_MAX17048 is not set
|
||||||
# CONFIG_PKG_USING_RPLIDAR is not set
|
# CONFIG_PKG_USING_RPLIDAR is not set
|
||||||
# CONFIG_PKG_USING_AS608 is not set
|
# CONFIG_PKG_USING_AS608 is not set
|
||||||
# CONFIG_PKG_USING_RC522 is not set
|
# CONFIG_PKG_USING_RC522 is not set
|
||||||
@@ -797,6 +733,7 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_CAN_YMODEM is not set
|
# CONFIG_PKG_USING_CAN_YMODEM is not set
|
||||||
# CONFIG_PKG_USING_LORA_RADIO_DRIVER is not set
|
# CONFIG_PKG_USING_LORA_RADIO_DRIVER is not set
|
||||||
# CONFIG_PKG_USING_QLED is not set
|
# CONFIG_PKG_USING_QLED is not set
|
||||||
|
# CONFIG_PKG_USING_PAJ7620 is not set
|
||||||
# CONFIG_PKG_USING_AGILE_CONSOLE is not set
|
# CONFIG_PKG_USING_AGILE_CONSOLE is not set
|
||||||
# CONFIG_PKG_USING_LD3320 is not set
|
# CONFIG_PKG_USING_LD3320 is not set
|
||||||
# CONFIG_PKG_USING_WK2124 is not set
|
# CONFIG_PKG_USING_WK2124 is not set
|
||||||
@@ -824,17 +761,13 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_MISAKA_AT24CXX is not set
|
# CONFIG_PKG_USING_MISAKA_AT24CXX is not set
|
||||||
# CONFIG_PKG_USING_MISAKA_RGB_BLING is not set
|
# CONFIG_PKG_USING_MISAKA_RGB_BLING is not set
|
||||||
# CONFIG_PKG_USING_LORA_MODEM_DRIVER is not set
|
# CONFIG_PKG_USING_LORA_MODEM_DRIVER is not set
|
||||||
|
# CONFIG_PKG_USING_BL_MCU_SDK is not set
|
||||||
# CONFIG_PKG_USING_SOFT_SERIAL is not set
|
# CONFIG_PKG_USING_SOFT_SERIAL is not set
|
||||||
# CONFIG_PKG_USING_MB85RS16 is not set
|
# CONFIG_PKG_USING_MB85RS16 is not set
|
||||||
|
# CONFIG_PKG_USING_CW2015 is not set
|
||||||
# CONFIG_PKG_USING_RFM300 is not set
|
# CONFIG_PKG_USING_RFM300 is not set
|
||||||
# CONFIG_PKG_USING_IO_INPUT_FILTER is not set
|
# CONFIG_PKG_USING_IO_INPUT_FILTER is not set
|
||||||
# CONFIG_PKG_USING_RASPBERRYPI_PICO_SDK is not set
|
# CONFIG_PKG_USING_RASPBERRYPI_PICO_SDK 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_SPI_TOOLS is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# AI packages
|
# AI packages
|
||||||
@@ -849,15 +782,6 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_QUEST is not set
|
# CONFIG_PKG_USING_QUEST is not set
|
||||||
# CONFIG_PKG_USING_NAXOS is not set
|
# CONFIG_PKG_USING_NAXOS is not set
|
||||||
|
|
||||||
#
|
|
||||||
# Signal Processing and Control Algorithm Packages
|
|
||||||
#
|
|
||||||
# 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
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# miscellaneous packages
|
# miscellaneous packages
|
||||||
#
|
#
|
||||||
@@ -887,7 +811,6 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_TETRIS is not set
|
# CONFIG_PKG_USING_TETRIS is not set
|
||||||
# CONFIG_PKG_USING_DONUT is not set
|
# CONFIG_PKG_USING_DONUT is not set
|
||||||
# CONFIG_PKG_USING_COWSAY is not set
|
# CONFIG_PKG_USING_COWSAY is not set
|
||||||
# CONFIG_PKG_USING_MORSE is not set
|
|
||||||
# CONFIG_PKG_USING_LIBCSV is not set
|
# CONFIG_PKG_USING_LIBCSV is not set
|
||||||
# CONFIG_PKG_USING_OPTPARSE is not set
|
# CONFIG_PKG_USING_OPTPARSE is not set
|
||||||
# CONFIG_PKG_USING_FASTLZ is not set
|
# CONFIG_PKG_USING_FASTLZ is not set
|
||||||
@@ -903,12 +826,14 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_DSTR is not set
|
# CONFIG_PKG_USING_DSTR is not set
|
||||||
# CONFIG_PKG_USING_TINYFRAME is not set
|
# CONFIG_PKG_USING_TINYFRAME is not set
|
||||||
# CONFIG_PKG_USING_KENDRYTE_DEMO is not set
|
# CONFIG_PKG_USING_KENDRYTE_DEMO is not set
|
||||||
|
# CONFIG_PKG_USING_DIGITALCTRL is not set
|
||||||
# CONFIG_PKG_USING_UPACKER is not set
|
# CONFIG_PKG_USING_UPACKER is not set
|
||||||
# CONFIG_PKG_USING_UPARAM is not set
|
# CONFIG_PKG_USING_UPARAM is not set
|
||||||
# CONFIG_PKG_USING_HELLO is not set
|
# CONFIG_PKG_USING_HELLO is not set
|
||||||
# CONFIG_PKG_USING_VI is not set
|
# CONFIG_PKG_USING_VI is not set
|
||||||
# CONFIG_PKG_USING_KI is not set
|
# CONFIG_PKG_USING_KI is not set
|
||||||
# CONFIG_PKG_USING_ARMv7M_DWT is not set
|
# CONFIG_PKG_USING_ARMv7M_DWT is not set
|
||||||
|
# CONFIG_PKG_USING_UKAL is not set
|
||||||
# CONFIG_PKG_USING_CRCLIB is not set
|
# CONFIG_PKG_USING_CRCLIB is not set
|
||||||
# CONFIG_PKG_USING_LWGPS is not set
|
# CONFIG_PKG_USING_LWGPS is not set
|
||||||
# CONFIG_PKG_USING_STATE_MACHINE is not set
|
# CONFIG_PKG_USING_STATE_MACHINE is not set
|
||||||
@@ -919,7 +844,6 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_SLCAN2RTT is not set
|
# CONFIG_PKG_USING_SLCAN2RTT is not set
|
||||||
# CONFIG_PKG_USING_SOEM is not set
|
# CONFIG_PKG_USING_SOEM is not set
|
||||||
# CONFIG_PKG_USING_QPARAM is not set
|
# CONFIG_PKG_USING_QPARAM is not set
|
||||||
# CONFIG_PKG_USING_CorevMCU_CLI is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Arduino libraries
|
# Arduino libraries
|
||||||
@@ -927,9 +851,8 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_RTDUINO is not set
|
# CONFIG_PKG_USING_RTDUINO is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Projects and Demos
|
# Projects
|
||||||
#
|
#
|
||||||
# CONFIG_PKG_USING_ARDUINO_MSGQ_C_CPP_DEMO is not set
|
|
||||||
# CONFIG_PKG_USING_ARDUINO_ULTRASOUND_RADAR is not set
|
# CONFIG_PKG_USING_ARDUINO_ULTRASOUND_RADAR is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_SENSOR_KIT 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_MATLAB_SUPPORT is not set
|
||||||
@@ -937,17 +860,16 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
#
|
#
|
||||||
# Sensors
|
# Sensors
|
||||||
#
|
#
|
||||||
# CONFIG_PKG_USING_ARDUINO_SENSOR_DEVICE_DRIVERS is not set
|
# CONFIG_PKG_USING_ARDUINO_SEEED_BMP280 is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_CAPACITIVESENSOR is not set
|
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADXL375 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_VL53L0X is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L1X 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_CAPACITIVESENSOR is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSOR is not set
|
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSOR is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL6180X is not set
|
|
||||||
# CONFIG_PKG_USING_ADAFRUIT_MAX31855 is not set
|
# CONFIG_PKG_USING_ADAFRUIT_MAX31855 is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31865 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_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_MLX90614 is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LSM9DS1 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_AHTX0 is not set
|
||||||
@@ -1028,7 +950,6 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU21DF 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_AS7341 is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU31D is not set
|
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU31D is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSORLAB is not set
|
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_INA260 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_TMP007_LIBRARY is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_L3GD20 is not set
|
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_L3GD20 is not set
|
||||||
@@ -1040,55 +961,16 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VEML6070 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_VEML6075 is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VEML7700 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_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_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
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Display
|
# Display
|
||||||
#
|
#
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_GFX_LIBRARY is not set
|
|
||||||
# CONFIG_PKG_USING_ARDUINO_U8G2 is not set
|
# CONFIG_PKG_USING_ARDUINO_U8G2 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
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Timing
|
# Timing
|
||||||
#
|
#
|
||||||
# CONFIG_PKG_USING_ARDUINO_MSTIMER2 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
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Data Processing
|
# Data Processing
|
||||||
@@ -1111,18 +993,10 @@ CONFIG_RT_USING_ADT_REF=y
|
|||||||
#
|
#
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCF8574 is not set
|
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCF8574 is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCA9685 is not set
|
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCA9685 is not set
|
||||||
# CONFIG_PKG_USING_ARDUINO_SEEED_PCF85063TP 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
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Other
|
# Other
|
||||||
#
|
#
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MFRC630 is not set
|
|
||||||
# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SI5351 is not set
|
|
||||||
# CONFIG_PKG_USING_ARDUINO_RTCLIB is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Signal IO
|
# Signal IO
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
/* RT-Thread Kernel */
|
/* RT-Thread Kernel */
|
||||||
|
|
||||||
#define RT_NAME_MAX 24
|
#define RT_NAME_MAX 24
|
||||||
|
#define RT_CPUS_NR 1
|
||||||
#define RT_ALIGN_SIZE 8
|
#define RT_ALIGN_SIZE 8
|
||||||
#define RT_THREAD_PRIORITY_32
|
#define RT_THREAD_PRIORITY_32
|
||||||
#define RT_THREAD_PRIORITY_MAX 32
|
#define RT_THREAD_PRIORITY_MAX 32
|
||||||
@@ -54,7 +55,8 @@
|
|||||||
#define RT_USING_CONSOLE
|
#define RT_USING_CONSOLE
|
||||||
#define RT_CONSOLEBUF_SIZE 256
|
#define RT_CONSOLEBUF_SIZE 256
|
||||||
#define RT_CONSOLE_DEVICE_NAME "uart0"
|
#define RT_CONSOLE_DEVICE_NAME "uart0"
|
||||||
#define RT_VER_NUM 0x50002
|
#define RT_VER_NUM 0x50100
|
||||||
|
#define RT_BACKTRACE_LEVEL_MAX_NR 32
|
||||||
#define ARCH_CPU_64BIT
|
#define ARCH_CPU_64BIT
|
||||||
#define RT_USING_CACHE
|
#define RT_USING_CACHE
|
||||||
#define RT_USING_HW_ATOMIC
|
#define RT_USING_HW_ATOMIC
|
||||||
@@ -244,6 +246,9 @@
|
|||||||
#define RT_USING_ADT_HASHMAP
|
#define RT_USING_ADT_HASHMAP
|
||||||
#define RT_USING_ADT_REF
|
#define RT_USING_ADT_REF
|
||||||
|
|
||||||
|
/* Memory management */
|
||||||
|
|
||||||
|
|
||||||
/* RT-Thread Utestcases */
|
/* RT-Thread Utestcases */
|
||||||
|
|
||||||
|
|
||||||
@@ -282,6 +287,9 @@
|
|||||||
/* u8g2: a monochrome graphic library */
|
/* u8g2: a monochrome graphic library */
|
||||||
|
|
||||||
|
|
||||||
|
/* PainterEngine: A cross-platform graphics application framework written in C language */
|
||||||
|
|
||||||
|
|
||||||
/* tools packages */
|
/* tools packages */
|
||||||
|
|
||||||
|
|
||||||
@@ -301,11 +309,6 @@
|
|||||||
|
|
||||||
/* peripheral libraries and drivers */
|
/* peripheral libraries and drivers */
|
||||||
|
|
||||||
/* sensors drivers */
|
|
||||||
|
|
||||||
|
|
||||||
/* touch drivers */
|
|
||||||
|
|
||||||
|
|
||||||
/* Kendryte SDK */
|
/* Kendryte SDK */
|
||||||
|
|
||||||
@@ -313,9 +316,6 @@
|
|||||||
/* AI packages */
|
/* AI packages */
|
||||||
|
|
||||||
|
|
||||||
/* Signal Processing and Control Algorithm Packages */
|
|
||||||
|
|
||||||
|
|
||||||
/* miscellaneous packages */
|
/* miscellaneous packages */
|
||||||
|
|
||||||
/* project laboratory */
|
/* project laboratory */
|
||||||
@@ -329,7 +329,7 @@
|
|||||||
/* Arduino libraries */
|
/* Arduino libraries */
|
||||||
|
|
||||||
|
|
||||||
/* Projects and Demos */
|
/* Projects */
|
||||||
|
|
||||||
|
|
||||||
/* Sensors */
|
/* Sensors */
|
||||||
@@ -354,7 +354,6 @@
|
|||||||
|
|
||||||
/* Other */
|
/* Other */
|
||||||
|
|
||||||
|
|
||||||
/* Signal IO */
|
/* Signal IO */
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
* Date Author Notes
|
* Date Author Notes
|
||||||
* 2021-05-18 Jesven first version
|
* 2021-05-18 Jesven first version
|
||||||
* 2023-07-16 Shell Move part of the codes to C from asm in signal handling
|
* 2023-07-16 Shell Move part of the codes to C from asm in signal handling
|
||||||
|
* 2023-10-16 Shell Support a new backtrace framework
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <armv8.h>
|
#include <armv8.h>
|
||||||
@@ -14,7 +15,7 @@
|
|||||||
#include <rtthread.h>
|
#include <rtthread.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <lwp_signal.h>
|
#include <lwp_internal.h>
|
||||||
|
|
||||||
#ifdef ARCH_MM_MMU
|
#ifdef ARCH_MM_MMU
|
||||||
|
|
||||||
@@ -161,3 +162,25 @@ void *arch_signal_ucontext_save(rt_base_t user_sp, siginfo_t *psiginfo,
|
|||||||
|
|
||||||
return new_sp;
|
return new_sp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int arch_backtrace_uthread(rt_thread_t thread)
|
||||||
|
{
|
||||||
|
struct rt_hw_backtrace_frame frame;
|
||||||
|
struct rt_hw_exp_stack *stack;
|
||||||
|
|
||||||
|
if (thread && thread->lwp)
|
||||||
|
{
|
||||||
|
stack = thread->user_ctx.ctx;
|
||||||
|
if ((long)stack > (unsigned long)thread->stack_addr
|
||||||
|
&& (long)stack < (unsigned long)thread->stack_addr + thread->stack_size)
|
||||||
|
{
|
||||||
|
frame.pc = stack->pc;
|
||||||
|
frame.fp = stack->x29;
|
||||||
|
lwp_backtrace_frame(thread, &frame);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
* 2021-11-22 JasonHu add lwp_set_thread_context
|
* 2021-11-22 JasonHu add lwp_set_thread_context
|
||||||
* 2021-11-30 JasonHu add clone/fork support
|
* 2021-11-30 JasonHu add clone/fork support
|
||||||
* 2023-07-16 Shell Move part of the codes to C from asm in signal handling
|
* 2023-07-16 Shell Move part of the codes to C from asm in signal handling
|
||||||
|
* 2023-10-16 Shell Support a new backtrace framework
|
||||||
*/
|
*/
|
||||||
#include <rthw.h>
|
#include <rthw.h>
|
||||||
#include <rtthread.h>
|
#include <rtthread.h>
|
||||||
@@ -27,7 +28,7 @@
|
|||||||
#define DBG_LVL DBG_INFO
|
#define DBG_LVL DBG_INFO
|
||||||
#include <rtdbg.h>
|
#include <rtdbg.h>
|
||||||
|
|
||||||
#include <lwp.h>
|
#include <lwp_internal.h>
|
||||||
#include <lwp_arch.h>
|
#include <lwp_arch.h>
|
||||||
#include <lwp_user_mm.h>
|
#include <lwp_user_mm.h>
|
||||||
#include <page.h>
|
#include <page.h>
|
||||||
@@ -325,3 +326,25 @@ void lwp_exec_user(void *args, void *kernel_stack, void *user_entry)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#endif /* ARCH_MM_MMU */
|
#endif /* ARCH_MM_MMU */
|
||||||
|
|
||||||
|
int arch_backtrace_uthread(rt_thread_t thread)
|
||||||
|
{
|
||||||
|
struct rt_hw_backtrace_frame frame;
|
||||||
|
struct rt_hw_stack_frame *stack;
|
||||||
|
|
||||||
|
if (thread && thread->lwp)
|
||||||
|
{
|
||||||
|
stack = thread->user_ctx.ctx;
|
||||||
|
if ((long)stack > (unsigned long)thread->stack_addr
|
||||||
|
&& (long)stack < (unsigned long)thread->stack_addr + thread->stack_size)
|
||||||
|
{
|
||||||
|
frame.pc = stack->epc;
|
||||||
|
frame.fp = stack->s0_fp;
|
||||||
|
lwp_backtrace_frame(thread, &frame);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|||||||
@@ -27,13 +27,13 @@
|
|||||||
#define LDSO_LOAD_VADDR USER_LOAD_VADDR
|
#define LDSO_LOAD_VADDR USER_LOAD_VADDR
|
||||||
#else
|
#else
|
||||||
#define USER_HEAP_VADDR 0x300000000UL
|
#define USER_HEAP_VADDR 0x300000000UL
|
||||||
#define USER_HEAP_VEND 0xffffffffffff0000UL
|
#define USER_HEAP_VEND USER_STACK_VSTART
|
||||||
#define USER_STACK_VSTART 0x270000000UL
|
#define USER_STACK_VSTART 0x370000000UL
|
||||||
#define USER_STACK_VEND USER_HEAP_VADDR
|
#define USER_STACK_VEND 0x400000000UL
|
||||||
#define USER_VADDR_START 0x200000000UL
|
#define USER_VADDR_START 0x200000000UL
|
||||||
#define USER_VADDR_TOP 0xfffffffffffff000UL
|
#define USER_VADDR_TOP 0xfffffffffffff000UL
|
||||||
#define USER_LOAD_VADDR 0x200000000
|
#define USER_LOAD_VADDR 0x200000000UL
|
||||||
#define LDSO_LOAD_VADDR 0x200000000
|
#define LDSO_LOAD_VADDR 0x200000000UL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* this attribution is cpu specified, and it should be defined in riscv_mmu.h */
|
/* this attribution is cpu specified, and it should be defined in riscv_mmu.h */
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
* 2021-08-26 linzhenxing add lwp_setcwd\lwp_getcwd
|
* 2021-08-26 linzhenxing add lwp_setcwd\lwp_getcwd
|
||||||
* 2023-02-20 wangxiaoyao inv icache before new app startup
|
* 2023-02-20 wangxiaoyao inv icache before new app startup
|
||||||
* 2023-02-20 wangxiaoyao fix bug on foreground app switch
|
* 2023-02-20 wangxiaoyao fix bug on foreground app switch
|
||||||
|
* 2023-10-16 Shell Support a new backtrace framework
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define DBG_TAG "LWP"
|
#define DBG_TAG "LWP"
|
||||||
@@ -1420,6 +1421,42 @@ void lwp_uthread_ctx_restore(void)
|
|||||||
thread->user_ctx.ctx = RT_NULL;
|
thread->user_ctx.ctx = RT_NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rt_err_t lwp_backtrace_frame(rt_thread_t uthread, struct rt_hw_backtrace_frame *frame)
|
||||||
|
{
|
||||||
|
rt_err_t rc = -RT_ERROR;
|
||||||
|
long nesting = 0;
|
||||||
|
char **argv;
|
||||||
|
rt_lwp_t lwp;
|
||||||
|
|
||||||
|
if (uthread->lwp)
|
||||||
|
{
|
||||||
|
lwp = uthread->lwp;
|
||||||
|
argv = lwp_get_command_line_args(lwp);
|
||||||
|
if (argv)
|
||||||
|
{
|
||||||
|
LOG_RAW("please use: addr2line -e %s -a -f", argv[0]);
|
||||||
|
lwp_free_command_line_args(argv);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
LOG_RAW("please use: addr2line -e %s -a -f", lwp->cmd);
|
||||||
|
}
|
||||||
|
|
||||||
|
while (nesting < RT_BACKTRACE_LEVEL_MAX_NR)
|
||||||
|
{
|
||||||
|
LOG_RAW(" 0x%lx", frame->pc);
|
||||||
|
if (rt_hw_backtrace_frame_unwind(uthread, frame))
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
nesting++;
|
||||||
|
}
|
||||||
|
LOG_RAW("\n");
|
||||||
|
rc = RT_EOK;
|
||||||
|
}
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
void rt_update_process_times(void)
|
void rt_update_process_times(void)
|
||||||
{
|
{
|
||||||
struct rt_thread *thread;
|
struct rt_thread *thread;
|
||||||
|
|||||||
@@ -321,4 +321,7 @@ void dbg_attach_req(void *pc);
|
|||||||
int dbg_check_suspend(void);
|
int dbg_check_suspend(void);
|
||||||
void rt_hw_set_process_id(int pid);
|
void rt_hw_set_process_id(int pid);
|
||||||
|
|
||||||
|
/* backtrace service */
|
||||||
|
rt_err_t lwp_backtrace_frame(rt_thread_t uthread, struct rt_hw_backtrace_frame *frame);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -61,4 +61,6 @@ rt_noreturn void arch_thread_signal_enter(int signo, siginfo_t *psiginfo,
|
|||||||
void *exp_frame, void *entry_uaddr,
|
void *exp_frame, void *entry_uaddr,
|
||||||
lwp_sigset_t *save_sig_mask);
|
lwp_sigset_t *save_sig_mask);
|
||||||
|
|
||||||
|
int arch_backtrace_uthread(rt_thread_t thread);
|
||||||
|
|
||||||
#endif /* __LWP_ARCH_COMM__ */
|
#endif /* __LWP_ARCH_COMM__ */
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ static rt_err_t _mutex_take_safe(rt_mutex_t mtx, rt_int32_t timeout, rt_bool_t i
|
|||||||
if (rt_mutex_get_hold(mtx) > 1)
|
if (rt_mutex_get_hold(mtx) > 1)
|
||||||
{
|
{
|
||||||
LOG_W("Already hold the lock");
|
LOG_W("Already hold the lock");
|
||||||
|
rt_backtrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (rc == -RT_ETIMEOUT)
|
else if (rc == -RT_ETIMEOUT)
|
||||||
@@ -109,6 +110,7 @@ rt_err_t lwp_mutex_release_safe(rt_mutex_t mtx)
|
|||||||
if (rc)
|
if (rc)
|
||||||
{
|
{
|
||||||
LOG_I("%s: release failed with code %ld", __func__, rc);
|
LOG_I("%s: release failed with code %ld", __func__, rc);
|
||||||
|
rt_backtrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
RETURN(rc);
|
RETURN(rc);
|
||||||
|
|||||||
@@ -11,8 +11,10 @@
|
|||||||
#ifndef __LWP_INTERNAL_H__
|
#ifndef __LWP_INTERNAL_H__
|
||||||
#define __LWP_INTERNAL_H__
|
#define __LWP_INTERNAL_H__
|
||||||
|
|
||||||
#include <rtthread.h>
|
|
||||||
#include "lwp.h"
|
#include "lwp.h"
|
||||||
|
#include "lwp_user_mm.h"
|
||||||
|
|
||||||
|
#include <rtthread.h>
|
||||||
#include "libc_musl.h"
|
#include "libc_musl.h"
|
||||||
|
|
||||||
struct rt_lwp;
|
struct rt_lwp;
|
||||||
|
|||||||
@@ -421,6 +421,7 @@ typedef int (*init_fn_t)(void);
|
|||||||
#define RT_ENOENT ENOENT /**< No entry */
|
#define RT_ENOENT ENOENT /**< No entry */
|
||||||
#define RT_ENOSPC ENOSPC /**< No space left */
|
#define RT_ENOSPC ENOSPC /**< No space left */
|
||||||
#define RT_EPERM EPERM /**< Operation not permitted */
|
#define RT_EPERM EPERM /**< Operation not permitted */
|
||||||
|
#define RT_EFAULT EFAULT /**< Bad address */
|
||||||
#define RT_ETRAP 254 /**< Trap event */
|
#define RT_ETRAP 254 /**< Trap event */
|
||||||
#else
|
#else
|
||||||
#define RT_EOK 0 /**< There is no error */
|
#define RT_EOK 0 /**< There is no error */
|
||||||
@@ -438,6 +439,7 @@ typedef int (*init_fn_t)(void);
|
|||||||
#define RT_ENOSPC 12 /**< No space left */
|
#define RT_ENOSPC 12 /**< No space left */
|
||||||
#define RT_EPERM 13 /**< Operation not permitted */
|
#define RT_EPERM 13 /**< Operation not permitted */
|
||||||
#define RT_ETRAP 14 /**< Trap event */
|
#define RT_ETRAP 14 /**< Trap event */
|
||||||
|
#define RT_EFAULT 15 /**< Bad address */
|
||||||
#endif /* defined(RT_USING_LIBC) && !RT_USING_LIBC_ISO_ONLY */
|
#endif /* defined(RT_USING_LIBC) && !RT_USING_LIBC_ISO_ONLY */
|
||||||
|
|
||||||
/**@}*/
|
/**@}*/
|
||||||
|
|||||||
+18
-5
@@ -13,6 +13,7 @@
|
|||||||
* 2018-11-17 Jesven add rt_hw_spinlock_t
|
* 2018-11-17 Jesven add rt_hw_spinlock_t
|
||||||
* add smp support
|
* add smp support
|
||||||
* 2019-05-18 Bernard add empty definition for not enable cache case
|
* 2019-05-18 Bernard add empty definition for not enable cache case
|
||||||
|
* 2023-10-16 Shell Support a new backtrace framework
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __RT_HW_H__
|
#ifndef __RT_HW_H__
|
||||||
@@ -20,6 +21,10 @@
|
|||||||
|
|
||||||
#include <rtdef.h>
|
#include <rtdef.h>
|
||||||
|
|
||||||
|
#if defined (RT_USING_CACHE) || defined(RT_USING_SMP)
|
||||||
|
#include <cpuport.h> /* include spinlock, cache ops, etc. */
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
@@ -145,9 +150,20 @@ void rt_hw_context_switch_to(rt_ubase_t to);
|
|||||||
void rt_hw_context_switch_interrupt(rt_ubase_t from, rt_ubase_t to, rt_thread_t from_thread, rt_thread_t to_thread);
|
void rt_hw_context_switch_interrupt(rt_ubase_t from, rt_ubase_t to, rt_thread_t from_thread, rt_thread_t to_thread);
|
||||||
#endif /*RT_USING_SMP*/
|
#endif /*RT_USING_SMP*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Hardware Layer Backtrace Service
|
||||||
|
*/
|
||||||
|
struct rt_hw_backtrace_frame {
|
||||||
|
rt_base_t fp;
|
||||||
|
rt_base_t pc;
|
||||||
|
};
|
||||||
|
|
||||||
|
rt_err_t rt_hw_backtrace_frame_get(rt_thread_t thread, struct rt_hw_backtrace_frame *frame);
|
||||||
|
|
||||||
|
rt_err_t rt_hw_backtrace_frame_unwind(rt_thread_t thread, struct rt_hw_backtrace_frame *frame);
|
||||||
|
|
||||||
void rt_hw_console_output(const char *str);
|
void rt_hw_console_output(const char *str);
|
||||||
|
|
||||||
void rt_hw_backtrace(rt_uint32_t *fp, rt_ubase_t thread_entry);
|
|
||||||
void rt_hw_show_memory(rt_uint32_t addr, rt_size_t size);
|
void rt_hw_show_memory(rt_uint32_t addr, rt_size_t size);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -170,7 +186,6 @@ void rt_hw_ipi_send(int ipi_vector, unsigned int cpu_mask);
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef RT_USING_SMP
|
#ifdef RT_USING_SMP
|
||||||
#include <cpuport.h> /* for spinlock from arch */
|
|
||||||
|
|
||||||
struct rt_spinlock
|
struct rt_spinlock
|
||||||
{
|
{
|
||||||
@@ -216,9 +231,7 @@ struct rt_spinlock
|
|||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef RT_USING_CACHE
|
#ifndef RT_USING_CACHE
|
||||||
#include <cpuport.h>
|
|
||||||
#else
|
|
||||||
#define rt_hw_isb()
|
#define rt_hw_isb()
|
||||||
#define rt_hw_dmb()
|
#define rt_hw_dmb()
|
||||||
#define rt_hw_dsb()
|
#define rt_hw_dsb()
|
||||||
|
|||||||
@@ -19,6 +19,7 @@
|
|||||||
* 2022-06-04 Meco Man remove strnlen
|
* 2022-06-04 Meco Man remove strnlen
|
||||||
* 2023-05-20 Bernard add rtatomic.h header file to included files.
|
* 2023-05-20 Bernard add rtatomic.h header file to included files.
|
||||||
* 2023-06-30 ChuShicheng move debug check from the rtdebug.h
|
* 2023-06-30 ChuShicheng move debug check from the rtdebug.h
|
||||||
|
* 2023-10-16 Shell Support a new backtrace framework
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __RT_THREAD_H__
|
#ifndef __RT_THREAD_H__
|
||||||
@@ -658,6 +659,11 @@ void rt_components_board_init(void);
|
|||||||
#else
|
#else
|
||||||
int rt_kprintf(const char *fmt, ...);
|
int rt_kprintf(const char *fmt, ...);
|
||||||
void rt_kputs(const char *str);
|
void rt_kputs(const char *str);
|
||||||
|
|
||||||
|
rt_err_t rt_backtrace(void);
|
||||||
|
rt_err_t rt_backtrace_thread(rt_thread_t thread);
|
||||||
|
rt_err_t rt_backtrace_frame(struct rt_hw_backtrace_frame *frame);
|
||||||
|
|
||||||
#endif /* RT_USING_CONSOLE */
|
#endif /* RT_USING_CONSOLE */
|
||||||
|
|
||||||
int rt_vsprintf(char *dest, const char *format, va_list arg_ptr);
|
int rt_vsprintf(char *dest, const char *format, va_list arg_ptr);
|
||||||
|
|||||||
@@ -7,179 +7,122 @@
|
|||||||
* Date Author Notes
|
* Date Author Notes
|
||||||
* 2022-06-02 Jesven the first version
|
* 2022-06-02 Jesven the first version
|
||||||
* 2023-06-24 WangXiaoyao Support backtrace for non-active thread
|
* 2023-06-24 WangXiaoyao Support backtrace for non-active thread
|
||||||
|
* 2023-10-16 Shell Support a new backtrace framework
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include <rtthread.h>
|
||||||
|
#include <rthw.h>
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
#include "mm_aspace.h"
|
#include "mm_aspace.h"
|
||||||
#include "mmu.h"
|
#include "mmu.h"
|
||||||
|
|
||||||
#include <rtthread.h>
|
#define INST_WORD_BYTES 4
|
||||||
#include <backtrace.h>
|
#define WORD sizeof(rt_base_t)
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
#define BT_NESTING_MAX 100
|
|
||||||
|
|
||||||
static int unwind_frame(struct bt_frame *frame)
|
|
||||||
{
|
|
||||||
unsigned long fp = frame->fp;
|
|
||||||
|
|
||||||
if ((fp & 0x7)
|
|
||||||
#ifdef RT_USING_LWP
|
|
||||||
|| (rt_kmem_v2p((void *)fp) == ARCH_MAP_FAILED)
|
|
||||||
#endif
|
|
||||||
)
|
|
||||||
{
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
frame->fp = *(unsigned long *)fp;
|
|
||||||
frame->pc = *(unsigned long *)(fp + 8);
|
|
||||||
|
|
||||||
if ((rt_kmem_v2p((void *)frame->pc) == ARCH_MAP_FAILED))
|
|
||||||
return 1;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void walk_unwind(unsigned long pc, unsigned long fp)
|
|
||||||
{
|
|
||||||
struct bt_frame frame = {fp, 1};
|
|
||||||
unsigned long lr = pc;
|
|
||||||
int nesting = 0;
|
|
||||||
|
|
||||||
while (nesting < BT_NESTING_MAX)
|
|
||||||
{
|
|
||||||
rt_kprintf(" %p", (void *)lr);
|
|
||||||
if (unwind_frame(&frame))
|
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
lr = frame.pc;
|
|
||||||
nesting++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void backtrace(unsigned long pc, unsigned long lr, unsigned long fp)
|
|
||||||
{
|
|
||||||
rt_kprintf("please use: addr2line -e rtthread.elf -a -f");
|
|
||||||
if (pc)
|
|
||||||
rt_kprintf(" %p", (void *)pc);
|
|
||||||
|
|
||||||
if (lr && fp)
|
|
||||||
walk_unwind(lr, fp);
|
|
||||||
rt_kprintf("\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
int rt_backtrace(void)
|
|
||||||
{
|
|
||||||
unsigned long ra = (unsigned long)__builtin_return_address(0U);
|
|
||||||
unsigned long fr = (unsigned long)__builtin_frame_address(0U);
|
|
||||||
|
|
||||||
backtrace(0, ra, fr);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
MSH_CMD_EXPORT_ALIAS(rt_backtrace, bt_test, backtrace test);
|
|
||||||
|
|
||||||
#define ARCH_CONTEXT_FETCH(pctx, id) (*(((unsigned long *)pctx) + (id)))
|
#define ARCH_CONTEXT_FETCH(pctx, id) (*(((unsigned long *)pctx) + (id)))
|
||||||
|
|
||||||
int rt_backtrace_thread(rt_thread_t thread)
|
rt_inline rt_err_t _bt_kaddr(rt_ubase_t *fp, struct rt_hw_backtrace_frame *frame)
|
||||||
{
|
{
|
||||||
unsigned long lr;
|
rt_err_t rc;
|
||||||
unsigned long fp;
|
frame->fp = *fp;
|
||||||
|
frame->pc = *(fp + 1) - INST_WORD_BYTES;
|
||||||
|
|
||||||
if (thread == rt_thread_self())
|
if ((rt_ubase_t)fp == frame->fp)
|
||||||
{
|
{
|
||||||
return -RT_EINVAL;
|
rc = -RT_ERROR;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
lr = ARCH_CONTEXT_FETCH(thread->sp, 3);
|
rc = RT_EOK;
|
||||||
fp = ARCH_CONTEXT_FETCH(thread->sp, 7);
|
|
||||||
backtrace(0, lr, fp);
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef RT_USING_SMART
|
#ifdef RT_USING_SMART
|
||||||
|
#include <lwp_user_mm.h>
|
||||||
int rt_backtrace_user_thread(rt_thread_t thread)
|
rt_inline rt_err_t _bt_uaddr(rt_lwp_t lwp, rt_ubase_t *fp, struct rt_hw_backtrace_frame *frame)
|
||||||
{
|
{
|
||||||
unsigned long pc;
|
rt_err_t rc;
|
||||||
unsigned long lr;
|
if (lwp_data_get(lwp, &frame->fp, fp, WORD) != WORD)
|
||||||
unsigned long fp;
|
|
||||||
unsigned long ctx = (unsigned long)thread->user_ctx.ctx;
|
|
||||||
|
|
||||||
if (ctx > (unsigned long)thread->stack_addr
|
|
||||||
&& ctx < (unsigned long)thread->stack_addr + thread->stack_size)
|
|
||||||
{
|
{
|
||||||
pc = ARCH_CONTEXT_FETCH(thread->user_ctx.ctx, 0);
|
rc = -RT_EFAULT;
|
||||||
lr = ARCH_CONTEXT_FETCH(thread->user_ctx.ctx, 3);
|
}
|
||||||
fp = ARCH_CONTEXT_FETCH(thread->user_ctx.ctx, 7);
|
else if (lwp_data_get(lwp, &frame->pc, fp + 1, WORD) != WORD)
|
||||||
backtrace(pc, lr, fp);
|
{
|
||||||
return 0;
|
rc = -RT_EFAULT;
|
||||||
|
}
|
||||||
|
else if ((rt_base_t)fp == frame->fp)
|
||||||
|
{
|
||||||
|
rc = -RT_ERROR;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
return -1;
|
{
|
||||||
|
frame->pc -= INST_WORD_BYTES;
|
||||||
|
rc = RT_EOK;
|
||||||
|
}
|
||||||
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* RT_USING_SMART */
|
#endif /* RT_USING_SMART */
|
||||||
|
|
||||||
static long custom_hex_to_long(const char* hex)
|
rt_err_t rt_hw_backtrace_frame_unwind(rt_thread_t thread, struct rt_hw_backtrace_frame *frame)
|
||||||
{
|
{
|
||||||
long result = 0;
|
rt_err_t rc = -RT_ERROR;
|
||||||
int i = 0;
|
rt_ubase_t *fp = (rt_ubase_t *)frame->fp;
|
||||||
|
|
||||||
// Skip the "0x" prefix
|
if (fp && !((long)fp & 0x7))
|
||||||
if (hex[0] == '0' && (hex[1] == 'x' || hex[1] == 'X'))
|
|
||||||
{
|
{
|
||||||
i = 2;
|
#ifdef RT_USING_SMART
|
||||||
|
if (thread->lwp)
|
||||||
|
{
|
||||||
|
rt_lwp_t lwp = thread->lwp;
|
||||||
|
void *this_lwp = lwp_self();
|
||||||
|
if (this_lwp == lwp && rt_kmem_v2p(fp) != ARCH_MAP_FAILED)
|
||||||
|
{
|
||||||
|
rc = _bt_kaddr(fp, frame);
|
||||||
}
|
}
|
||||||
|
else if (lwp_user_accessible_ext(lwp, fp, sizeof(rt_base_t)))
|
||||||
// Convert each hex digit to its decimal value
|
|
||||||
for (; hex[i] != '\0'; i++)
|
|
||||||
{
|
{
|
||||||
char digit = hex[i];
|
rc = _bt_uaddr(lwp, fp, frame);
|
||||||
if (digit >= '0' && digit <= '9')
|
|
||||||
{
|
|
||||||
result = result * 16 + (digit - '0');
|
|
||||||
}
|
|
||||||
else if (digit >= 'a' && digit <= 'f')
|
|
||||||
{
|
|
||||||
result = result * 16 + (digit - 'a' + 10);
|
|
||||||
}
|
|
||||||
else if (digit >= 'A' && digit <= 'F')
|
|
||||||
{
|
|
||||||
result = result * 16 + (digit - 'A' + 10);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Invalid hex digit
|
rc = -RT_EFAULT;
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
return result;
|
#endif
|
||||||
}
|
if (rt_kmem_v2p(fp) != ARCH_MAP_FAILED)
|
||||||
|
|
||||||
static void cmd_backtrace(int argc, char** argv)
|
|
||||||
{
|
{
|
||||||
long pid;
|
rc = _bt_kaddr(fp, frame);
|
||||||
|
|
||||||
if (argc < 2)
|
|
||||||
{
|
|
||||||
rt_kprintf("please use: backtrace pid\n");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (strncmp(argv[1], "0x", 2) == 0)
|
|
||||||
{
|
|
||||||
pid = custom_hex_to_long(argv[1]);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
pid = atol(argv[1]);
|
rc = -RT_EFAULT;
|
||||||
}
|
}
|
||||||
if (pid)
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
rt_kprintf("backtrace %s(0x%lx), from %s\n", ((rt_thread_t)pid)->parent.name, pid, argv[1]);
|
rc = -RT_EFAULT;
|
||||||
rt_backtrace_thread((rt_thread_t)pid);
|
|
||||||
}
|
}
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
|
rt_err_t rt_hw_backtrace_frame_get(rt_thread_t thread, struct rt_hw_backtrace_frame *frame)
|
||||||
|
{
|
||||||
|
rt_err_t rc;
|
||||||
|
if (!thread || !frame)
|
||||||
|
{
|
||||||
|
rc = -RT_EINVAL;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
frame->pc = ARCH_CONTEXT_FETCH(thread->sp, 3);
|
||||||
|
frame->fp = ARCH_CONTEXT_FETCH(thread->sp, 7);
|
||||||
|
rc = RT_EOK;
|
||||||
|
}
|
||||||
|
return rc;
|
||||||
}
|
}
|
||||||
MSH_CMD_EXPORT_ALIAS(cmd_backtrace, backtrace, print backtrace of a thread);
|
|
||||||
|
|||||||
@@ -1,29 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2006-2022, RT-Thread Development Team
|
|
||||||
*
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*
|
|
||||||
* Change Logs:
|
|
||||||
* Date Author Notes
|
|
||||||
* 2022-06-02 Jesven the first version
|
|
||||||
* 2023-06-24 WangXiaoyao Support backtrace for non-active thread
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __BACKTRACE_H__
|
|
||||||
#define __BACKTRACE_H__
|
|
||||||
|
|
||||||
#include <rtthread.h>
|
|
||||||
|
|
||||||
struct bt_frame
|
|
||||||
{
|
|
||||||
unsigned long fp;
|
|
||||||
unsigned long pc;
|
|
||||||
};
|
|
||||||
|
|
||||||
void backtrace(unsigned long pc, unsigned long lr, unsigned long fp);
|
|
||||||
int rt_backtrace(void);
|
|
||||||
|
|
||||||
int rt_backtrace_user_thread(rt_thread_t thread);
|
|
||||||
int rt_backtrace_thread(rt_thread_t thread);
|
|
||||||
|
|
||||||
#endif /*__BACKTRACE_H__*/
|
|
||||||
@@ -16,16 +16,10 @@
|
|||||||
#include "interrupt.h"
|
#include "interrupt.h"
|
||||||
#include "mm_aspace.h"
|
#include "mm_aspace.h"
|
||||||
|
|
||||||
#include <backtrace.h>
|
|
||||||
|
|
||||||
#define DBG_TAG "libcpu.trap"
|
#define DBG_TAG "libcpu.trap"
|
||||||
#define DBG_LVL DBG_LOG
|
#define DBG_LVL DBG_LOG
|
||||||
#include <rtdbg.h>
|
#include <rtdbg.h>
|
||||||
|
|
||||||
void rt_unwind(struct rt_hw_exp_stack *regs, int pc_adj)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef RT_USING_FINSH
|
#ifdef RT_USING_FINSH
|
||||||
extern long list_thread(void);
|
extern long list_thread(void);
|
||||||
#endif
|
#endif
|
||||||
@@ -54,7 +48,7 @@ static void _check_fault(struct rt_hw_exp_stack *regs, uint32_t pc_adj, char *in
|
|||||||
th = rt_thread_self();
|
th = rt_thread_self();
|
||||||
if (th && th->lwp)
|
if (th && th->lwp)
|
||||||
{
|
{
|
||||||
rt_backtrace_user_thread(th);
|
arch_backtrace_uthread(th);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@@ -74,12 +68,17 @@ static void _check_fault(struct rt_hw_exp_stack *regs, uint32_t pc_adj, char *in
|
|||||||
th = rt_thread_self();
|
th = rt_thread_self();
|
||||||
if (th && th->lwp)
|
if (th && th->lwp)
|
||||||
{
|
{
|
||||||
rt_backtrace_user_thread(th);
|
arch_backtrace_uthread(th);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* kernel stack backtrace */
|
/* kernel stack backtrace */
|
||||||
backtrace((unsigned long)regs->pc, (unsigned long)regs->x30, (unsigned long)regs->x29);
|
struct rt_hw_backtrace_frame frame = {
|
||||||
|
.fp = regs->x29,
|
||||||
|
.pc = regs->pc
|
||||||
|
};
|
||||||
|
rt_backtrace_frame(&frame);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -373,6 +372,9 @@ void rt_hw_trap_exception(struct rt_hw_exp_stack *regs)
|
|||||||
#ifdef RT_USING_LWP
|
#ifdef RT_USING_LWP
|
||||||
_check_fault(regs, 0, "user fault");
|
_check_fault(regs, 0, "user fault");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
struct rt_hw_backtrace_frame frame = {.fp = regs->x29, .pc = regs->pc};
|
||||||
|
rt_backtrace_frame(&frame);
|
||||||
rt_hw_cpu_shutdown();
|
rt_hw_cpu_shutdown();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -530,7 +530,7 @@ void rt_unwind(struct rt_hw_exp_stack *regs, unsigned int pc_adj)
|
|||||||
unwind_backtrace(&e_regs, __exidx_start, __exidx_end);
|
unwind_backtrace(&e_regs, __exidx_start, __exidx_end);
|
||||||
}
|
}
|
||||||
|
|
||||||
void rt_backtrace(void)
|
rt_err_t rt_backtrace(void)
|
||||||
{
|
{
|
||||||
struct rt_hw_exp_stack regs;
|
struct rt_hw_exp_stack regs;
|
||||||
|
|
||||||
@@ -539,4 +539,5 @@ void rt_backtrace(void)
|
|||||||
asm volatile ("mov %0, lr":"=r"(regs.lr));
|
asm volatile ("mov %0, lr":"=r"(regs.lr));
|
||||||
asm volatile ("mov %0, pc":"=r"(regs.pc));
|
asm volatile ("mov %0, pc":"=r"(regs.pc));
|
||||||
rt_unwind(®s, 8);
|
rt_unwind(®s, 8);
|
||||||
|
return RT_EOK;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -76,7 +76,6 @@ int unwind_frame(struct stackframe *frame, const struct unwind_idx **origin_idx,
|
|||||||
void unwind_backtrace(struct pt_regs *regs, const struct unwind_idx exidx_start[], const struct unwind_idx exidx_end[]);
|
void unwind_backtrace(struct pt_regs *regs, const struct unwind_idx exidx_start[], const struct unwind_idx exidx_end[]);
|
||||||
|
|
||||||
void rt_unwind(struct rt_hw_exp_stack *regs, unsigned int pc_adj);
|
void rt_unwind(struct rt_hw_exp_stack *regs, unsigned int pc_adj);
|
||||||
void rt_backtrace(void);
|
|
||||||
|
|
||||||
#endif /* !__ASSEMBLY__ */
|
#endif /* !__ASSEMBLY__ */
|
||||||
|
|
||||||
|
|||||||
+101
-113
@@ -1,137 +1,125 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2006-2018, RT-Thread Development Team
|
* Copyright (c) 2006-2023, RT-Thread Development Team
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*
|
*
|
||||||
* Change Logs:
|
* Change Logs:
|
||||||
* Date Author Notes
|
* Date Author Notes
|
||||||
|
* 2023-10-18 Shell Add backtrace support
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#define DBG_TAG "hw.backtrace"
|
||||||
|
#define DBG_LVL DBG_INFO
|
||||||
|
#include <rtdbg.h>
|
||||||
|
|
||||||
#include <rtthread.h>
|
#include <rtthread.h>
|
||||||
|
#include <mm_aspace.h>
|
||||||
|
#include "riscv_mmu.h"
|
||||||
|
|
||||||
|
#define WORD sizeof(rt_base_t)
|
||||||
|
#define ARCH_CONTEXT_FETCH(pctx, id) (*(((unsigned long *)pctx) + (id)))
|
||||||
|
|
||||||
|
rt_inline rt_err_t _bt_kaddr(rt_ubase_t *fp, struct rt_hw_backtrace_frame *frame)
|
||||||
|
{
|
||||||
|
rt_err_t rc;
|
||||||
|
frame->fp = *(fp - 2);
|
||||||
|
frame->pc = *(fp - 1);
|
||||||
|
|
||||||
|
if ((rt_ubase_t)fp == frame->fp)
|
||||||
|
{
|
||||||
|
rc = -RT_ERROR;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
rc = RT_EOK;
|
||||||
|
}
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef RT_USING_SMART
|
#ifdef RT_USING_SMART
|
||||||
#include <lwp_arch.h>
|
#include <lwp_arch.h>
|
||||||
|
#include <lwp_user_mm.h>
|
||||||
|
|
||||||
#define TRANCE_LEVEL 20
|
rt_inline rt_err_t _bt_uaddr(rt_lwp_t lwp, rt_ubase_t *fp, struct rt_hw_backtrace_frame *frame)
|
||||||
|
|
||||||
extern rt_ubase_t __text_start[];
|
|
||||||
extern rt_ubase_t __text_end[];
|
|
||||||
|
|
||||||
static char *_get_elf_name(size_t sepc);
|
|
||||||
|
|
||||||
void rt_hw_backtrace(rt_uint32_t *ffp, rt_ubase_t sepc)
|
|
||||||
{
|
{
|
||||||
rt_ubase_t *ra;
|
rt_err_t rc;
|
||||||
rt_ubase_t *fp;
|
if (lwp_data_get(lwp, &frame->fp, fp - 2, WORD) != WORD)
|
||||||
rt_ubase_t vas, vae;
|
|
||||||
int i, j;
|
|
||||||
|
|
||||||
rt_kprintf("riscv64-unknown-linux-musl-addr2line -e %s -a -f", _get_elf_name(sepc));
|
|
||||||
|
|
||||||
fp = (rt_ubase_t *)ffp;
|
|
||||||
|
|
||||||
if (!fp)
|
|
||||||
{
|
{
|
||||||
asm volatile("mv %0, s0"
|
rc = -RT_EFAULT;
|
||||||
: "=r"(fp));
|
|
||||||
}
|
}
|
||||||
|
else if (lwp_data_get(lwp, &frame->pc, fp - 1, WORD) != WORD)
|
||||||
if (sepc)
|
|
||||||
{
|
{
|
||||||
rt_kprintf(" %p", sepc - 0x4);
|
rc = -RT_EFAULT;
|
||||||
}
|
}
|
||||||
|
else if ((rt_ubase_t)fp == frame->fp)
|
||||||
if (fp > (rt_ubase_t *)USER_VADDR_START && fp < (rt_ubase_t *)USER_VADDR_TOP)
|
|
||||||
{
|
{
|
||||||
vas = USER_VADDR_START;
|
rc = -RT_ERROR;
|
||||||
vae = USER_VADDR_TOP;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
vas = (rt_ubase_t)&__text_start;
|
frame->pc -= 0;
|
||||||
vae = (rt_ubase_t)&__text_end;
|
rc = RT_EOK;
|
||||||
}
|
}
|
||||||
|
return rc;
|
||||||
for (i = j = 0; i < TRANCE_LEVEL; i++)
|
|
||||||
{
|
|
||||||
if (RT_ALIGN((rt_ubase_t)fp, sizeof(void *)) != (rt_ubase_t)fp)
|
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ra = fp - 1;
|
|
||||||
if (!rt_kmem_v2p(ra) || *ra < vas || *ra > vae)
|
|
||||||
break;
|
|
||||||
|
|
||||||
rt_kprintf(" %p", *ra - 0x04);
|
|
||||||
|
|
||||||
fp = fp - 2;
|
|
||||||
if (!rt_kmem_v2p(fp))
|
|
||||||
break;
|
|
||||||
fp = (rt_ubase_t *)(*fp);
|
|
||||||
if (!fp)
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
rt_kputs("\r\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
static void _assert_backtrace_cb(const char *ex, const char *func, rt_size_t line)
|
|
||||||
{
|
|
||||||
rt_hw_interrupt_disable();
|
|
||||||
rt_kprintf("(%s) assertion failed at function:%s, line number:%d \n", ex, func, line);
|
|
||||||
|
|
||||||
rt_hw_backtrace(0, 0);
|
|
||||||
rt_hw_cpu_shutdown();
|
|
||||||
}
|
|
||||||
|
|
||||||
static int rt_hw_backtrace_init(void)
|
|
||||||
{
|
|
||||||
rt_assert_set_hook(_assert_backtrace_cb);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
INIT_BOARD_EXPORT(rt_hw_backtrace_init);
|
|
||||||
|
|
||||||
static void backtrace_test(int args, char *argv[])
|
|
||||||
{
|
|
||||||
int *p = (void *)-1;
|
|
||||||
init_fn_t ft = 0;
|
|
||||||
|
|
||||||
if (args < 2)
|
|
||||||
{
|
|
||||||
rt_kprintf("backtrace_test usage:backtrace_test a(assert)/m(invalid memory)/i(illegal instruction)\r\n");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!rt_strcmp(argv[1], "a"))
|
|
||||||
{
|
|
||||||
rt_kprintf("Assert test:\r\n", argv[1]);
|
|
||||||
RT_ASSERT(0);
|
|
||||||
}
|
|
||||||
else if (!rt_strcmp(argv[1], "m"))
|
|
||||||
{
|
|
||||||
rt_kprintf("Access invalid memory:\r\n", argv[1]);
|
|
||||||
*p = 0;
|
|
||||||
}
|
|
||||||
else if (!rt_strcmp(argv[1], "i"))
|
|
||||||
{
|
|
||||||
rt_kprintf("Illegal instruction:\r\n", argv[1]);
|
|
||||||
ft();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
rt_kprintf("Unknown cmd :%s.\r\n", argv[1]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
MSH_CMD_EXPORT(backtrace_test, backtrace test case);
|
|
||||||
|
|
||||||
extern struct rt_thread *rt_current_thread;
|
|
||||||
|
|
||||||
#define IN_USERSPACE (sepc > USER_VADDR_START && sepc < USER_VADDR_TOP)
|
|
||||||
|
|
||||||
static char *_get_elf_name(size_t sepc)
|
|
||||||
{
|
|
||||||
return IN_USERSPACE ? rt_current_thread->parent.name : "rtthread.elf";
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* RT_USING_SMART */
|
#endif /* RT_USING_SMART */
|
||||||
|
|
||||||
|
rt_err_t rt_hw_backtrace_frame_unwind(rt_thread_t thread, struct rt_hw_backtrace_frame *frame)
|
||||||
|
{
|
||||||
|
rt_err_t rc = -RT_ERROR;
|
||||||
|
rt_ubase_t *fp = (rt_ubase_t *)frame->fp;
|
||||||
|
|
||||||
|
if (fp && !((long)fp & 0x7))
|
||||||
|
{
|
||||||
|
#ifdef RT_USING_SMART
|
||||||
|
if (thread->lwp)
|
||||||
|
{
|
||||||
|
void *lwp = thread->lwp;
|
||||||
|
void *this_lwp = lwp_self();
|
||||||
|
if (this_lwp == lwp && rt_hw_mmu_v2p(lwp, fp) != ARCH_MAP_FAILED)
|
||||||
|
{
|
||||||
|
rc = _bt_kaddr(fp, frame);
|
||||||
|
}
|
||||||
|
else if (lwp_user_accessible_ext(lwp, (void *)fp, WORD))
|
||||||
|
{
|
||||||
|
rc = _bt_uaddr(lwp, fp, frame);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
rc = -RT_EFAULT;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
if ((rt_kmem_v2p(fp) != ARCH_MAP_FAILED))
|
||||||
|
{
|
||||||
|
rc = _bt_kaddr(fp, frame);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
rc = -RT_EINVAL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
rc = -RT_EFAULT;
|
||||||
|
}
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
|
rt_err_t rt_hw_backtrace_frame_get(rt_thread_t thread, struct rt_hw_backtrace_frame *frame)
|
||||||
|
{
|
||||||
|
rt_err_t rc;
|
||||||
|
|
||||||
|
if (!thread || !frame)
|
||||||
|
{
|
||||||
|
rc = -RT_EINVAL;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
frame->pc = ARCH_CONTEXT_FETCH(thread->sp, 13);
|
||||||
|
frame->fp = ARCH_CONTEXT_FETCH(thread->sp, 12);
|
||||||
|
rc = RT_EOK;
|
||||||
|
}
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ typedef union {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef __ASSEMBLY__
|
#ifndef __ASSEMBLY__
|
||||||
#include <rtthread.h>
|
#include <rtdef.h>
|
||||||
rt_inline void rt_hw_dsb()
|
rt_inline void rt_hw_dsb()
|
||||||
{
|
{
|
||||||
asm volatile("fence":::"memory");
|
asm volatile("fence":::"memory");
|
||||||
|
|||||||
@@ -149,6 +149,7 @@ static const char *get_exception_msg(int id)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef RT_USING_SMART
|
#ifdef RT_USING_SMART
|
||||||
|
#include "lwp.h"
|
||||||
void handle_user(rt_size_t scause, rt_size_t stval, rt_size_t sepc, struct rt_hw_stack_frame *sp)
|
void handle_user(rt_size_t scause, rt_size_t stval, rt_size_t sepc, struct rt_hw_stack_frame *sp)
|
||||||
{
|
{
|
||||||
rt_size_t id = __MASKVALUE(scause, __MASK(63UL));
|
rt_size_t id = __MASKVALUE(scause, __MASK(63UL));
|
||||||
@@ -221,9 +222,15 @@ void handle_user(rt_size_t scause, rt_size_t stval, rt_size_t sepc, struct rt_hw
|
|||||||
LOG_E("scause:0x%p,stval:0x%p,sepc:0x%p\n", scause, stval, sepc);
|
LOG_E("scause:0x%p,stval:0x%p,sepc:0x%p\n", scause, stval, sepc);
|
||||||
dump_regs(sp);
|
dump_regs(sp);
|
||||||
|
|
||||||
rt_hw_backtrace((uint32_t *)sp->s0_fp, sepc);
|
rt_thread_t cur_thr = rt_thread_self();
|
||||||
|
struct rt_hw_backtrace_frame frame = {
|
||||||
|
.fp = sp->s0_fp,
|
||||||
|
.pc = sepc
|
||||||
|
};
|
||||||
|
rt_kprintf("fp = %p\n", frame.fp);
|
||||||
|
lwp_backtrace_frame(cur_thr, &frame);
|
||||||
|
|
||||||
LOG_E("User Fault, killing thread: %s", rt_thread_self()->parent.name);
|
LOG_E("User Fault, killing thread: %s", cur_thr->parent.name);
|
||||||
|
|
||||||
EXIT_TRAP;
|
EXIT_TRAP;
|
||||||
sys_exit_group(-1);
|
sys_exit_group(-1);
|
||||||
@@ -354,10 +361,14 @@ void handle_trap(rt_size_t scause, rt_size_t stval, rt_size_t sepc, struct rt_hw
|
|||||||
|
|
||||||
extern struct rt_thread *rt_current_thread;
|
extern struct rt_thread *rt_current_thread;
|
||||||
rt_kprintf("--------------Backtrace--------------\n");
|
rt_kprintf("--------------Backtrace--------------\n");
|
||||||
rt_hw_backtrace((uint32_t *)sp->s0_fp, sepc);
|
struct rt_hw_backtrace_frame frame = {
|
||||||
|
.fp = sp->s0_fp,
|
||||||
|
.pc = sepc
|
||||||
|
};
|
||||||
|
rt_kprintf("fp = %p", frame.fp);
|
||||||
|
rt_backtrace_frame(&frame);
|
||||||
|
|
||||||
while (1)
|
RT_ASSERT(0);
|
||||||
;
|
|
||||||
}
|
}
|
||||||
_exit:
|
_exit:
|
||||||
EXIT_TRAP;
|
EXIT_TRAP;
|
||||||
|
|||||||
@@ -421,4 +421,8 @@ config RT_USING_STDC_ATOMIC
|
|||||||
bool "Use atomic implemented in stdatomic.h"
|
bool "Use atomic implemented in stdatomic.h"
|
||||||
default n
|
default n
|
||||||
|
|
||||||
|
config RT_BACKTRACE_LEVEL_MAX_NR
|
||||||
|
int "Max number of backtrace level"
|
||||||
|
default 32
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|||||||
+116
-1
@@ -29,7 +29,7 @@
|
|||||||
#include <rtthread.h>
|
#include <rtthread.h>
|
||||||
#include <rthw.h>
|
#include <rthw.h>
|
||||||
|
|
||||||
#define DBG_TAG "kernel.device"
|
#define DBG_TAG "kernel.service"
|
||||||
#ifdef RT_DEBUG_DEVICE
|
#ifdef RT_DEBUG_DEVICE
|
||||||
#define DBG_LVL DBG_LOG
|
#define DBG_LVL DBG_LOG
|
||||||
#else
|
#else
|
||||||
@@ -91,6 +91,18 @@ rt_weak void rt_hw_cpu_shutdown(void)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rt_weak rt_err_t rt_hw_backtrace_frame_get(rt_thread_t thread, struct rt_hw_backtrace_frame *frame)
|
||||||
|
{
|
||||||
|
LOG_W("%s: not implemented");
|
||||||
|
return -RT_ENOSYS;
|
||||||
|
}
|
||||||
|
|
||||||
|
rt_weak rt_err_t rt_hw_backtrace_frame_unwind(rt_thread_t thread, struct rt_hw_backtrace_frame *frame)
|
||||||
|
{
|
||||||
|
LOG_W("%s: not implemented");
|
||||||
|
return -RT_ENOSYS;
|
||||||
|
}
|
||||||
|
|
||||||
rt_weak const char *rt_hw_cpu_arch(void)
|
rt_weak const char *rt_hw_cpu_arch(void)
|
||||||
{
|
{
|
||||||
return "unknown";
|
return "unknown";
|
||||||
@@ -1537,6 +1549,108 @@ rt_weak int rt_kprintf(const char *fmt, ...)
|
|||||||
RTM_EXPORT(rt_kprintf);
|
RTM_EXPORT(rt_kprintf);
|
||||||
#endif /* RT_USING_CONSOLE */
|
#endif /* RT_USING_CONSOLE */
|
||||||
|
|
||||||
|
#ifdef __GNUC__
|
||||||
|
rt_weak rt_err_t rt_backtrace(void)
|
||||||
|
{
|
||||||
|
struct rt_hw_backtrace_frame frame = {
|
||||||
|
.fp = (rt_base_t)__builtin_frame_address(0U),
|
||||||
|
.pc = ({__label__ pc; pc: (rt_base_t)&&pc;})
|
||||||
|
};
|
||||||
|
rt_hw_backtrace_frame_unwind(rt_thread_self(), &frame);
|
||||||
|
return rt_backtrace_frame(&frame);
|
||||||
|
}
|
||||||
|
|
||||||
|
#else /* otherwise not implemented */
|
||||||
|
rt_weak rt_err_t rt_backtrace(void)
|
||||||
|
{
|
||||||
|
LOG_W("%s: not implemented");
|
||||||
|
return -RT_ENOSYS;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
rt_err_t rt_backtrace_frame(struct rt_hw_backtrace_frame *frame)
|
||||||
|
{
|
||||||
|
long nesting = 0;
|
||||||
|
LOG_RAW("please use: addr2line -e rtthread.elf -a -f");
|
||||||
|
|
||||||
|
while (nesting < RT_BACKTRACE_LEVEL_MAX_NR)
|
||||||
|
{
|
||||||
|
LOG_RAW(" 0x%lx", (rt_ubase_t)frame->pc);
|
||||||
|
if (rt_hw_backtrace_frame_unwind(rt_thread_self(), frame))
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
nesting++;
|
||||||
|
}
|
||||||
|
LOG_RAW("\n");
|
||||||
|
return RT_EOK;
|
||||||
|
}
|
||||||
|
|
||||||
|
rt_err_t rt_backtrace_thread(rt_thread_t thread)
|
||||||
|
{
|
||||||
|
rt_err_t rc;
|
||||||
|
struct rt_hw_backtrace_frame frame;
|
||||||
|
if (thread)
|
||||||
|
{
|
||||||
|
rc = rt_hw_backtrace_frame_get(thread, &frame);
|
||||||
|
if (rc == RT_EOK)
|
||||||
|
{
|
||||||
|
rc = rt_backtrace_frame(&frame);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
rc = -RT_EINVAL;
|
||||||
|
}
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef RT_USING_LIBC
|
||||||
|
#include <stdlib.h> /* for string service */
|
||||||
|
|
||||||
|
static void cmd_backtrace(int argc, char** argv)
|
||||||
|
{
|
||||||
|
rt_ubase_t pid;
|
||||||
|
char *end_ptr;
|
||||||
|
|
||||||
|
if (argc != 2)
|
||||||
|
{
|
||||||
|
if (argc == 1)
|
||||||
|
{
|
||||||
|
LOG_RAW("[INFO] No thread specified\n"
|
||||||
|
"[HELP] You can use commands like: backtrace %p\n"
|
||||||
|
"Printing backtrace of calling stack...\n",
|
||||||
|
rt_thread_self());
|
||||||
|
rt_backtrace();
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
LOG_RAW("please use: backtrace [thread_address]\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pid = strtol(argv[1], &end_ptr, 0);
|
||||||
|
if (end_ptr == argv[1])
|
||||||
|
{
|
||||||
|
LOG_RAW("Invalid input: %s\n", argv[1]);
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pid && rt_object_get_type((void *)pid) == RT_Object_Class_Thread)
|
||||||
|
{
|
||||||
|
rt_thread_t target = (rt_thread_t)pid;
|
||||||
|
LOG_RAW("backtrace %s(0x%lx), from %s\n", target->parent.name, pid, argv[1]);
|
||||||
|
rt_backtrace_thread(target);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
LOG_RAW("Invalid pid: %ld\n", pid);
|
||||||
|
}
|
||||||
|
MSH_CMD_EXPORT_ALIAS(cmd_backtrace, backtrace, print backtrace of a thread);
|
||||||
|
|
||||||
|
#endif /* RT_USING_LIBC */
|
||||||
|
|
||||||
#if defined(RT_USING_HEAP) && !defined(RT_USING_USERHEAP)
|
#if defined(RT_USING_HEAP) && !defined(RT_USING_USERHEAP)
|
||||||
#ifdef RT_USING_HOOK
|
#ifdef RT_USING_HOOK
|
||||||
static void (*rt_malloc_hook)(void *ptr, rt_size_t size);
|
static void (*rt_malloc_hook)(void *ptr, rt_size_t size);
|
||||||
@@ -2061,6 +2175,7 @@ void rt_assert_handler(const char *ex_string, const char *func, rt_size_t line)
|
|||||||
#endif /*RT_USING_MODULE*/
|
#endif /*RT_USING_MODULE*/
|
||||||
{
|
{
|
||||||
rt_kprintf("(%s) assertion failed at function:%s, line number:%d \n", ex_string, func, line);
|
rt_kprintf("(%s) assertion failed at function:%s, line number:%d \n", ex_string, func, line);
|
||||||
|
rt_backtrace();
|
||||||
while (dummy == 0);
|
while (dummy == 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user