From 842b555358a507c05ebdd4ee065177a69745fdaf Mon Sep 17 00:00:00 2001 From: zhangyan <103986797+messigogogo@users.noreply.github.com> Date: Sun, 16 Jun 2024 15:42:37 +0800 Subject: [PATCH] =?UTF-8?q?[bsp/phytium]c++=E6=94=AF=E6=8C=81=EF=BC=8Cgpio?= =?UTF-8?q?=EF=BC=8Cqspi=E9=A9=B1=E5=8A=A8=E4=BF=AE=E6=94=B9=20(#9059)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * GPIO驱动与QSPI驱动适配 * C++支持 * update --------- Co-authored-by: 张衍 --- bsp/phytium/README.md | 4 +- bsp/phytium/aarch32/.config | 156 ++++++++--- bsp/phytium/aarch32/Kconfig | 4 +- bsp/phytium/aarch32/README.md | 36 ++- .../aarch32/configs/e2000d_demo_rtsmart | 124 ++++++--- .../aarch32/configs/e2000d_demo_rtsmart.h | 30 ++- .../aarch32/configs/e2000d_demo_rtthread | 128 ++++++--- .../aarch32/configs/e2000d_demo_rtthread.h | 32 ++- .../aarch32/configs/e2000q_demo_rtsmart | 124 ++++++--- .../aarch32/configs/e2000q_demo_rtsmart.h | 30 ++- .../aarch32/configs/e2000q_demo_rtthread | 128 ++++++--- .../aarch32/configs/e2000q_demo_rtthread.h | 32 ++- .../aarch32/configs/phytium_pi_rtsmart | 128 ++++++--- .../aarch32/configs/phytium_pi_rtsmart.h | 32 ++- .../aarch32/configs/phytium_pi_rtthread | 128 ++++++--- .../aarch32/configs/phytium_pi_rtthread.h | 30 ++- .../aarch32/figures/aarch32_thread.png | Bin 0 -> 13149 bytes .../aarch32/figures/tar_toolschain_ubuntu.png | Bin 0 -> 25229 bytes bsp/phytium/aarch32/rtconfig.h | 47 +++- bsp/phytium/aarch32/smart-env.bat | 2 +- bsp/phytium/aarch32/thread-env.bat | 4 + bsp/phytium/aarch32/thread-env.sh | 11 + bsp/phytium/aarch64/.config | 124 ++++++--- bsp/phytium/aarch64/Kconfig | 4 +- bsp/phytium/aarch64/README.md | 50 +++- .../aarch64/configs/e2000d_demo_rtsmart | 124 ++++++--- .../aarch64/configs/e2000d_demo_rtsmart.h | 30 ++- .../aarch64/configs/e2000d_demo_rtthread | 124 ++++++--- .../aarch64/configs/e2000d_demo_rtthread.h | 30 ++- .../aarch64/configs/e2000q_demo_rtsmart | 124 ++++++--- .../aarch64/configs/e2000q_demo_rtsmart.h | 30 ++- .../aarch64/configs/e2000q_demo_rtthread | 124 ++++++--- .../aarch64/configs/e2000q_demo_rtthread.h | 30 ++- .../aarch64/configs/phytium_pi_rtsmart | 122 +++++++-- .../aarch64/configs/phytium_pi_rtsmart.h | 29 ++- .../aarch64/configs/phytium_pi_rtthread | 122 +++++++-- .../aarch64/configs/phytium_pi_rtthread.h | 29 ++- .../figures/aarch64_env_thread_tools.png | Bin 0 -> 5261 bytes .../aarch64/figures/aarch64_thread.png | Bin 0 -> 12045 bytes .../aarch64/figures/aarch64_ubuntu_scons.png | Bin 0 -> 34989 bytes .../aarch64/figures/tar_toolschain_ubuntu.png | Bin 0 -> 27803 bytes bsp/phytium/aarch64/rtconfig.h | 30 ++- bsp/phytium/aarch64/smart-env.bat | 2 +- bsp/phytium/aarch64/thread-env.bat | 4 + bsp/phytium/aarch64/thread-env.sh | 11 + bsp/phytium/board/board.h | 10 - bsp/phytium/board/secondary_cpu.c | 1 + bsp/phytium/doc/cpp_support.md | 33 +++ bsp/phytium/doc/drivers/gpio.md | 26 ++ bsp/phytium/figures/Enable_Cpp11.png | Bin 0 -> 23898 bytes bsp/phytium/figures/Enable_cpp_features.png | Bin 0 -> 22965 bytes bsp/phytium/figures/SConscript_cpp.png | Bin 0 -> 20627 bytes bsp/phytium/figures/cpp_scons.png | Bin 0 -> 26771 bytes bsp/phytium/libraries/SConscript | 6 + bsp/phytium/libraries/common/fpsci.c | 7 - bsp/phytium/libraries/drivers/drv_gpio.c | 246 +++++------------- bsp/phytium/libraries/drivers/drv_i2c.c | 12 +- bsp/phytium/libraries/drivers/drv_qspi.c | 217 +-------------- .../phytium_standalone_sdk_install.py | 2 +- .../port/fdriver_port/fdrivers_port.c | 2 +- components/libc/posix/pthreads/pthread.c | 2 +- libcpu/aarch64/link.lds.S | 8 +- 62 files changed, 2002 insertions(+), 923 deletions(-) create mode 100644 bsp/phytium/aarch32/figures/aarch32_thread.png create mode 100644 bsp/phytium/aarch32/figures/tar_toolschain_ubuntu.png create mode 100644 bsp/phytium/aarch32/thread-env.bat create mode 100644 bsp/phytium/aarch32/thread-env.sh create mode 100644 bsp/phytium/aarch64/figures/aarch64_env_thread_tools.png create mode 100644 bsp/phytium/aarch64/figures/aarch64_thread.png create mode 100644 bsp/phytium/aarch64/figures/aarch64_ubuntu_scons.png create mode 100644 bsp/phytium/aarch64/figures/tar_toolschain_ubuntu.png create mode 100644 bsp/phytium/aarch64/thread-env.bat create mode 100644 bsp/phytium/aarch64/thread-env.sh create mode 100644 bsp/phytium/doc/cpp_support.md create mode 100644 bsp/phytium/doc/drivers/gpio.md create mode 100644 bsp/phytium/figures/Enable_Cpp11.png create mode 100644 bsp/phytium/figures/Enable_cpp_features.png create mode 100644 bsp/phytium/figures/SConscript_cpp.png create mode 100644 bsp/phytium/figures/cpp_scons.png diff --git a/bsp/phytium/README.md b/bsp/phytium/README.md index 65245dfd2d..f346153953 100644 --- a/bsp/phytium/README.md +++ b/bsp/phytium/README.md @@ -26,7 +26,7 @@ | **片上外设** | **支持情况** | **备注** | | :-----------------| :----------: | :------------------------------------- | | UART | 支持 | UART1 打印输出 | -| GPIO | 支持 | GPIO 引脚电平输入输出,中断 | +| [GPIO](./doc/drivers/gpio.md) | 支持 | GPIO 引脚电平输入输出,中断 | | XMAC | 支持 | XMAC 网卡初始化和运行 | | SDMMC | 支持 | SD0/SD1 读写 SD 卡或 eMMC 颗粒 | | PWM | 支持 | PWM 脉宽调制电压输出 | @@ -78,6 +78,8 @@ - [Phytium_PI上开发和固化RT-Thread程序](./doc/use_phytium_pi_sd_image.md),解决Phytium PI上使用RT-Thread读写操作影响 SD 卡的固件问题 +- [C++支持](./doc/cpp_support.md) + ## 6. 维护人信息 - huanghe: huanghe@phytium.com.cn diff --git a/bsp/phytium/aarch32/.config b/bsp/phytium/aarch32/.config index d456980e42..34f0e9088f 100644 --- a/bsp/phytium/aarch32/.config +++ b/bsp/phytium/aarch32/.config @@ -8,7 +8,7 @@ CONFIG_RT_NAME_MAX=16 # CONFIG_RT_USING_NANO is not set # CONFIG_RT_USING_AMP is not set CONFIG_RT_USING_SMP=y -CONFIG_RT_CPUS_NR=4 +CONFIG_RT_CPUS_NR=2 CONFIG_RT_ALIGN_SIZE=4 # CONFIG_RT_THREAD_PRIORITY_8 is not set CONFIG_RT_THREAD_PRIORITY_32=y @@ -449,6 +449,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_WEBTERMINAL is not set # CONFIG_PKG_USING_FREEMODBUS is not set # CONFIG_PKG_USING_NANOPB is not set +# CONFIG_PKG_USING_WIFI_HOST_DRIVER is not set # # Wi-Fi @@ -467,6 +468,24 @@ CONFIG_RT_USING_ADT_REF=y # end of Wiced WiFi # CONFIG_PKG_USING_RW007 is not set + +# +# CYW43012 WiFi +# +# CONFIG_PKG_USING_WLAN_CYW43012 is not set +# end of CYW43012 WiFi + +# +# BL808 WiFi +# +# CONFIG_PKG_USING_WLAN_BL808 is not set +# end of BL808 WiFi + +# +# CYW43439 WiFi +# +# CONFIG_PKG_USING_WLAN_CYW43439 is not set +# end of CYW43439 WiFi # end of Wi-Fi # CONFIG_PKG_USING_COAP is not set @@ -490,7 +509,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_JIOT-C-SDK is not set # CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set # CONFIG_PKG_USING_JOYLINK is not set -# CONFIG_PKG_USING_EZ_IOT_OS is not set # CONFIG_PKG_USING_IOTSHARP_SDK is not set # end of IoT Cloud @@ -513,6 +531,8 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_NMEALIB is not set # CONFIG_PKG_USING_PDULIB is not set # CONFIG_PKG_USING_BTSTACK is not set +# CONFIG_PKG_USING_BT_CYW43012 is not set +# CONFIG_PKG_USING_CYW43XX is not set # CONFIG_PKG_USING_LORAWAN_ED_STACK is not set # CONFIG_PKG_USING_WAYZ_IOTKIT is not set # CONFIG_PKG_USING_MAVLINK is not set @@ -532,6 +552,9 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_ZFTP is not set # CONFIG_PKG_USING_WOL is not set # CONFIG_PKG_USING_ZEPHYR_POLLING is not set +# CONFIG_PKG_USING_MATTER_ADAPTATION_LAYER is not set +# CONFIG_PKG_USING_LHC_MODBUS is not set +# CONFIG_PKG_USING_QMODBUS is not set # end of IoT - internet of things # @@ -584,7 +607,6 @@ CONFIG_RT_USING_ADT_REF=y # LVGL: powerful and easy-to-use embedded GUI library # # CONFIG_PKG_USING_LVGL is not set -# CONFIG_PKG_USING_LITTLEVGL2RTT is not set # CONFIG_PKG_USING_LV_MUSIC_DEMO is not set # CONFIG_PKG_USING_GUI_GUIDER_DEMO is not set # end of LVGL: powerful and easy-to-use embedded GUI library @@ -664,6 +686,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_HASH_MATCH is not set # CONFIG_PKG_USING_ARMV7M_DWT_TOOL is not set # CONFIG_PKG_USING_VOFA_PLUS is not set +# CONFIG_PKG_USING_ZDEBUG is not set # end of tools packages # @@ -690,6 +713,9 @@ CONFIG_RT_USING_ADT_REF=y # CMSIS: ARM Cortex-M Microcontroller Software Interface Standard # # CONFIG_PKG_USING_CMSIS_5 is not set +# CONFIG_PKG_USING_CMSIS_CORE is not set +# CONFIG_PKG_USING_CMSIS_DSP is not set +# CONFIG_PKG_USING_CMSIS_NN is not set # CONFIG_PKG_USING_CMSIS_RTOS1 is not set # CONFIG_PKG_USING_CMSIS_RTOS2 is not set # end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard @@ -706,10 +732,14 @@ CONFIG_RT_USING_ADT_REF=y # end of Micrium: Micrium software products porting for RT-Thread # CONFIG_PKG_USING_FREERTOS_WRAPPER is not set +# CONFIG_PKG_USING_LITEOS_SDK is not set +# CONFIG_PKG_USING_TZ_DATABASE is not set # CONFIG_PKG_USING_CAIRO is not set # CONFIG_PKG_USING_PIXMAN is not set # CONFIG_PKG_USING_PARTITION is not set # CONFIG_PKG_USING_PERF_COUNTER is not set +# CONFIG_PKG_USING_FILEX is not set +# CONFIG_PKG_USING_LEVELX is not set # CONFIG_PKG_USING_FLASHDB is not set # CONFIG_PKG_USING_SQLITE is not set # CONFIG_PKG_USING_RTI is not set @@ -729,6 +759,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_QBOOT is not set # CONFIG_PKG_USING_PPOOL is not set # CONFIG_PKG_USING_OPENAMP is not set +# CONFIG_PKG_USING_RPMSG_LITE is not set # CONFIG_PKG_USING_LPM is not set # CONFIG_PKG_USING_TLSF is not set # CONFIG_PKG_USING_EVENT_RECORDER is not set @@ -742,12 +773,46 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_AGILE_UPGRADE is not set # CONFIG_PKG_USING_FLASH_BLOB is not set # CONFIG_PKG_USING_MLIBC is not set +# CONFIG_PKG_USING_TASK_MSG_BUS is not set +# CONFIG_PKG_USING_SFDB is not set +# CONFIG_PKG_USING_RTP is not set +# CONFIG_PKG_USING_REB is not set +# CONFIG_PKG_USING_R_RHEALSTONE is not set # end of system packages # # peripheral libraries and drivers # +# +# HAL & SDK Drivers +# + +# +# STM32 HAL & SDK Drivers +# +# CONFIG_PKG_USING_STM32L4_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32L4_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32WB55_SDK is not set +# CONFIG_PKG_USING_STM32_SDIO is not set +# end of STM32 HAL & SDK Drivers + +# CONFIG_PKG_USING_BLUETRUM_SDK is not set +# CONFIG_PKG_USING_EMBARC_BSP is not set +# CONFIG_PKG_USING_ESP_IDF is not set + +# +# Kendryte SDK +# +# CONFIG_PKG_USING_K210_SDK is not set +# CONFIG_PKG_USING_KENDRYTE_SDK is not set +# end of Kendryte SDK + +# CONFIG_PKG_USING_NRF5X_SDK is not set +# CONFIG_PKG_USING_NRFX is not set +# CONFIG_PKG_USING_RASPBERRYPI_PICO_SDK is not set +# end of HAL & SDK Drivers + # # sensors drivers # @@ -807,6 +872,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_BALANCE is not set # CONFIG_PKG_USING_SHT2X is not set # CONFIG_PKG_USING_SHT3X is not set +# CONFIG_PKG_USING_SHT4X is not set # CONFIG_PKG_USING_AD7746 is not set # CONFIG_PKG_USING_ADT74XX is not set # CONFIG_PKG_USING_MAX17048 is not set @@ -829,11 +895,10 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_FT6236 is not set # CONFIG_PKG_USING_XPT2046_TOUCH is not set # CONFIG_PKG_USING_CST816X is not set +# CONFIG_PKG_USING_CST812T is not set # end of touch drivers # CONFIG_PKG_USING_REALTEK_AMEBA is not set -# CONFIG_PKG_USING_STM32_SDIO is not set -# CONFIG_PKG_USING_ESP_IDF is not set # CONFIG_PKG_USING_BUTTON is not set # CONFIG_PKG_USING_PCF8574 is not set # CONFIG_PKG_USING_SX12XX is not set @@ -841,16 +906,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_LEDBLINK is not set # CONFIG_PKG_USING_LITTLED is not set # CONFIG_PKG_USING_LKDGUI is not set -# CONFIG_PKG_USING_NRF5X_SDK is not set -# CONFIG_PKG_USING_NRFX is not set - -# -# Kendryte SDK -# -# CONFIG_PKG_USING_K210_SDK is not set -# CONFIG_PKG_USING_KENDRYTE_SDK is not set -# end of Kendryte SDK - # CONFIG_PKG_USING_INFRARED is not set # CONFIG_PKG_USING_MULTI_INFRARED is not set # CONFIG_PKG_USING_AGILE_BUTTON is not set @@ -865,7 +920,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_AS608 is not set # CONFIG_PKG_USING_RC522 is not set # CONFIG_PKG_USING_WS2812B is not set -# CONFIG_PKG_USING_EMBARC_BSP is not set # CONFIG_PKG_USING_EXTERN_RTC_DRIVERS is not set # CONFIG_PKG_USING_MULTI_RTIMER is not set # CONFIG_PKG_USING_MAX7219 is not set @@ -888,7 +942,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_VIRTUAL_SENSOR is not set # CONFIG_PKG_USING_VDEVICE is not set # CONFIG_PKG_USING_SGM706 is not set -# CONFIG_PKG_USING_STM32WB55_SDK is not set # CONFIG_PKG_USING_RDA58XX is not set # CONFIG_PKG_USING_LIBNFC is not set # CONFIG_PKG_USING_MFOC is not set @@ -898,7 +951,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_ROSSERIAL is not set # CONFIG_PKG_USING_MICRO_ROS is not set # CONFIG_PKG_USING_MCP23008 is not set -# CONFIG_PKG_USING_BLUETRUM_SDK is not set # CONFIG_PKG_USING_MISAKA_AT24CXX is not set # CONFIG_PKG_USING_MISAKA_RGB_BLING is not set # CONFIG_PKG_USING_LORA_MODEM_DRIVER is not set @@ -906,12 +958,17 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_MB85RS16 is not set # CONFIG_PKG_USING_RFM300 is not set # CONFIG_PKG_USING_IO_INPUT_FILTER is not set -# CONFIG_PKG_USING_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_ST7789 is not set +# CONFIG_PKG_USING_VS1003 is not set +# CONFIG_PKG_USING_X9555 is not set +# CONFIG_PKG_USING_SYSTEM_RUN_LED is not set +# CONFIG_PKG_USING_BT_MX01 is not set +# CONFIG_PKG_USING_RGPOWER is not set # CONFIG_PKG_USING_SPI_TOOLS is not set # end of peripheral libraries and drivers @@ -927,6 +984,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_ULAPACK is not set # CONFIG_PKG_USING_QUEST is not set # CONFIG_PKG_USING_NAXOS is not set +# CONFIG_PKG_USING_R_TINYMAIX is not set # end of AI packages # @@ -979,6 +1037,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_MINILZO is not set # CONFIG_PKG_USING_QUICKLZ is not set # CONFIG_PKG_USING_LZMA is not set +# CONFIG_PKG_USING_RALARAM is not set # CONFIG_PKG_USING_MULTIBUTTON is not set # CONFIG_PKG_USING_FLEXIBLE_BUTTON is not set # CONFIG_PKG_USING_CANFESTIVAL is not set @@ -1016,7 +1075,9 @@ CONFIG_RT_USING_ADT_REF=y # Projects and Demos # # CONFIG_PKG_USING_ARDUINO_MSGQ_C_CPP_DEMO is not set +# CONFIG_PKG_USING_ARDUINO_SKETCH_LOADER_DEMO is not set # CONFIG_PKG_USING_ARDUINO_ULTRASOUND_RADAR is not set +# CONFIG_PKG_USING_ARDUINO_NINEINONE_SENSOR_SHIELD is not set # CONFIG_PKG_USING_ARDUINO_SENSOR_KIT is not set # CONFIG_PKG_USING_ARDUINO_MATLAB_SUPPORT is not set # end of Projects and Demos @@ -1025,13 +1086,13 @@ CONFIG_RT_USING_ADT_REF=y # Sensors # # CONFIG_PKG_USING_ARDUINO_SENSOR_DEVICE_DRIVERS 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_SENSORLAB is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADXL375 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L0X is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L1X is not set -# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSOR is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL6180X is not set -# CONFIG_PKG_USING_ADAFRUIT_MAX31855 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31855 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31865 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31856 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX6675 is not set @@ -1076,7 +1137,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LIS3MDL is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MLX90640 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MMA8451 is not set -# CONFIG_PKG_USING_ADAFRUIT_MSA301 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MSA301 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPL115A2 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X_RVC is not set @@ -1115,7 +1176,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU21DF is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AS7341 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU31D is not set -# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSORLAB is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_INA260 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TMP007_LIBRARY is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_L3GD20 is not set @@ -1138,7 +1198,7 @@ CONFIG_RT_USING_ADT_REF=y # 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_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 @@ -1146,7 +1206,7 @@ CONFIG_RT_USING_ADT_REF=y # 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_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 @@ -1159,6 +1219,8 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_ARDUINO_SEEED_MCP9600 is not set # CONFIG_PKG_USING_ARDUINO_SEEED_LTC2941 is not set # CONFIG_PKG_USING_ARDUINO_SEEED_LDC1612 is not set +# CONFIG_PKG_USING_ARDUINO_CAPACITIVESENSOR is not set +# CONFIG_PKG_USING_ARDUINO_JARZEBSKI_MPU6050 is not set # end of Sensors # @@ -1166,6 +1228,7 @@ CONFIG_RT_USING_ADT_REF=y # # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_GFX_LIBRARY is not set # CONFIG_PKG_USING_ARDUINO_U8G2 is not set +# CONFIG_PKG_USING_ARDUINO_TFT_ESPI is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ST7735 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SSD1306 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ILI9341 is not set @@ -1175,6 +1238,7 @@ CONFIG_RT_USING_ADT_REF=y # # Timing # +# CONFIG_PKG_USING_ARDUINO_RTCLIB is not set # CONFIG_PKG_USING_ARDUINO_MSTIMER2 is not set # CONFIG_PKG_USING_ARDUINO_TICKER is not set # CONFIG_PKG_USING_ARDUINO_TASKSCHEDULER is not set @@ -1185,6 +1249,8 @@ CONFIG_RT_USING_ADT_REF=y # # CONFIG_PKG_USING_ARDUINO_KALMANFILTER is not set # CONFIG_PKG_USING_ARDUINO_ARDUINOJSON is not set +# CONFIG_PKG_USING_ARDUINO_TENSORFLOW_LITE_MICRO is not set +# CONFIG_PKG_USING_ARDUINO_RUNNINGMEDIAN is not set # end of Data Processing # @@ -1203,11 +1269,11 @@ CONFIG_RT_USING_ADT_REF=y # # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCF8574 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 +# CONFIG_PKG_USING_ARDUINO_SEEED_PCF85063TP is not set # end of Device Control # @@ -1215,7 +1281,6 @@ CONFIG_RT_USING_ADT_REF=y # # 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 # end of Other # @@ -1257,11 +1322,11 @@ CONFIG_RT_USING_SPIM0=y # CONFIG_RT_USING_SPIM2 is not set # CONFIG_RT_USING_SPIM3 is not set CONFIG_BSP_USING_CAN=y -# CONFIG_RT_USING_CANFD is not set +CONFIG_RT_USING_CANFD=y # CONFIG_RT_USING_FILTER is not set -# CONFIG_RT_USING_CAN0 is not set -# CONFIG_RT_USING_CAN1 is not set -# CONFIG_BSP_USING_GPIO is not set +CONFIG_RT_USING_CAN0=y +CONFIG_RT_USING_CAN1=y +CONFIG_BSP_USING_GPIO=y CONFIG_BSP_USING_QSPI=y CONFIG_RT_USING_QSPI0=y CONFIG_USING_QSPI_CHANNEL0=y @@ -1298,7 +1363,9 @@ CONFIG_RT_USING_MIO1=y # CONFIG_I2C_USE_CONTROLLER is not set CONFIG_BSP_USING_SDIF=y CONFIG_BSP_USING_SDCARD_FATFS=y -# CONFIG_USING_SDIF0 is not set +CONFIG_USING_SDIF0=y +# CONFIG_USE_SDIF0_TF is not set +CONFIG_USE_SDIF0_EMMC=y CONFIG_USING_SDIF1=y CONFIG_USE_SDIF1_TF=y # CONFIG_USE_SDIF1_EMMC is not set @@ -1325,15 +1392,16 @@ CONFIG_USE_AARCH64_L1_TO_AARCH32=y # # Soc configuration # -CONFIG_TARGET_PHYTIUMPI=y +# CONFIG_TARGET_PHYTIUMPI is not set # CONFIG_TARGET_E2000Q is not set -# CONFIG_TARGET_E2000D is not set +CONFIG_TARGET_E2000D=y # CONFIG_TARGET_E2000S is not set # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set -CONFIG_SOC_NAME="phytiumpi" -CONFIG_SOC_CORE_NUM=4 +CONFIG_SOC_NAME="e2000" +CONFIG_TARGET_TYPE_NAME="d" +CONFIG_SOC_CORE_NUM=2 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000 @@ -1347,21 +1415,22 @@ CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # # Board Configuration # -CONFIG_BOARD_NAME="firefly" +CONFIG_E2000D_DEMO_BOARD=y +CONFIG_BOARD_NAME="demo" + +# +# IO mux configuration when board start up +# # CONFIG_USE_SPI_IOPAD is not set # CONFIG_USE_GPIO_IOPAD is not set # CONFIG_USE_CAN_IOPAD is not set # CONFIG_USE_QSPI_IOPAD is not set # CONFIG_USE_PWM_IOPAD is not set +# CONFIG_USE_ADC_IOPAD is not set # CONFIG_USE_MIO_IOPAD is not set # CONFIG_USE_TACHO_IOPAD is not set # CONFIG_USE_UART_IOPAD is not set # CONFIG_USE_THIRD_PARTY_IOPAD is not set -CONFIG_FIREFLY_DEMO_BOARD=y - -# -# IO mux configuration when board start up -# # end of IO mux configuration when board start up # CONFIG_CUS_DEMO_BOARD is not set @@ -1370,6 +1439,7 @@ CONFIG_FIREFLY_DEMO_BOARD=y # # Sdk common configuration # +CONFIG_ELOG_LINE_BUF_SIZE=0x100 # CONFIG_LOG_VERBOS is not set # CONFIG_LOG_DEBUG is not set # CONFIG_LOG_INFO is not set diff --git a/bsp/phytium/aarch32/Kconfig b/bsp/phytium/aarch32/Kconfig index 74bcc1a505..0ae40970b1 100644 --- a/bsp/phytium/aarch32/Kconfig +++ b/bsp/phytium/aarch32/Kconfig @@ -22,7 +22,7 @@ config PKGS_DIR source "$RTT_DIR/Kconfig" source "$PKGS_DIR/Kconfig" -source "$BSP_ROOT/libraries/drivers/Kconfig" +source "$RTT_DIR/bsp/phytium/libraries/drivers/Kconfig" config PHYTIUM_ARCH_AARCH32 bool @@ -48,7 +48,7 @@ menu "Standalone Setting" Use the Aarch64 to Aarch32 mode function source "$SDK_DIR/soc/soc.kconfig" - source "$BSP_ROOT/board/board.kconfig" + source "$RTT_DIR/bsp/phytium/board/board.kconfig" source "$SDK_DIR/common/common.kconfig" endmenu diff --git a/bsp/phytium/aarch32/README.md b/bsp/phytium/aarch32/README.md index 2df5a2486a..8138d097aa 100644 --- a/bsp/phytium/aarch32/README.md +++ b/bsp/phytium/aarch32/README.md @@ -4,12 +4,36 @@ ## 1. 准备编译环境 -- 在aarch32目录下创建tools文件夹,用于存放编译链 +- 在aarch32目录下创建tools文件夹,用于存放编译链,目前支持在以下两种环境进行开发 ```shell mkdir tools ``` +注:使用RT-Smart编译链也可编译RT-Thread,但当前不支持C++ + ### Ubuntu 环境 +#### RT-Thread + +- 点击[下载编译链工具](https://developer.arm.com/-/media/Files/downloads/gnu-a/10.3-2021.07/binrel/gcc-arm-10.3-2021.07-x86_64-arm-none-eabi.tar.xz)压缩包,放置在tools目录下 + +- 在tools目录下,使用tar命令解压缩 +```shell +tar xvf gcc-arm-10.3-2021.07-x86_64-arm-none-eabi.tar.xz +``` + +![tar_toolschain_ubuntu](./figures/tar_toolschain_ubuntu.png) + +- 返回`aarch32`目录,运行`thread-env.sh脚本`,生效环境变量 +```shell +source ./thread-env.sh +``` + +- 如下所示是`aarch32`编译相关的环境变量,运行`scons`前要确保环境变量设置正确 + +![aarch32_thread](./figures/aarch32_thread.png) + +#### RT-Smart + - 点击[下载编译链工具](https://github.com/RT-Thread/toolchains-ci/releases/tag/v1.7)压缩包,放置在tools目录下,如下所示 ![aarch32_tools](./figures/aarch32_tools.png) @@ -45,6 +69,16 @@ rtthread_a32.map ### RT-Thread env 环境 +#### RT-Thread + +- RT-Thread env 环境已经内嵌的`aarch32`编译链,运行`thread-env.bat`脚本,生效环境变量即可 + +```shell +.\thread-env.bat +``` + +#### RT-Smart + - 点击[下载编译链工具](https://pan.baidu.com/s/1p7PRhV3dTGIb7hxv34YWYw)压缩包,提取码:ndxq - 在tools目录下,将下载好的编译链工具压缩包解压缩,如下所示 diff --git a/bsp/phytium/aarch32/configs/e2000d_demo_rtsmart b/bsp/phytium/aarch32/configs/e2000d_demo_rtsmart index 3028b0660a..b481181c19 100644 --- a/bsp/phytium/aarch32/configs/e2000d_demo_rtsmart +++ b/bsp/phytium/aarch32/configs/e2000d_demo_rtsmart @@ -481,6 +481,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_WEBTERMINAL is not set # CONFIG_PKG_USING_FREEMODBUS is not set # CONFIG_PKG_USING_NANOPB is not set +# CONFIG_PKG_USING_WIFI_HOST_DRIVER is not set # # Wi-Fi @@ -499,6 +500,24 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # end of Wiced WiFi # CONFIG_PKG_USING_RW007 is not set + +# +# CYW43012 WiFi +# +# CONFIG_PKG_USING_WLAN_CYW43012 is not set +# end of CYW43012 WiFi + +# +# BL808 WiFi +# +# CONFIG_PKG_USING_WLAN_BL808 is not set +# end of BL808 WiFi + +# +# CYW43439 WiFi +# +# CONFIG_PKG_USING_WLAN_CYW43439 is not set +# end of CYW43439 WiFi # end of Wi-Fi # CONFIG_PKG_USING_COAP is not set @@ -522,7 +541,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_JIOT-C-SDK is not set # CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set # CONFIG_PKG_USING_JOYLINK is not set -# CONFIG_PKG_USING_EZ_IOT_OS is not set # CONFIG_PKG_USING_IOTSHARP_SDK is not set # end of IoT Cloud @@ -545,6 +563,8 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_NMEALIB is not set # CONFIG_PKG_USING_PDULIB is not set # CONFIG_PKG_USING_BTSTACK is not set +# CONFIG_PKG_USING_BT_CYW43012 is not set +# CONFIG_PKG_USING_CYW43XX is not set # CONFIG_PKG_USING_LORAWAN_ED_STACK is not set # CONFIG_PKG_USING_WAYZ_IOTKIT is not set # CONFIG_PKG_USING_MAVLINK is not set @@ -564,6 +584,9 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_ZFTP is not set # CONFIG_PKG_USING_WOL is not set # CONFIG_PKG_USING_ZEPHYR_POLLING is not set +# CONFIG_PKG_USING_MATTER_ADAPTATION_LAYER is not set +# CONFIG_PKG_USING_LHC_MODBUS is not set +# CONFIG_PKG_USING_QMODBUS is not set # end of IoT - internet of things # @@ -616,7 +639,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # LVGL: powerful and easy-to-use embedded GUI library # # CONFIG_PKG_USING_LVGL is not set -# CONFIG_PKG_USING_LITTLEVGL2RTT is not set # CONFIG_PKG_USING_LV_MUSIC_DEMO is not set # CONFIG_PKG_USING_GUI_GUIDER_DEMO is not set # end of LVGL: powerful and easy-to-use embedded GUI library @@ -696,6 +718,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_HASH_MATCH is not set # CONFIG_PKG_USING_ARMV7M_DWT_TOOL is not set # CONFIG_PKG_USING_VOFA_PLUS is not set +# CONFIG_PKG_USING_ZDEBUG is not set # end of tools packages # @@ -722,6 +745,9 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CMSIS: ARM Cortex-M Microcontroller Software Interface Standard # # CONFIG_PKG_USING_CMSIS_5 is not set +# CONFIG_PKG_USING_CMSIS_CORE is not set +# CONFIG_PKG_USING_CMSIS_DSP is not set +# CONFIG_PKG_USING_CMSIS_NN is not set # CONFIG_PKG_USING_CMSIS_RTOS1 is not set # CONFIG_PKG_USING_CMSIS_RTOS2 is not set # end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard @@ -738,10 +764,14 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # end of Micrium: Micrium software products porting for RT-Thread # CONFIG_PKG_USING_FREERTOS_WRAPPER is not set +# CONFIG_PKG_USING_LITEOS_SDK is not set +# CONFIG_PKG_USING_TZ_DATABASE is not set # CONFIG_PKG_USING_CAIRO is not set # CONFIG_PKG_USING_PIXMAN is not set # CONFIG_PKG_USING_PARTITION is not set # CONFIG_PKG_USING_PERF_COUNTER is not set +# CONFIG_PKG_USING_FILEX is not set +# CONFIG_PKG_USING_LEVELX is not set # CONFIG_PKG_USING_FLASHDB is not set # CONFIG_PKG_USING_SQLITE is not set # CONFIG_PKG_USING_RTI is not set @@ -761,6 +791,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_QBOOT is not set # CONFIG_PKG_USING_PPOOL is not set # CONFIG_PKG_USING_OPENAMP is not set +# CONFIG_PKG_USING_RPMSG_LITE is not set # CONFIG_PKG_USING_LPM is not set # CONFIG_PKG_USING_TLSF is not set # CONFIG_PKG_USING_EVENT_RECORDER is not set @@ -774,12 +805,46 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_AGILE_UPGRADE is not set # CONFIG_PKG_USING_FLASH_BLOB is not set # CONFIG_PKG_USING_MLIBC is not set +# CONFIG_PKG_USING_TASK_MSG_BUS is not set +# CONFIG_PKG_USING_SFDB is not set +# CONFIG_PKG_USING_RTP is not set +# CONFIG_PKG_USING_REB is not set +# CONFIG_PKG_USING_R_RHEALSTONE is not set # end of system packages # # peripheral libraries and drivers # +# +# HAL & SDK Drivers +# + +# +# STM32 HAL & SDK Drivers +# +# CONFIG_PKG_USING_STM32L4_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32L4_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32WB55_SDK is not set +# CONFIG_PKG_USING_STM32_SDIO is not set +# end of STM32 HAL & SDK Drivers + +# CONFIG_PKG_USING_BLUETRUM_SDK is not set +# CONFIG_PKG_USING_EMBARC_BSP is not set +# CONFIG_PKG_USING_ESP_IDF is not set + +# +# Kendryte SDK +# +# CONFIG_PKG_USING_K210_SDK is not set +# CONFIG_PKG_USING_KENDRYTE_SDK is not set +# end of Kendryte SDK + +# CONFIG_PKG_USING_NRF5X_SDK is not set +# CONFIG_PKG_USING_NRFX is not set +# CONFIG_PKG_USING_RASPBERRYPI_PICO_SDK is not set +# end of HAL & SDK Drivers + # # sensors drivers # @@ -839,6 +904,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_BALANCE is not set # CONFIG_PKG_USING_SHT2X is not set # CONFIG_PKG_USING_SHT3X is not set +# CONFIG_PKG_USING_SHT4X is not set # CONFIG_PKG_USING_AD7746 is not set # CONFIG_PKG_USING_ADT74XX is not set # CONFIG_PKG_USING_MAX17048 is not set @@ -861,11 +927,10 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_FT6236 is not set # CONFIG_PKG_USING_XPT2046_TOUCH is not set # CONFIG_PKG_USING_CST816X is not set +# CONFIG_PKG_USING_CST812T is not set # end of touch drivers # CONFIG_PKG_USING_REALTEK_AMEBA is not set -# CONFIG_PKG_USING_STM32_SDIO is not set -# CONFIG_PKG_USING_ESP_IDF is not set # CONFIG_PKG_USING_BUTTON is not set # CONFIG_PKG_USING_PCF8574 is not set # CONFIG_PKG_USING_SX12XX is not set @@ -873,16 +938,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_LEDBLINK is not set # CONFIG_PKG_USING_LITTLED is not set # CONFIG_PKG_USING_LKDGUI is not set -# CONFIG_PKG_USING_NRF5X_SDK is not set -# CONFIG_PKG_USING_NRFX is not set - -# -# Kendryte SDK -# -# CONFIG_PKG_USING_K210_SDK is not set -# CONFIG_PKG_USING_KENDRYTE_SDK is not set -# end of Kendryte SDK - # CONFIG_PKG_USING_INFRARED is not set # CONFIG_PKG_USING_MULTI_INFRARED is not set # CONFIG_PKG_USING_AGILE_BUTTON is not set @@ -897,7 +952,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_AS608 is not set # CONFIG_PKG_USING_RC522 is not set # CONFIG_PKG_USING_WS2812B is not set -# CONFIG_PKG_USING_EMBARC_BSP is not set # CONFIG_PKG_USING_EXTERN_RTC_DRIVERS is not set # CONFIG_PKG_USING_MULTI_RTIMER is not set # CONFIG_PKG_USING_MAX7219 is not set @@ -920,7 +974,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_VIRTUAL_SENSOR is not set # CONFIG_PKG_USING_VDEVICE is not set # CONFIG_PKG_USING_SGM706 is not set -# CONFIG_PKG_USING_STM32WB55_SDK is not set # CONFIG_PKG_USING_RDA58XX is not set # CONFIG_PKG_USING_LIBNFC is not set # CONFIG_PKG_USING_MFOC is not set @@ -930,7 +983,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_ROSSERIAL is not set # CONFIG_PKG_USING_MICRO_ROS is not set # CONFIG_PKG_USING_MCP23008 is not set -# CONFIG_PKG_USING_BLUETRUM_SDK is not set # CONFIG_PKG_USING_MISAKA_AT24CXX is not set # CONFIG_PKG_USING_MISAKA_RGB_BLING is not set # CONFIG_PKG_USING_LORA_MODEM_DRIVER is not set @@ -938,12 +990,17 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_MB85RS16 is not set # CONFIG_PKG_USING_RFM300 is not set # CONFIG_PKG_USING_IO_INPUT_FILTER is not set -# CONFIG_PKG_USING_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_ST7789 is not set +# CONFIG_PKG_USING_VS1003 is not set +# CONFIG_PKG_USING_X9555 is not set +# CONFIG_PKG_USING_SYSTEM_RUN_LED is not set +# CONFIG_PKG_USING_BT_MX01 is not set +# CONFIG_PKG_USING_RGPOWER is not set # CONFIG_PKG_USING_SPI_TOOLS is not set # end of peripheral libraries and drivers @@ -959,6 +1016,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_ULAPACK is not set # CONFIG_PKG_USING_QUEST is not set # CONFIG_PKG_USING_NAXOS is not set +# CONFIG_PKG_USING_R_TINYMAIX is not set # end of AI packages # @@ -1011,6 +1069,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_MINILZO is not set # CONFIG_PKG_USING_QUICKLZ is not set # CONFIG_PKG_USING_LZMA is not set +# CONFIG_PKG_USING_RALARAM is not set # CONFIG_PKG_USING_MULTIBUTTON is not set # CONFIG_PKG_USING_FLEXIBLE_BUTTON is not set # CONFIG_PKG_USING_CANFESTIVAL is not set @@ -1048,7 +1107,9 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # Projects and Demos # # CONFIG_PKG_USING_ARDUINO_MSGQ_C_CPP_DEMO is not set +# CONFIG_PKG_USING_ARDUINO_SKETCH_LOADER_DEMO is not set # CONFIG_PKG_USING_ARDUINO_ULTRASOUND_RADAR is not set +# CONFIG_PKG_USING_ARDUINO_NINEINONE_SENSOR_SHIELD is not set # CONFIG_PKG_USING_ARDUINO_SENSOR_KIT is not set # CONFIG_PKG_USING_ARDUINO_MATLAB_SUPPORT is not set # end of Projects and Demos @@ -1057,13 +1118,13 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # Sensors # # CONFIG_PKG_USING_ARDUINO_SENSOR_DEVICE_DRIVERS 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_SENSORLAB is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADXL375 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L0X is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L1X is not set -# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSOR is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL6180X is not set -# CONFIG_PKG_USING_ADAFRUIT_MAX31855 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31855 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31865 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31856 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX6675 is not set @@ -1108,7 +1169,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LIS3MDL is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MLX90640 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MMA8451 is not set -# CONFIG_PKG_USING_ADAFRUIT_MSA301 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MSA301 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPL115A2 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X_RVC is not set @@ -1147,7 +1208,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU21DF is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AS7341 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU31D is not set -# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSORLAB is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_INA260 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TMP007_LIBRARY is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_L3GD20 is not set @@ -1170,7 +1230,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # 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_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 @@ -1178,7 +1238,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # 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_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 @@ -1191,6 +1251,8 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_ARDUINO_SEEED_MCP9600 is not set # CONFIG_PKG_USING_ARDUINO_SEEED_LTC2941 is not set # CONFIG_PKG_USING_ARDUINO_SEEED_LDC1612 is not set +# CONFIG_PKG_USING_ARDUINO_CAPACITIVESENSOR is not set +# CONFIG_PKG_USING_ARDUINO_JARZEBSKI_MPU6050 is not set # end of Sensors # @@ -1198,6 +1260,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_GFX_LIBRARY is not set # CONFIG_PKG_USING_ARDUINO_U8G2 is not set +# CONFIG_PKG_USING_ARDUINO_TFT_ESPI is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ST7735 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SSD1306 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ILI9341 is not set @@ -1207,6 +1270,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # # Timing # +# CONFIG_PKG_USING_ARDUINO_RTCLIB is not set # CONFIG_PKG_USING_ARDUINO_MSTIMER2 is not set # CONFIG_PKG_USING_ARDUINO_TICKER is not set # CONFIG_PKG_USING_ARDUINO_TASKSCHEDULER is not set @@ -1217,6 +1281,8 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # # CONFIG_PKG_USING_ARDUINO_KALMANFILTER is not set # CONFIG_PKG_USING_ARDUINO_ARDUINOJSON is not set +# CONFIG_PKG_USING_ARDUINO_TENSORFLOW_LITE_MICRO is not set +# CONFIG_PKG_USING_ARDUINO_RUNNINGMEDIAN is not set # end of Data Processing # @@ -1235,11 +1301,11 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCF8574 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 +# CONFIG_PKG_USING_ARDUINO_SEEED_PCF85063TP is not set # end of Device Control # @@ -1247,7 +1313,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # # 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 # end of Other # @@ -1289,11 +1354,11 @@ CONFIG_RT_USING_SPIM0=y # CONFIG_RT_USING_SPIM2 is not set # CONFIG_RT_USING_SPIM3 is not set CONFIG_BSP_USING_CAN=y -# CONFIG_RT_USING_CANFD is not set +CONFIG_RT_USING_CANFD=y # CONFIG_RT_USING_FILTER is not set CONFIG_RT_USING_CAN0=y CONFIG_RT_USING_CAN1=y -# CONFIG_BSP_USING_GPIO is not set +CONFIG_BSP_USING_GPIO=y CONFIG_BSP_USING_QSPI=y CONFIG_RT_USING_QSPI0=y CONFIG_USING_QSPI_CHANNEL0=y @@ -1406,6 +1471,7 @@ CONFIG_BOARD_NAME="demo" # # Sdk common configuration # +CONFIG_ELOG_LINE_BUF_SIZE=0x100 # CONFIG_LOG_VERBOS is not set # CONFIG_LOG_DEBUG is not set # CONFIG_LOG_INFO is not set diff --git a/bsp/phytium/aarch32/configs/e2000d_demo_rtsmart.h b/bsp/phytium/aarch32/configs/e2000d_demo_rtsmart.h index 285a048e41..8d2b0693d0 100644 --- a/bsp/phytium/aarch32/configs/e2000d_demo_rtsmart.h +++ b/bsp/phytium/aarch32/configs/e2000d_demo_rtsmart.h @@ -329,6 +329,18 @@ /* Wiced WiFi */ /* end of Wiced WiFi */ + +/* CYW43012 WiFi */ + +/* end of CYW43012 WiFi */ + +/* BL808 WiFi */ + +/* end of BL808 WiFi */ + +/* CYW43439 WiFi */ + +/* end of CYW43439 WiFi */ /* end of Wi-Fi */ /* IoT Cloud */ @@ -387,6 +399,17 @@ /* peripheral libraries and drivers */ +/* HAL & SDK Drivers */ + +/* STM32 HAL & SDK Drivers */ + +/* end of STM32 HAL & SDK Drivers */ + +/* Kendryte SDK */ + +/* end of Kendryte SDK */ +/* end of HAL & SDK Drivers */ + /* sensors drivers */ /* end of sensors drivers */ @@ -394,10 +417,6 @@ /* touch drivers */ /* end of touch drivers */ - -/* Kendryte SDK */ - -/* end of Kendryte SDK */ /* end of peripheral libraries and drivers */ /* AI packages */ @@ -481,8 +500,10 @@ #define BSP_USING_SPI #define RT_USING_SPIM0 #define BSP_USING_CAN +#define RT_USING_CANFD #define RT_USING_CAN0 #define RT_USING_CAN1 +#define BSP_USING_GPIO #define BSP_USING_QSPI #define RT_USING_QSPI0 #define USING_QSPI_CHANNEL0 @@ -540,6 +561,7 @@ /* Sdk common configuration */ +#define ELOG_LINE_BUF_SIZE 0x100 #define LOG_ERROR #define USE_DEFAULT_INTERRUPT_CONFIG #define INTERRUPT_ROLE_MASTER diff --git a/bsp/phytium/aarch32/configs/e2000d_demo_rtthread b/bsp/phytium/aarch32/configs/e2000d_demo_rtthread index 21b0c1929b..34f0e9088f 100644 --- a/bsp/phytium/aarch32/configs/e2000d_demo_rtthread +++ b/bsp/phytium/aarch32/configs/e2000d_demo_rtthread @@ -449,6 +449,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_WEBTERMINAL is not set # CONFIG_PKG_USING_FREEMODBUS is not set # CONFIG_PKG_USING_NANOPB is not set +# CONFIG_PKG_USING_WIFI_HOST_DRIVER is not set # # Wi-Fi @@ -467,6 +468,24 @@ CONFIG_RT_USING_ADT_REF=y # end of Wiced WiFi # CONFIG_PKG_USING_RW007 is not set + +# +# CYW43012 WiFi +# +# CONFIG_PKG_USING_WLAN_CYW43012 is not set +# end of CYW43012 WiFi + +# +# BL808 WiFi +# +# CONFIG_PKG_USING_WLAN_BL808 is not set +# end of BL808 WiFi + +# +# CYW43439 WiFi +# +# CONFIG_PKG_USING_WLAN_CYW43439 is not set +# end of CYW43439 WiFi # end of Wi-Fi # CONFIG_PKG_USING_COAP is not set @@ -490,7 +509,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_JIOT-C-SDK is not set # CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set # CONFIG_PKG_USING_JOYLINK is not set -# CONFIG_PKG_USING_EZ_IOT_OS is not set # CONFIG_PKG_USING_IOTSHARP_SDK is not set # end of IoT Cloud @@ -513,6 +531,8 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_NMEALIB is not set # CONFIG_PKG_USING_PDULIB is not set # CONFIG_PKG_USING_BTSTACK is not set +# CONFIG_PKG_USING_BT_CYW43012 is not set +# CONFIG_PKG_USING_CYW43XX is not set # CONFIG_PKG_USING_LORAWAN_ED_STACK is not set # CONFIG_PKG_USING_WAYZ_IOTKIT is not set # CONFIG_PKG_USING_MAVLINK is not set @@ -532,6 +552,9 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_ZFTP is not set # CONFIG_PKG_USING_WOL is not set # CONFIG_PKG_USING_ZEPHYR_POLLING is not set +# CONFIG_PKG_USING_MATTER_ADAPTATION_LAYER is not set +# CONFIG_PKG_USING_LHC_MODBUS is not set +# CONFIG_PKG_USING_QMODBUS is not set # end of IoT - internet of things # @@ -584,7 +607,6 @@ CONFIG_RT_USING_ADT_REF=y # LVGL: powerful and easy-to-use embedded GUI library # # CONFIG_PKG_USING_LVGL is not set -# CONFIG_PKG_USING_LITTLEVGL2RTT is not set # CONFIG_PKG_USING_LV_MUSIC_DEMO is not set # CONFIG_PKG_USING_GUI_GUIDER_DEMO is not set # end of LVGL: powerful and easy-to-use embedded GUI library @@ -664,6 +686,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_HASH_MATCH is not set # CONFIG_PKG_USING_ARMV7M_DWT_TOOL is not set # CONFIG_PKG_USING_VOFA_PLUS is not set +# CONFIG_PKG_USING_ZDEBUG is not set # end of tools packages # @@ -690,6 +713,9 @@ CONFIG_RT_USING_ADT_REF=y # CMSIS: ARM Cortex-M Microcontroller Software Interface Standard # # CONFIG_PKG_USING_CMSIS_5 is not set +# CONFIG_PKG_USING_CMSIS_CORE is not set +# CONFIG_PKG_USING_CMSIS_DSP is not set +# CONFIG_PKG_USING_CMSIS_NN is not set # CONFIG_PKG_USING_CMSIS_RTOS1 is not set # CONFIG_PKG_USING_CMSIS_RTOS2 is not set # end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard @@ -706,10 +732,14 @@ CONFIG_RT_USING_ADT_REF=y # end of Micrium: Micrium software products porting for RT-Thread # CONFIG_PKG_USING_FREERTOS_WRAPPER is not set +# CONFIG_PKG_USING_LITEOS_SDK is not set +# CONFIG_PKG_USING_TZ_DATABASE is not set # CONFIG_PKG_USING_CAIRO is not set # CONFIG_PKG_USING_PIXMAN is not set # CONFIG_PKG_USING_PARTITION is not set # CONFIG_PKG_USING_PERF_COUNTER is not set +# CONFIG_PKG_USING_FILEX is not set +# CONFIG_PKG_USING_LEVELX is not set # CONFIG_PKG_USING_FLASHDB is not set # CONFIG_PKG_USING_SQLITE is not set # CONFIG_PKG_USING_RTI is not set @@ -729,6 +759,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_QBOOT is not set # CONFIG_PKG_USING_PPOOL is not set # CONFIG_PKG_USING_OPENAMP is not set +# CONFIG_PKG_USING_RPMSG_LITE is not set # CONFIG_PKG_USING_LPM is not set # CONFIG_PKG_USING_TLSF is not set # CONFIG_PKG_USING_EVENT_RECORDER is not set @@ -742,12 +773,46 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_AGILE_UPGRADE is not set # CONFIG_PKG_USING_FLASH_BLOB is not set # CONFIG_PKG_USING_MLIBC is not set +# CONFIG_PKG_USING_TASK_MSG_BUS is not set +# CONFIG_PKG_USING_SFDB is not set +# CONFIG_PKG_USING_RTP is not set +# CONFIG_PKG_USING_REB is not set +# CONFIG_PKG_USING_R_RHEALSTONE is not set # end of system packages # # peripheral libraries and drivers # +# +# HAL & SDK Drivers +# + +# +# STM32 HAL & SDK Drivers +# +# CONFIG_PKG_USING_STM32L4_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32L4_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32WB55_SDK is not set +# CONFIG_PKG_USING_STM32_SDIO is not set +# end of STM32 HAL & SDK Drivers + +# CONFIG_PKG_USING_BLUETRUM_SDK is not set +# CONFIG_PKG_USING_EMBARC_BSP is not set +# CONFIG_PKG_USING_ESP_IDF is not set + +# +# Kendryte SDK +# +# CONFIG_PKG_USING_K210_SDK is not set +# CONFIG_PKG_USING_KENDRYTE_SDK is not set +# end of Kendryte SDK + +# CONFIG_PKG_USING_NRF5X_SDK is not set +# CONFIG_PKG_USING_NRFX is not set +# CONFIG_PKG_USING_RASPBERRYPI_PICO_SDK is not set +# end of HAL & SDK Drivers + # # sensors drivers # @@ -807,6 +872,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_BALANCE is not set # CONFIG_PKG_USING_SHT2X is not set # CONFIG_PKG_USING_SHT3X is not set +# CONFIG_PKG_USING_SHT4X is not set # CONFIG_PKG_USING_AD7746 is not set # CONFIG_PKG_USING_ADT74XX is not set # CONFIG_PKG_USING_MAX17048 is not set @@ -829,11 +895,10 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_FT6236 is not set # CONFIG_PKG_USING_XPT2046_TOUCH is not set # CONFIG_PKG_USING_CST816X is not set +# CONFIG_PKG_USING_CST812T is not set # end of touch drivers # CONFIG_PKG_USING_REALTEK_AMEBA is not set -# CONFIG_PKG_USING_STM32_SDIO is not set -# CONFIG_PKG_USING_ESP_IDF is not set # CONFIG_PKG_USING_BUTTON is not set # CONFIG_PKG_USING_PCF8574 is not set # CONFIG_PKG_USING_SX12XX is not set @@ -841,16 +906,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_LEDBLINK is not set # CONFIG_PKG_USING_LITTLED is not set # CONFIG_PKG_USING_LKDGUI is not set -# CONFIG_PKG_USING_NRF5X_SDK is not set -# CONFIG_PKG_USING_NRFX is not set - -# -# Kendryte SDK -# -# CONFIG_PKG_USING_K210_SDK is not set -# CONFIG_PKG_USING_KENDRYTE_SDK is not set -# end of Kendryte SDK - # CONFIG_PKG_USING_INFRARED is not set # CONFIG_PKG_USING_MULTI_INFRARED is not set # CONFIG_PKG_USING_AGILE_BUTTON is not set @@ -865,7 +920,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_AS608 is not set # CONFIG_PKG_USING_RC522 is not set # CONFIG_PKG_USING_WS2812B is not set -# CONFIG_PKG_USING_EMBARC_BSP is not set # CONFIG_PKG_USING_EXTERN_RTC_DRIVERS is not set # CONFIG_PKG_USING_MULTI_RTIMER is not set # CONFIG_PKG_USING_MAX7219 is not set @@ -888,7 +942,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_VIRTUAL_SENSOR is not set # CONFIG_PKG_USING_VDEVICE is not set # CONFIG_PKG_USING_SGM706 is not set -# CONFIG_PKG_USING_STM32WB55_SDK is not set # CONFIG_PKG_USING_RDA58XX is not set # CONFIG_PKG_USING_LIBNFC is not set # CONFIG_PKG_USING_MFOC is not set @@ -898,7 +951,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_ROSSERIAL is not set # CONFIG_PKG_USING_MICRO_ROS is not set # CONFIG_PKG_USING_MCP23008 is not set -# CONFIG_PKG_USING_BLUETRUM_SDK is not set # CONFIG_PKG_USING_MISAKA_AT24CXX is not set # CONFIG_PKG_USING_MISAKA_RGB_BLING is not set # CONFIG_PKG_USING_LORA_MODEM_DRIVER is not set @@ -906,12 +958,17 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_MB85RS16 is not set # CONFIG_PKG_USING_RFM300 is not set # CONFIG_PKG_USING_IO_INPUT_FILTER is not set -# CONFIG_PKG_USING_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_ST7789 is not set +# CONFIG_PKG_USING_VS1003 is not set +# CONFIG_PKG_USING_X9555 is not set +# CONFIG_PKG_USING_SYSTEM_RUN_LED is not set +# CONFIG_PKG_USING_BT_MX01 is not set +# CONFIG_PKG_USING_RGPOWER is not set # CONFIG_PKG_USING_SPI_TOOLS is not set # end of peripheral libraries and drivers @@ -927,6 +984,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_ULAPACK is not set # CONFIG_PKG_USING_QUEST is not set # CONFIG_PKG_USING_NAXOS is not set +# CONFIG_PKG_USING_R_TINYMAIX is not set # end of AI packages # @@ -979,6 +1037,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_MINILZO is not set # CONFIG_PKG_USING_QUICKLZ is not set # CONFIG_PKG_USING_LZMA is not set +# CONFIG_PKG_USING_RALARAM is not set # CONFIG_PKG_USING_MULTIBUTTON is not set # CONFIG_PKG_USING_FLEXIBLE_BUTTON is not set # CONFIG_PKG_USING_CANFESTIVAL is not set @@ -1016,7 +1075,9 @@ CONFIG_RT_USING_ADT_REF=y # Projects and Demos # # CONFIG_PKG_USING_ARDUINO_MSGQ_C_CPP_DEMO is not set +# CONFIG_PKG_USING_ARDUINO_SKETCH_LOADER_DEMO is not set # CONFIG_PKG_USING_ARDUINO_ULTRASOUND_RADAR is not set +# CONFIG_PKG_USING_ARDUINO_NINEINONE_SENSOR_SHIELD is not set # CONFIG_PKG_USING_ARDUINO_SENSOR_KIT is not set # CONFIG_PKG_USING_ARDUINO_MATLAB_SUPPORT is not set # end of Projects and Demos @@ -1025,13 +1086,13 @@ CONFIG_RT_USING_ADT_REF=y # Sensors # # CONFIG_PKG_USING_ARDUINO_SENSOR_DEVICE_DRIVERS 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_SENSORLAB is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADXL375 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L0X is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L1X is not set -# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSOR is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL6180X is not set -# CONFIG_PKG_USING_ADAFRUIT_MAX31855 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31855 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31865 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31856 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX6675 is not set @@ -1076,7 +1137,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LIS3MDL is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MLX90640 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MMA8451 is not set -# CONFIG_PKG_USING_ADAFRUIT_MSA301 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MSA301 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPL115A2 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X_RVC is not set @@ -1115,7 +1176,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU21DF is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AS7341 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU31D is not set -# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSORLAB is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_INA260 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TMP007_LIBRARY is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_L3GD20 is not set @@ -1138,7 +1198,7 @@ CONFIG_RT_USING_ADT_REF=y # 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_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 @@ -1146,7 +1206,7 @@ CONFIG_RT_USING_ADT_REF=y # 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_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 @@ -1159,6 +1219,8 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_ARDUINO_SEEED_MCP9600 is not set # CONFIG_PKG_USING_ARDUINO_SEEED_LTC2941 is not set # CONFIG_PKG_USING_ARDUINO_SEEED_LDC1612 is not set +# CONFIG_PKG_USING_ARDUINO_CAPACITIVESENSOR is not set +# CONFIG_PKG_USING_ARDUINO_JARZEBSKI_MPU6050 is not set # end of Sensors # @@ -1166,6 +1228,7 @@ CONFIG_RT_USING_ADT_REF=y # # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_GFX_LIBRARY is not set # CONFIG_PKG_USING_ARDUINO_U8G2 is not set +# CONFIG_PKG_USING_ARDUINO_TFT_ESPI is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ST7735 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SSD1306 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ILI9341 is not set @@ -1175,6 +1238,7 @@ CONFIG_RT_USING_ADT_REF=y # # Timing # +# CONFIG_PKG_USING_ARDUINO_RTCLIB is not set # CONFIG_PKG_USING_ARDUINO_MSTIMER2 is not set # CONFIG_PKG_USING_ARDUINO_TICKER is not set # CONFIG_PKG_USING_ARDUINO_TASKSCHEDULER is not set @@ -1185,6 +1249,8 @@ CONFIG_RT_USING_ADT_REF=y # # CONFIG_PKG_USING_ARDUINO_KALMANFILTER is not set # CONFIG_PKG_USING_ARDUINO_ARDUINOJSON is not set +# CONFIG_PKG_USING_ARDUINO_TENSORFLOW_LITE_MICRO is not set +# CONFIG_PKG_USING_ARDUINO_RUNNINGMEDIAN is not set # end of Data Processing # @@ -1203,11 +1269,11 @@ CONFIG_RT_USING_ADT_REF=y # # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCF8574 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 +# CONFIG_PKG_USING_ARDUINO_SEEED_PCF85063TP is not set # end of Device Control # @@ -1215,7 +1281,6 @@ CONFIG_RT_USING_ADT_REF=y # # 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 # end of Other # @@ -1257,11 +1322,11 @@ CONFIG_RT_USING_SPIM0=y # CONFIG_RT_USING_SPIM2 is not set # CONFIG_RT_USING_SPIM3 is not set CONFIG_BSP_USING_CAN=y -# CONFIG_RT_USING_CANFD is not set +CONFIG_RT_USING_CANFD=y # CONFIG_RT_USING_FILTER is not set -# CONFIG_RT_USING_CAN0 is not set -# CONFIG_RT_USING_CAN1 is not set -# CONFIG_BSP_USING_GPIO is not set +CONFIG_RT_USING_CAN0=y +CONFIG_RT_USING_CAN1=y +CONFIG_BSP_USING_GPIO=y CONFIG_BSP_USING_QSPI=y CONFIG_RT_USING_QSPI0=y CONFIG_USING_QSPI_CHANNEL0=y @@ -1374,6 +1439,7 @@ CONFIG_BOARD_NAME="demo" # # Sdk common configuration # +CONFIG_ELOG_LINE_BUF_SIZE=0x100 # CONFIG_LOG_VERBOS is not set # CONFIG_LOG_DEBUG is not set # CONFIG_LOG_INFO is not set diff --git a/bsp/phytium/aarch32/configs/e2000d_demo_rtthread.h b/bsp/phytium/aarch32/configs/e2000d_demo_rtthread.h index e3124fe3f2..8f4dd6f43f 100644 --- a/bsp/phytium/aarch32/configs/e2000d_demo_rtthread.h +++ b/bsp/phytium/aarch32/configs/e2000d_demo_rtthread.h @@ -297,6 +297,18 @@ /* Wiced WiFi */ /* end of Wiced WiFi */ + +/* CYW43012 WiFi */ + +/* end of CYW43012 WiFi */ + +/* BL808 WiFi */ + +/* end of BL808 WiFi */ + +/* CYW43439 WiFi */ + +/* end of CYW43439 WiFi */ /* end of Wi-Fi */ /* IoT Cloud */ @@ -355,6 +367,17 @@ /* peripheral libraries and drivers */ +/* HAL & SDK Drivers */ + +/* STM32 HAL & SDK Drivers */ + +/* end of STM32 HAL & SDK Drivers */ + +/* Kendryte SDK */ + +/* end of Kendryte SDK */ +/* end of HAL & SDK Drivers */ + /* sensors drivers */ /* end of sensors drivers */ @@ -362,10 +385,6 @@ /* touch drivers */ /* end of touch drivers */ - -/* Kendryte SDK */ - -/* end of Kendryte SDK */ /* end of peripheral libraries and drivers */ /* AI packages */ @@ -449,6 +468,10 @@ #define BSP_USING_SPI #define RT_USING_SPIM0 #define BSP_USING_CAN +#define RT_USING_CANFD +#define RT_USING_CAN0 +#define RT_USING_CAN1 +#define BSP_USING_GPIO #define BSP_USING_QSPI #define RT_USING_QSPI0 #define USING_QSPI_CHANNEL0 @@ -507,6 +530,7 @@ /* Sdk common configuration */ +#define ELOG_LINE_BUF_SIZE 0x100 #define LOG_ERROR #define USE_DEFAULT_INTERRUPT_CONFIG #define INTERRUPT_ROLE_MASTER diff --git a/bsp/phytium/aarch32/configs/e2000q_demo_rtsmart b/bsp/phytium/aarch32/configs/e2000q_demo_rtsmart index aac8766ccf..01d04de9eb 100644 --- a/bsp/phytium/aarch32/configs/e2000q_demo_rtsmart +++ b/bsp/phytium/aarch32/configs/e2000q_demo_rtsmart @@ -481,6 +481,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_WEBTERMINAL is not set # CONFIG_PKG_USING_FREEMODBUS is not set # CONFIG_PKG_USING_NANOPB is not set +# CONFIG_PKG_USING_WIFI_HOST_DRIVER is not set # # Wi-Fi @@ -499,6 +500,24 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # end of Wiced WiFi # CONFIG_PKG_USING_RW007 is not set + +# +# CYW43012 WiFi +# +# CONFIG_PKG_USING_WLAN_CYW43012 is not set +# end of CYW43012 WiFi + +# +# BL808 WiFi +# +# CONFIG_PKG_USING_WLAN_BL808 is not set +# end of BL808 WiFi + +# +# CYW43439 WiFi +# +# CONFIG_PKG_USING_WLAN_CYW43439 is not set +# end of CYW43439 WiFi # end of Wi-Fi # CONFIG_PKG_USING_COAP is not set @@ -522,7 +541,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_JIOT-C-SDK is not set # CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set # CONFIG_PKG_USING_JOYLINK is not set -# CONFIG_PKG_USING_EZ_IOT_OS is not set # CONFIG_PKG_USING_IOTSHARP_SDK is not set # end of IoT Cloud @@ -545,6 +563,8 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_NMEALIB is not set # CONFIG_PKG_USING_PDULIB is not set # CONFIG_PKG_USING_BTSTACK is not set +# CONFIG_PKG_USING_BT_CYW43012 is not set +# CONFIG_PKG_USING_CYW43XX is not set # CONFIG_PKG_USING_LORAWAN_ED_STACK is not set # CONFIG_PKG_USING_WAYZ_IOTKIT is not set # CONFIG_PKG_USING_MAVLINK is not set @@ -564,6 +584,9 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_ZFTP is not set # CONFIG_PKG_USING_WOL is not set # CONFIG_PKG_USING_ZEPHYR_POLLING is not set +# CONFIG_PKG_USING_MATTER_ADAPTATION_LAYER is not set +# CONFIG_PKG_USING_LHC_MODBUS is not set +# CONFIG_PKG_USING_QMODBUS is not set # end of IoT - internet of things # @@ -616,7 +639,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # LVGL: powerful and easy-to-use embedded GUI library # # CONFIG_PKG_USING_LVGL is not set -# CONFIG_PKG_USING_LITTLEVGL2RTT is not set # CONFIG_PKG_USING_LV_MUSIC_DEMO is not set # CONFIG_PKG_USING_GUI_GUIDER_DEMO is not set # end of LVGL: powerful and easy-to-use embedded GUI library @@ -696,6 +718,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_HASH_MATCH is not set # CONFIG_PKG_USING_ARMV7M_DWT_TOOL is not set # CONFIG_PKG_USING_VOFA_PLUS is not set +# CONFIG_PKG_USING_ZDEBUG is not set # end of tools packages # @@ -722,6 +745,9 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CMSIS: ARM Cortex-M Microcontroller Software Interface Standard # # CONFIG_PKG_USING_CMSIS_5 is not set +# CONFIG_PKG_USING_CMSIS_CORE is not set +# CONFIG_PKG_USING_CMSIS_DSP is not set +# CONFIG_PKG_USING_CMSIS_NN is not set # CONFIG_PKG_USING_CMSIS_RTOS1 is not set # CONFIG_PKG_USING_CMSIS_RTOS2 is not set # end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard @@ -738,10 +764,14 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # end of Micrium: Micrium software products porting for RT-Thread # CONFIG_PKG_USING_FREERTOS_WRAPPER is not set +# CONFIG_PKG_USING_LITEOS_SDK is not set +# CONFIG_PKG_USING_TZ_DATABASE is not set # CONFIG_PKG_USING_CAIRO is not set # CONFIG_PKG_USING_PIXMAN is not set # CONFIG_PKG_USING_PARTITION is not set # CONFIG_PKG_USING_PERF_COUNTER is not set +# CONFIG_PKG_USING_FILEX is not set +# CONFIG_PKG_USING_LEVELX is not set # CONFIG_PKG_USING_FLASHDB is not set # CONFIG_PKG_USING_SQLITE is not set # CONFIG_PKG_USING_RTI is not set @@ -761,6 +791,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_QBOOT is not set # CONFIG_PKG_USING_PPOOL is not set # CONFIG_PKG_USING_OPENAMP is not set +# CONFIG_PKG_USING_RPMSG_LITE is not set # CONFIG_PKG_USING_LPM is not set # CONFIG_PKG_USING_TLSF is not set # CONFIG_PKG_USING_EVENT_RECORDER is not set @@ -774,12 +805,46 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_AGILE_UPGRADE is not set # CONFIG_PKG_USING_FLASH_BLOB is not set # CONFIG_PKG_USING_MLIBC is not set +# CONFIG_PKG_USING_TASK_MSG_BUS is not set +# CONFIG_PKG_USING_SFDB is not set +# CONFIG_PKG_USING_RTP is not set +# CONFIG_PKG_USING_REB is not set +# CONFIG_PKG_USING_R_RHEALSTONE is not set # end of system packages # # peripheral libraries and drivers # +# +# HAL & SDK Drivers +# + +# +# STM32 HAL & SDK Drivers +# +# CONFIG_PKG_USING_STM32L4_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32L4_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32WB55_SDK is not set +# CONFIG_PKG_USING_STM32_SDIO is not set +# end of STM32 HAL & SDK Drivers + +# CONFIG_PKG_USING_BLUETRUM_SDK is not set +# CONFIG_PKG_USING_EMBARC_BSP is not set +# CONFIG_PKG_USING_ESP_IDF is not set + +# +# Kendryte SDK +# +# CONFIG_PKG_USING_K210_SDK is not set +# CONFIG_PKG_USING_KENDRYTE_SDK is not set +# end of Kendryte SDK + +# CONFIG_PKG_USING_NRF5X_SDK is not set +# CONFIG_PKG_USING_NRFX is not set +# CONFIG_PKG_USING_RASPBERRYPI_PICO_SDK is not set +# end of HAL & SDK Drivers + # # sensors drivers # @@ -839,6 +904,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_BALANCE is not set # CONFIG_PKG_USING_SHT2X is not set # CONFIG_PKG_USING_SHT3X is not set +# CONFIG_PKG_USING_SHT4X is not set # CONFIG_PKG_USING_AD7746 is not set # CONFIG_PKG_USING_ADT74XX is not set # CONFIG_PKG_USING_MAX17048 is not set @@ -861,11 +927,10 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_FT6236 is not set # CONFIG_PKG_USING_XPT2046_TOUCH is not set # CONFIG_PKG_USING_CST816X is not set +# CONFIG_PKG_USING_CST812T is not set # end of touch drivers # CONFIG_PKG_USING_REALTEK_AMEBA is not set -# CONFIG_PKG_USING_STM32_SDIO is not set -# CONFIG_PKG_USING_ESP_IDF is not set # CONFIG_PKG_USING_BUTTON is not set # CONFIG_PKG_USING_PCF8574 is not set # CONFIG_PKG_USING_SX12XX is not set @@ -873,16 +938,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_LEDBLINK is not set # CONFIG_PKG_USING_LITTLED is not set # CONFIG_PKG_USING_LKDGUI is not set -# CONFIG_PKG_USING_NRF5X_SDK is not set -# CONFIG_PKG_USING_NRFX is not set - -# -# Kendryte SDK -# -# CONFIG_PKG_USING_K210_SDK is not set -# CONFIG_PKG_USING_KENDRYTE_SDK is not set -# end of Kendryte SDK - # CONFIG_PKG_USING_INFRARED is not set # CONFIG_PKG_USING_MULTI_INFRARED is not set # CONFIG_PKG_USING_AGILE_BUTTON is not set @@ -897,7 +952,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_AS608 is not set # CONFIG_PKG_USING_RC522 is not set # CONFIG_PKG_USING_WS2812B is not set -# CONFIG_PKG_USING_EMBARC_BSP is not set # CONFIG_PKG_USING_EXTERN_RTC_DRIVERS is not set # CONFIG_PKG_USING_MULTI_RTIMER is not set # CONFIG_PKG_USING_MAX7219 is not set @@ -920,7 +974,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_VIRTUAL_SENSOR is not set # CONFIG_PKG_USING_VDEVICE is not set # CONFIG_PKG_USING_SGM706 is not set -# CONFIG_PKG_USING_STM32WB55_SDK is not set # CONFIG_PKG_USING_RDA58XX is not set # CONFIG_PKG_USING_LIBNFC is not set # CONFIG_PKG_USING_MFOC is not set @@ -930,7 +983,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_ROSSERIAL is not set # CONFIG_PKG_USING_MICRO_ROS is not set # CONFIG_PKG_USING_MCP23008 is not set -# CONFIG_PKG_USING_BLUETRUM_SDK is not set # CONFIG_PKG_USING_MISAKA_AT24CXX is not set # CONFIG_PKG_USING_MISAKA_RGB_BLING is not set # CONFIG_PKG_USING_LORA_MODEM_DRIVER is not set @@ -938,12 +990,17 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_MB85RS16 is not set # CONFIG_PKG_USING_RFM300 is not set # CONFIG_PKG_USING_IO_INPUT_FILTER is not set -# CONFIG_PKG_USING_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_ST7789 is not set +# CONFIG_PKG_USING_VS1003 is not set +# CONFIG_PKG_USING_X9555 is not set +# CONFIG_PKG_USING_SYSTEM_RUN_LED is not set +# CONFIG_PKG_USING_BT_MX01 is not set +# CONFIG_PKG_USING_RGPOWER is not set # CONFIG_PKG_USING_SPI_TOOLS is not set # end of peripheral libraries and drivers @@ -959,6 +1016,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_ULAPACK is not set # CONFIG_PKG_USING_QUEST is not set # CONFIG_PKG_USING_NAXOS is not set +# CONFIG_PKG_USING_R_TINYMAIX is not set # end of AI packages # @@ -1011,6 +1069,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_MINILZO is not set # CONFIG_PKG_USING_QUICKLZ is not set # CONFIG_PKG_USING_LZMA is not set +# CONFIG_PKG_USING_RALARAM is not set # CONFIG_PKG_USING_MULTIBUTTON is not set # CONFIG_PKG_USING_FLEXIBLE_BUTTON is not set # CONFIG_PKG_USING_CANFESTIVAL is not set @@ -1048,7 +1107,9 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # Projects and Demos # # CONFIG_PKG_USING_ARDUINO_MSGQ_C_CPP_DEMO is not set +# CONFIG_PKG_USING_ARDUINO_SKETCH_LOADER_DEMO is not set # CONFIG_PKG_USING_ARDUINO_ULTRASOUND_RADAR is not set +# CONFIG_PKG_USING_ARDUINO_NINEINONE_SENSOR_SHIELD is not set # CONFIG_PKG_USING_ARDUINO_SENSOR_KIT is not set # CONFIG_PKG_USING_ARDUINO_MATLAB_SUPPORT is not set # end of Projects and Demos @@ -1057,13 +1118,13 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # Sensors # # CONFIG_PKG_USING_ARDUINO_SENSOR_DEVICE_DRIVERS 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_SENSORLAB is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADXL375 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L0X is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L1X is not set -# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSOR is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL6180X is not set -# CONFIG_PKG_USING_ADAFRUIT_MAX31855 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31855 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31865 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31856 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX6675 is not set @@ -1108,7 +1169,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LIS3MDL is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MLX90640 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MMA8451 is not set -# CONFIG_PKG_USING_ADAFRUIT_MSA301 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MSA301 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPL115A2 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X_RVC is not set @@ -1147,7 +1208,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU21DF is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AS7341 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU31D is not set -# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSORLAB is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_INA260 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TMP007_LIBRARY is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_L3GD20 is not set @@ -1170,7 +1230,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # 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_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 @@ -1178,7 +1238,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # 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_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 @@ -1191,6 +1251,8 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_ARDUINO_SEEED_MCP9600 is not set # CONFIG_PKG_USING_ARDUINO_SEEED_LTC2941 is not set # CONFIG_PKG_USING_ARDUINO_SEEED_LDC1612 is not set +# CONFIG_PKG_USING_ARDUINO_CAPACITIVESENSOR is not set +# CONFIG_PKG_USING_ARDUINO_JARZEBSKI_MPU6050 is not set # end of Sensors # @@ -1198,6 +1260,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_GFX_LIBRARY is not set # CONFIG_PKG_USING_ARDUINO_U8G2 is not set +# CONFIG_PKG_USING_ARDUINO_TFT_ESPI is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ST7735 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SSD1306 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ILI9341 is not set @@ -1207,6 +1270,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # # Timing # +# CONFIG_PKG_USING_ARDUINO_RTCLIB is not set # CONFIG_PKG_USING_ARDUINO_MSTIMER2 is not set # CONFIG_PKG_USING_ARDUINO_TICKER is not set # CONFIG_PKG_USING_ARDUINO_TASKSCHEDULER is not set @@ -1217,6 +1281,8 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # # CONFIG_PKG_USING_ARDUINO_KALMANFILTER is not set # CONFIG_PKG_USING_ARDUINO_ARDUINOJSON is not set +# CONFIG_PKG_USING_ARDUINO_TENSORFLOW_LITE_MICRO is not set +# CONFIG_PKG_USING_ARDUINO_RUNNINGMEDIAN is not set # end of Data Processing # @@ -1235,11 +1301,11 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCF8574 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 +# CONFIG_PKG_USING_ARDUINO_SEEED_PCF85063TP is not set # end of Device Control # @@ -1247,7 +1313,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # # 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 # end of Other # @@ -1289,11 +1354,11 @@ CONFIG_RT_USING_SPIM0=y # CONFIG_RT_USING_SPIM2 is not set # CONFIG_RT_USING_SPIM3 is not set CONFIG_BSP_USING_CAN=y -# CONFIG_RT_USING_CANFD is not set +CONFIG_RT_USING_CANFD=y # CONFIG_RT_USING_FILTER is not set CONFIG_RT_USING_CAN0=y CONFIG_RT_USING_CAN1=y -# CONFIG_BSP_USING_GPIO is not set +CONFIG_BSP_USING_GPIO=y CONFIG_BSP_USING_QSPI=y CONFIG_RT_USING_QSPI0=y CONFIG_USING_QSPI_CHANNEL0=y @@ -1405,6 +1470,7 @@ CONFIG_E2000Q_DEMO_BOARD=y # # Sdk common configuration # +CONFIG_ELOG_LINE_BUF_SIZE=0x100 # CONFIG_LOG_VERBOS is not set # CONFIG_LOG_DEBUG is not set # CONFIG_LOG_INFO is not set diff --git a/bsp/phytium/aarch32/configs/e2000q_demo_rtsmart.h b/bsp/phytium/aarch32/configs/e2000q_demo_rtsmart.h index ff4d4e7d12..9c1ea97896 100644 --- a/bsp/phytium/aarch32/configs/e2000q_demo_rtsmart.h +++ b/bsp/phytium/aarch32/configs/e2000q_demo_rtsmart.h @@ -329,6 +329,18 @@ /* Wiced WiFi */ /* end of Wiced WiFi */ + +/* CYW43012 WiFi */ + +/* end of CYW43012 WiFi */ + +/* BL808 WiFi */ + +/* end of BL808 WiFi */ + +/* CYW43439 WiFi */ + +/* end of CYW43439 WiFi */ /* end of Wi-Fi */ /* IoT Cloud */ @@ -387,6 +399,17 @@ /* peripheral libraries and drivers */ +/* HAL & SDK Drivers */ + +/* STM32 HAL & SDK Drivers */ + +/* end of STM32 HAL & SDK Drivers */ + +/* Kendryte SDK */ + +/* end of Kendryte SDK */ +/* end of HAL & SDK Drivers */ + /* sensors drivers */ /* end of sensors drivers */ @@ -394,10 +417,6 @@ /* touch drivers */ /* end of touch drivers */ - -/* Kendryte SDK */ - -/* end of Kendryte SDK */ /* end of peripheral libraries and drivers */ /* AI packages */ @@ -481,8 +500,10 @@ #define BSP_USING_SPI #define RT_USING_SPIM0 #define BSP_USING_CAN +#define RT_USING_CANFD #define RT_USING_CAN0 #define RT_USING_CAN1 +#define BSP_USING_GPIO #define BSP_USING_QSPI #define RT_USING_QSPI0 #define USING_QSPI_CHANNEL0 @@ -540,6 +561,7 @@ /* Sdk common configuration */ +#define ELOG_LINE_BUF_SIZE 0x100 #define LOG_ERROR #define USE_DEFAULT_INTERRUPT_CONFIG #define INTERRUPT_ROLE_MASTER diff --git a/bsp/phytium/aarch32/configs/e2000q_demo_rtthread b/bsp/phytium/aarch32/configs/e2000q_demo_rtthread index c4fe160c82..006545bb19 100644 --- a/bsp/phytium/aarch32/configs/e2000q_demo_rtthread +++ b/bsp/phytium/aarch32/configs/e2000q_demo_rtthread @@ -449,6 +449,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_WEBTERMINAL is not set # CONFIG_PKG_USING_FREEMODBUS is not set # CONFIG_PKG_USING_NANOPB is not set +# CONFIG_PKG_USING_WIFI_HOST_DRIVER is not set # # Wi-Fi @@ -467,6 +468,24 @@ CONFIG_RT_USING_ADT_REF=y # end of Wiced WiFi # CONFIG_PKG_USING_RW007 is not set + +# +# CYW43012 WiFi +# +# CONFIG_PKG_USING_WLAN_CYW43012 is not set +# end of CYW43012 WiFi + +# +# BL808 WiFi +# +# CONFIG_PKG_USING_WLAN_BL808 is not set +# end of BL808 WiFi + +# +# CYW43439 WiFi +# +# CONFIG_PKG_USING_WLAN_CYW43439 is not set +# end of CYW43439 WiFi # end of Wi-Fi # CONFIG_PKG_USING_COAP is not set @@ -490,7 +509,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_JIOT-C-SDK is not set # CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set # CONFIG_PKG_USING_JOYLINK is not set -# CONFIG_PKG_USING_EZ_IOT_OS is not set # CONFIG_PKG_USING_IOTSHARP_SDK is not set # end of IoT Cloud @@ -513,6 +531,8 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_NMEALIB is not set # CONFIG_PKG_USING_PDULIB is not set # CONFIG_PKG_USING_BTSTACK is not set +# CONFIG_PKG_USING_BT_CYW43012 is not set +# CONFIG_PKG_USING_CYW43XX is not set # CONFIG_PKG_USING_LORAWAN_ED_STACK is not set # CONFIG_PKG_USING_WAYZ_IOTKIT is not set # CONFIG_PKG_USING_MAVLINK is not set @@ -532,6 +552,9 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_ZFTP is not set # CONFIG_PKG_USING_WOL is not set # CONFIG_PKG_USING_ZEPHYR_POLLING is not set +# CONFIG_PKG_USING_MATTER_ADAPTATION_LAYER is not set +# CONFIG_PKG_USING_LHC_MODBUS is not set +# CONFIG_PKG_USING_QMODBUS is not set # end of IoT - internet of things # @@ -584,7 +607,6 @@ CONFIG_RT_USING_ADT_REF=y # LVGL: powerful and easy-to-use embedded GUI library # # CONFIG_PKG_USING_LVGL is not set -# CONFIG_PKG_USING_LITTLEVGL2RTT is not set # CONFIG_PKG_USING_LV_MUSIC_DEMO is not set # CONFIG_PKG_USING_GUI_GUIDER_DEMO is not set # end of LVGL: powerful and easy-to-use embedded GUI library @@ -664,6 +686,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_HASH_MATCH is not set # CONFIG_PKG_USING_ARMV7M_DWT_TOOL is not set # CONFIG_PKG_USING_VOFA_PLUS is not set +# CONFIG_PKG_USING_ZDEBUG is not set # end of tools packages # @@ -690,6 +713,9 @@ CONFIG_RT_USING_ADT_REF=y # CMSIS: ARM Cortex-M Microcontroller Software Interface Standard # # CONFIG_PKG_USING_CMSIS_5 is not set +# CONFIG_PKG_USING_CMSIS_CORE is not set +# CONFIG_PKG_USING_CMSIS_DSP is not set +# CONFIG_PKG_USING_CMSIS_NN is not set # CONFIG_PKG_USING_CMSIS_RTOS1 is not set # CONFIG_PKG_USING_CMSIS_RTOS2 is not set # end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard @@ -706,10 +732,14 @@ CONFIG_RT_USING_ADT_REF=y # end of Micrium: Micrium software products porting for RT-Thread # CONFIG_PKG_USING_FREERTOS_WRAPPER is not set +# CONFIG_PKG_USING_LITEOS_SDK is not set +# CONFIG_PKG_USING_TZ_DATABASE is not set # CONFIG_PKG_USING_CAIRO is not set # CONFIG_PKG_USING_PIXMAN is not set # CONFIG_PKG_USING_PARTITION is not set # CONFIG_PKG_USING_PERF_COUNTER is not set +# CONFIG_PKG_USING_FILEX is not set +# CONFIG_PKG_USING_LEVELX is not set # CONFIG_PKG_USING_FLASHDB is not set # CONFIG_PKG_USING_SQLITE is not set # CONFIG_PKG_USING_RTI is not set @@ -729,6 +759,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_QBOOT is not set # CONFIG_PKG_USING_PPOOL is not set # CONFIG_PKG_USING_OPENAMP is not set +# CONFIG_PKG_USING_RPMSG_LITE is not set # CONFIG_PKG_USING_LPM is not set # CONFIG_PKG_USING_TLSF is not set # CONFIG_PKG_USING_EVENT_RECORDER is not set @@ -742,12 +773,46 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_AGILE_UPGRADE is not set # CONFIG_PKG_USING_FLASH_BLOB is not set # CONFIG_PKG_USING_MLIBC is not set +# CONFIG_PKG_USING_TASK_MSG_BUS is not set +# CONFIG_PKG_USING_SFDB is not set +# CONFIG_PKG_USING_RTP is not set +# CONFIG_PKG_USING_REB is not set +# CONFIG_PKG_USING_R_RHEALSTONE is not set # end of system packages # # peripheral libraries and drivers # +# +# HAL & SDK Drivers +# + +# +# STM32 HAL & SDK Drivers +# +# CONFIG_PKG_USING_STM32L4_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32L4_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32WB55_SDK is not set +# CONFIG_PKG_USING_STM32_SDIO is not set +# end of STM32 HAL & SDK Drivers + +# CONFIG_PKG_USING_BLUETRUM_SDK is not set +# CONFIG_PKG_USING_EMBARC_BSP is not set +# CONFIG_PKG_USING_ESP_IDF is not set + +# +# Kendryte SDK +# +# CONFIG_PKG_USING_K210_SDK is not set +# CONFIG_PKG_USING_KENDRYTE_SDK is not set +# end of Kendryte SDK + +# CONFIG_PKG_USING_NRF5X_SDK is not set +# CONFIG_PKG_USING_NRFX is not set +# CONFIG_PKG_USING_RASPBERRYPI_PICO_SDK is not set +# end of HAL & SDK Drivers + # # sensors drivers # @@ -807,6 +872,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_BALANCE is not set # CONFIG_PKG_USING_SHT2X is not set # CONFIG_PKG_USING_SHT3X is not set +# CONFIG_PKG_USING_SHT4X is not set # CONFIG_PKG_USING_AD7746 is not set # CONFIG_PKG_USING_ADT74XX is not set # CONFIG_PKG_USING_MAX17048 is not set @@ -829,11 +895,10 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_FT6236 is not set # CONFIG_PKG_USING_XPT2046_TOUCH is not set # CONFIG_PKG_USING_CST816X is not set +# CONFIG_PKG_USING_CST812T is not set # end of touch drivers # CONFIG_PKG_USING_REALTEK_AMEBA is not set -# CONFIG_PKG_USING_STM32_SDIO is not set -# CONFIG_PKG_USING_ESP_IDF is not set # CONFIG_PKG_USING_BUTTON is not set # CONFIG_PKG_USING_PCF8574 is not set # CONFIG_PKG_USING_SX12XX is not set @@ -841,16 +906,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_LEDBLINK is not set # CONFIG_PKG_USING_LITTLED is not set # CONFIG_PKG_USING_LKDGUI is not set -# CONFIG_PKG_USING_NRF5X_SDK is not set -# CONFIG_PKG_USING_NRFX is not set - -# -# Kendryte SDK -# -# CONFIG_PKG_USING_K210_SDK is not set -# CONFIG_PKG_USING_KENDRYTE_SDK is not set -# end of Kendryte SDK - # CONFIG_PKG_USING_INFRARED is not set # CONFIG_PKG_USING_MULTI_INFRARED is not set # CONFIG_PKG_USING_AGILE_BUTTON is not set @@ -865,7 +920,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_AS608 is not set # CONFIG_PKG_USING_RC522 is not set # CONFIG_PKG_USING_WS2812B is not set -# CONFIG_PKG_USING_EMBARC_BSP is not set # CONFIG_PKG_USING_EXTERN_RTC_DRIVERS is not set # CONFIG_PKG_USING_MULTI_RTIMER is not set # CONFIG_PKG_USING_MAX7219 is not set @@ -888,7 +942,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_VIRTUAL_SENSOR is not set # CONFIG_PKG_USING_VDEVICE is not set # CONFIG_PKG_USING_SGM706 is not set -# CONFIG_PKG_USING_STM32WB55_SDK is not set # CONFIG_PKG_USING_RDA58XX is not set # CONFIG_PKG_USING_LIBNFC is not set # CONFIG_PKG_USING_MFOC is not set @@ -898,7 +951,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_ROSSERIAL is not set # CONFIG_PKG_USING_MICRO_ROS is not set # CONFIG_PKG_USING_MCP23008 is not set -# CONFIG_PKG_USING_BLUETRUM_SDK is not set # CONFIG_PKG_USING_MISAKA_AT24CXX is not set # CONFIG_PKG_USING_MISAKA_RGB_BLING is not set # CONFIG_PKG_USING_LORA_MODEM_DRIVER is not set @@ -906,12 +958,17 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_MB85RS16 is not set # CONFIG_PKG_USING_RFM300 is not set # CONFIG_PKG_USING_IO_INPUT_FILTER is not set -# CONFIG_PKG_USING_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_ST7789 is not set +# CONFIG_PKG_USING_VS1003 is not set +# CONFIG_PKG_USING_X9555 is not set +# CONFIG_PKG_USING_SYSTEM_RUN_LED is not set +# CONFIG_PKG_USING_BT_MX01 is not set +# CONFIG_PKG_USING_RGPOWER is not set # CONFIG_PKG_USING_SPI_TOOLS is not set # end of peripheral libraries and drivers @@ -927,6 +984,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_ULAPACK is not set # CONFIG_PKG_USING_QUEST is not set # CONFIG_PKG_USING_NAXOS is not set +# CONFIG_PKG_USING_R_TINYMAIX is not set # end of AI packages # @@ -979,6 +1037,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_MINILZO is not set # CONFIG_PKG_USING_QUICKLZ is not set # CONFIG_PKG_USING_LZMA is not set +# CONFIG_PKG_USING_RALARAM is not set # CONFIG_PKG_USING_MULTIBUTTON is not set # CONFIG_PKG_USING_FLEXIBLE_BUTTON is not set # CONFIG_PKG_USING_CANFESTIVAL is not set @@ -1016,7 +1075,9 @@ CONFIG_RT_USING_ADT_REF=y # Projects and Demos # # CONFIG_PKG_USING_ARDUINO_MSGQ_C_CPP_DEMO is not set +# CONFIG_PKG_USING_ARDUINO_SKETCH_LOADER_DEMO is not set # CONFIG_PKG_USING_ARDUINO_ULTRASOUND_RADAR is not set +# CONFIG_PKG_USING_ARDUINO_NINEINONE_SENSOR_SHIELD is not set # CONFIG_PKG_USING_ARDUINO_SENSOR_KIT is not set # CONFIG_PKG_USING_ARDUINO_MATLAB_SUPPORT is not set # end of Projects and Demos @@ -1025,13 +1086,13 @@ CONFIG_RT_USING_ADT_REF=y # Sensors # # CONFIG_PKG_USING_ARDUINO_SENSOR_DEVICE_DRIVERS 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_SENSORLAB is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADXL375 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L0X is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L1X is not set -# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSOR is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL6180X is not set -# CONFIG_PKG_USING_ADAFRUIT_MAX31855 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31855 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31865 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31856 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX6675 is not set @@ -1076,7 +1137,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LIS3MDL is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MLX90640 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MMA8451 is not set -# CONFIG_PKG_USING_ADAFRUIT_MSA301 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MSA301 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPL115A2 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X_RVC is not set @@ -1115,7 +1176,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU21DF is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AS7341 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU31D is not set -# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSORLAB is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_INA260 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TMP007_LIBRARY is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_L3GD20 is not set @@ -1138,7 +1198,7 @@ CONFIG_RT_USING_ADT_REF=y # 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_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 @@ -1146,7 +1206,7 @@ CONFIG_RT_USING_ADT_REF=y # 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_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 @@ -1159,6 +1219,8 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_ARDUINO_SEEED_MCP9600 is not set # CONFIG_PKG_USING_ARDUINO_SEEED_LTC2941 is not set # CONFIG_PKG_USING_ARDUINO_SEEED_LDC1612 is not set +# CONFIG_PKG_USING_ARDUINO_CAPACITIVESENSOR is not set +# CONFIG_PKG_USING_ARDUINO_JARZEBSKI_MPU6050 is not set # end of Sensors # @@ -1166,6 +1228,7 @@ CONFIG_RT_USING_ADT_REF=y # # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_GFX_LIBRARY is not set # CONFIG_PKG_USING_ARDUINO_U8G2 is not set +# CONFIG_PKG_USING_ARDUINO_TFT_ESPI is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ST7735 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SSD1306 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ILI9341 is not set @@ -1175,6 +1238,7 @@ CONFIG_RT_USING_ADT_REF=y # # Timing # +# CONFIG_PKG_USING_ARDUINO_RTCLIB is not set # CONFIG_PKG_USING_ARDUINO_MSTIMER2 is not set # CONFIG_PKG_USING_ARDUINO_TICKER is not set # CONFIG_PKG_USING_ARDUINO_TASKSCHEDULER is not set @@ -1185,6 +1249,8 @@ CONFIG_RT_USING_ADT_REF=y # # CONFIG_PKG_USING_ARDUINO_KALMANFILTER is not set # CONFIG_PKG_USING_ARDUINO_ARDUINOJSON is not set +# CONFIG_PKG_USING_ARDUINO_TENSORFLOW_LITE_MICRO is not set +# CONFIG_PKG_USING_ARDUINO_RUNNINGMEDIAN is not set # end of Data Processing # @@ -1203,11 +1269,11 @@ CONFIG_RT_USING_ADT_REF=y # # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCF8574 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 +# CONFIG_PKG_USING_ARDUINO_SEEED_PCF85063TP is not set # end of Device Control # @@ -1215,7 +1281,6 @@ CONFIG_RT_USING_ADT_REF=y # # 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 # end of Other # @@ -1257,11 +1322,11 @@ CONFIG_RT_USING_SPIM0=y # CONFIG_RT_USING_SPIM2 is not set # CONFIG_RT_USING_SPIM3 is not set CONFIG_BSP_USING_CAN=y -# CONFIG_RT_USING_CANFD is not set +CONFIG_RT_USING_CANFD=y # CONFIG_RT_USING_FILTER is not set -# CONFIG_RT_USING_CAN0 is not set -# CONFIG_RT_USING_CAN1 is not set -# CONFIG_BSP_USING_GPIO is not set +CONFIG_RT_USING_CAN0=y +CONFIG_RT_USING_CAN1=y +CONFIG_BSP_USING_GPIO=y CONFIG_BSP_USING_QSPI=y CONFIG_RT_USING_QSPI0=y CONFIG_USING_QSPI_CHANNEL0=y @@ -1373,6 +1438,7 @@ CONFIG_E2000Q_DEMO_BOARD=y # # Sdk common configuration # +CONFIG_ELOG_LINE_BUF_SIZE=0x100 # CONFIG_LOG_VERBOS is not set # CONFIG_LOG_DEBUG is not set # CONFIG_LOG_INFO is not set diff --git a/bsp/phytium/aarch32/configs/e2000q_demo_rtthread.h b/bsp/phytium/aarch32/configs/e2000q_demo_rtthread.h index 7e70654d0f..d5c52164aa 100644 --- a/bsp/phytium/aarch32/configs/e2000q_demo_rtthread.h +++ b/bsp/phytium/aarch32/configs/e2000q_demo_rtthread.h @@ -297,6 +297,18 @@ /* Wiced WiFi */ /* end of Wiced WiFi */ + +/* CYW43012 WiFi */ + +/* end of CYW43012 WiFi */ + +/* BL808 WiFi */ + +/* end of BL808 WiFi */ + +/* CYW43439 WiFi */ + +/* end of CYW43439 WiFi */ /* end of Wi-Fi */ /* IoT Cloud */ @@ -355,6 +367,17 @@ /* peripheral libraries and drivers */ +/* HAL & SDK Drivers */ + +/* STM32 HAL & SDK Drivers */ + +/* end of STM32 HAL & SDK Drivers */ + +/* Kendryte SDK */ + +/* end of Kendryte SDK */ +/* end of HAL & SDK Drivers */ + /* sensors drivers */ /* end of sensors drivers */ @@ -362,10 +385,6 @@ /* touch drivers */ /* end of touch drivers */ - -/* Kendryte SDK */ - -/* end of Kendryte SDK */ /* end of peripheral libraries and drivers */ /* AI packages */ @@ -449,6 +468,10 @@ #define BSP_USING_SPI #define RT_USING_SPIM0 #define BSP_USING_CAN +#define RT_USING_CANFD +#define RT_USING_CAN0 +#define RT_USING_CAN1 +#define BSP_USING_GPIO #define BSP_USING_QSPI #define RT_USING_QSPI0 #define USING_QSPI_CHANNEL0 @@ -507,6 +530,7 @@ /* Sdk common configuration */ +#define ELOG_LINE_BUF_SIZE 0x100 #define LOG_ERROR #define USE_DEFAULT_INTERRUPT_CONFIG #define INTERRUPT_ROLE_MASTER diff --git a/bsp/phytium/aarch32/configs/phytium_pi_rtsmart b/bsp/phytium/aarch32/configs/phytium_pi_rtsmart index 93088a158b..67ab1c1f66 100644 --- a/bsp/phytium/aarch32/configs/phytium_pi_rtsmart +++ b/bsp/phytium/aarch32/configs/phytium_pi_rtsmart @@ -481,6 +481,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_WEBTERMINAL is not set # CONFIG_PKG_USING_FREEMODBUS is not set # CONFIG_PKG_USING_NANOPB is not set +# CONFIG_PKG_USING_WIFI_HOST_DRIVER is not set # # Wi-Fi @@ -499,6 +500,24 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # end of Wiced WiFi # CONFIG_PKG_USING_RW007 is not set + +# +# CYW43012 WiFi +# +# CONFIG_PKG_USING_WLAN_CYW43012 is not set +# end of CYW43012 WiFi + +# +# BL808 WiFi +# +# CONFIG_PKG_USING_WLAN_BL808 is not set +# end of BL808 WiFi + +# +# CYW43439 WiFi +# +# CONFIG_PKG_USING_WLAN_CYW43439 is not set +# end of CYW43439 WiFi # end of Wi-Fi # CONFIG_PKG_USING_COAP is not set @@ -522,7 +541,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_JIOT-C-SDK is not set # CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set # CONFIG_PKG_USING_JOYLINK is not set -# CONFIG_PKG_USING_EZ_IOT_OS is not set # CONFIG_PKG_USING_IOTSHARP_SDK is not set # end of IoT Cloud @@ -545,6 +563,8 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_NMEALIB is not set # CONFIG_PKG_USING_PDULIB is not set # CONFIG_PKG_USING_BTSTACK is not set +# CONFIG_PKG_USING_BT_CYW43012 is not set +# CONFIG_PKG_USING_CYW43XX is not set # CONFIG_PKG_USING_LORAWAN_ED_STACK is not set # CONFIG_PKG_USING_WAYZ_IOTKIT is not set # CONFIG_PKG_USING_MAVLINK is not set @@ -564,6 +584,9 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_ZFTP is not set # CONFIG_PKG_USING_WOL is not set # CONFIG_PKG_USING_ZEPHYR_POLLING is not set +# CONFIG_PKG_USING_MATTER_ADAPTATION_LAYER is not set +# CONFIG_PKG_USING_LHC_MODBUS is not set +# CONFIG_PKG_USING_QMODBUS is not set # end of IoT - internet of things # @@ -616,7 +639,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # LVGL: powerful and easy-to-use embedded GUI library # # CONFIG_PKG_USING_LVGL is not set -# CONFIG_PKG_USING_LITTLEVGL2RTT is not set # CONFIG_PKG_USING_LV_MUSIC_DEMO is not set # CONFIG_PKG_USING_GUI_GUIDER_DEMO is not set # end of LVGL: powerful and easy-to-use embedded GUI library @@ -696,6 +718,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_HASH_MATCH is not set # CONFIG_PKG_USING_ARMV7M_DWT_TOOL is not set # CONFIG_PKG_USING_VOFA_PLUS is not set +# CONFIG_PKG_USING_ZDEBUG is not set # end of tools packages # @@ -722,6 +745,9 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CMSIS: ARM Cortex-M Microcontroller Software Interface Standard # # CONFIG_PKG_USING_CMSIS_5 is not set +# CONFIG_PKG_USING_CMSIS_CORE is not set +# CONFIG_PKG_USING_CMSIS_DSP is not set +# CONFIG_PKG_USING_CMSIS_NN is not set # CONFIG_PKG_USING_CMSIS_RTOS1 is not set # CONFIG_PKG_USING_CMSIS_RTOS2 is not set # end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard @@ -738,10 +764,14 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # end of Micrium: Micrium software products porting for RT-Thread # CONFIG_PKG_USING_FREERTOS_WRAPPER is not set +# CONFIG_PKG_USING_LITEOS_SDK is not set +# CONFIG_PKG_USING_TZ_DATABASE is not set # CONFIG_PKG_USING_CAIRO is not set # CONFIG_PKG_USING_PIXMAN is not set # CONFIG_PKG_USING_PARTITION is not set # CONFIG_PKG_USING_PERF_COUNTER is not set +# CONFIG_PKG_USING_FILEX is not set +# CONFIG_PKG_USING_LEVELX is not set # CONFIG_PKG_USING_FLASHDB is not set # CONFIG_PKG_USING_SQLITE is not set # CONFIG_PKG_USING_RTI is not set @@ -761,6 +791,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_QBOOT is not set # CONFIG_PKG_USING_PPOOL is not set # CONFIG_PKG_USING_OPENAMP is not set +# CONFIG_PKG_USING_RPMSG_LITE is not set # CONFIG_PKG_USING_LPM is not set # CONFIG_PKG_USING_TLSF is not set # CONFIG_PKG_USING_EVENT_RECORDER is not set @@ -774,12 +805,46 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_AGILE_UPGRADE is not set # CONFIG_PKG_USING_FLASH_BLOB is not set # CONFIG_PKG_USING_MLIBC is not set +# CONFIG_PKG_USING_TASK_MSG_BUS is not set +# CONFIG_PKG_USING_SFDB is not set +# CONFIG_PKG_USING_RTP is not set +# CONFIG_PKG_USING_REB is not set +# CONFIG_PKG_USING_R_RHEALSTONE is not set # end of system packages # # peripheral libraries and drivers # +# +# HAL & SDK Drivers +# + +# +# STM32 HAL & SDK Drivers +# +# CONFIG_PKG_USING_STM32L4_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32L4_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32WB55_SDK is not set +# CONFIG_PKG_USING_STM32_SDIO is not set +# end of STM32 HAL & SDK Drivers + +# CONFIG_PKG_USING_BLUETRUM_SDK is not set +# CONFIG_PKG_USING_EMBARC_BSP is not set +# CONFIG_PKG_USING_ESP_IDF is not set + +# +# Kendryte SDK +# +# CONFIG_PKG_USING_K210_SDK is not set +# CONFIG_PKG_USING_KENDRYTE_SDK is not set +# end of Kendryte SDK + +# CONFIG_PKG_USING_NRF5X_SDK is not set +# CONFIG_PKG_USING_NRFX is not set +# CONFIG_PKG_USING_RASPBERRYPI_PICO_SDK is not set +# end of HAL & SDK Drivers + # # sensors drivers # @@ -839,6 +904,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_BALANCE is not set # CONFIG_PKG_USING_SHT2X is not set # CONFIG_PKG_USING_SHT3X is not set +# CONFIG_PKG_USING_SHT4X is not set # CONFIG_PKG_USING_AD7746 is not set # CONFIG_PKG_USING_ADT74XX is not set # CONFIG_PKG_USING_MAX17048 is not set @@ -861,11 +927,10 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_FT6236 is not set # CONFIG_PKG_USING_XPT2046_TOUCH is not set # CONFIG_PKG_USING_CST816X is not set +# CONFIG_PKG_USING_CST812T is not set # end of touch drivers # CONFIG_PKG_USING_REALTEK_AMEBA is not set -# CONFIG_PKG_USING_STM32_SDIO is not set -# CONFIG_PKG_USING_ESP_IDF is not set # CONFIG_PKG_USING_BUTTON is not set # CONFIG_PKG_USING_PCF8574 is not set # CONFIG_PKG_USING_SX12XX is not set @@ -873,16 +938,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_LEDBLINK is not set # CONFIG_PKG_USING_LITTLED is not set # CONFIG_PKG_USING_LKDGUI is not set -# CONFIG_PKG_USING_NRF5X_SDK is not set -# CONFIG_PKG_USING_NRFX is not set - -# -# Kendryte SDK -# -# CONFIG_PKG_USING_K210_SDK is not set -# CONFIG_PKG_USING_KENDRYTE_SDK is not set -# end of Kendryte SDK - # CONFIG_PKG_USING_INFRARED is not set # CONFIG_PKG_USING_MULTI_INFRARED is not set # CONFIG_PKG_USING_AGILE_BUTTON is not set @@ -897,7 +952,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_AS608 is not set # CONFIG_PKG_USING_RC522 is not set # CONFIG_PKG_USING_WS2812B is not set -# CONFIG_PKG_USING_EMBARC_BSP is not set # CONFIG_PKG_USING_EXTERN_RTC_DRIVERS is not set # CONFIG_PKG_USING_MULTI_RTIMER is not set # CONFIG_PKG_USING_MAX7219 is not set @@ -920,7 +974,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_VIRTUAL_SENSOR is not set # CONFIG_PKG_USING_VDEVICE is not set # CONFIG_PKG_USING_SGM706 is not set -# CONFIG_PKG_USING_STM32WB55_SDK is not set # CONFIG_PKG_USING_RDA58XX is not set # CONFIG_PKG_USING_LIBNFC is not set # CONFIG_PKG_USING_MFOC is not set @@ -930,7 +983,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_ROSSERIAL is not set # CONFIG_PKG_USING_MICRO_ROS is not set # CONFIG_PKG_USING_MCP23008 is not set -# CONFIG_PKG_USING_BLUETRUM_SDK is not set # CONFIG_PKG_USING_MISAKA_AT24CXX is not set # CONFIG_PKG_USING_MISAKA_RGB_BLING is not set # CONFIG_PKG_USING_LORA_MODEM_DRIVER is not set @@ -938,12 +990,17 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_MB85RS16 is not set # CONFIG_PKG_USING_RFM300 is not set # CONFIG_PKG_USING_IO_INPUT_FILTER is not set -# CONFIG_PKG_USING_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_ST7789 is not set +# CONFIG_PKG_USING_VS1003 is not set +# CONFIG_PKG_USING_X9555 is not set +# CONFIG_PKG_USING_SYSTEM_RUN_LED is not set +# CONFIG_PKG_USING_BT_MX01 is not set +# CONFIG_PKG_USING_RGPOWER is not set # CONFIG_PKG_USING_SPI_TOOLS is not set # end of peripheral libraries and drivers @@ -959,6 +1016,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_ULAPACK is not set # CONFIG_PKG_USING_QUEST is not set # CONFIG_PKG_USING_NAXOS is not set +# CONFIG_PKG_USING_R_TINYMAIX is not set # end of AI packages # @@ -1011,6 +1069,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_MINILZO is not set # CONFIG_PKG_USING_QUICKLZ is not set # CONFIG_PKG_USING_LZMA is not set +# CONFIG_PKG_USING_RALARAM is not set # CONFIG_PKG_USING_MULTIBUTTON is not set # CONFIG_PKG_USING_FLEXIBLE_BUTTON is not set # CONFIG_PKG_USING_CANFESTIVAL is not set @@ -1048,7 +1107,9 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # Projects and Demos # # CONFIG_PKG_USING_ARDUINO_MSGQ_C_CPP_DEMO is not set +# CONFIG_PKG_USING_ARDUINO_SKETCH_LOADER_DEMO is not set # CONFIG_PKG_USING_ARDUINO_ULTRASOUND_RADAR is not set +# CONFIG_PKG_USING_ARDUINO_NINEINONE_SENSOR_SHIELD is not set # CONFIG_PKG_USING_ARDUINO_SENSOR_KIT is not set # CONFIG_PKG_USING_ARDUINO_MATLAB_SUPPORT is not set # end of Projects and Demos @@ -1057,13 +1118,13 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # Sensors # # CONFIG_PKG_USING_ARDUINO_SENSOR_DEVICE_DRIVERS 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_SENSORLAB is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADXL375 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L0X is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L1X is not set -# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSOR is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL6180X is not set -# CONFIG_PKG_USING_ADAFRUIT_MAX31855 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31855 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31865 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31856 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX6675 is not set @@ -1108,7 +1169,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LIS3MDL is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MLX90640 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MMA8451 is not set -# CONFIG_PKG_USING_ADAFRUIT_MSA301 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MSA301 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPL115A2 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X_RVC is not set @@ -1147,7 +1208,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU21DF is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AS7341 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU31D is not set -# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSORLAB is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_INA260 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TMP007_LIBRARY is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_L3GD20 is not set @@ -1170,7 +1230,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # 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_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 @@ -1178,7 +1238,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # 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_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 @@ -1191,6 +1251,8 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_ARDUINO_SEEED_MCP9600 is not set # CONFIG_PKG_USING_ARDUINO_SEEED_LTC2941 is not set # CONFIG_PKG_USING_ARDUINO_SEEED_LDC1612 is not set +# CONFIG_PKG_USING_ARDUINO_CAPACITIVESENSOR is not set +# CONFIG_PKG_USING_ARDUINO_JARZEBSKI_MPU6050 is not set # end of Sensors # @@ -1198,6 +1260,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_GFX_LIBRARY is not set # CONFIG_PKG_USING_ARDUINO_U8G2 is not set +# CONFIG_PKG_USING_ARDUINO_TFT_ESPI is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ST7735 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SSD1306 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ILI9341 is not set @@ -1207,6 +1270,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # # Timing # +# CONFIG_PKG_USING_ARDUINO_RTCLIB is not set # CONFIG_PKG_USING_ARDUINO_MSTIMER2 is not set # CONFIG_PKG_USING_ARDUINO_TICKER is not set # CONFIG_PKG_USING_ARDUINO_TASKSCHEDULER is not set @@ -1217,6 +1281,8 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # # CONFIG_PKG_USING_ARDUINO_KALMANFILTER is not set # CONFIG_PKG_USING_ARDUINO_ARDUINOJSON is not set +# CONFIG_PKG_USING_ARDUINO_TENSORFLOW_LITE_MICRO is not set +# CONFIG_PKG_USING_ARDUINO_RUNNINGMEDIAN is not set # end of Data Processing # @@ -1235,11 +1301,11 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCF8574 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 +# CONFIG_PKG_USING_ARDUINO_SEEED_PCF85063TP is not set # end of Device Control # @@ -1247,7 +1313,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # # 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 # end of Other # @@ -1288,12 +1353,8 @@ CONFIG_RT_USING_SPIM0=y # CONFIG_RT_USING_SPIM1 is not set # CONFIG_RT_USING_SPIM2 is not set # CONFIG_RT_USING_SPIM3 is not set -CONFIG_BSP_USING_CAN=y -# CONFIG_RT_USING_CANFD is not set -# CONFIG_RT_USING_FILTER is not set -CONFIG_RT_USING_CAN0=y -CONFIG_RT_USING_CAN1=y -# CONFIG_BSP_USING_GPIO is not set +# CONFIG_BSP_USING_CAN is not set +CONFIG_BSP_USING_GPIO=y CONFIG_BSP_USING_QSPI=y CONFIG_RT_USING_QSPI0=y CONFIG_USING_QSPI_CHANNEL0=y @@ -1402,6 +1463,7 @@ CONFIG_FIREFLY_DEMO_BOARD=y # # Sdk common configuration # +CONFIG_ELOG_LINE_BUF_SIZE=0x100 # CONFIG_LOG_VERBOS is not set # CONFIG_LOG_DEBUG is not set # CONFIG_LOG_INFO is not set diff --git a/bsp/phytium/aarch32/configs/phytium_pi_rtsmart.h b/bsp/phytium/aarch32/configs/phytium_pi_rtsmart.h index 22bb5b32fc..211a3c5218 100644 --- a/bsp/phytium/aarch32/configs/phytium_pi_rtsmart.h +++ b/bsp/phytium/aarch32/configs/phytium_pi_rtsmart.h @@ -329,6 +329,18 @@ /* Wiced WiFi */ /* end of Wiced WiFi */ + +/* CYW43012 WiFi */ + +/* end of CYW43012 WiFi */ + +/* BL808 WiFi */ + +/* end of BL808 WiFi */ + +/* CYW43439 WiFi */ + +/* end of CYW43439 WiFi */ /* end of Wi-Fi */ /* IoT Cloud */ @@ -387,6 +399,17 @@ /* peripheral libraries and drivers */ +/* HAL & SDK Drivers */ + +/* STM32 HAL & SDK Drivers */ + +/* end of STM32 HAL & SDK Drivers */ + +/* Kendryte SDK */ + +/* end of Kendryte SDK */ +/* end of HAL & SDK Drivers */ + /* sensors drivers */ /* end of sensors drivers */ @@ -394,10 +417,6 @@ /* touch drivers */ /* end of touch drivers */ - -/* Kendryte SDK */ - -/* end of Kendryte SDK */ /* end of peripheral libraries and drivers */ /* AI packages */ @@ -480,9 +499,7 @@ #define RT_USING_UART1 #define BSP_USING_SPI #define RT_USING_SPIM0 -#define BSP_USING_CAN -#define RT_USING_CAN0 -#define RT_USING_CAN1 +#define BSP_USING_GPIO #define BSP_USING_QSPI #define RT_USING_QSPI0 #define USING_QSPI_CHANNEL0 @@ -537,6 +554,7 @@ /* Sdk common configuration */ +#define ELOG_LINE_BUF_SIZE 0x100 #define LOG_ERROR #define USE_DEFAULT_INTERRUPT_CONFIG #define INTERRUPT_ROLE_MASTER diff --git a/bsp/phytium/aarch32/configs/phytium_pi_rtthread b/bsp/phytium/aarch32/configs/phytium_pi_rtthread index d456980e42..1560737cf9 100644 --- a/bsp/phytium/aarch32/configs/phytium_pi_rtthread +++ b/bsp/phytium/aarch32/configs/phytium_pi_rtthread @@ -449,6 +449,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_WEBTERMINAL is not set # CONFIG_PKG_USING_FREEMODBUS is not set # CONFIG_PKG_USING_NANOPB is not set +# CONFIG_PKG_USING_WIFI_HOST_DRIVER is not set # # Wi-Fi @@ -467,6 +468,24 @@ CONFIG_RT_USING_ADT_REF=y # end of Wiced WiFi # CONFIG_PKG_USING_RW007 is not set + +# +# CYW43012 WiFi +# +# CONFIG_PKG_USING_WLAN_CYW43012 is not set +# end of CYW43012 WiFi + +# +# BL808 WiFi +# +# CONFIG_PKG_USING_WLAN_BL808 is not set +# end of BL808 WiFi + +# +# CYW43439 WiFi +# +# CONFIG_PKG_USING_WLAN_CYW43439 is not set +# end of CYW43439 WiFi # end of Wi-Fi # CONFIG_PKG_USING_COAP is not set @@ -490,7 +509,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_JIOT-C-SDK is not set # CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set # CONFIG_PKG_USING_JOYLINK is not set -# CONFIG_PKG_USING_EZ_IOT_OS is not set # CONFIG_PKG_USING_IOTSHARP_SDK is not set # end of IoT Cloud @@ -513,6 +531,8 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_NMEALIB is not set # CONFIG_PKG_USING_PDULIB is not set # CONFIG_PKG_USING_BTSTACK is not set +# CONFIG_PKG_USING_BT_CYW43012 is not set +# CONFIG_PKG_USING_CYW43XX is not set # CONFIG_PKG_USING_LORAWAN_ED_STACK is not set # CONFIG_PKG_USING_WAYZ_IOTKIT is not set # CONFIG_PKG_USING_MAVLINK is not set @@ -532,6 +552,9 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_ZFTP is not set # CONFIG_PKG_USING_WOL is not set # CONFIG_PKG_USING_ZEPHYR_POLLING is not set +# CONFIG_PKG_USING_MATTER_ADAPTATION_LAYER is not set +# CONFIG_PKG_USING_LHC_MODBUS is not set +# CONFIG_PKG_USING_QMODBUS is not set # end of IoT - internet of things # @@ -584,7 +607,6 @@ CONFIG_RT_USING_ADT_REF=y # LVGL: powerful and easy-to-use embedded GUI library # # CONFIG_PKG_USING_LVGL is not set -# CONFIG_PKG_USING_LITTLEVGL2RTT is not set # CONFIG_PKG_USING_LV_MUSIC_DEMO is not set # CONFIG_PKG_USING_GUI_GUIDER_DEMO is not set # end of LVGL: powerful and easy-to-use embedded GUI library @@ -664,6 +686,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_HASH_MATCH is not set # CONFIG_PKG_USING_ARMV7M_DWT_TOOL is not set # CONFIG_PKG_USING_VOFA_PLUS is not set +# CONFIG_PKG_USING_ZDEBUG is not set # end of tools packages # @@ -690,6 +713,9 @@ CONFIG_RT_USING_ADT_REF=y # CMSIS: ARM Cortex-M Microcontroller Software Interface Standard # # CONFIG_PKG_USING_CMSIS_5 is not set +# CONFIG_PKG_USING_CMSIS_CORE is not set +# CONFIG_PKG_USING_CMSIS_DSP is not set +# CONFIG_PKG_USING_CMSIS_NN is not set # CONFIG_PKG_USING_CMSIS_RTOS1 is not set # CONFIG_PKG_USING_CMSIS_RTOS2 is not set # end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard @@ -706,10 +732,14 @@ CONFIG_RT_USING_ADT_REF=y # end of Micrium: Micrium software products porting for RT-Thread # CONFIG_PKG_USING_FREERTOS_WRAPPER is not set +# CONFIG_PKG_USING_LITEOS_SDK is not set +# CONFIG_PKG_USING_TZ_DATABASE is not set # CONFIG_PKG_USING_CAIRO is not set # CONFIG_PKG_USING_PIXMAN is not set # CONFIG_PKG_USING_PARTITION is not set # CONFIG_PKG_USING_PERF_COUNTER is not set +# CONFIG_PKG_USING_FILEX is not set +# CONFIG_PKG_USING_LEVELX is not set # CONFIG_PKG_USING_FLASHDB is not set # CONFIG_PKG_USING_SQLITE is not set # CONFIG_PKG_USING_RTI is not set @@ -729,6 +759,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_QBOOT is not set # CONFIG_PKG_USING_PPOOL is not set # CONFIG_PKG_USING_OPENAMP is not set +# CONFIG_PKG_USING_RPMSG_LITE is not set # CONFIG_PKG_USING_LPM is not set # CONFIG_PKG_USING_TLSF is not set # CONFIG_PKG_USING_EVENT_RECORDER is not set @@ -742,12 +773,46 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_AGILE_UPGRADE is not set # CONFIG_PKG_USING_FLASH_BLOB is not set # CONFIG_PKG_USING_MLIBC is not set +# CONFIG_PKG_USING_TASK_MSG_BUS is not set +# CONFIG_PKG_USING_SFDB is not set +# CONFIG_PKG_USING_RTP is not set +# CONFIG_PKG_USING_REB is not set +# CONFIG_PKG_USING_R_RHEALSTONE is not set # end of system packages # # peripheral libraries and drivers # +# +# HAL & SDK Drivers +# + +# +# STM32 HAL & SDK Drivers +# +# CONFIG_PKG_USING_STM32L4_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32L4_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32WB55_SDK is not set +# CONFIG_PKG_USING_STM32_SDIO is not set +# end of STM32 HAL & SDK Drivers + +# CONFIG_PKG_USING_BLUETRUM_SDK is not set +# CONFIG_PKG_USING_EMBARC_BSP is not set +# CONFIG_PKG_USING_ESP_IDF is not set + +# +# Kendryte SDK +# +# CONFIG_PKG_USING_K210_SDK is not set +# CONFIG_PKG_USING_KENDRYTE_SDK is not set +# end of Kendryte SDK + +# CONFIG_PKG_USING_NRF5X_SDK is not set +# CONFIG_PKG_USING_NRFX is not set +# CONFIG_PKG_USING_RASPBERRYPI_PICO_SDK is not set +# end of HAL & SDK Drivers + # # sensors drivers # @@ -807,6 +872,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_BALANCE is not set # CONFIG_PKG_USING_SHT2X is not set # CONFIG_PKG_USING_SHT3X is not set +# CONFIG_PKG_USING_SHT4X is not set # CONFIG_PKG_USING_AD7746 is not set # CONFIG_PKG_USING_ADT74XX is not set # CONFIG_PKG_USING_MAX17048 is not set @@ -829,11 +895,10 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_FT6236 is not set # CONFIG_PKG_USING_XPT2046_TOUCH is not set # CONFIG_PKG_USING_CST816X is not set +# CONFIG_PKG_USING_CST812T is not set # end of touch drivers # CONFIG_PKG_USING_REALTEK_AMEBA is not set -# CONFIG_PKG_USING_STM32_SDIO is not set -# CONFIG_PKG_USING_ESP_IDF is not set # CONFIG_PKG_USING_BUTTON is not set # CONFIG_PKG_USING_PCF8574 is not set # CONFIG_PKG_USING_SX12XX is not set @@ -841,16 +906,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_LEDBLINK is not set # CONFIG_PKG_USING_LITTLED is not set # CONFIG_PKG_USING_LKDGUI is not set -# CONFIG_PKG_USING_NRF5X_SDK is not set -# CONFIG_PKG_USING_NRFX is not set - -# -# Kendryte SDK -# -# CONFIG_PKG_USING_K210_SDK is not set -# CONFIG_PKG_USING_KENDRYTE_SDK is not set -# end of Kendryte SDK - # CONFIG_PKG_USING_INFRARED is not set # CONFIG_PKG_USING_MULTI_INFRARED is not set # CONFIG_PKG_USING_AGILE_BUTTON is not set @@ -865,7 +920,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_AS608 is not set # CONFIG_PKG_USING_RC522 is not set # CONFIG_PKG_USING_WS2812B is not set -# CONFIG_PKG_USING_EMBARC_BSP is not set # CONFIG_PKG_USING_EXTERN_RTC_DRIVERS is not set # CONFIG_PKG_USING_MULTI_RTIMER is not set # CONFIG_PKG_USING_MAX7219 is not set @@ -888,7 +942,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_VIRTUAL_SENSOR is not set # CONFIG_PKG_USING_VDEVICE is not set # CONFIG_PKG_USING_SGM706 is not set -# CONFIG_PKG_USING_STM32WB55_SDK is not set # CONFIG_PKG_USING_RDA58XX is not set # CONFIG_PKG_USING_LIBNFC is not set # CONFIG_PKG_USING_MFOC is not set @@ -898,7 +951,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_ROSSERIAL is not set # CONFIG_PKG_USING_MICRO_ROS is not set # CONFIG_PKG_USING_MCP23008 is not set -# CONFIG_PKG_USING_BLUETRUM_SDK is not set # CONFIG_PKG_USING_MISAKA_AT24CXX is not set # CONFIG_PKG_USING_MISAKA_RGB_BLING is not set # CONFIG_PKG_USING_LORA_MODEM_DRIVER is not set @@ -906,12 +958,17 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_MB85RS16 is not set # CONFIG_PKG_USING_RFM300 is not set # CONFIG_PKG_USING_IO_INPUT_FILTER is not set -# CONFIG_PKG_USING_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_ST7789 is not set +# CONFIG_PKG_USING_VS1003 is not set +# CONFIG_PKG_USING_X9555 is not set +# CONFIG_PKG_USING_SYSTEM_RUN_LED is not set +# CONFIG_PKG_USING_BT_MX01 is not set +# CONFIG_PKG_USING_RGPOWER is not set # CONFIG_PKG_USING_SPI_TOOLS is not set # end of peripheral libraries and drivers @@ -927,6 +984,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_ULAPACK is not set # CONFIG_PKG_USING_QUEST is not set # CONFIG_PKG_USING_NAXOS is not set +# CONFIG_PKG_USING_R_TINYMAIX is not set # end of AI packages # @@ -979,6 +1037,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_MINILZO is not set # CONFIG_PKG_USING_QUICKLZ is not set # CONFIG_PKG_USING_LZMA is not set +# CONFIG_PKG_USING_RALARAM is not set # CONFIG_PKG_USING_MULTIBUTTON is not set # CONFIG_PKG_USING_FLEXIBLE_BUTTON is not set # CONFIG_PKG_USING_CANFESTIVAL is not set @@ -1016,7 +1075,9 @@ CONFIG_RT_USING_ADT_REF=y # Projects and Demos # # CONFIG_PKG_USING_ARDUINO_MSGQ_C_CPP_DEMO is not set +# CONFIG_PKG_USING_ARDUINO_SKETCH_LOADER_DEMO is not set # CONFIG_PKG_USING_ARDUINO_ULTRASOUND_RADAR is not set +# CONFIG_PKG_USING_ARDUINO_NINEINONE_SENSOR_SHIELD is not set # CONFIG_PKG_USING_ARDUINO_SENSOR_KIT is not set # CONFIG_PKG_USING_ARDUINO_MATLAB_SUPPORT is not set # end of Projects and Demos @@ -1025,13 +1086,13 @@ CONFIG_RT_USING_ADT_REF=y # Sensors # # CONFIG_PKG_USING_ARDUINO_SENSOR_DEVICE_DRIVERS 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_SENSORLAB is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADXL375 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L0X is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L1X is not set -# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSOR is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL6180X is not set -# CONFIG_PKG_USING_ADAFRUIT_MAX31855 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31855 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31865 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31856 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX6675 is not set @@ -1076,7 +1137,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LIS3MDL is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MLX90640 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MMA8451 is not set -# CONFIG_PKG_USING_ADAFRUIT_MSA301 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MSA301 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPL115A2 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X_RVC is not set @@ -1115,7 +1176,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU21DF is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AS7341 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU31D is not set -# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSORLAB is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_INA260 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TMP007_LIBRARY is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_L3GD20 is not set @@ -1138,7 +1198,7 @@ CONFIG_RT_USING_ADT_REF=y # 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_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 @@ -1146,7 +1206,7 @@ CONFIG_RT_USING_ADT_REF=y # 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_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 @@ -1159,6 +1219,8 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_ARDUINO_SEEED_MCP9600 is not set # CONFIG_PKG_USING_ARDUINO_SEEED_LTC2941 is not set # CONFIG_PKG_USING_ARDUINO_SEEED_LDC1612 is not set +# CONFIG_PKG_USING_ARDUINO_CAPACITIVESENSOR is not set +# CONFIG_PKG_USING_ARDUINO_JARZEBSKI_MPU6050 is not set # end of Sensors # @@ -1166,6 +1228,7 @@ CONFIG_RT_USING_ADT_REF=y # # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_GFX_LIBRARY is not set # CONFIG_PKG_USING_ARDUINO_U8G2 is not set +# CONFIG_PKG_USING_ARDUINO_TFT_ESPI is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ST7735 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SSD1306 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ILI9341 is not set @@ -1175,6 +1238,7 @@ CONFIG_RT_USING_ADT_REF=y # # Timing # +# CONFIG_PKG_USING_ARDUINO_RTCLIB is not set # CONFIG_PKG_USING_ARDUINO_MSTIMER2 is not set # CONFIG_PKG_USING_ARDUINO_TICKER is not set # CONFIG_PKG_USING_ARDUINO_TASKSCHEDULER is not set @@ -1185,6 +1249,8 @@ CONFIG_RT_USING_ADT_REF=y # # CONFIG_PKG_USING_ARDUINO_KALMANFILTER is not set # CONFIG_PKG_USING_ARDUINO_ARDUINOJSON is not set +# CONFIG_PKG_USING_ARDUINO_TENSORFLOW_LITE_MICRO is not set +# CONFIG_PKG_USING_ARDUINO_RUNNINGMEDIAN is not set # end of Data Processing # @@ -1203,11 +1269,11 @@ CONFIG_RT_USING_ADT_REF=y # # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCF8574 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 +# CONFIG_PKG_USING_ARDUINO_SEEED_PCF85063TP is not set # end of Device Control # @@ -1215,7 +1281,6 @@ CONFIG_RT_USING_ADT_REF=y # # 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 # end of Other # @@ -1256,12 +1321,8 @@ CONFIG_RT_USING_SPIM0=y # CONFIG_RT_USING_SPIM1 is not set # CONFIG_RT_USING_SPIM2 is not set # CONFIG_RT_USING_SPIM3 is not set -CONFIG_BSP_USING_CAN=y -# CONFIG_RT_USING_CANFD is not set -# CONFIG_RT_USING_FILTER is not set -# CONFIG_RT_USING_CAN0 is not set -# CONFIG_RT_USING_CAN1 is not set -# CONFIG_BSP_USING_GPIO is not set +# CONFIG_BSP_USING_CAN is not set +CONFIG_BSP_USING_GPIO=y CONFIG_BSP_USING_QSPI=y CONFIG_RT_USING_QSPI0=y CONFIG_USING_QSPI_CHANNEL0=y @@ -1370,6 +1431,7 @@ CONFIG_FIREFLY_DEMO_BOARD=y # # Sdk common configuration # +CONFIG_ELOG_LINE_BUF_SIZE=0x100 # CONFIG_LOG_VERBOS is not set # CONFIG_LOG_DEBUG is not set # CONFIG_LOG_INFO is not set diff --git a/bsp/phytium/aarch32/configs/phytium_pi_rtthread.h b/bsp/phytium/aarch32/configs/phytium_pi_rtthread.h index c371e690ca..365e3100fa 100644 --- a/bsp/phytium/aarch32/configs/phytium_pi_rtthread.h +++ b/bsp/phytium/aarch32/configs/phytium_pi_rtthread.h @@ -297,6 +297,18 @@ /* Wiced WiFi */ /* end of Wiced WiFi */ + +/* CYW43012 WiFi */ + +/* end of CYW43012 WiFi */ + +/* BL808 WiFi */ + +/* end of BL808 WiFi */ + +/* CYW43439 WiFi */ + +/* end of CYW43439 WiFi */ /* end of Wi-Fi */ /* IoT Cloud */ @@ -355,6 +367,17 @@ /* peripheral libraries and drivers */ +/* HAL & SDK Drivers */ + +/* STM32 HAL & SDK Drivers */ + +/* end of STM32 HAL & SDK Drivers */ + +/* Kendryte SDK */ + +/* end of Kendryte SDK */ +/* end of HAL & SDK Drivers */ + /* sensors drivers */ /* end of sensors drivers */ @@ -362,10 +385,6 @@ /* touch drivers */ /* end of touch drivers */ - -/* Kendryte SDK */ - -/* end of Kendryte SDK */ /* end of peripheral libraries and drivers */ /* AI packages */ @@ -448,7 +467,7 @@ #define RT_USING_UART1 #define BSP_USING_SPI #define RT_USING_SPIM0 -#define BSP_USING_CAN +#define BSP_USING_GPIO #define BSP_USING_QSPI #define RT_USING_QSPI0 #define USING_QSPI_CHANNEL0 @@ -504,6 +523,7 @@ /* Sdk common configuration */ +#define ELOG_LINE_BUF_SIZE 0x100 #define LOG_ERROR #define USE_DEFAULT_INTERRUPT_CONFIG #define INTERRUPT_ROLE_MASTER diff --git a/bsp/phytium/aarch32/figures/aarch32_thread.png b/bsp/phytium/aarch32/figures/aarch32_thread.png new file mode 100644 index 0000000000000000000000000000000000000000..f81c3038ac511910b377872dfa3c8ba40691c4ad GIT binary patch literal 13149 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 literal 0 HcmV?d00001 diff --git a/bsp/phytium/aarch32/figures/tar_toolschain_ubuntu.png b/bsp/phytium/aarch32/figures/tar_toolschain_ubuntu.png new file mode 100644 index 0000000000000000000000000000000000000000..379f47800a75dcd0f5036f9838d7fb88b9b0c261 GIT binary patch literal 25229 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 aarch64" +echo "CC => ${RTT_CC}" +echo "PREFIX => ${RTT_CC_PREFIX}" +echo "EXEC_PATH => ${RTT_EXEC_PATH}" diff --git a/bsp/phytium/aarch64/.config b/bsp/phytium/aarch64/.config index 02daa32c33..08c232fd9b 100644 --- a/bsp/phytium/aarch64/.config +++ b/bsp/phytium/aarch64/.config @@ -455,6 +455,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_WEBTERMINAL is not set # CONFIG_PKG_USING_FREEMODBUS is not set # CONFIG_PKG_USING_NANOPB is not set +# CONFIG_PKG_USING_WIFI_HOST_DRIVER is not set # # Wi-Fi @@ -473,6 +474,24 @@ CONFIG_RT_USING_ADT_REF=y # end of Wiced WiFi # CONFIG_PKG_USING_RW007 is not set + +# +# CYW43012 WiFi +# +# CONFIG_PKG_USING_WLAN_CYW43012 is not set +# end of CYW43012 WiFi + +# +# BL808 WiFi +# +# CONFIG_PKG_USING_WLAN_BL808 is not set +# end of BL808 WiFi + +# +# CYW43439 WiFi +# +# CONFIG_PKG_USING_WLAN_CYW43439 is not set +# end of CYW43439 WiFi # end of Wi-Fi # CONFIG_PKG_USING_COAP is not set @@ -496,7 +515,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_JIOT-C-SDK is not set # CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set # CONFIG_PKG_USING_JOYLINK is not set -# CONFIG_PKG_USING_EZ_IOT_OS is not set # CONFIG_PKG_USING_IOTSHARP_SDK is not set # end of IoT Cloud @@ -519,6 +537,8 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_NMEALIB is not set # CONFIG_PKG_USING_PDULIB is not set # CONFIG_PKG_USING_BTSTACK is not set +# CONFIG_PKG_USING_BT_CYW43012 is not set +# CONFIG_PKG_USING_CYW43XX is not set # CONFIG_PKG_USING_LORAWAN_ED_STACK is not set # CONFIG_PKG_USING_WAYZ_IOTKIT is not set # CONFIG_PKG_USING_MAVLINK is not set @@ -538,6 +558,9 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_ZFTP is not set # CONFIG_PKG_USING_WOL is not set # CONFIG_PKG_USING_ZEPHYR_POLLING is not set +# CONFIG_PKG_USING_MATTER_ADAPTATION_LAYER is not set +# CONFIG_PKG_USING_LHC_MODBUS is not set +# CONFIG_PKG_USING_QMODBUS is not set # end of IoT - internet of things # @@ -590,7 +613,6 @@ CONFIG_RT_USING_ADT_REF=y # LVGL: powerful and easy-to-use embedded GUI library # # CONFIG_PKG_USING_LVGL is not set -# CONFIG_PKG_USING_LITTLEVGL2RTT is not set # CONFIG_PKG_USING_LV_MUSIC_DEMO is not set # CONFIG_PKG_USING_GUI_GUIDER_DEMO is not set # end of LVGL: powerful and easy-to-use embedded GUI library @@ -669,6 +691,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_HASH_MATCH is not set # CONFIG_PKG_USING_ARMV7M_DWT_TOOL is not set # CONFIG_PKG_USING_VOFA_PLUS is not set +# CONFIG_PKG_USING_ZDEBUG is not set # end of tools packages # @@ -695,6 +718,9 @@ CONFIG_RT_USING_ADT_REF=y # CMSIS: ARM Cortex-M Microcontroller Software Interface Standard # # CONFIG_PKG_USING_CMSIS_5 is not set +# CONFIG_PKG_USING_CMSIS_CORE is not set +# CONFIG_PKG_USING_CMSIS_DSP is not set +# CONFIG_PKG_USING_CMSIS_NN is not set # CONFIG_PKG_USING_CMSIS_RTOS1 is not set # CONFIG_PKG_USING_CMSIS_RTOS2 is not set # end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard @@ -711,10 +737,14 @@ CONFIG_RT_USING_ADT_REF=y # end of Micrium: Micrium software products porting for RT-Thread # CONFIG_PKG_USING_FREERTOS_WRAPPER is not set +# CONFIG_PKG_USING_LITEOS_SDK is not set +# CONFIG_PKG_USING_TZ_DATABASE is not set # CONFIG_PKG_USING_CAIRO is not set # CONFIG_PKG_USING_PIXMAN is not set # CONFIG_PKG_USING_PARTITION is not set # CONFIG_PKG_USING_PERF_COUNTER is not set +# CONFIG_PKG_USING_FILEX is not set +# CONFIG_PKG_USING_LEVELX is not set # CONFIG_PKG_USING_FLASHDB is not set # CONFIG_PKG_USING_SQLITE is not set # CONFIG_PKG_USING_RTI is not set @@ -734,6 +764,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_QBOOT is not set # CONFIG_PKG_USING_PPOOL is not set # CONFIG_PKG_USING_OPENAMP is not set +# CONFIG_PKG_USING_RPMSG_LITE is not set # CONFIG_PKG_USING_LPM is not set # CONFIG_PKG_USING_TLSF is not set # CONFIG_PKG_USING_EVENT_RECORDER is not set @@ -747,12 +778,46 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_AGILE_UPGRADE is not set # CONFIG_PKG_USING_FLASH_BLOB is not set # CONFIG_PKG_USING_MLIBC is not set +# CONFIG_PKG_USING_TASK_MSG_BUS is not set +# CONFIG_PKG_USING_SFDB is not set +# CONFIG_PKG_USING_RTP is not set +# CONFIG_PKG_USING_REB is not set +# CONFIG_PKG_USING_R_RHEALSTONE is not set # end of system packages # # peripheral libraries and drivers # +# +# HAL & SDK Drivers +# + +# +# STM32 HAL & SDK Drivers +# +# CONFIG_PKG_USING_STM32L4_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32L4_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32WB55_SDK is not set +# CONFIG_PKG_USING_STM32_SDIO is not set +# end of STM32 HAL & SDK Drivers + +# CONFIG_PKG_USING_BLUETRUM_SDK is not set +# CONFIG_PKG_USING_EMBARC_BSP is not set +# CONFIG_PKG_USING_ESP_IDF is not set + +# +# Kendryte SDK +# +# CONFIG_PKG_USING_K210_SDK is not set +# CONFIG_PKG_USING_KENDRYTE_SDK is not set +# end of Kendryte SDK + +# CONFIG_PKG_USING_NRF5X_SDK is not set +# CONFIG_PKG_USING_NRFX is not set +# CONFIG_PKG_USING_RASPBERRYPI_PICO_SDK is not set +# end of HAL & SDK Drivers + # # sensors drivers # @@ -812,6 +877,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_BALANCE is not set # CONFIG_PKG_USING_SHT2X is not set # CONFIG_PKG_USING_SHT3X is not set +# CONFIG_PKG_USING_SHT4X is not set # CONFIG_PKG_USING_AD7746 is not set # CONFIG_PKG_USING_ADT74XX is not set # CONFIG_PKG_USING_MAX17048 is not set @@ -834,11 +900,10 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_FT6236 is not set # CONFIG_PKG_USING_XPT2046_TOUCH is not set # CONFIG_PKG_USING_CST816X is not set +# CONFIG_PKG_USING_CST812T is not set # end of touch drivers # CONFIG_PKG_USING_REALTEK_AMEBA is not set -# CONFIG_PKG_USING_STM32_SDIO is not set -# CONFIG_PKG_USING_ESP_IDF is not set # CONFIG_PKG_USING_BUTTON is not set # CONFIG_PKG_USING_PCF8574 is not set # CONFIG_PKG_USING_SX12XX is not set @@ -846,16 +911,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_LEDBLINK is not set # CONFIG_PKG_USING_LITTLED is not set # CONFIG_PKG_USING_LKDGUI is not set -# CONFIG_PKG_USING_NRF5X_SDK is not set -# CONFIG_PKG_USING_NRFX is not set - -# -# Kendryte SDK -# -# CONFIG_PKG_USING_K210_SDK is not set -# CONFIG_PKG_USING_KENDRYTE_SDK is not set -# end of Kendryte SDK - # CONFIG_PKG_USING_INFRARED is not set # CONFIG_PKG_USING_MULTI_INFRARED is not set # CONFIG_PKG_USING_AGILE_BUTTON is not set @@ -870,7 +925,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_AS608 is not set # CONFIG_PKG_USING_RC522 is not set # CONFIG_PKG_USING_WS2812B is not set -# CONFIG_PKG_USING_EMBARC_BSP is not set # CONFIG_PKG_USING_EXTERN_RTC_DRIVERS is not set # CONFIG_PKG_USING_MULTI_RTIMER is not set # CONFIG_PKG_USING_MAX7219 is not set @@ -893,7 +947,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_VIRTUAL_SENSOR is not set # CONFIG_PKG_USING_VDEVICE is not set # CONFIG_PKG_USING_SGM706 is not set -# CONFIG_PKG_USING_STM32WB55_SDK is not set # CONFIG_PKG_USING_RDA58XX is not set # CONFIG_PKG_USING_LIBNFC is not set # CONFIG_PKG_USING_MFOC is not set @@ -903,7 +956,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_ROSSERIAL is not set # CONFIG_PKG_USING_MICRO_ROS is not set # CONFIG_PKG_USING_MCP23008 is not set -# CONFIG_PKG_USING_BLUETRUM_SDK is not set # CONFIG_PKG_USING_MISAKA_AT24CXX is not set # CONFIG_PKG_USING_MISAKA_RGB_BLING is not set # CONFIG_PKG_USING_LORA_MODEM_DRIVER is not set @@ -911,12 +963,17 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_MB85RS16 is not set # CONFIG_PKG_USING_RFM300 is not set # CONFIG_PKG_USING_IO_INPUT_FILTER is not set -# CONFIG_PKG_USING_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_ST7789 is not set +# CONFIG_PKG_USING_VS1003 is not set +# CONFIG_PKG_USING_X9555 is not set +# CONFIG_PKG_USING_SYSTEM_RUN_LED is not set +# CONFIG_PKG_USING_BT_MX01 is not set +# CONFIG_PKG_USING_RGPOWER is not set # CONFIG_PKG_USING_SPI_TOOLS is not set # end of peripheral libraries and drivers @@ -933,6 +990,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_QUEST is not set # CONFIG_PKG_USING_NAXOS is not set # CONFIG_PKG_USING_NCNN is not set +# CONFIG_PKG_USING_R_TINYMAIX is not set # end of AI packages # @@ -1009,6 +1067,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # CONFIG_PKG_USING_MINILZO is not set # CONFIG_PKG_USING_QUICKLZ is not set # CONFIG_PKG_USING_LZMA is not set +# CONFIG_PKG_USING_RALARAM is not set # CONFIG_PKG_USING_MULTIBUTTON is not set # CONFIG_PKG_USING_FLEXIBLE_BUTTON is not set # CONFIG_PKG_USING_CANFESTIVAL is not set @@ -1046,7 +1105,9 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # Projects and Demos # # CONFIG_PKG_USING_ARDUINO_MSGQ_C_CPP_DEMO is not set +# CONFIG_PKG_USING_ARDUINO_SKETCH_LOADER_DEMO is not set # CONFIG_PKG_USING_ARDUINO_ULTRASOUND_RADAR is not set +# CONFIG_PKG_USING_ARDUINO_NINEINONE_SENSOR_SHIELD is not set # CONFIG_PKG_USING_ARDUINO_SENSOR_KIT is not set # CONFIG_PKG_USING_ARDUINO_MATLAB_SUPPORT is not set # end of Projects and Demos @@ -1055,13 +1116,13 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # Sensors # # CONFIG_PKG_USING_ARDUINO_SENSOR_DEVICE_DRIVERS 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_SENSORLAB is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADXL375 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L0X is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L1X is not set -# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSOR is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL6180X is not set -# CONFIG_PKG_USING_ADAFRUIT_MAX31855 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31855 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31865 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31856 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX6675 is not set @@ -1106,7 +1167,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LIS3MDL is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MLX90640 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MMA8451 is not set -# CONFIG_PKG_USING_ADAFRUIT_MSA301 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MSA301 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPL115A2 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X_RVC is not set @@ -1145,7 +1206,6 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU21DF is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AS7341 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU31D is not set -# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSORLAB is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_INA260 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TMP007_LIBRARY is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_L3GD20 is not set @@ -1168,7 +1228,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # 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_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 @@ -1176,7 +1236,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # 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_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 @@ -1189,6 +1249,8 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # CONFIG_PKG_USING_ARDUINO_SEEED_MCP9600 is not set # CONFIG_PKG_USING_ARDUINO_SEEED_LTC2941 is not set # CONFIG_PKG_USING_ARDUINO_SEEED_LDC1612 is not set +# CONFIG_PKG_USING_ARDUINO_CAPACITIVESENSOR is not set +# CONFIG_PKG_USING_ARDUINO_JARZEBSKI_MPU6050 is not set # end of Sensors # @@ -1196,6 +1258,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_GFX_LIBRARY is not set # CONFIG_PKG_USING_ARDUINO_U8G2 is not set +# CONFIG_PKG_USING_ARDUINO_TFT_ESPI is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ST7735 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SSD1306 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ILI9341 is not set @@ -1205,6 +1268,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # # Timing # +# CONFIG_PKG_USING_ARDUINO_RTCLIB is not set # CONFIG_PKG_USING_ARDUINO_MSTIMER2 is not set # CONFIG_PKG_USING_ARDUINO_TICKER is not set # CONFIG_PKG_USING_ARDUINO_TASKSCHEDULER is not set @@ -1215,6 +1279,8 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # # CONFIG_PKG_USING_ARDUINO_KALMANFILTER is not set # CONFIG_PKG_USING_ARDUINO_ARDUINOJSON is not set +# CONFIG_PKG_USING_ARDUINO_TENSORFLOW_LITE_MICRO is not set +# CONFIG_PKG_USING_ARDUINO_RUNNINGMEDIAN is not set # end of Data Processing # @@ -1233,11 +1299,11 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCF8574 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 +# CONFIG_PKG_USING_ARDUINO_SEEED_PCF85063TP is not set # end of Device Control # @@ -1245,7 +1311,6 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # # 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 # end of Other # @@ -1290,8 +1355,8 @@ CONFIG_BSP_USING_CAN=y CONFIG_RT_USING_CANFD=y # CONFIG_RT_USING_FILTER is not set CONFIG_RT_USING_CAN0=y -# CONFIG_RT_USING_CAN1 is not set -# CONFIG_BSP_USING_GPIO is not set +CONFIG_RT_USING_CAN1=y +CONFIG_BSP_USING_GPIO=y CONFIG_BSP_USING_QSPI=y CONFIG_RT_USING_QSPI0=y CONFIG_USING_QSPI_CHANNEL0=y @@ -1406,6 +1471,7 @@ CONFIG_BOARD_NAME="demo" # # Sdk common configuration # +CONFIG_ELOG_LINE_BUF_SIZE=0x100 # CONFIG_LOG_VERBOS is not set CONFIG_LOG_DEBUG=y # CONFIG_LOG_INFO is not set diff --git a/bsp/phytium/aarch64/Kconfig b/bsp/phytium/aarch64/Kconfig index 6955ccdb11..e910efe071 100644 --- a/bsp/phytium/aarch64/Kconfig +++ b/bsp/phytium/aarch64/Kconfig @@ -22,7 +22,7 @@ config PKGS_DIR source "$RTT_DIR/Kconfig" source "$PKGS_DIR/Kconfig" -source "$BSP_ROOT/libraries/drivers/Kconfig" +source "$RTT_DIR/bsp/phytium/libraries/drivers/Kconfig" config BSP_USING_GIC bool @@ -72,7 +72,7 @@ menu "Standalone Setting" default y source "$SDK_DIR/soc/soc.kconfig" - source "$BSP_ROOT/board/board.kconfig" + source "$RTT_DIR/bsp/phytium/board/board.kconfig" source "$SDK_DIR/common/common.kconfig" endmenu diff --git a/bsp/phytium/aarch64/README.md b/bsp/phytium/aarch64/README.md index c7381ffec3..6dd43877c3 100644 --- a/bsp/phytium/aarch64/README.md +++ b/bsp/phytium/aarch64/README.md @@ -4,12 +4,36 @@ ## 1. 准备编译环境 -- 在aarch64目录下创建tools文件夹,用于存放编译链 +- 在aarch64目录下创建tools文件夹,用于存放编译链,目前支持在以下两种环境进行开发 ```shell mkdir tools ``` +注:使用RT-Smart编译链也可编译RT-Thread,但当前不支持C++ + ### Ubuntu 环境 +#### RT-Thread + +- 点击[下载编译链工具](https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-a/10.3-2021.07/binrel/gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf.tar.xz)压缩包,放置在tools目录下 + +- 在tools目录下,使用tar命令解压缩 +```shell +tar xvf gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf.tar.xz +``` + +![tar_toolschain_ubuntu](./figures/tar_toolschain_ubuntu.png) + +- 返回`aarch64`目录,运行`thread-env.sh脚本`,生效环境变量 +```shell +source ./thread-env.sh +``` + +- 如下所示是`aarch64`编译相关的环境变量,运行`scons`前要确保环境变量设置正确 + +![aarch64_thread](./figures/aarch64_thread.png) + +#### RT-Smart + - 点击[下载编译链工具](https://github.com/RT-Thread/toolchains-ci/releases/tag/v1.7)压缩包,放置在tools目录下 ![aarch64_tools](./figures/aarch64_tools.png) @@ -21,7 +45,7 @@ tar jxvf aarch64-linux-musleabi_for_x86_64-pc-linux-gnu_stable.tar.bz2 ![tar_toolschain](./figures/tar_toolschain.png) -- 返回`aarch64`目录,运行smart-env.sh脚本,生效环境变量 +- 返回`aarch64`目录,运行`smart-env.sh`脚本,生效环境变量 ```shell source ./smart-env.sh ``` @@ -30,10 +54,11 @@ source ./smart-env.sh ![aarch64_env](./figures/aarch64_env.png) -- 输入以下指令进行编译,初次编译会拉取`phytium_standalone_sdk`工具包,请确保当前环境下网络畅通 +- 输入以下指令进行编译,初次编译会拉取`phytium_standalone_sdk工具包`,请确保当前环境下网络畅通 ```shell scons -j8 ``` +![aarch64_ubuntu_scons](./figures/aarch64_ubuntu_scons.png) - 完成编译之后目录下将会生成以下几个文件 ``` @@ -44,6 +69,24 @@ rtthread_a64.map ### RT-Thread env 环境 +#### RT-Thread + +- 点击[下载编译链工具](https://developer.arm.com/-/media/Files/downloads/gnu/11.2-2022.02/binrel/gcc-arm-11.2-2022.02-mingw-w64-i686-aarch64-none-elf.zip)压缩包,放置在tools目录下 + +- 在tools目录下,将下载好的编译链工具压缩包解压 + + +- 返回`aarch32`目录,运行`thread-env.bat`脚本,生效环境变量 +```shell +./thread-env.bat +``` + +- 如下所示是`aarch32`编译相关的环境变量,运行`scons`前要确保环境变量设置正确 + +![aarch64_env_thread_tools](./figures/aarch64_env_thread_tools.png) + +#### RT-Smart + - 点击[下载编译链工具](https://download.rt-thread.org/download/rt-smart/toolchains/aarch64-linux-musleabi_for_i686-w64-mingw32_latest.zip )压缩包 @@ -68,6 +111,7 @@ rtthread_a64.bin rtthread_a64.elf rtthread_a64.map ``` + ## 2. 如何选择开发板 >注:在 RT-Thread env 环境下使用`menuconfig`指令即可打开配置菜单,在Ubuntu下需要使用`scons --menuconfig` diff --git a/bsp/phytium/aarch64/configs/e2000d_demo_rtsmart b/bsp/phytium/aarch64/configs/e2000d_demo_rtsmart index 275e0510f3..104f6bb118 100644 --- a/bsp/phytium/aarch64/configs/e2000d_demo_rtsmart +++ b/bsp/phytium/aarch64/configs/e2000d_demo_rtsmart @@ -513,6 +513,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_WEBTERMINAL is not set # CONFIG_PKG_USING_FREEMODBUS is not set # CONFIG_PKG_USING_NANOPB is not set +# CONFIG_PKG_USING_WIFI_HOST_DRIVER is not set # # Wi-Fi @@ -531,6 +532,24 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # end of Wiced WiFi # CONFIG_PKG_USING_RW007 is not set + +# +# CYW43012 WiFi +# +# CONFIG_PKG_USING_WLAN_CYW43012 is not set +# end of CYW43012 WiFi + +# +# BL808 WiFi +# +# CONFIG_PKG_USING_WLAN_BL808 is not set +# end of BL808 WiFi + +# +# CYW43439 WiFi +# +# CONFIG_PKG_USING_WLAN_CYW43439 is not set +# end of CYW43439 WiFi # end of Wi-Fi # CONFIG_PKG_USING_COAP is not set @@ -554,7 +573,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_JIOT-C-SDK is not set # CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set # CONFIG_PKG_USING_JOYLINK is not set -# CONFIG_PKG_USING_EZ_IOT_OS is not set # CONFIG_PKG_USING_IOTSHARP_SDK is not set # end of IoT Cloud @@ -577,6 +595,8 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_NMEALIB is not set # CONFIG_PKG_USING_PDULIB is not set # CONFIG_PKG_USING_BTSTACK is not set +# CONFIG_PKG_USING_BT_CYW43012 is not set +# CONFIG_PKG_USING_CYW43XX is not set # CONFIG_PKG_USING_LORAWAN_ED_STACK is not set # CONFIG_PKG_USING_WAYZ_IOTKIT is not set # CONFIG_PKG_USING_MAVLINK is not set @@ -596,6 +616,9 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_ZFTP is not set # CONFIG_PKG_USING_WOL is not set # CONFIG_PKG_USING_ZEPHYR_POLLING is not set +# CONFIG_PKG_USING_MATTER_ADAPTATION_LAYER is not set +# CONFIG_PKG_USING_LHC_MODBUS is not set +# CONFIG_PKG_USING_QMODBUS is not set # end of IoT - internet of things # @@ -648,7 +671,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # LVGL: powerful and easy-to-use embedded GUI library # # CONFIG_PKG_USING_LVGL is not set -# CONFIG_PKG_USING_LITTLEVGL2RTT is not set # CONFIG_PKG_USING_LV_MUSIC_DEMO is not set # CONFIG_PKG_USING_GUI_GUIDER_DEMO is not set # end of LVGL: powerful and easy-to-use embedded GUI library @@ -727,6 +749,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_HASH_MATCH is not set # CONFIG_PKG_USING_ARMV7M_DWT_TOOL is not set # CONFIG_PKG_USING_VOFA_PLUS is not set +# CONFIG_PKG_USING_ZDEBUG is not set # end of tools packages # @@ -753,6 +776,9 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CMSIS: ARM Cortex-M Microcontroller Software Interface Standard # # CONFIG_PKG_USING_CMSIS_5 is not set +# CONFIG_PKG_USING_CMSIS_CORE is not set +# CONFIG_PKG_USING_CMSIS_DSP is not set +# CONFIG_PKG_USING_CMSIS_NN is not set # CONFIG_PKG_USING_CMSIS_RTOS1 is not set # CONFIG_PKG_USING_CMSIS_RTOS2 is not set # end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard @@ -769,10 +795,14 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # end of Micrium: Micrium software products porting for RT-Thread # CONFIG_PKG_USING_FREERTOS_WRAPPER is not set +# CONFIG_PKG_USING_LITEOS_SDK is not set +# CONFIG_PKG_USING_TZ_DATABASE is not set # CONFIG_PKG_USING_CAIRO is not set # CONFIG_PKG_USING_PIXMAN is not set # CONFIG_PKG_USING_PARTITION is not set # CONFIG_PKG_USING_PERF_COUNTER is not set +# CONFIG_PKG_USING_FILEX is not set +# CONFIG_PKG_USING_LEVELX is not set # CONFIG_PKG_USING_FLASHDB is not set # CONFIG_PKG_USING_SQLITE is not set # CONFIG_PKG_USING_RTI is not set @@ -792,6 +822,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_QBOOT is not set # CONFIG_PKG_USING_PPOOL is not set # CONFIG_PKG_USING_OPENAMP is not set +# CONFIG_PKG_USING_RPMSG_LITE is not set # CONFIG_PKG_USING_LPM is not set # CONFIG_PKG_USING_TLSF is not set # CONFIG_PKG_USING_EVENT_RECORDER is not set @@ -805,12 +836,46 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_AGILE_UPGRADE is not set # CONFIG_PKG_USING_FLASH_BLOB is not set # CONFIG_PKG_USING_MLIBC is not set +# CONFIG_PKG_USING_TASK_MSG_BUS is not set +# CONFIG_PKG_USING_SFDB is not set +# CONFIG_PKG_USING_RTP is not set +# CONFIG_PKG_USING_REB is not set +# CONFIG_PKG_USING_R_RHEALSTONE is not set # end of system packages # # peripheral libraries and drivers # +# +# HAL & SDK Drivers +# + +# +# STM32 HAL & SDK Drivers +# +# CONFIG_PKG_USING_STM32L4_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32L4_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32WB55_SDK is not set +# CONFIG_PKG_USING_STM32_SDIO is not set +# end of STM32 HAL & SDK Drivers + +# CONFIG_PKG_USING_BLUETRUM_SDK is not set +# CONFIG_PKG_USING_EMBARC_BSP is not set +# CONFIG_PKG_USING_ESP_IDF is not set + +# +# Kendryte SDK +# +# CONFIG_PKG_USING_K210_SDK is not set +# CONFIG_PKG_USING_KENDRYTE_SDK is not set +# end of Kendryte SDK + +# CONFIG_PKG_USING_NRF5X_SDK is not set +# CONFIG_PKG_USING_NRFX is not set +# CONFIG_PKG_USING_RASPBERRYPI_PICO_SDK is not set +# end of HAL & SDK Drivers + # # sensors drivers # @@ -870,6 +935,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_BALANCE is not set # CONFIG_PKG_USING_SHT2X is not set # CONFIG_PKG_USING_SHT3X is not set +# CONFIG_PKG_USING_SHT4X is not set # CONFIG_PKG_USING_AD7746 is not set # CONFIG_PKG_USING_ADT74XX is not set # CONFIG_PKG_USING_MAX17048 is not set @@ -892,11 +958,10 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_FT6236 is not set # CONFIG_PKG_USING_XPT2046_TOUCH is not set # CONFIG_PKG_USING_CST816X is not set +# CONFIG_PKG_USING_CST812T is not set # end of touch drivers # CONFIG_PKG_USING_REALTEK_AMEBA is not set -# CONFIG_PKG_USING_STM32_SDIO is not set -# CONFIG_PKG_USING_ESP_IDF is not set # CONFIG_PKG_USING_BUTTON is not set # CONFIG_PKG_USING_PCF8574 is not set # CONFIG_PKG_USING_SX12XX is not set @@ -904,16 +969,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_LEDBLINK is not set # CONFIG_PKG_USING_LITTLED is not set # CONFIG_PKG_USING_LKDGUI is not set -# CONFIG_PKG_USING_NRF5X_SDK is not set -# CONFIG_PKG_USING_NRFX is not set - -# -# Kendryte SDK -# -# CONFIG_PKG_USING_K210_SDK is not set -# CONFIG_PKG_USING_KENDRYTE_SDK is not set -# end of Kendryte SDK - # CONFIG_PKG_USING_INFRARED is not set # CONFIG_PKG_USING_MULTI_INFRARED is not set # CONFIG_PKG_USING_AGILE_BUTTON is not set @@ -928,7 +983,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_AS608 is not set # CONFIG_PKG_USING_RC522 is not set # CONFIG_PKG_USING_WS2812B is not set -# CONFIG_PKG_USING_EMBARC_BSP is not set # CONFIG_PKG_USING_EXTERN_RTC_DRIVERS is not set # CONFIG_PKG_USING_MULTI_RTIMER is not set # CONFIG_PKG_USING_MAX7219 is not set @@ -951,7 +1005,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_VIRTUAL_SENSOR is not set # CONFIG_PKG_USING_VDEVICE is not set # CONFIG_PKG_USING_SGM706 is not set -# CONFIG_PKG_USING_STM32WB55_SDK is not set # CONFIG_PKG_USING_RDA58XX is not set # CONFIG_PKG_USING_LIBNFC is not set # CONFIG_PKG_USING_MFOC is not set @@ -961,7 +1014,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_ROSSERIAL is not set # CONFIG_PKG_USING_MICRO_ROS is not set # CONFIG_PKG_USING_MCP23008 is not set -# CONFIG_PKG_USING_BLUETRUM_SDK is not set # CONFIG_PKG_USING_MISAKA_AT24CXX is not set # CONFIG_PKG_USING_MISAKA_RGB_BLING is not set # CONFIG_PKG_USING_LORA_MODEM_DRIVER is not set @@ -969,12 +1021,17 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_MB85RS16 is not set # CONFIG_PKG_USING_RFM300 is not set # CONFIG_PKG_USING_IO_INPUT_FILTER is not set -# CONFIG_PKG_USING_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_ST7789 is not set +# CONFIG_PKG_USING_VS1003 is not set +# CONFIG_PKG_USING_X9555 is not set +# CONFIG_PKG_USING_SYSTEM_RUN_LED is not set +# CONFIG_PKG_USING_BT_MX01 is not set +# CONFIG_PKG_USING_RGPOWER is not set # CONFIG_PKG_USING_SPI_TOOLS is not set # end of peripheral libraries and drivers @@ -991,6 +1048,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_QUEST is not set # CONFIG_PKG_USING_NAXOS is not set # CONFIG_PKG_USING_NCNN is not set +# CONFIG_PKG_USING_R_TINYMAIX is not set # end of AI packages # @@ -1067,6 +1125,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # CONFIG_PKG_USING_MINILZO is not set # CONFIG_PKG_USING_QUICKLZ is not set # CONFIG_PKG_USING_LZMA is not set +# CONFIG_PKG_USING_RALARAM is not set # CONFIG_PKG_USING_MULTIBUTTON is not set # CONFIG_PKG_USING_FLEXIBLE_BUTTON is not set # CONFIG_PKG_USING_CANFESTIVAL is not set @@ -1104,7 +1163,9 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # Projects and Demos # # CONFIG_PKG_USING_ARDUINO_MSGQ_C_CPP_DEMO is not set +# CONFIG_PKG_USING_ARDUINO_SKETCH_LOADER_DEMO is not set # CONFIG_PKG_USING_ARDUINO_ULTRASOUND_RADAR is not set +# CONFIG_PKG_USING_ARDUINO_NINEINONE_SENSOR_SHIELD is not set # CONFIG_PKG_USING_ARDUINO_SENSOR_KIT is not set # CONFIG_PKG_USING_ARDUINO_MATLAB_SUPPORT is not set # end of Projects and Demos @@ -1113,13 +1174,13 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # Sensors # # CONFIG_PKG_USING_ARDUINO_SENSOR_DEVICE_DRIVERS 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_SENSORLAB is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADXL375 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L0X is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L1X is not set -# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSOR is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL6180X is not set -# CONFIG_PKG_USING_ADAFRUIT_MAX31855 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31855 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31865 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31856 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX6675 is not set @@ -1164,7 +1225,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LIS3MDL is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MLX90640 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MMA8451 is not set -# CONFIG_PKG_USING_ADAFRUIT_MSA301 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MSA301 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPL115A2 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X_RVC is not set @@ -1203,7 +1264,6 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU21DF is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AS7341 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU31D is not set -# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSORLAB is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_INA260 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TMP007_LIBRARY is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_L3GD20 is not set @@ -1226,7 +1286,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # 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_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 @@ -1234,7 +1294,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # 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_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 @@ -1247,6 +1307,8 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # CONFIG_PKG_USING_ARDUINO_SEEED_MCP9600 is not set # CONFIG_PKG_USING_ARDUINO_SEEED_LTC2941 is not set # CONFIG_PKG_USING_ARDUINO_SEEED_LDC1612 is not set +# CONFIG_PKG_USING_ARDUINO_CAPACITIVESENSOR is not set +# CONFIG_PKG_USING_ARDUINO_JARZEBSKI_MPU6050 is not set # end of Sensors # @@ -1254,6 +1316,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_GFX_LIBRARY is not set # CONFIG_PKG_USING_ARDUINO_U8G2 is not set +# CONFIG_PKG_USING_ARDUINO_TFT_ESPI is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ST7735 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SSD1306 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ILI9341 is not set @@ -1263,6 +1326,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # # Timing # +# CONFIG_PKG_USING_ARDUINO_RTCLIB is not set # CONFIG_PKG_USING_ARDUINO_MSTIMER2 is not set # CONFIG_PKG_USING_ARDUINO_TICKER is not set # CONFIG_PKG_USING_ARDUINO_TASKSCHEDULER is not set @@ -1273,6 +1337,8 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # # CONFIG_PKG_USING_ARDUINO_KALMANFILTER is not set # CONFIG_PKG_USING_ARDUINO_ARDUINOJSON is not set +# CONFIG_PKG_USING_ARDUINO_TENSORFLOW_LITE_MICRO is not set +# CONFIG_PKG_USING_ARDUINO_RUNNINGMEDIAN is not set # end of Data Processing # @@ -1291,11 +1357,11 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCF8574 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 +# CONFIG_PKG_USING_ARDUINO_SEEED_PCF85063TP is not set # end of Device Control # @@ -1303,7 +1369,6 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # # 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 # end of Other # @@ -1346,10 +1411,10 @@ CONFIG_RT_USING_SPIM2=y CONFIG_RT_USING_SPIM3=y CONFIG_BSP_USING_CAN=y CONFIG_RT_USING_CANFD=y -CONFIG_RT_USING_FILTER=y +# CONFIG_RT_USING_FILTER is not set CONFIG_RT_USING_CAN0=y CONFIG_RT_USING_CAN1=y -# CONFIG_BSP_USING_GPIO is not set +CONFIG_BSP_USING_GPIO=y CONFIG_BSP_USING_QSPI=y CONFIG_RT_USING_QSPI0=y CONFIG_USING_QSPI_CHANNEL0=y @@ -1464,6 +1529,7 @@ CONFIG_BOARD_NAME="demo" # # Sdk common configuration # +CONFIG_ELOG_LINE_BUF_SIZE=0x100 # CONFIG_LOG_VERBOS is not set CONFIG_LOG_DEBUG=y # CONFIG_LOG_INFO is not set diff --git a/bsp/phytium/aarch64/configs/e2000d_demo_rtsmart.h b/bsp/phytium/aarch64/configs/e2000d_demo_rtsmart.h index 92003386c5..381281719a 100644 --- a/bsp/phytium/aarch64/configs/e2000d_demo_rtsmart.h +++ b/bsp/phytium/aarch64/configs/e2000d_demo_rtsmart.h @@ -330,6 +330,18 @@ /* Wiced WiFi */ /* end of Wiced WiFi */ + +/* CYW43012 WiFi */ + +/* end of CYW43012 WiFi */ + +/* BL808 WiFi */ + +/* end of BL808 WiFi */ + +/* CYW43439 WiFi */ + +/* end of CYW43439 WiFi */ /* end of Wi-Fi */ /* IoT Cloud */ @@ -388,6 +400,17 @@ /* peripheral libraries and drivers */ +/* HAL & SDK Drivers */ + +/* STM32 HAL & SDK Drivers */ + +/* end of STM32 HAL & SDK Drivers */ + +/* Kendryte SDK */ + +/* end of Kendryte SDK */ +/* end of HAL & SDK Drivers */ + /* sensors drivers */ /* end of sensors drivers */ @@ -395,10 +418,6 @@ /* touch drivers */ /* end of touch drivers */ - -/* Kendryte SDK */ - -/* end of Kendryte SDK */ /* end of peripheral libraries and drivers */ /* AI packages */ @@ -489,9 +508,9 @@ #define RT_USING_SPIM3 #define BSP_USING_CAN #define RT_USING_CANFD -#define RT_USING_FILTER #define RT_USING_CAN0 #define RT_USING_CAN1 +#define BSP_USING_GPIO #define BSP_USING_QSPI #define RT_USING_QSPI0 #define USING_QSPI_CHANNEL0 @@ -550,6 +569,7 @@ /* Sdk common configuration */ +#define ELOG_LINE_BUF_SIZE 0x100 #define LOG_DEBUG /* end of Sdk common configuration */ diff --git a/bsp/phytium/aarch64/configs/e2000d_demo_rtthread b/bsp/phytium/aarch64/configs/e2000d_demo_rtthread index 02daa32c33..08c232fd9b 100644 --- a/bsp/phytium/aarch64/configs/e2000d_demo_rtthread +++ b/bsp/phytium/aarch64/configs/e2000d_demo_rtthread @@ -455,6 +455,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_WEBTERMINAL is not set # CONFIG_PKG_USING_FREEMODBUS is not set # CONFIG_PKG_USING_NANOPB is not set +# CONFIG_PKG_USING_WIFI_HOST_DRIVER is not set # # Wi-Fi @@ -473,6 +474,24 @@ CONFIG_RT_USING_ADT_REF=y # end of Wiced WiFi # CONFIG_PKG_USING_RW007 is not set + +# +# CYW43012 WiFi +# +# CONFIG_PKG_USING_WLAN_CYW43012 is not set +# end of CYW43012 WiFi + +# +# BL808 WiFi +# +# CONFIG_PKG_USING_WLAN_BL808 is not set +# end of BL808 WiFi + +# +# CYW43439 WiFi +# +# CONFIG_PKG_USING_WLAN_CYW43439 is not set +# end of CYW43439 WiFi # end of Wi-Fi # CONFIG_PKG_USING_COAP is not set @@ -496,7 +515,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_JIOT-C-SDK is not set # CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set # CONFIG_PKG_USING_JOYLINK is not set -# CONFIG_PKG_USING_EZ_IOT_OS is not set # CONFIG_PKG_USING_IOTSHARP_SDK is not set # end of IoT Cloud @@ -519,6 +537,8 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_NMEALIB is not set # CONFIG_PKG_USING_PDULIB is not set # CONFIG_PKG_USING_BTSTACK is not set +# CONFIG_PKG_USING_BT_CYW43012 is not set +# CONFIG_PKG_USING_CYW43XX is not set # CONFIG_PKG_USING_LORAWAN_ED_STACK is not set # CONFIG_PKG_USING_WAYZ_IOTKIT is not set # CONFIG_PKG_USING_MAVLINK is not set @@ -538,6 +558,9 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_ZFTP is not set # CONFIG_PKG_USING_WOL is not set # CONFIG_PKG_USING_ZEPHYR_POLLING is not set +# CONFIG_PKG_USING_MATTER_ADAPTATION_LAYER is not set +# CONFIG_PKG_USING_LHC_MODBUS is not set +# CONFIG_PKG_USING_QMODBUS is not set # end of IoT - internet of things # @@ -590,7 +613,6 @@ CONFIG_RT_USING_ADT_REF=y # LVGL: powerful and easy-to-use embedded GUI library # # CONFIG_PKG_USING_LVGL is not set -# CONFIG_PKG_USING_LITTLEVGL2RTT is not set # CONFIG_PKG_USING_LV_MUSIC_DEMO is not set # CONFIG_PKG_USING_GUI_GUIDER_DEMO is not set # end of LVGL: powerful and easy-to-use embedded GUI library @@ -669,6 +691,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_HASH_MATCH is not set # CONFIG_PKG_USING_ARMV7M_DWT_TOOL is not set # CONFIG_PKG_USING_VOFA_PLUS is not set +# CONFIG_PKG_USING_ZDEBUG is not set # end of tools packages # @@ -695,6 +718,9 @@ CONFIG_RT_USING_ADT_REF=y # CMSIS: ARM Cortex-M Microcontroller Software Interface Standard # # CONFIG_PKG_USING_CMSIS_5 is not set +# CONFIG_PKG_USING_CMSIS_CORE is not set +# CONFIG_PKG_USING_CMSIS_DSP is not set +# CONFIG_PKG_USING_CMSIS_NN is not set # CONFIG_PKG_USING_CMSIS_RTOS1 is not set # CONFIG_PKG_USING_CMSIS_RTOS2 is not set # end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard @@ -711,10 +737,14 @@ CONFIG_RT_USING_ADT_REF=y # end of Micrium: Micrium software products porting for RT-Thread # CONFIG_PKG_USING_FREERTOS_WRAPPER is not set +# CONFIG_PKG_USING_LITEOS_SDK is not set +# CONFIG_PKG_USING_TZ_DATABASE is not set # CONFIG_PKG_USING_CAIRO is not set # CONFIG_PKG_USING_PIXMAN is not set # CONFIG_PKG_USING_PARTITION is not set # CONFIG_PKG_USING_PERF_COUNTER is not set +# CONFIG_PKG_USING_FILEX is not set +# CONFIG_PKG_USING_LEVELX is not set # CONFIG_PKG_USING_FLASHDB is not set # CONFIG_PKG_USING_SQLITE is not set # CONFIG_PKG_USING_RTI is not set @@ -734,6 +764,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_QBOOT is not set # CONFIG_PKG_USING_PPOOL is not set # CONFIG_PKG_USING_OPENAMP is not set +# CONFIG_PKG_USING_RPMSG_LITE is not set # CONFIG_PKG_USING_LPM is not set # CONFIG_PKG_USING_TLSF is not set # CONFIG_PKG_USING_EVENT_RECORDER is not set @@ -747,12 +778,46 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_AGILE_UPGRADE is not set # CONFIG_PKG_USING_FLASH_BLOB is not set # CONFIG_PKG_USING_MLIBC is not set +# CONFIG_PKG_USING_TASK_MSG_BUS is not set +# CONFIG_PKG_USING_SFDB is not set +# CONFIG_PKG_USING_RTP is not set +# CONFIG_PKG_USING_REB is not set +# CONFIG_PKG_USING_R_RHEALSTONE is not set # end of system packages # # peripheral libraries and drivers # +# +# HAL & SDK Drivers +# + +# +# STM32 HAL & SDK Drivers +# +# CONFIG_PKG_USING_STM32L4_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32L4_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32WB55_SDK is not set +# CONFIG_PKG_USING_STM32_SDIO is not set +# end of STM32 HAL & SDK Drivers + +# CONFIG_PKG_USING_BLUETRUM_SDK is not set +# CONFIG_PKG_USING_EMBARC_BSP is not set +# CONFIG_PKG_USING_ESP_IDF is not set + +# +# Kendryte SDK +# +# CONFIG_PKG_USING_K210_SDK is not set +# CONFIG_PKG_USING_KENDRYTE_SDK is not set +# end of Kendryte SDK + +# CONFIG_PKG_USING_NRF5X_SDK is not set +# CONFIG_PKG_USING_NRFX is not set +# CONFIG_PKG_USING_RASPBERRYPI_PICO_SDK is not set +# end of HAL & SDK Drivers + # # sensors drivers # @@ -812,6 +877,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_BALANCE is not set # CONFIG_PKG_USING_SHT2X is not set # CONFIG_PKG_USING_SHT3X is not set +# CONFIG_PKG_USING_SHT4X is not set # CONFIG_PKG_USING_AD7746 is not set # CONFIG_PKG_USING_ADT74XX is not set # CONFIG_PKG_USING_MAX17048 is not set @@ -834,11 +900,10 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_FT6236 is not set # CONFIG_PKG_USING_XPT2046_TOUCH is not set # CONFIG_PKG_USING_CST816X is not set +# CONFIG_PKG_USING_CST812T is not set # end of touch drivers # CONFIG_PKG_USING_REALTEK_AMEBA is not set -# CONFIG_PKG_USING_STM32_SDIO is not set -# CONFIG_PKG_USING_ESP_IDF is not set # CONFIG_PKG_USING_BUTTON is not set # CONFIG_PKG_USING_PCF8574 is not set # CONFIG_PKG_USING_SX12XX is not set @@ -846,16 +911,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_LEDBLINK is not set # CONFIG_PKG_USING_LITTLED is not set # CONFIG_PKG_USING_LKDGUI is not set -# CONFIG_PKG_USING_NRF5X_SDK is not set -# CONFIG_PKG_USING_NRFX is not set - -# -# Kendryte SDK -# -# CONFIG_PKG_USING_K210_SDK is not set -# CONFIG_PKG_USING_KENDRYTE_SDK is not set -# end of Kendryte SDK - # CONFIG_PKG_USING_INFRARED is not set # CONFIG_PKG_USING_MULTI_INFRARED is not set # CONFIG_PKG_USING_AGILE_BUTTON is not set @@ -870,7 +925,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_AS608 is not set # CONFIG_PKG_USING_RC522 is not set # CONFIG_PKG_USING_WS2812B is not set -# CONFIG_PKG_USING_EMBARC_BSP is not set # CONFIG_PKG_USING_EXTERN_RTC_DRIVERS is not set # CONFIG_PKG_USING_MULTI_RTIMER is not set # CONFIG_PKG_USING_MAX7219 is not set @@ -893,7 +947,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_VIRTUAL_SENSOR is not set # CONFIG_PKG_USING_VDEVICE is not set # CONFIG_PKG_USING_SGM706 is not set -# CONFIG_PKG_USING_STM32WB55_SDK is not set # CONFIG_PKG_USING_RDA58XX is not set # CONFIG_PKG_USING_LIBNFC is not set # CONFIG_PKG_USING_MFOC is not set @@ -903,7 +956,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_ROSSERIAL is not set # CONFIG_PKG_USING_MICRO_ROS is not set # CONFIG_PKG_USING_MCP23008 is not set -# CONFIG_PKG_USING_BLUETRUM_SDK is not set # CONFIG_PKG_USING_MISAKA_AT24CXX is not set # CONFIG_PKG_USING_MISAKA_RGB_BLING is not set # CONFIG_PKG_USING_LORA_MODEM_DRIVER is not set @@ -911,12 +963,17 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_MB85RS16 is not set # CONFIG_PKG_USING_RFM300 is not set # CONFIG_PKG_USING_IO_INPUT_FILTER is not set -# CONFIG_PKG_USING_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_ST7789 is not set +# CONFIG_PKG_USING_VS1003 is not set +# CONFIG_PKG_USING_X9555 is not set +# CONFIG_PKG_USING_SYSTEM_RUN_LED is not set +# CONFIG_PKG_USING_BT_MX01 is not set +# CONFIG_PKG_USING_RGPOWER is not set # CONFIG_PKG_USING_SPI_TOOLS is not set # end of peripheral libraries and drivers @@ -933,6 +990,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_QUEST is not set # CONFIG_PKG_USING_NAXOS is not set # CONFIG_PKG_USING_NCNN is not set +# CONFIG_PKG_USING_R_TINYMAIX is not set # end of AI packages # @@ -1009,6 +1067,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # CONFIG_PKG_USING_MINILZO is not set # CONFIG_PKG_USING_QUICKLZ is not set # CONFIG_PKG_USING_LZMA is not set +# CONFIG_PKG_USING_RALARAM is not set # CONFIG_PKG_USING_MULTIBUTTON is not set # CONFIG_PKG_USING_FLEXIBLE_BUTTON is not set # CONFIG_PKG_USING_CANFESTIVAL is not set @@ -1046,7 +1105,9 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # Projects and Demos # # CONFIG_PKG_USING_ARDUINO_MSGQ_C_CPP_DEMO is not set +# CONFIG_PKG_USING_ARDUINO_SKETCH_LOADER_DEMO is not set # CONFIG_PKG_USING_ARDUINO_ULTRASOUND_RADAR is not set +# CONFIG_PKG_USING_ARDUINO_NINEINONE_SENSOR_SHIELD is not set # CONFIG_PKG_USING_ARDUINO_SENSOR_KIT is not set # CONFIG_PKG_USING_ARDUINO_MATLAB_SUPPORT is not set # end of Projects and Demos @@ -1055,13 +1116,13 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # Sensors # # CONFIG_PKG_USING_ARDUINO_SENSOR_DEVICE_DRIVERS 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_SENSORLAB is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADXL375 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L0X is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L1X is not set -# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSOR is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL6180X is not set -# CONFIG_PKG_USING_ADAFRUIT_MAX31855 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31855 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31865 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31856 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX6675 is not set @@ -1106,7 +1167,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LIS3MDL is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MLX90640 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MMA8451 is not set -# CONFIG_PKG_USING_ADAFRUIT_MSA301 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MSA301 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPL115A2 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X_RVC is not set @@ -1145,7 +1206,6 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU21DF is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AS7341 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU31D is not set -# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSORLAB is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_INA260 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TMP007_LIBRARY is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_L3GD20 is not set @@ -1168,7 +1228,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # 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_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 @@ -1176,7 +1236,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # 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_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 @@ -1189,6 +1249,8 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # CONFIG_PKG_USING_ARDUINO_SEEED_MCP9600 is not set # CONFIG_PKG_USING_ARDUINO_SEEED_LTC2941 is not set # CONFIG_PKG_USING_ARDUINO_SEEED_LDC1612 is not set +# CONFIG_PKG_USING_ARDUINO_CAPACITIVESENSOR is not set +# CONFIG_PKG_USING_ARDUINO_JARZEBSKI_MPU6050 is not set # end of Sensors # @@ -1196,6 +1258,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_GFX_LIBRARY is not set # CONFIG_PKG_USING_ARDUINO_U8G2 is not set +# CONFIG_PKG_USING_ARDUINO_TFT_ESPI is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ST7735 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SSD1306 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ILI9341 is not set @@ -1205,6 +1268,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # # Timing # +# CONFIG_PKG_USING_ARDUINO_RTCLIB is not set # CONFIG_PKG_USING_ARDUINO_MSTIMER2 is not set # CONFIG_PKG_USING_ARDUINO_TICKER is not set # CONFIG_PKG_USING_ARDUINO_TASKSCHEDULER is not set @@ -1215,6 +1279,8 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # # CONFIG_PKG_USING_ARDUINO_KALMANFILTER is not set # CONFIG_PKG_USING_ARDUINO_ARDUINOJSON is not set +# CONFIG_PKG_USING_ARDUINO_TENSORFLOW_LITE_MICRO is not set +# CONFIG_PKG_USING_ARDUINO_RUNNINGMEDIAN is not set # end of Data Processing # @@ -1233,11 +1299,11 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCF8574 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 +# CONFIG_PKG_USING_ARDUINO_SEEED_PCF85063TP is not set # end of Device Control # @@ -1245,7 +1311,6 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # # 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 # end of Other # @@ -1290,8 +1355,8 @@ CONFIG_BSP_USING_CAN=y CONFIG_RT_USING_CANFD=y # CONFIG_RT_USING_FILTER is not set CONFIG_RT_USING_CAN0=y -# CONFIG_RT_USING_CAN1 is not set -# CONFIG_BSP_USING_GPIO is not set +CONFIG_RT_USING_CAN1=y +CONFIG_BSP_USING_GPIO=y CONFIG_BSP_USING_QSPI=y CONFIG_RT_USING_QSPI0=y CONFIG_USING_QSPI_CHANNEL0=y @@ -1406,6 +1471,7 @@ CONFIG_BOARD_NAME="demo" # # Sdk common configuration # +CONFIG_ELOG_LINE_BUF_SIZE=0x100 # CONFIG_LOG_VERBOS is not set CONFIG_LOG_DEBUG=y # CONFIG_LOG_INFO is not set diff --git a/bsp/phytium/aarch64/configs/e2000d_demo_rtthread.h b/bsp/phytium/aarch64/configs/e2000d_demo_rtthread.h index 2f8c221990..98e7776c04 100644 --- a/bsp/phytium/aarch64/configs/e2000d_demo_rtthread.h +++ b/bsp/phytium/aarch64/configs/e2000d_demo_rtthread.h @@ -295,6 +295,18 @@ /* Wiced WiFi */ /* end of Wiced WiFi */ + +/* CYW43012 WiFi */ + +/* end of CYW43012 WiFi */ + +/* BL808 WiFi */ + +/* end of BL808 WiFi */ + +/* CYW43439 WiFi */ + +/* end of CYW43439 WiFi */ /* end of Wi-Fi */ /* IoT Cloud */ @@ -353,6 +365,17 @@ /* peripheral libraries and drivers */ +/* HAL & SDK Drivers */ + +/* STM32 HAL & SDK Drivers */ + +/* end of STM32 HAL & SDK Drivers */ + +/* Kendryte SDK */ + +/* end of Kendryte SDK */ +/* end of HAL & SDK Drivers */ + /* sensors drivers */ /* end of sensors drivers */ @@ -360,10 +383,6 @@ /* touch drivers */ /* end of touch drivers */ - -/* Kendryte SDK */ - -/* end of Kendryte SDK */ /* end of peripheral libraries and drivers */ /* AI packages */ @@ -455,6 +474,8 @@ #define BSP_USING_CAN #define RT_USING_CANFD #define RT_USING_CAN0 +#define RT_USING_CAN1 +#define BSP_USING_GPIO #define BSP_USING_QSPI #define RT_USING_QSPI0 #define USING_QSPI_CHANNEL0 @@ -513,6 +534,7 @@ /* Sdk common configuration */ +#define ELOG_LINE_BUF_SIZE 0x100 #define LOG_DEBUG /* end of Sdk common configuration */ diff --git a/bsp/phytium/aarch64/configs/e2000q_demo_rtsmart b/bsp/phytium/aarch64/configs/e2000q_demo_rtsmart index 87548e3fdb..c1cd28a913 100644 --- a/bsp/phytium/aarch64/configs/e2000q_demo_rtsmart +++ b/bsp/phytium/aarch64/configs/e2000q_demo_rtsmart @@ -513,6 +513,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_WEBTERMINAL is not set # CONFIG_PKG_USING_FREEMODBUS is not set # CONFIG_PKG_USING_NANOPB is not set +# CONFIG_PKG_USING_WIFI_HOST_DRIVER is not set # # Wi-Fi @@ -531,6 +532,24 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # end of Wiced WiFi # CONFIG_PKG_USING_RW007 is not set + +# +# CYW43012 WiFi +# +# CONFIG_PKG_USING_WLAN_CYW43012 is not set +# end of CYW43012 WiFi + +# +# BL808 WiFi +# +# CONFIG_PKG_USING_WLAN_BL808 is not set +# end of BL808 WiFi + +# +# CYW43439 WiFi +# +# CONFIG_PKG_USING_WLAN_CYW43439 is not set +# end of CYW43439 WiFi # end of Wi-Fi # CONFIG_PKG_USING_COAP is not set @@ -554,7 +573,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_JIOT-C-SDK is not set # CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set # CONFIG_PKG_USING_JOYLINK is not set -# CONFIG_PKG_USING_EZ_IOT_OS is not set # CONFIG_PKG_USING_IOTSHARP_SDK is not set # end of IoT Cloud @@ -577,6 +595,8 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_NMEALIB is not set # CONFIG_PKG_USING_PDULIB is not set # CONFIG_PKG_USING_BTSTACK is not set +# CONFIG_PKG_USING_BT_CYW43012 is not set +# CONFIG_PKG_USING_CYW43XX is not set # CONFIG_PKG_USING_LORAWAN_ED_STACK is not set # CONFIG_PKG_USING_WAYZ_IOTKIT is not set # CONFIG_PKG_USING_MAVLINK is not set @@ -596,6 +616,9 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_ZFTP is not set # CONFIG_PKG_USING_WOL is not set # CONFIG_PKG_USING_ZEPHYR_POLLING is not set +# CONFIG_PKG_USING_MATTER_ADAPTATION_LAYER is not set +# CONFIG_PKG_USING_LHC_MODBUS is not set +# CONFIG_PKG_USING_QMODBUS is not set # end of IoT - internet of things # @@ -648,7 +671,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # LVGL: powerful and easy-to-use embedded GUI library # # CONFIG_PKG_USING_LVGL is not set -# CONFIG_PKG_USING_LITTLEVGL2RTT is not set # CONFIG_PKG_USING_LV_MUSIC_DEMO is not set # CONFIG_PKG_USING_GUI_GUIDER_DEMO is not set # end of LVGL: powerful and easy-to-use embedded GUI library @@ -727,6 +749,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_HASH_MATCH is not set # CONFIG_PKG_USING_ARMV7M_DWT_TOOL is not set # CONFIG_PKG_USING_VOFA_PLUS is not set +# CONFIG_PKG_USING_ZDEBUG is not set # end of tools packages # @@ -753,6 +776,9 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CMSIS: ARM Cortex-M Microcontroller Software Interface Standard # # CONFIG_PKG_USING_CMSIS_5 is not set +# CONFIG_PKG_USING_CMSIS_CORE is not set +# CONFIG_PKG_USING_CMSIS_DSP is not set +# CONFIG_PKG_USING_CMSIS_NN is not set # CONFIG_PKG_USING_CMSIS_RTOS1 is not set # CONFIG_PKG_USING_CMSIS_RTOS2 is not set # end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard @@ -769,10 +795,14 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # end of Micrium: Micrium software products porting for RT-Thread # CONFIG_PKG_USING_FREERTOS_WRAPPER is not set +# CONFIG_PKG_USING_LITEOS_SDK is not set +# CONFIG_PKG_USING_TZ_DATABASE is not set # CONFIG_PKG_USING_CAIRO is not set # CONFIG_PKG_USING_PIXMAN is not set # CONFIG_PKG_USING_PARTITION is not set # CONFIG_PKG_USING_PERF_COUNTER is not set +# CONFIG_PKG_USING_FILEX is not set +# CONFIG_PKG_USING_LEVELX is not set # CONFIG_PKG_USING_FLASHDB is not set # CONFIG_PKG_USING_SQLITE is not set # CONFIG_PKG_USING_RTI is not set @@ -792,6 +822,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_QBOOT is not set # CONFIG_PKG_USING_PPOOL is not set # CONFIG_PKG_USING_OPENAMP is not set +# CONFIG_PKG_USING_RPMSG_LITE is not set # CONFIG_PKG_USING_LPM is not set # CONFIG_PKG_USING_TLSF is not set # CONFIG_PKG_USING_EVENT_RECORDER is not set @@ -805,12 +836,46 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_AGILE_UPGRADE is not set # CONFIG_PKG_USING_FLASH_BLOB is not set # CONFIG_PKG_USING_MLIBC is not set +# CONFIG_PKG_USING_TASK_MSG_BUS is not set +# CONFIG_PKG_USING_SFDB is not set +# CONFIG_PKG_USING_RTP is not set +# CONFIG_PKG_USING_REB is not set +# CONFIG_PKG_USING_R_RHEALSTONE is not set # end of system packages # # peripheral libraries and drivers # +# +# HAL & SDK Drivers +# + +# +# STM32 HAL & SDK Drivers +# +# CONFIG_PKG_USING_STM32L4_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32L4_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32WB55_SDK is not set +# CONFIG_PKG_USING_STM32_SDIO is not set +# end of STM32 HAL & SDK Drivers + +# CONFIG_PKG_USING_BLUETRUM_SDK is not set +# CONFIG_PKG_USING_EMBARC_BSP is not set +# CONFIG_PKG_USING_ESP_IDF is not set + +# +# Kendryte SDK +# +# CONFIG_PKG_USING_K210_SDK is not set +# CONFIG_PKG_USING_KENDRYTE_SDK is not set +# end of Kendryte SDK + +# CONFIG_PKG_USING_NRF5X_SDK is not set +# CONFIG_PKG_USING_NRFX is not set +# CONFIG_PKG_USING_RASPBERRYPI_PICO_SDK is not set +# end of HAL & SDK Drivers + # # sensors drivers # @@ -870,6 +935,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_BALANCE is not set # CONFIG_PKG_USING_SHT2X is not set # CONFIG_PKG_USING_SHT3X is not set +# CONFIG_PKG_USING_SHT4X is not set # CONFIG_PKG_USING_AD7746 is not set # CONFIG_PKG_USING_ADT74XX is not set # CONFIG_PKG_USING_MAX17048 is not set @@ -892,11 +958,10 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_FT6236 is not set # CONFIG_PKG_USING_XPT2046_TOUCH is not set # CONFIG_PKG_USING_CST816X is not set +# CONFIG_PKG_USING_CST812T is not set # end of touch drivers # CONFIG_PKG_USING_REALTEK_AMEBA is not set -# CONFIG_PKG_USING_STM32_SDIO is not set -# CONFIG_PKG_USING_ESP_IDF is not set # CONFIG_PKG_USING_BUTTON is not set # CONFIG_PKG_USING_PCF8574 is not set # CONFIG_PKG_USING_SX12XX is not set @@ -904,16 +969,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_LEDBLINK is not set # CONFIG_PKG_USING_LITTLED is not set # CONFIG_PKG_USING_LKDGUI is not set -# CONFIG_PKG_USING_NRF5X_SDK is not set -# CONFIG_PKG_USING_NRFX is not set - -# -# Kendryte SDK -# -# CONFIG_PKG_USING_K210_SDK is not set -# CONFIG_PKG_USING_KENDRYTE_SDK is not set -# end of Kendryte SDK - # CONFIG_PKG_USING_INFRARED is not set # CONFIG_PKG_USING_MULTI_INFRARED is not set # CONFIG_PKG_USING_AGILE_BUTTON is not set @@ -928,7 +983,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_AS608 is not set # CONFIG_PKG_USING_RC522 is not set # CONFIG_PKG_USING_WS2812B is not set -# CONFIG_PKG_USING_EMBARC_BSP is not set # CONFIG_PKG_USING_EXTERN_RTC_DRIVERS is not set # CONFIG_PKG_USING_MULTI_RTIMER is not set # CONFIG_PKG_USING_MAX7219 is not set @@ -951,7 +1005,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_VIRTUAL_SENSOR is not set # CONFIG_PKG_USING_VDEVICE is not set # CONFIG_PKG_USING_SGM706 is not set -# CONFIG_PKG_USING_STM32WB55_SDK is not set # CONFIG_PKG_USING_RDA58XX is not set # CONFIG_PKG_USING_LIBNFC is not set # CONFIG_PKG_USING_MFOC is not set @@ -961,7 +1014,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_ROSSERIAL is not set # CONFIG_PKG_USING_MICRO_ROS is not set # CONFIG_PKG_USING_MCP23008 is not set -# CONFIG_PKG_USING_BLUETRUM_SDK is not set # CONFIG_PKG_USING_MISAKA_AT24CXX is not set # CONFIG_PKG_USING_MISAKA_RGB_BLING is not set # CONFIG_PKG_USING_LORA_MODEM_DRIVER is not set @@ -969,12 +1021,17 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_MB85RS16 is not set # CONFIG_PKG_USING_RFM300 is not set # CONFIG_PKG_USING_IO_INPUT_FILTER is not set -# CONFIG_PKG_USING_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_ST7789 is not set +# CONFIG_PKG_USING_VS1003 is not set +# CONFIG_PKG_USING_X9555 is not set +# CONFIG_PKG_USING_SYSTEM_RUN_LED is not set +# CONFIG_PKG_USING_BT_MX01 is not set +# CONFIG_PKG_USING_RGPOWER is not set # CONFIG_PKG_USING_SPI_TOOLS is not set # end of peripheral libraries and drivers @@ -991,6 +1048,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_QUEST is not set # CONFIG_PKG_USING_NAXOS is not set # CONFIG_PKG_USING_NCNN is not set +# CONFIG_PKG_USING_R_TINYMAIX is not set # end of AI packages # @@ -1067,6 +1125,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # CONFIG_PKG_USING_MINILZO is not set # CONFIG_PKG_USING_QUICKLZ is not set # CONFIG_PKG_USING_LZMA is not set +# CONFIG_PKG_USING_RALARAM is not set # CONFIG_PKG_USING_MULTIBUTTON is not set # CONFIG_PKG_USING_FLEXIBLE_BUTTON is not set # CONFIG_PKG_USING_CANFESTIVAL is not set @@ -1104,7 +1163,9 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # Projects and Demos # # CONFIG_PKG_USING_ARDUINO_MSGQ_C_CPP_DEMO is not set +# CONFIG_PKG_USING_ARDUINO_SKETCH_LOADER_DEMO is not set # CONFIG_PKG_USING_ARDUINO_ULTRASOUND_RADAR is not set +# CONFIG_PKG_USING_ARDUINO_NINEINONE_SENSOR_SHIELD is not set # CONFIG_PKG_USING_ARDUINO_SENSOR_KIT is not set # CONFIG_PKG_USING_ARDUINO_MATLAB_SUPPORT is not set # end of Projects and Demos @@ -1113,13 +1174,13 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # Sensors # # CONFIG_PKG_USING_ARDUINO_SENSOR_DEVICE_DRIVERS 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_SENSORLAB is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADXL375 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L0X is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L1X is not set -# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSOR is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL6180X is not set -# CONFIG_PKG_USING_ADAFRUIT_MAX31855 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31855 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31865 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31856 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX6675 is not set @@ -1164,7 +1225,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LIS3MDL is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MLX90640 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MMA8451 is not set -# CONFIG_PKG_USING_ADAFRUIT_MSA301 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MSA301 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPL115A2 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X_RVC is not set @@ -1203,7 +1264,6 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU21DF is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AS7341 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU31D is not set -# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSORLAB is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_INA260 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TMP007_LIBRARY is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_L3GD20 is not set @@ -1226,7 +1286,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # 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_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 @@ -1234,7 +1294,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # 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_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 @@ -1247,6 +1307,8 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # CONFIG_PKG_USING_ARDUINO_SEEED_MCP9600 is not set # CONFIG_PKG_USING_ARDUINO_SEEED_LTC2941 is not set # CONFIG_PKG_USING_ARDUINO_SEEED_LDC1612 is not set +# CONFIG_PKG_USING_ARDUINO_CAPACITIVESENSOR is not set +# CONFIG_PKG_USING_ARDUINO_JARZEBSKI_MPU6050 is not set # end of Sensors # @@ -1254,6 +1316,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_GFX_LIBRARY is not set # CONFIG_PKG_USING_ARDUINO_U8G2 is not set +# CONFIG_PKG_USING_ARDUINO_TFT_ESPI is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ST7735 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SSD1306 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ILI9341 is not set @@ -1263,6 +1326,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # # Timing # +# CONFIG_PKG_USING_ARDUINO_RTCLIB is not set # CONFIG_PKG_USING_ARDUINO_MSTIMER2 is not set # CONFIG_PKG_USING_ARDUINO_TICKER is not set # CONFIG_PKG_USING_ARDUINO_TASKSCHEDULER is not set @@ -1273,6 +1337,8 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # # CONFIG_PKG_USING_ARDUINO_KALMANFILTER is not set # CONFIG_PKG_USING_ARDUINO_ARDUINOJSON is not set +# CONFIG_PKG_USING_ARDUINO_TENSORFLOW_LITE_MICRO is not set +# CONFIG_PKG_USING_ARDUINO_RUNNINGMEDIAN is not set # end of Data Processing # @@ -1291,11 +1357,11 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCF8574 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 +# CONFIG_PKG_USING_ARDUINO_SEEED_PCF85063TP is not set # end of Device Control # @@ -1303,7 +1369,6 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # # 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 # end of Other # @@ -1346,10 +1411,10 @@ CONFIG_RT_USING_SPIM2=y CONFIG_RT_USING_SPIM3=y CONFIG_BSP_USING_CAN=y CONFIG_RT_USING_CANFD=y -CONFIG_RT_USING_FILTER=y +# CONFIG_RT_USING_FILTER is not set CONFIG_RT_USING_CAN0=y CONFIG_RT_USING_CAN1=y -# CONFIG_BSP_USING_GPIO is not set +CONFIG_BSP_USING_GPIO=y CONFIG_BSP_USING_QSPI=y CONFIG_RT_USING_QSPI0=y CONFIG_USING_QSPI_CHANNEL0=y @@ -1463,6 +1528,7 @@ CONFIG_E2000Q_DEMO_BOARD=y # # Sdk common configuration # +CONFIG_ELOG_LINE_BUF_SIZE=0x100 # CONFIG_LOG_VERBOS is not set CONFIG_LOG_DEBUG=y # CONFIG_LOG_INFO is not set diff --git a/bsp/phytium/aarch64/configs/e2000q_demo_rtsmart.h b/bsp/phytium/aarch64/configs/e2000q_demo_rtsmart.h index 0e369a9092..6d18b3fa0d 100644 --- a/bsp/phytium/aarch64/configs/e2000q_demo_rtsmart.h +++ b/bsp/phytium/aarch64/configs/e2000q_demo_rtsmart.h @@ -330,6 +330,18 @@ /* Wiced WiFi */ /* end of Wiced WiFi */ + +/* CYW43012 WiFi */ + +/* end of CYW43012 WiFi */ + +/* BL808 WiFi */ + +/* end of BL808 WiFi */ + +/* CYW43439 WiFi */ + +/* end of CYW43439 WiFi */ /* end of Wi-Fi */ /* IoT Cloud */ @@ -388,6 +400,17 @@ /* peripheral libraries and drivers */ +/* HAL & SDK Drivers */ + +/* STM32 HAL & SDK Drivers */ + +/* end of STM32 HAL & SDK Drivers */ + +/* Kendryte SDK */ + +/* end of Kendryte SDK */ +/* end of HAL & SDK Drivers */ + /* sensors drivers */ /* end of sensors drivers */ @@ -395,10 +418,6 @@ /* touch drivers */ /* end of touch drivers */ - -/* Kendryte SDK */ - -/* end of Kendryte SDK */ /* end of peripheral libraries and drivers */ /* AI packages */ @@ -489,9 +508,9 @@ #define RT_USING_SPIM3 #define BSP_USING_CAN #define RT_USING_CANFD -#define RT_USING_FILTER #define RT_USING_CAN0 #define RT_USING_CAN1 +#define BSP_USING_GPIO #define BSP_USING_QSPI #define RT_USING_QSPI0 #define USING_QSPI_CHANNEL0 @@ -550,6 +569,7 @@ /* Sdk common configuration */ +#define ELOG_LINE_BUF_SIZE 0x100 #define LOG_DEBUG /* end of Sdk common configuration */ diff --git a/bsp/phytium/aarch64/configs/e2000q_demo_rtthread b/bsp/phytium/aarch64/configs/e2000q_demo_rtthread index 033b14f143..4211fbc333 100644 --- a/bsp/phytium/aarch64/configs/e2000q_demo_rtthread +++ b/bsp/phytium/aarch64/configs/e2000q_demo_rtthread @@ -455,6 +455,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_WEBTERMINAL is not set # CONFIG_PKG_USING_FREEMODBUS is not set # CONFIG_PKG_USING_NANOPB is not set +# CONFIG_PKG_USING_WIFI_HOST_DRIVER is not set # # Wi-Fi @@ -473,6 +474,24 @@ CONFIG_RT_USING_ADT_REF=y # end of Wiced WiFi # CONFIG_PKG_USING_RW007 is not set + +# +# CYW43012 WiFi +# +# CONFIG_PKG_USING_WLAN_CYW43012 is not set +# end of CYW43012 WiFi + +# +# BL808 WiFi +# +# CONFIG_PKG_USING_WLAN_BL808 is not set +# end of BL808 WiFi + +# +# CYW43439 WiFi +# +# CONFIG_PKG_USING_WLAN_CYW43439 is not set +# end of CYW43439 WiFi # end of Wi-Fi # CONFIG_PKG_USING_COAP is not set @@ -496,7 +515,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_JIOT-C-SDK is not set # CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set # CONFIG_PKG_USING_JOYLINK is not set -# CONFIG_PKG_USING_EZ_IOT_OS is not set # CONFIG_PKG_USING_IOTSHARP_SDK is not set # end of IoT Cloud @@ -519,6 +537,8 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_NMEALIB is not set # CONFIG_PKG_USING_PDULIB is not set # CONFIG_PKG_USING_BTSTACK is not set +# CONFIG_PKG_USING_BT_CYW43012 is not set +# CONFIG_PKG_USING_CYW43XX is not set # CONFIG_PKG_USING_LORAWAN_ED_STACK is not set # CONFIG_PKG_USING_WAYZ_IOTKIT is not set # CONFIG_PKG_USING_MAVLINK is not set @@ -538,6 +558,9 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_ZFTP is not set # CONFIG_PKG_USING_WOL is not set # CONFIG_PKG_USING_ZEPHYR_POLLING is not set +# CONFIG_PKG_USING_MATTER_ADAPTATION_LAYER is not set +# CONFIG_PKG_USING_LHC_MODBUS is not set +# CONFIG_PKG_USING_QMODBUS is not set # end of IoT - internet of things # @@ -590,7 +613,6 @@ CONFIG_RT_USING_ADT_REF=y # LVGL: powerful and easy-to-use embedded GUI library # # CONFIG_PKG_USING_LVGL is not set -# CONFIG_PKG_USING_LITTLEVGL2RTT is not set # CONFIG_PKG_USING_LV_MUSIC_DEMO is not set # CONFIG_PKG_USING_GUI_GUIDER_DEMO is not set # end of LVGL: powerful and easy-to-use embedded GUI library @@ -669,6 +691,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_HASH_MATCH is not set # CONFIG_PKG_USING_ARMV7M_DWT_TOOL is not set # CONFIG_PKG_USING_VOFA_PLUS is not set +# CONFIG_PKG_USING_ZDEBUG is not set # end of tools packages # @@ -695,6 +718,9 @@ CONFIG_RT_USING_ADT_REF=y # CMSIS: ARM Cortex-M Microcontroller Software Interface Standard # # CONFIG_PKG_USING_CMSIS_5 is not set +# CONFIG_PKG_USING_CMSIS_CORE is not set +# CONFIG_PKG_USING_CMSIS_DSP is not set +# CONFIG_PKG_USING_CMSIS_NN is not set # CONFIG_PKG_USING_CMSIS_RTOS1 is not set # CONFIG_PKG_USING_CMSIS_RTOS2 is not set # end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard @@ -711,10 +737,14 @@ CONFIG_RT_USING_ADT_REF=y # end of Micrium: Micrium software products porting for RT-Thread # CONFIG_PKG_USING_FREERTOS_WRAPPER is not set +# CONFIG_PKG_USING_LITEOS_SDK is not set +# CONFIG_PKG_USING_TZ_DATABASE is not set # CONFIG_PKG_USING_CAIRO is not set # CONFIG_PKG_USING_PIXMAN is not set # CONFIG_PKG_USING_PARTITION is not set # CONFIG_PKG_USING_PERF_COUNTER is not set +# CONFIG_PKG_USING_FILEX is not set +# CONFIG_PKG_USING_LEVELX is not set # CONFIG_PKG_USING_FLASHDB is not set # CONFIG_PKG_USING_SQLITE is not set # CONFIG_PKG_USING_RTI is not set @@ -734,6 +764,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_QBOOT is not set # CONFIG_PKG_USING_PPOOL is not set # CONFIG_PKG_USING_OPENAMP is not set +# CONFIG_PKG_USING_RPMSG_LITE is not set # CONFIG_PKG_USING_LPM is not set # CONFIG_PKG_USING_TLSF is not set # CONFIG_PKG_USING_EVENT_RECORDER is not set @@ -747,12 +778,46 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_AGILE_UPGRADE is not set # CONFIG_PKG_USING_FLASH_BLOB is not set # CONFIG_PKG_USING_MLIBC is not set +# CONFIG_PKG_USING_TASK_MSG_BUS is not set +# CONFIG_PKG_USING_SFDB is not set +# CONFIG_PKG_USING_RTP is not set +# CONFIG_PKG_USING_REB is not set +# CONFIG_PKG_USING_R_RHEALSTONE is not set # end of system packages # # peripheral libraries and drivers # +# +# HAL & SDK Drivers +# + +# +# STM32 HAL & SDK Drivers +# +# CONFIG_PKG_USING_STM32L4_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32L4_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32WB55_SDK is not set +# CONFIG_PKG_USING_STM32_SDIO is not set +# end of STM32 HAL & SDK Drivers + +# CONFIG_PKG_USING_BLUETRUM_SDK is not set +# CONFIG_PKG_USING_EMBARC_BSP is not set +# CONFIG_PKG_USING_ESP_IDF is not set + +# +# Kendryte SDK +# +# CONFIG_PKG_USING_K210_SDK is not set +# CONFIG_PKG_USING_KENDRYTE_SDK is not set +# end of Kendryte SDK + +# CONFIG_PKG_USING_NRF5X_SDK is not set +# CONFIG_PKG_USING_NRFX is not set +# CONFIG_PKG_USING_RASPBERRYPI_PICO_SDK is not set +# end of HAL & SDK Drivers + # # sensors drivers # @@ -812,6 +877,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_BALANCE is not set # CONFIG_PKG_USING_SHT2X is not set # CONFIG_PKG_USING_SHT3X is not set +# CONFIG_PKG_USING_SHT4X is not set # CONFIG_PKG_USING_AD7746 is not set # CONFIG_PKG_USING_ADT74XX is not set # CONFIG_PKG_USING_MAX17048 is not set @@ -834,11 +900,10 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_FT6236 is not set # CONFIG_PKG_USING_XPT2046_TOUCH is not set # CONFIG_PKG_USING_CST816X is not set +# CONFIG_PKG_USING_CST812T is not set # end of touch drivers # CONFIG_PKG_USING_REALTEK_AMEBA is not set -# CONFIG_PKG_USING_STM32_SDIO is not set -# CONFIG_PKG_USING_ESP_IDF is not set # CONFIG_PKG_USING_BUTTON is not set # CONFIG_PKG_USING_PCF8574 is not set # CONFIG_PKG_USING_SX12XX is not set @@ -846,16 +911,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_LEDBLINK is not set # CONFIG_PKG_USING_LITTLED is not set # CONFIG_PKG_USING_LKDGUI is not set -# CONFIG_PKG_USING_NRF5X_SDK is not set -# CONFIG_PKG_USING_NRFX is not set - -# -# Kendryte SDK -# -# CONFIG_PKG_USING_K210_SDK is not set -# CONFIG_PKG_USING_KENDRYTE_SDK is not set -# end of Kendryte SDK - # CONFIG_PKG_USING_INFRARED is not set # CONFIG_PKG_USING_MULTI_INFRARED is not set # CONFIG_PKG_USING_AGILE_BUTTON is not set @@ -870,7 +925,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_AS608 is not set # CONFIG_PKG_USING_RC522 is not set # CONFIG_PKG_USING_WS2812B is not set -# CONFIG_PKG_USING_EMBARC_BSP is not set # CONFIG_PKG_USING_EXTERN_RTC_DRIVERS is not set # CONFIG_PKG_USING_MULTI_RTIMER is not set # CONFIG_PKG_USING_MAX7219 is not set @@ -893,7 +947,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_VIRTUAL_SENSOR is not set # CONFIG_PKG_USING_VDEVICE is not set # CONFIG_PKG_USING_SGM706 is not set -# CONFIG_PKG_USING_STM32WB55_SDK is not set # CONFIG_PKG_USING_RDA58XX is not set # CONFIG_PKG_USING_LIBNFC is not set # CONFIG_PKG_USING_MFOC is not set @@ -903,7 +956,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_ROSSERIAL is not set # CONFIG_PKG_USING_MICRO_ROS is not set # CONFIG_PKG_USING_MCP23008 is not set -# CONFIG_PKG_USING_BLUETRUM_SDK is not set # CONFIG_PKG_USING_MISAKA_AT24CXX is not set # CONFIG_PKG_USING_MISAKA_RGB_BLING is not set # CONFIG_PKG_USING_LORA_MODEM_DRIVER is not set @@ -911,12 +963,17 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_MB85RS16 is not set # CONFIG_PKG_USING_RFM300 is not set # CONFIG_PKG_USING_IO_INPUT_FILTER is not set -# CONFIG_PKG_USING_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_ST7789 is not set +# CONFIG_PKG_USING_VS1003 is not set +# CONFIG_PKG_USING_X9555 is not set +# CONFIG_PKG_USING_SYSTEM_RUN_LED is not set +# CONFIG_PKG_USING_BT_MX01 is not set +# CONFIG_PKG_USING_RGPOWER is not set # CONFIG_PKG_USING_SPI_TOOLS is not set # end of peripheral libraries and drivers @@ -933,6 +990,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_QUEST is not set # CONFIG_PKG_USING_NAXOS is not set # CONFIG_PKG_USING_NCNN is not set +# CONFIG_PKG_USING_R_TINYMAIX is not set # end of AI packages # @@ -1009,6 +1067,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # CONFIG_PKG_USING_MINILZO is not set # CONFIG_PKG_USING_QUICKLZ is not set # CONFIG_PKG_USING_LZMA is not set +# CONFIG_PKG_USING_RALARAM is not set # CONFIG_PKG_USING_MULTIBUTTON is not set # CONFIG_PKG_USING_FLEXIBLE_BUTTON is not set # CONFIG_PKG_USING_CANFESTIVAL is not set @@ -1046,7 +1105,9 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # Projects and Demos # # CONFIG_PKG_USING_ARDUINO_MSGQ_C_CPP_DEMO is not set +# CONFIG_PKG_USING_ARDUINO_SKETCH_LOADER_DEMO is not set # CONFIG_PKG_USING_ARDUINO_ULTRASOUND_RADAR is not set +# CONFIG_PKG_USING_ARDUINO_NINEINONE_SENSOR_SHIELD is not set # CONFIG_PKG_USING_ARDUINO_SENSOR_KIT is not set # CONFIG_PKG_USING_ARDUINO_MATLAB_SUPPORT is not set # end of Projects and Demos @@ -1055,13 +1116,13 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # Sensors # # CONFIG_PKG_USING_ARDUINO_SENSOR_DEVICE_DRIVERS 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_SENSORLAB is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADXL375 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L0X is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L1X is not set -# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSOR is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL6180X is not set -# CONFIG_PKG_USING_ADAFRUIT_MAX31855 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31855 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31865 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31856 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX6675 is not set @@ -1106,7 +1167,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LIS3MDL is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MLX90640 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MMA8451 is not set -# CONFIG_PKG_USING_ADAFRUIT_MSA301 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MSA301 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPL115A2 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X_RVC is not set @@ -1145,7 +1206,6 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU21DF is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AS7341 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU31D is not set -# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSORLAB is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_INA260 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TMP007_LIBRARY is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_L3GD20 is not set @@ -1168,7 +1228,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # 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_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 @@ -1176,7 +1236,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # 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_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 @@ -1189,6 +1249,8 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # CONFIG_PKG_USING_ARDUINO_SEEED_MCP9600 is not set # CONFIG_PKG_USING_ARDUINO_SEEED_LTC2941 is not set # CONFIG_PKG_USING_ARDUINO_SEEED_LDC1612 is not set +# CONFIG_PKG_USING_ARDUINO_CAPACITIVESENSOR is not set +# CONFIG_PKG_USING_ARDUINO_JARZEBSKI_MPU6050 is not set # end of Sensors # @@ -1196,6 +1258,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_GFX_LIBRARY is not set # CONFIG_PKG_USING_ARDUINO_U8G2 is not set +# CONFIG_PKG_USING_ARDUINO_TFT_ESPI is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ST7735 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SSD1306 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ILI9341 is not set @@ -1205,6 +1268,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # # Timing # +# CONFIG_PKG_USING_ARDUINO_RTCLIB is not set # CONFIG_PKG_USING_ARDUINO_MSTIMER2 is not set # CONFIG_PKG_USING_ARDUINO_TICKER is not set # CONFIG_PKG_USING_ARDUINO_TASKSCHEDULER is not set @@ -1215,6 +1279,8 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # # CONFIG_PKG_USING_ARDUINO_KALMANFILTER is not set # CONFIG_PKG_USING_ARDUINO_ARDUINOJSON is not set +# CONFIG_PKG_USING_ARDUINO_TENSORFLOW_LITE_MICRO is not set +# CONFIG_PKG_USING_ARDUINO_RUNNINGMEDIAN is not set # end of Data Processing # @@ -1233,11 +1299,11 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCF8574 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 +# CONFIG_PKG_USING_ARDUINO_SEEED_PCF85063TP is not set # end of Device Control # @@ -1245,7 +1311,6 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # # 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 # end of Other # @@ -1290,8 +1355,8 @@ CONFIG_BSP_USING_CAN=y CONFIG_RT_USING_CANFD=y # CONFIG_RT_USING_FILTER is not set CONFIG_RT_USING_CAN0=y -# CONFIG_RT_USING_CAN1 is not set -# CONFIG_BSP_USING_GPIO is not set +CONFIG_RT_USING_CAN1=y +CONFIG_BSP_USING_GPIO=y CONFIG_BSP_USING_QSPI=y CONFIG_RT_USING_QSPI0=y CONFIG_USING_QSPI_CHANNEL0=y @@ -1405,6 +1470,7 @@ CONFIG_E2000Q_DEMO_BOARD=y # # Sdk common configuration # +CONFIG_ELOG_LINE_BUF_SIZE=0x100 # CONFIG_LOG_VERBOS is not set CONFIG_LOG_DEBUG=y # CONFIG_LOG_INFO is not set diff --git a/bsp/phytium/aarch64/configs/e2000q_demo_rtthread.h b/bsp/phytium/aarch64/configs/e2000q_demo_rtthread.h index 6a98aaa67e..757e69ae63 100644 --- a/bsp/phytium/aarch64/configs/e2000q_demo_rtthread.h +++ b/bsp/phytium/aarch64/configs/e2000q_demo_rtthread.h @@ -295,6 +295,18 @@ /* Wiced WiFi */ /* end of Wiced WiFi */ + +/* CYW43012 WiFi */ + +/* end of CYW43012 WiFi */ + +/* BL808 WiFi */ + +/* end of BL808 WiFi */ + +/* CYW43439 WiFi */ + +/* end of CYW43439 WiFi */ /* end of Wi-Fi */ /* IoT Cloud */ @@ -353,6 +365,17 @@ /* peripheral libraries and drivers */ +/* HAL & SDK Drivers */ + +/* STM32 HAL & SDK Drivers */ + +/* end of STM32 HAL & SDK Drivers */ + +/* Kendryte SDK */ + +/* end of Kendryte SDK */ +/* end of HAL & SDK Drivers */ + /* sensors drivers */ /* end of sensors drivers */ @@ -360,10 +383,6 @@ /* touch drivers */ /* end of touch drivers */ - -/* Kendryte SDK */ - -/* end of Kendryte SDK */ /* end of peripheral libraries and drivers */ /* AI packages */ @@ -455,6 +474,8 @@ #define BSP_USING_CAN #define RT_USING_CANFD #define RT_USING_CAN0 +#define RT_USING_CAN1 +#define BSP_USING_GPIO #define BSP_USING_QSPI #define RT_USING_QSPI0 #define USING_QSPI_CHANNEL0 @@ -513,6 +534,7 @@ /* Sdk common configuration */ +#define ELOG_LINE_BUF_SIZE 0x100 #define LOG_DEBUG /* end of Sdk common configuration */ diff --git a/bsp/phytium/aarch64/configs/phytium_pi_rtsmart b/bsp/phytium/aarch64/configs/phytium_pi_rtsmart index 5706635ef0..2f91bd7866 100644 --- a/bsp/phytium/aarch64/configs/phytium_pi_rtsmart +++ b/bsp/phytium/aarch64/configs/phytium_pi_rtsmart @@ -485,6 +485,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_WEBTERMINAL is not set # CONFIG_PKG_USING_FREEMODBUS is not set # CONFIG_PKG_USING_NANOPB is not set +# CONFIG_PKG_USING_WIFI_HOST_DRIVER is not set # # Wi-Fi @@ -503,6 +504,24 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # end of Wiced WiFi # CONFIG_PKG_USING_RW007 is not set + +# +# CYW43012 WiFi +# +# CONFIG_PKG_USING_WLAN_CYW43012 is not set +# end of CYW43012 WiFi + +# +# BL808 WiFi +# +# CONFIG_PKG_USING_WLAN_BL808 is not set +# end of BL808 WiFi + +# +# CYW43439 WiFi +# +# CONFIG_PKG_USING_WLAN_CYW43439 is not set +# end of CYW43439 WiFi # end of Wi-Fi # CONFIG_PKG_USING_COAP is not set @@ -526,7 +545,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_JIOT-C-SDK is not set # CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set # CONFIG_PKG_USING_JOYLINK is not set -# CONFIG_PKG_USING_EZ_IOT_OS is not set # CONFIG_PKG_USING_IOTSHARP_SDK is not set # end of IoT Cloud @@ -549,6 +567,8 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_NMEALIB is not set # CONFIG_PKG_USING_PDULIB is not set # CONFIG_PKG_USING_BTSTACK is not set +# CONFIG_PKG_USING_BT_CYW43012 is not set +# CONFIG_PKG_USING_CYW43XX is not set # CONFIG_PKG_USING_LORAWAN_ED_STACK is not set # CONFIG_PKG_USING_WAYZ_IOTKIT is not set # CONFIG_PKG_USING_MAVLINK is not set @@ -568,6 +588,9 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_ZFTP is not set # CONFIG_PKG_USING_WOL is not set # CONFIG_PKG_USING_ZEPHYR_POLLING is not set +# CONFIG_PKG_USING_MATTER_ADAPTATION_LAYER is not set +# CONFIG_PKG_USING_LHC_MODBUS is not set +# CONFIG_PKG_USING_QMODBUS is not set # end of IoT - internet of things # @@ -620,7 +643,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # LVGL: powerful and easy-to-use embedded GUI library # # CONFIG_PKG_USING_LVGL is not set -# CONFIG_PKG_USING_LITTLEVGL2RTT is not set # CONFIG_PKG_USING_LV_MUSIC_DEMO is not set # CONFIG_PKG_USING_GUI_GUIDER_DEMO is not set # end of LVGL: powerful and easy-to-use embedded GUI library @@ -699,6 +721,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_HASH_MATCH is not set # CONFIG_PKG_USING_ARMV7M_DWT_TOOL is not set # CONFIG_PKG_USING_VOFA_PLUS is not set +# CONFIG_PKG_USING_ZDEBUG is not set # end of tools packages # @@ -725,6 +748,9 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CMSIS: ARM Cortex-M Microcontroller Software Interface Standard # # CONFIG_PKG_USING_CMSIS_5 is not set +# CONFIG_PKG_USING_CMSIS_CORE is not set +# CONFIG_PKG_USING_CMSIS_DSP is not set +# CONFIG_PKG_USING_CMSIS_NN is not set # CONFIG_PKG_USING_CMSIS_RTOS1 is not set # CONFIG_PKG_USING_CMSIS_RTOS2 is not set # end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard @@ -741,10 +767,14 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # end of Micrium: Micrium software products porting for RT-Thread # CONFIG_PKG_USING_FREERTOS_WRAPPER is not set +# CONFIG_PKG_USING_LITEOS_SDK is not set +# CONFIG_PKG_USING_TZ_DATABASE is not set # CONFIG_PKG_USING_CAIRO is not set # CONFIG_PKG_USING_PIXMAN is not set # CONFIG_PKG_USING_PARTITION is not set # CONFIG_PKG_USING_PERF_COUNTER is not set +# CONFIG_PKG_USING_FILEX is not set +# CONFIG_PKG_USING_LEVELX is not set # CONFIG_PKG_USING_FLASHDB is not set # CONFIG_PKG_USING_SQLITE is not set # CONFIG_PKG_USING_RTI is not set @@ -764,6 +794,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_QBOOT is not set # CONFIG_PKG_USING_PPOOL is not set # CONFIG_PKG_USING_OPENAMP is not set +# CONFIG_PKG_USING_RPMSG_LITE is not set # CONFIG_PKG_USING_LPM is not set # CONFIG_PKG_USING_TLSF is not set # CONFIG_PKG_USING_EVENT_RECORDER is not set @@ -777,12 +808,46 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_AGILE_UPGRADE is not set # CONFIG_PKG_USING_FLASH_BLOB is not set # CONFIG_PKG_USING_MLIBC is not set +# CONFIG_PKG_USING_TASK_MSG_BUS is not set +# CONFIG_PKG_USING_SFDB is not set +# CONFIG_PKG_USING_RTP is not set +# CONFIG_PKG_USING_REB is not set +# CONFIG_PKG_USING_R_RHEALSTONE is not set # end of system packages # # peripheral libraries and drivers # +# +# HAL & SDK Drivers +# + +# +# STM32 HAL & SDK Drivers +# +# CONFIG_PKG_USING_STM32L4_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32L4_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32WB55_SDK is not set +# CONFIG_PKG_USING_STM32_SDIO is not set +# end of STM32 HAL & SDK Drivers + +# CONFIG_PKG_USING_BLUETRUM_SDK is not set +# CONFIG_PKG_USING_EMBARC_BSP is not set +# CONFIG_PKG_USING_ESP_IDF is not set + +# +# Kendryte SDK +# +# CONFIG_PKG_USING_K210_SDK is not set +# CONFIG_PKG_USING_KENDRYTE_SDK is not set +# end of Kendryte SDK + +# CONFIG_PKG_USING_NRF5X_SDK is not set +# CONFIG_PKG_USING_NRFX is not set +# CONFIG_PKG_USING_RASPBERRYPI_PICO_SDK is not set +# end of HAL & SDK Drivers + # # sensors drivers # @@ -842,6 +907,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_BALANCE is not set # CONFIG_PKG_USING_SHT2X is not set # CONFIG_PKG_USING_SHT3X is not set +# CONFIG_PKG_USING_SHT4X is not set # CONFIG_PKG_USING_AD7746 is not set # CONFIG_PKG_USING_ADT74XX is not set # CONFIG_PKG_USING_MAX17048 is not set @@ -864,11 +930,10 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_FT6236 is not set # CONFIG_PKG_USING_XPT2046_TOUCH is not set # CONFIG_PKG_USING_CST816X is not set +# CONFIG_PKG_USING_CST812T is not set # end of touch drivers # CONFIG_PKG_USING_REALTEK_AMEBA is not set -# CONFIG_PKG_USING_STM32_SDIO is not set -# CONFIG_PKG_USING_ESP_IDF is not set # CONFIG_PKG_USING_BUTTON is not set # CONFIG_PKG_USING_PCF8574 is not set # CONFIG_PKG_USING_SX12XX is not set @@ -876,16 +941,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_LEDBLINK is not set # CONFIG_PKG_USING_LITTLED is not set # CONFIG_PKG_USING_LKDGUI is not set -# CONFIG_PKG_USING_NRF5X_SDK is not set -# CONFIG_PKG_USING_NRFX is not set - -# -# Kendryte SDK -# -# CONFIG_PKG_USING_K210_SDK is not set -# CONFIG_PKG_USING_KENDRYTE_SDK is not set -# end of Kendryte SDK - # CONFIG_PKG_USING_INFRARED is not set # CONFIG_PKG_USING_MULTI_INFRARED is not set # CONFIG_PKG_USING_AGILE_BUTTON is not set @@ -900,7 +955,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_AS608 is not set # CONFIG_PKG_USING_RC522 is not set # CONFIG_PKG_USING_WS2812B is not set -# CONFIG_PKG_USING_EMBARC_BSP is not set # CONFIG_PKG_USING_EXTERN_RTC_DRIVERS is not set # CONFIG_PKG_USING_MULTI_RTIMER is not set # CONFIG_PKG_USING_MAX7219 is not set @@ -923,7 +977,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_VIRTUAL_SENSOR is not set # CONFIG_PKG_USING_VDEVICE is not set # CONFIG_PKG_USING_SGM706 is not set -# CONFIG_PKG_USING_STM32WB55_SDK is not set # CONFIG_PKG_USING_RDA58XX is not set # CONFIG_PKG_USING_LIBNFC is not set # CONFIG_PKG_USING_MFOC is not set @@ -933,7 +986,6 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_ROSSERIAL is not set # CONFIG_PKG_USING_MICRO_ROS is not set # CONFIG_PKG_USING_MCP23008 is not set -# CONFIG_PKG_USING_BLUETRUM_SDK is not set # CONFIG_PKG_USING_MISAKA_AT24CXX is not set # CONFIG_PKG_USING_MISAKA_RGB_BLING is not set # CONFIG_PKG_USING_LORA_MODEM_DRIVER is not set @@ -941,12 +993,17 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_MB85RS16 is not set # CONFIG_PKG_USING_RFM300 is not set # CONFIG_PKG_USING_IO_INPUT_FILTER is not set -# CONFIG_PKG_USING_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_ST7789 is not set +# CONFIG_PKG_USING_VS1003 is not set +# CONFIG_PKG_USING_X9555 is not set +# CONFIG_PKG_USING_SYSTEM_RUN_LED is not set +# CONFIG_PKG_USING_BT_MX01 is not set +# CONFIG_PKG_USING_RGPOWER is not set # CONFIG_PKG_USING_SPI_TOOLS is not set # end of peripheral libraries and drivers @@ -963,6 +1020,7 @@ CONFIG_LWP_PTY_MAX_PARIS_LIMIT=64 # CONFIG_PKG_USING_QUEST is not set # CONFIG_PKG_USING_NAXOS is not set # CONFIG_PKG_USING_NCNN is not set +# CONFIG_PKG_USING_R_TINYMAIX is not set # end of AI packages # @@ -1039,6 +1097,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # CONFIG_PKG_USING_MINILZO is not set # CONFIG_PKG_USING_QUICKLZ is not set # CONFIG_PKG_USING_LZMA is not set +# CONFIG_PKG_USING_RALARAM is not set # CONFIG_PKG_USING_MULTIBUTTON is not set # CONFIG_PKG_USING_FLEXIBLE_BUTTON is not set # CONFIG_PKG_USING_CANFESTIVAL is not set @@ -1076,7 +1135,9 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # Projects and Demos # # CONFIG_PKG_USING_ARDUINO_MSGQ_C_CPP_DEMO is not set +# CONFIG_PKG_USING_ARDUINO_SKETCH_LOADER_DEMO is not set # CONFIG_PKG_USING_ARDUINO_ULTRASOUND_RADAR is not set +# CONFIG_PKG_USING_ARDUINO_NINEINONE_SENSOR_SHIELD is not set # CONFIG_PKG_USING_ARDUINO_SENSOR_KIT is not set # CONFIG_PKG_USING_ARDUINO_MATLAB_SUPPORT is not set # end of Projects and Demos @@ -1085,13 +1146,13 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # Sensors # # CONFIG_PKG_USING_ARDUINO_SENSOR_DEVICE_DRIVERS 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_SENSORLAB is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADXL375 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L0X is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L1X is not set -# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSOR is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL6180X is not set -# CONFIG_PKG_USING_ADAFRUIT_MAX31855 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31855 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31865 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31856 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX6675 is not set @@ -1136,7 +1197,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LIS3MDL is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MLX90640 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MMA8451 is not set -# CONFIG_PKG_USING_ADAFRUIT_MSA301 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MSA301 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPL115A2 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X_RVC is not set @@ -1175,7 +1236,6 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU21DF is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AS7341 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU31D is not set -# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSORLAB is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_INA260 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TMP007_LIBRARY is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_L3GD20 is not set @@ -1198,7 +1258,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # 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_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 @@ -1206,7 +1266,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # 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_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 @@ -1219,6 +1279,8 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # CONFIG_PKG_USING_ARDUINO_SEEED_MCP9600 is not set # CONFIG_PKG_USING_ARDUINO_SEEED_LTC2941 is not set # CONFIG_PKG_USING_ARDUINO_SEEED_LDC1612 is not set +# CONFIG_PKG_USING_ARDUINO_CAPACITIVESENSOR is not set +# CONFIG_PKG_USING_ARDUINO_JARZEBSKI_MPU6050 is not set # end of Sensors # @@ -1226,6 +1288,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_GFX_LIBRARY is not set # CONFIG_PKG_USING_ARDUINO_U8G2 is not set +# CONFIG_PKG_USING_ARDUINO_TFT_ESPI is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ST7735 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SSD1306 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ILI9341 is not set @@ -1235,6 +1298,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # # Timing # +# CONFIG_PKG_USING_ARDUINO_RTCLIB is not set # CONFIG_PKG_USING_ARDUINO_MSTIMER2 is not set # CONFIG_PKG_USING_ARDUINO_TICKER is not set # CONFIG_PKG_USING_ARDUINO_TASKSCHEDULER is not set @@ -1245,6 +1309,8 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # # CONFIG_PKG_USING_ARDUINO_KALMANFILTER is not set # CONFIG_PKG_USING_ARDUINO_ARDUINOJSON is not set +# CONFIG_PKG_USING_ARDUINO_TENSORFLOW_LITE_MICRO is not set +# CONFIG_PKG_USING_ARDUINO_RUNNINGMEDIAN is not set # end of Data Processing # @@ -1263,11 +1329,11 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCF8574 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 +# CONFIG_PKG_USING_ARDUINO_SEEED_PCF85063TP is not set # end of Device Control # @@ -1275,7 +1341,6 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # # 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 # end of Other # @@ -1317,7 +1382,7 @@ CONFIG_RT_USING_SPIM1=y CONFIG_RT_USING_SPIM2=y CONFIG_RT_USING_SPIM3=y # CONFIG_BSP_USING_CAN is not set -# CONFIG_BSP_USING_GPIO is not set +CONFIG_BSP_USING_GPIO=y CONFIG_BSP_USING_QSPI=y CONFIG_RT_USING_QSPI0=y CONFIG_USING_QSPI_CHANNEL0=y @@ -1428,6 +1493,7 @@ CONFIG_FIREFLY_DEMO_BOARD=y # # Sdk common configuration # +CONFIG_ELOG_LINE_BUF_SIZE=0x100 # CONFIG_LOG_VERBOS is not set CONFIG_LOG_DEBUG=y # CONFIG_LOG_INFO is not set diff --git a/bsp/phytium/aarch64/configs/phytium_pi_rtsmart.h b/bsp/phytium/aarch64/configs/phytium_pi_rtsmart.h index 01acfa195a..9b97e65a5e 100644 --- a/bsp/phytium/aarch64/configs/phytium_pi_rtsmart.h +++ b/bsp/phytium/aarch64/configs/phytium_pi_rtsmart.h @@ -327,6 +327,18 @@ /* Wiced WiFi */ /* end of Wiced WiFi */ + +/* CYW43012 WiFi */ + +/* end of CYW43012 WiFi */ + +/* BL808 WiFi */ + +/* end of BL808 WiFi */ + +/* CYW43439 WiFi */ + +/* end of CYW43439 WiFi */ /* end of Wi-Fi */ /* IoT Cloud */ @@ -385,6 +397,17 @@ /* peripheral libraries and drivers */ +/* HAL & SDK Drivers */ + +/* STM32 HAL & SDK Drivers */ + +/* end of STM32 HAL & SDK Drivers */ + +/* Kendryte SDK */ + +/* end of Kendryte SDK */ +/* end of HAL & SDK Drivers */ + /* sensors drivers */ /* end of sensors drivers */ @@ -392,10 +415,6 @@ /* touch drivers */ /* end of touch drivers */ - -/* Kendryte SDK */ - -/* end of Kendryte SDK */ /* end of peripheral libraries and drivers */ /* AI packages */ @@ -484,6 +503,7 @@ #define RT_USING_SPIM1 #define RT_USING_SPIM2 #define RT_USING_SPIM3 +#define BSP_USING_GPIO #define BSP_USING_QSPI #define RT_USING_QSPI0 #define USING_QSPI_CHANNEL0 @@ -543,6 +563,7 @@ /* Sdk common configuration */ +#define ELOG_LINE_BUF_SIZE 0x100 #define LOG_DEBUG /* end of Sdk common configuration */ diff --git a/bsp/phytium/aarch64/configs/phytium_pi_rtthread b/bsp/phytium/aarch64/configs/phytium_pi_rtthread index e0657ea280..38a74a7ea0 100644 --- a/bsp/phytium/aarch64/configs/phytium_pi_rtthread +++ b/bsp/phytium/aarch64/configs/phytium_pi_rtthread @@ -455,6 +455,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_WEBTERMINAL is not set # CONFIG_PKG_USING_FREEMODBUS is not set # CONFIG_PKG_USING_NANOPB is not set +# CONFIG_PKG_USING_WIFI_HOST_DRIVER is not set # # Wi-Fi @@ -473,6 +474,24 @@ CONFIG_RT_USING_ADT_REF=y # end of Wiced WiFi # CONFIG_PKG_USING_RW007 is not set + +# +# CYW43012 WiFi +# +# CONFIG_PKG_USING_WLAN_CYW43012 is not set +# end of CYW43012 WiFi + +# +# BL808 WiFi +# +# CONFIG_PKG_USING_WLAN_BL808 is not set +# end of BL808 WiFi + +# +# CYW43439 WiFi +# +# CONFIG_PKG_USING_WLAN_CYW43439 is not set +# end of CYW43439 WiFi # end of Wi-Fi # CONFIG_PKG_USING_COAP is not set @@ -496,7 +515,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_JIOT-C-SDK is not set # CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set # CONFIG_PKG_USING_JOYLINK is not set -# CONFIG_PKG_USING_EZ_IOT_OS is not set # CONFIG_PKG_USING_IOTSHARP_SDK is not set # end of IoT Cloud @@ -519,6 +537,8 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_NMEALIB is not set # CONFIG_PKG_USING_PDULIB is not set # CONFIG_PKG_USING_BTSTACK is not set +# CONFIG_PKG_USING_BT_CYW43012 is not set +# CONFIG_PKG_USING_CYW43XX is not set # CONFIG_PKG_USING_LORAWAN_ED_STACK is not set # CONFIG_PKG_USING_WAYZ_IOTKIT is not set # CONFIG_PKG_USING_MAVLINK is not set @@ -538,6 +558,9 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_ZFTP is not set # CONFIG_PKG_USING_WOL is not set # CONFIG_PKG_USING_ZEPHYR_POLLING is not set +# CONFIG_PKG_USING_MATTER_ADAPTATION_LAYER is not set +# CONFIG_PKG_USING_LHC_MODBUS is not set +# CONFIG_PKG_USING_QMODBUS is not set # end of IoT - internet of things # @@ -590,7 +613,6 @@ CONFIG_RT_USING_ADT_REF=y # LVGL: powerful and easy-to-use embedded GUI library # # CONFIG_PKG_USING_LVGL is not set -# CONFIG_PKG_USING_LITTLEVGL2RTT is not set # CONFIG_PKG_USING_LV_MUSIC_DEMO is not set # CONFIG_PKG_USING_GUI_GUIDER_DEMO is not set # end of LVGL: powerful and easy-to-use embedded GUI library @@ -669,6 +691,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_HASH_MATCH is not set # CONFIG_PKG_USING_ARMV7M_DWT_TOOL is not set # CONFIG_PKG_USING_VOFA_PLUS is not set +# CONFIG_PKG_USING_ZDEBUG is not set # end of tools packages # @@ -695,6 +718,9 @@ CONFIG_RT_USING_ADT_REF=y # CMSIS: ARM Cortex-M Microcontroller Software Interface Standard # # CONFIG_PKG_USING_CMSIS_5 is not set +# CONFIG_PKG_USING_CMSIS_CORE is not set +# CONFIG_PKG_USING_CMSIS_DSP is not set +# CONFIG_PKG_USING_CMSIS_NN is not set # CONFIG_PKG_USING_CMSIS_RTOS1 is not set # CONFIG_PKG_USING_CMSIS_RTOS2 is not set # end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard @@ -711,10 +737,14 @@ CONFIG_RT_USING_ADT_REF=y # end of Micrium: Micrium software products porting for RT-Thread # CONFIG_PKG_USING_FREERTOS_WRAPPER is not set +# CONFIG_PKG_USING_LITEOS_SDK is not set +# CONFIG_PKG_USING_TZ_DATABASE is not set # CONFIG_PKG_USING_CAIRO is not set # CONFIG_PKG_USING_PIXMAN is not set # CONFIG_PKG_USING_PARTITION is not set # CONFIG_PKG_USING_PERF_COUNTER is not set +# CONFIG_PKG_USING_FILEX is not set +# CONFIG_PKG_USING_LEVELX is not set # CONFIG_PKG_USING_FLASHDB is not set # CONFIG_PKG_USING_SQLITE is not set # CONFIG_PKG_USING_RTI is not set @@ -734,6 +764,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_QBOOT is not set # CONFIG_PKG_USING_PPOOL is not set # CONFIG_PKG_USING_OPENAMP is not set +# CONFIG_PKG_USING_RPMSG_LITE is not set # CONFIG_PKG_USING_LPM is not set # CONFIG_PKG_USING_TLSF is not set # CONFIG_PKG_USING_EVENT_RECORDER is not set @@ -747,12 +778,46 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_AGILE_UPGRADE is not set # CONFIG_PKG_USING_FLASH_BLOB is not set # CONFIG_PKG_USING_MLIBC is not set +# CONFIG_PKG_USING_TASK_MSG_BUS is not set +# CONFIG_PKG_USING_SFDB is not set +# CONFIG_PKG_USING_RTP is not set +# CONFIG_PKG_USING_REB is not set +# CONFIG_PKG_USING_R_RHEALSTONE is not set # end of system packages # # peripheral libraries and drivers # +# +# HAL & SDK Drivers +# + +# +# STM32 HAL & SDK Drivers +# +# CONFIG_PKG_USING_STM32L4_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32L4_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32WB55_SDK is not set +# CONFIG_PKG_USING_STM32_SDIO is not set +# end of STM32 HAL & SDK Drivers + +# CONFIG_PKG_USING_BLUETRUM_SDK is not set +# CONFIG_PKG_USING_EMBARC_BSP is not set +# CONFIG_PKG_USING_ESP_IDF is not set + +# +# Kendryte SDK +# +# CONFIG_PKG_USING_K210_SDK is not set +# CONFIG_PKG_USING_KENDRYTE_SDK is not set +# end of Kendryte SDK + +# CONFIG_PKG_USING_NRF5X_SDK is not set +# CONFIG_PKG_USING_NRFX is not set +# CONFIG_PKG_USING_RASPBERRYPI_PICO_SDK is not set +# end of HAL & SDK Drivers + # # sensors drivers # @@ -812,6 +877,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_BALANCE is not set # CONFIG_PKG_USING_SHT2X is not set # CONFIG_PKG_USING_SHT3X is not set +# CONFIG_PKG_USING_SHT4X is not set # CONFIG_PKG_USING_AD7746 is not set # CONFIG_PKG_USING_ADT74XX is not set # CONFIG_PKG_USING_MAX17048 is not set @@ -834,11 +900,10 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_FT6236 is not set # CONFIG_PKG_USING_XPT2046_TOUCH is not set # CONFIG_PKG_USING_CST816X is not set +# CONFIG_PKG_USING_CST812T is not set # end of touch drivers # CONFIG_PKG_USING_REALTEK_AMEBA is not set -# CONFIG_PKG_USING_STM32_SDIO is not set -# CONFIG_PKG_USING_ESP_IDF is not set # CONFIG_PKG_USING_BUTTON is not set # CONFIG_PKG_USING_PCF8574 is not set # CONFIG_PKG_USING_SX12XX is not set @@ -846,16 +911,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_LEDBLINK is not set # CONFIG_PKG_USING_LITTLED is not set # CONFIG_PKG_USING_LKDGUI is not set -# CONFIG_PKG_USING_NRF5X_SDK is not set -# CONFIG_PKG_USING_NRFX is not set - -# -# Kendryte SDK -# -# CONFIG_PKG_USING_K210_SDK is not set -# CONFIG_PKG_USING_KENDRYTE_SDK is not set -# end of Kendryte SDK - # CONFIG_PKG_USING_INFRARED is not set # CONFIG_PKG_USING_MULTI_INFRARED is not set # CONFIG_PKG_USING_AGILE_BUTTON is not set @@ -870,7 +925,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_AS608 is not set # CONFIG_PKG_USING_RC522 is not set # CONFIG_PKG_USING_WS2812B is not set -# CONFIG_PKG_USING_EMBARC_BSP is not set # CONFIG_PKG_USING_EXTERN_RTC_DRIVERS is not set # CONFIG_PKG_USING_MULTI_RTIMER is not set # CONFIG_PKG_USING_MAX7219 is not set @@ -893,7 +947,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_VIRTUAL_SENSOR is not set # CONFIG_PKG_USING_VDEVICE is not set # CONFIG_PKG_USING_SGM706 is not set -# CONFIG_PKG_USING_STM32WB55_SDK is not set # CONFIG_PKG_USING_RDA58XX is not set # CONFIG_PKG_USING_LIBNFC is not set # CONFIG_PKG_USING_MFOC is not set @@ -903,7 +956,6 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_ROSSERIAL is not set # CONFIG_PKG_USING_MICRO_ROS is not set # CONFIG_PKG_USING_MCP23008 is not set -# CONFIG_PKG_USING_BLUETRUM_SDK is not set # CONFIG_PKG_USING_MISAKA_AT24CXX is not set # CONFIG_PKG_USING_MISAKA_RGB_BLING is not set # CONFIG_PKG_USING_LORA_MODEM_DRIVER is not set @@ -911,12 +963,17 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_MB85RS16 is not set # CONFIG_PKG_USING_RFM300 is not set # CONFIG_PKG_USING_IO_INPUT_FILTER is not set -# CONFIG_PKG_USING_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_ST7789 is not set +# CONFIG_PKG_USING_VS1003 is not set +# CONFIG_PKG_USING_X9555 is not set +# CONFIG_PKG_USING_SYSTEM_RUN_LED is not set +# CONFIG_PKG_USING_BT_MX01 is not set +# CONFIG_PKG_USING_RGPOWER is not set # CONFIG_PKG_USING_SPI_TOOLS is not set # end of peripheral libraries and drivers @@ -933,6 +990,7 @@ CONFIG_RT_USING_ADT_REF=y # CONFIG_PKG_USING_QUEST is not set # CONFIG_PKG_USING_NAXOS is not set # CONFIG_PKG_USING_NCNN is not set +# CONFIG_PKG_USING_R_TINYMAIX is not set # end of AI packages # @@ -1009,6 +1067,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # CONFIG_PKG_USING_MINILZO is not set # CONFIG_PKG_USING_QUICKLZ is not set # CONFIG_PKG_USING_LZMA is not set +# CONFIG_PKG_USING_RALARAM is not set # CONFIG_PKG_USING_MULTIBUTTON is not set # CONFIG_PKG_USING_FLEXIBLE_BUTTON is not set # CONFIG_PKG_USING_CANFESTIVAL is not set @@ -1046,7 +1105,9 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # Projects and Demos # # CONFIG_PKG_USING_ARDUINO_MSGQ_C_CPP_DEMO is not set +# CONFIG_PKG_USING_ARDUINO_SKETCH_LOADER_DEMO is not set # CONFIG_PKG_USING_ARDUINO_ULTRASOUND_RADAR is not set +# CONFIG_PKG_USING_ARDUINO_NINEINONE_SENSOR_SHIELD is not set # CONFIG_PKG_USING_ARDUINO_SENSOR_KIT is not set # CONFIG_PKG_USING_ARDUINO_MATLAB_SUPPORT is not set # end of Projects and Demos @@ -1055,13 +1116,13 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # Sensors # # CONFIG_PKG_USING_ARDUINO_SENSOR_DEVICE_DRIVERS 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_SENSORLAB is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADXL375 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L0X is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L1X is not set -# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSOR is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL6180X is not set -# CONFIG_PKG_USING_ADAFRUIT_MAX31855 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31855 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31865 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31856 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX6675 is not set @@ -1106,7 +1167,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LIS3MDL is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MLX90640 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MMA8451 is not set -# CONFIG_PKG_USING_ADAFRUIT_MSA301 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MSA301 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPL115A2 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X_RVC is not set @@ -1145,7 +1206,6 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU21DF is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AS7341 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU31D is not set -# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSORLAB is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_INA260 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TMP007_LIBRARY is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_L3GD20 is not set @@ -1168,7 +1228,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # 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_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 @@ -1176,7 +1236,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # 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_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 @@ -1189,6 +1249,8 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # CONFIG_PKG_USING_ARDUINO_SEEED_MCP9600 is not set # CONFIG_PKG_USING_ARDUINO_SEEED_LTC2941 is not set # CONFIG_PKG_USING_ARDUINO_SEEED_LDC1612 is not set +# CONFIG_PKG_USING_ARDUINO_CAPACITIVESENSOR is not set +# CONFIG_PKG_USING_ARDUINO_JARZEBSKI_MPU6050 is not set # end of Sensors # @@ -1196,6 +1258,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_GFX_LIBRARY is not set # CONFIG_PKG_USING_ARDUINO_U8G2 is not set +# CONFIG_PKG_USING_ARDUINO_TFT_ESPI is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ST7735 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SSD1306 is not set # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ILI9341 is not set @@ -1205,6 +1268,7 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # # Timing # +# CONFIG_PKG_USING_ARDUINO_RTCLIB is not set # CONFIG_PKG_USING_ARDUINO_MSTIMER2 is not set # CONFIG_PKG_USING_ARDUINO_TICKER is not set # CONFIG_PKG_USING_ARDUINO_TASKSCHEDULER is not set @@ -1215,6 +1279,8 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # # CONFIG_PKG_USING_ARDUINO_KALMANFILTER is not set # CONFIG_PKG_USING_ARDUINO_ARDUINOJSON is not set +# CONFIG_PKG_USING_ARDUINO_TENSORFLOW_LITE_MICRO is not set +# CONFIG_PKG_USING_ARDUINO_RUNNINGMEDIAN is not set # end of Data Processing # @@ -1233,11 +1299,11 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # # CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCF8574 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 +# CONFIG_PKG_USING_ARDUINO_SEEED_PCF85063TP is not set # end of Device Control # @@ -1245,7 +1311,6 @@ CONFIG_PKG_USING_KERNEL_SAMPLES_EN=y # # 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 # end of Other # @@ -1287,7 +1352,7 @@ CONFIG_RT_USING_SPIM1=y CONFIG_RT_USING_SPIM2=y CONFIG_RT_USING_SPIM3=y # CONFIG_BSP_USING_CAN is not set -# CONFIG_BSP_USING_GPIO is not set +CONFIG_BSP_USING_GPIO=y CONFIG_BSP_USING_QSPI=y CONFIG_RT_USING_QSPI0=y CONFIG_USING_QSPI_CHANNEL0=y @@ -1398,6 +1463,7 @@ CONFIG_FIREFLY_DEMO_BOARD=y # # Sdk common configuration # +CONFIG_ELOG_LINE_BUF_SIZE=0x100 # CONFIG_LOG_VERBOS is not set CONFIG_LOG_DEBUG=y # CONFIG_LOG_INFO is not set diff --git a/bsp/phytium/aarch64/configs/phytium_pi_rtthread.h b/bsp/phytium/aarch64/configs/phytium_pi_rtthread.h index decc273af4..a1a53cb0c7 100644 --- a/bsp/phytium/aarch64/configs/phytium_pi_rtthread.h +++ b/bsp/phytium/aarch64/configs/phytium_pi_rtthread.h @@ -295,6 +295,18 @@ /* Wiced WiFi */ /* end of Wiced WiFi */ + +/* CYW43012 WiFi */ + +/* end of CYW43012 WiFi */ + +/* BL808 WiFi */ + +/* end of BL808 WiFi */ + +/* CYW43439 WiFi */ + +/* end of CYW43439 WiFi */ /* end of Wi-Fi */ /* IoT Cloud */ @@ -353,6 +365,17 @@ /* peripheral libraries and drivers */ +/* HAL & SDK Drivers */ + +/* STM32 HAL & SDK Drivers */ + +/* end of STM32 HAL & SDK Drivers */ + +/* Kendryte SDK */ + +/* end of Kendryte SDK */ +/* end of HAL & SDK Drivers */ + /* sensors drivers */ /* end of sensors drivers */ @@ -360,10 +383,6 @@ /* touch drivers */ /* end of touch drivers */ - -/* Kendryte SDK */ - -/* end of Kendryte SDK */ /* end of peripheral libraries and drivers */ /* AI packages */ @@ -452,6 +471,7 @@ #define RT_USING_SPIM1 #define RT_USING_SPIM2 #define RT_USING_SPIM3 +#define BSP_USING_GPIO #define BSP_USING_QSPI #define RT_USING_QSPI0 #define USING_QSPI_CHANNEL0 @@ -509,6 +529,7 @@ /* Sdk common configuration */ +#define ELOG_LINE_BUF_SIZE 0x100 #define LOG_DEBUG /* end of Sdk common configuration */ diff --git a/bsp/phytium/aarch64/figures/aarch64_env_thread_tools.png b/bsp/phytium/aarch64/figures/aarch64_env_thread_tools.png new file mode 100644 index 0000000000000000000000000000000000000000..3d0100f05d3678d5b0bc094e6f2f339333479799 GIT binary patch literal 5261 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 literal 0 HcmV?d00001 diff --git a/bsp/phytium/aarch64/figures/aarch64_ubuntu_scons.png b/bsp/phytium/aarch64/figures/aarch64_ubuntu_scons.png new file mode 100644 index 0000000000000000000000000000000000000000..cfb21e9ad176a69c773a51cdc9fc8e3c978e7f60 GIT binary patch literal 34989 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 F{{dH)X-WV9 literal 0 HcmV?d00001 diff --git a/bsp/phytium/aarch64/figures/tar_toolschain_ubuntu.png b/bsp/phytium/aarch64/figures/tar_toolschain_ubuntu.png new file mode 100644 index 0000000000000000000000000000000000000000..ed0ae155cfa8c737a662df7a3aa359728c4d85ec GIT binary patch literal 27803 zcmd432UwG7-u;gaR6tNvdJ_Z@DG@?1A_^9YhzcSdr1uC&2q4libd_Edq)6{YinIU< zgdTc?K!Su~2%!e}Kd3W1Gdr`p@BVk+_jg??30I1D@+9|p&iR~g$Q=z;+T$$8DJUpt zZ{E0emxAJuK5%*GC?)W3wz}IX;Ku>TUDc};1>J04fh&hCmDH6eD2gMf$tFjD>&KjK zJcLkCoM_(vd!WrR+nj>JPW0wArF%~e7n7%6@dzUG9hrVX^ zt7)|N-D1bK+e(L+8P8Yv^BUJ6H}-bWz#mC&fBLIOx&0&YQvol&U!uR7a#%$F$8YIZ zc%M$4^B<2^+}mB>X(((!?=d6W1IU}el|A<2Zt}KS#OFCe40vmK8MVSv-(0i2K~h`F zq?%ev81XS|Vc14a1WWHV_@I5@mdXkj6dKqKs|vXIH!c+KZEx?~XMCn3dbTF`#O@9V zaiAqEql8FWZ}4VIV=iI%Hti=mNW^U$?Wh&AW(iC{X%gnn*m7Q3JZHIO5!-nZ+<%OSkI7o7t!*AO?C})3F`!4>Se+Q;y zl3Y7{%&b4(Tc=-Cx^)S|FLpJ&xtdlLE7xFcz4#%)@`#Klwm65sV0jvvnVRu6=@U2- z7YY$HdcqTC#us+-NF|SRD9deHT@2eT19KYL$+*itdh2rC-*^hsdkS<2b@7GC_*aBt z5|eZ$Cf(&oh4u=l_`V`lQF57K%u|)c;BYBi+U^tBiTN#+p^1vp_#i>&3i2o7X?YWk zj!Fju_AVy}bBA|S3&h*iz4N|^7TlEBT57N!-Ej9UgU)A*`olgdFNckK7@j2Mg9qL6 zoZUk;59B>AX<2PLAJkq$uifu(R*v5x`C6Oh-h9AS1ciS~8MYwi?ZxLVOq$2oB}rtt zdIs|5*6!AE1-?fy<{V~oM_WAb8y!`J4L%y3=aaS*qgl!`#}e|#+i9l#ir(QCV6P@t zanZL)acp}pwIe{c%-9}<1vM^;hgH~JTx5#euNkaxM7Fge z<@PT5{l*3~FJ)vqWcXxQIs5FPPtnO4%BXwgDQCAtln*vb*T~KJPDAc<2qQ*duW=!% znro-8h|PGm)~$AyTLcoW53Rm;MJ^Zb#koDeo3;aYPJf8@vym6FsLMFiL3@pOm1AhD z1~N7=tu0FC&Wbmz$_qfHl8#LJ!ADv(jFZh>n1hcD$rXwm^D_@*;=t|G^^$hE1hM!{k-gB&<>SX-}OgbaaRUwO_kJ- zr+Z8?j`GBVx7q?N`Zb!l6ppe&5u1T+{M!RF z5BO|kQr->67C#m$3PVyA$H3kbKaTf+&=Xr%5l_KSpRFFYg}2BcNuwK8P?rKX?-z@C z45Zw_l`m0>DHa17h~QTTA65=As^^ZpKcc8GSoMkX4GRW4r3VZ2ZuAT-WF~p7ZEAiM zSmWOWdFwc#PBS;}YNt?}Zm+L%DhBGT`Dedl?MFCGDjTw=p6Sz%9X=Poxz~Iqh8RV0 zvV6GxpwX+t(O>L~pU{pAW@D>)$yQ=b%;znIvu_!ZJW$y>&WUYIA&Ilg3E1M~1hLi+ zOwAUhW4K;5R~VH?w9R!ad;anq@#HghL8@s>8AF8|UIuslsBUN$A<7^-S6~)UVTEt2 z-uWdqZOgv9HRbi)!4)UGe4(|RspO>*IsFi1OQA)|s0FL$HL>XrPLlGz=00(p3|&-3 z9G38gr3xb!^t#sWz0^l~)0Pj&*ed9-4{Ut=qqr)2zualr_5l0?g22;qHMcnZDr^_1 zpD&X3GNMhRqPs%pP8U&TYR8;I>{hq0dgYvw1Z!ojkfm$fP}{M=M%AA6%y$g7Xj#9!qyqI2QcAIWy$Vvqb|A2LzCLDF2Q>Ab)=M! zO;|WKxR8pae?!r4C(EmiAec7k=d=JPW*I5p-acjJP*u-UJ&M)IYjo&re1TzT^Is2h z##GmioU4`y&qGK2B)uT$xMpY^eDXy)B_9w3% z-Mrq8#_ra8O*weinI-wyIsme$o2+v@pVO7&o9YYyB&8jhCW;~EedW}?E!N-!+~>QB z8VO_+{&~^kRP8UnZjbr$*UIXL_Tq1(X5^lE&4o_T6u#oK6SV$r4N5i-n`WF8E|`+d z+YUEE&Nx8nmkQ!{aM$IE_ma*bo7uP+8>vxeo(9C%U#by5TKGnHjt^3_EwAp(ld}+K zbmN#+;KJboD}8Nw;&M6k)A~bKJYjh|0=yJjPM78uTHu=^Y5Mge(U(xovH5(|Iy_U# z41C_TTF+-)ac*goBVPIW`b>?k;;qS5DPamel}s!}d$kEKwvmNXZy~2Qou5vP zswDX7AH17Bcig1s3jENvj5nm|FQijc*xqnEMs~U3jWSgVT{x1o0roQrY#I8NHOa8# zH8r}9mnN5S#QWs$uTBD39p5bS{0^?NNZV+ppo&r0`c&IF+k09qS1%wJDgEKjAzkk) z(phw@Ed->ARe6$%B5qB?tCB}QBm@R z^#h-i`v$=|){@8K67?pogd=wcZ~DRy9PO~}GT=A9e`!`UC0gO^eQyr*v0a##kJk~- znEac?5uhiBr)yow=Hn=|B0u)j>H#0le@#2FY7LY|u{IX+rKqq)fedMfmccR+$oDDq zUdP=+?d4<1oA(I>lCFH|IzurJi>>S@s+Z?wZw3|Q0ODuWDDZF~iE-t5qw%vJjIEcWq~b`ZfzmKe&O`@zVo)xDd1J6M#^o}iCn9U8 z7P~#M%Ddf9X0qZCO~ETkA`I5a-6L{p#rNH&J#4^;YuR-59F3p8=9=op ztR@js$rm0ePQ8ygDnOBU_)AbfDg7ZQVRWT!#uS!4D=6#6Gb9RA44AK6kZNxi^0ry zRF7^7Rg`KB6h8Rur@H$zK}(jI=fQFF2|Xk6e2d((zgo78+Xdg1uJm|rm#~1vuYw8nm_t7V#IrtqryyEv1 z^@~B-=2{_O5sCxMe)Nmk2j^L;P&`w!BbT5vFLiWLl7UYv!*!Mk}E;7Y9%o?}lyV1F-5Bu_U zNAK}qIQr0ztF2e^NqhFKgQTa53Y!z99#yAOLx8=jyh|bl*p%I;9H0j~c10EW66lQO zyP13@>>I@Em($5P3YBFo$h?g%XHwDLrTs^EvcDqc!rA+vJi`2o@#KyG+etPtgHo|8 zh>hV6^vGI*J+W5!cv@8;{J4p6e}8bvNY!jzR3UXjmYaYQWDm#3ARRG>(Z zLXBv~O}5lQ_0P5yJr)_0&he+OCN1|a+`0t!2vxkH^p0;7tP`<1IRNNO(=5>tP1AW< zmgb4LfhQ7M)utTp**bkZgYQE$JyK9kU7|JsdeuXu;88Ta4NYv{HeIU>q`3 z=OA?!?>CKABfyk;?rWUwh3fzB(g2>WK;Ucx*W?lrHi$l*%a>{axfjapK``+It!I{1O*@Q z#Xv-f@&{Y)*yTBz2gn5tMJg7$q#Mzh8NTy4U&-=dv4tS(OfioSWx3Spc@<9ZIjv?8t3w-PueUzt*3ZG{!0Ytn6%$kdE9|KvG2yxx}`T@A^otHN@)M! zEd56R{J4qSF~h1KYKnX2=C>x`$-e(y^En``+J!>U^^P#2LN(J4iE}b`6c0F0p+-+X zR0S>P3BkIJ~-tMjRqUch=adLM?4p+u=UHhXG=!<%86kU<*yb4D@fZz%B^?SRPaM=od@N>98p&13WhMcC^O=0Ja<`d_HHI*-ZE94ektU{%WVgEcp|$7P4sK9?+^757 z`xg_7RdbyxYCojXX>*&?1}-O9f}M?x+8i~QM!O3v#=7Mcj_Q1^4zD`t2^D^b@jD`0 zLf~ZefZ=u|pUizEHUdhp!Q$KJ$YGY<0nes75&dm%`JmJx9%3PB|G5Hz=gJ^gXY3`- z@QCQkma9E*64CGD4gdJ(V##FX7qRpt7dxLZWSIJdg*Hf-WmtGw3Qkm@H2m z9$-MZJIiaw3`)PU0^;Rne+|w# zkkf-bz^yKHxeKsZ8)y=)F}_iyZH|vHs1{Y>Os@cQ~s=bilJfXfNlIGKr?ilL%m2%aEpn0 zfvpu9UNEP*azWpANk-s(hF}ok-Z#+Z3UNc@8xFsX7u<-mW4=BG_)Sk(U%4Io{hnl z{$QTVh}_1lIu#t@;UL3X%|?yld|b3*!$pO9j$F$%?{jX~%6Zq$TGu^v@v-BTSv@h4oi2fHa$KQxSOXL$YI_oZ2G~* zFo%A$CFXEgK(AaOgS-A|1-}`)gs{%@M2GHoEXXsh=Z_fW|IKoORBZm4D+_i*L(&JlK5+edM-hL`!2{LuQIS zd1LsA8F0oQhWrSe@xP1#1$xVsW5MX%6KF*i#gY;Gi)}(LG*IHNavZmrH-LbuR{!t-kB+vT4$NibNbWD zV_?mg7_ZBchygfc;q!3G*zeTnc>t?z8;pUJ z6Cc@GCTAPvzov>H6U5WqF0167ZU^idE4{7iu)(?B!CV z&n?Yj#f}KVhvy$M+nLr`BXnp>yM@PGen->0nV>9mb1X6z7!tdQ%$Ed1@ zy9L%9V>!~=wJ$)cEa!t~^scnINAl-9FrVz*3RmDfFkI}y<(-L{^&3E)|KX>p$)f05 zEHiP_hcuT_7jxan9CL+_@OZctzK1cpZJW@soYK|&YC{dM40G%&2-n1U>Z#rP8E&iv zZGw7X6nJOE2Hs)&9l?upR+Ciy?!31}t7CX>(2ivY@CaGknlmbl!twYw;OW*2VPi(h zg|9nK#89JZr7db^MEAwiOQK7;qSvg9eKex`23D6Y9U00%7J zv&z;II2U!7TXyTT&P5^Fle|tZ|V9_=e`38M3V|*m#&`thNJ(aEm2YM+|AD*(knU&%cz(A8i-DVwS)f%%LW> zjig#nrBzG3Xu*CZT%Kt=px}CCCI!y)mADZbUbC&vX|wg*^-1AQf&-Dxl*t9Hfs@0$ z3*v$vg?S=#o-ojQxJnLI#LLK}=6vrDR zDIo{z$1Xp_WHmA3!__dEzn3SLP>Nn>1-?JvJ1eNBh>)(0y1QciQkm-_Vc__^TP6zk z+~+K!&SuF~o;t~li3;Unh*pvmDg6FE9eu-F(3pOJGb1yG8O&+@no1=))-oV@<15&z z5p3r6WrM8~7C`|z%_<|w*bcFx-6UR=+#-o$?$vY4dz;bp3B`av8YEMQp=etDOrQ&lL4|XK3b8rj$k9z{5q-1>(LLHIsi8P3EkB zt)+hGs()ltMLsh1qE_@cxRuJjR>I1r&UNZVq_~xt!a9XbMB{WcMP;AdIHw$KT zy^>?Eeoq%upu0_BlQqXO=fU&(gd8VRDn3diI~i*gD)vD8Zfq{eea~+x#R!SvgTCI+ zyN37ku7V{+{wkN0cQsNSg1B>^zcsmrKIz$8*I@~GHDfS^b>~w*!hL4QMtN@cL2t<+ zzzO3bC=G|146KrN))g@$%rqZdHti&PnbN7TZHpPSf-P7-Vf|E=R6K!B&R_x=>{`Ns z8#Ahs*nzSr7Fee5J4KZHKG^gwBv8j-K^XJ4^sL9lS|@v+E~Vp_!J)z(RJ1KpMTHni zej0mAol<*C4o?5vReja*V0ro2JVN7h_K}TX0cr?K*Yu^^d+SJBsVDw@yvQku${ z>zDjj#vQJ-GsO<)*~q?ker56clt{#9D3NH&4_Eh*Ey}fyn=#d4wEume7ohOBK#wmM zauIbUMX);`CXi^o1z{5#k-Fm~dnzltc;Feh`^~_0L=h%TfSBcq#Ly_N$Q)mUoWF0g4te3HtE@7-asqOaCg9tWnef`X-Tn} z=#ZgTS`rw;)=y;eZnQmcXozd`WG18V&3Y&S2=-3#^Xvccrl`XKZz^Elo6>nz1$a}( z|KLptrC)&2u=_fgML8S!>?OtB?x7-k4J0_&R=Dtp1=BUXPAMhcck55REj(!ELe|!h zM_dSVwgYoeR`%On(?Y5^9BxQ>%Hn(t$boblP;+t$xzMYt0>c6oB>fefPHP*=jMO=) z*%EG*w|If`4)FEJUXuxEr5+#VQ%v2xvr2TQQ*&3GK;76&awb3 z1{W#G)XDesj@W4{E7fCE-oJC#7RNojH3)y6-GGDU8$wC?HS>n+ouRjnQb}ZbcsXyS z33RIDxU$a><5RlJ7O_jyQODn?L#t_8nymH>Drcec z-Ou;@uO6omjDC4xKi@OC@!aOUKk27Kb?}Eng;-IQWMW1$VvpyHNM5gfD_vOFSNvwA ztX~v(R|8X=>!%1E3h}IFHo?+skL?~(+hK@G3%sfGa-xz?I^8SlBS9ZC1OKbR9uz+4 zbFPbpg+hAGcp-KX$yLbJr{ByJm1_P&UGZA}R$bNFelg@0N8%Dsc3_v9>rj5q*P{DfMn0;(%qTGgPgx6ds*Tkn9>?+j{pjL zm3j8qo6&8X^G)i-qF8}luGVOlt0;Z>K2L4MlU>2dO}q*rIm=cw?q+xUN9J&$9@#Ex z3jH3swrgg_C1(8fevUKD|J$N!euo+P$i-`3G16zIE$(lEs`{s(iUu)6-}+ThP4zB# za?oyYfs;G4H*b{6iH5$D6I^J~EL5T{U@kq>hBL-`9u9sptcz|x{(qY69mndYljge{ zY^4J?&g^I*-MfQ;R4;+2(ERsW3j1b}@oz#&x_N|}*F)rom@**PJ_2kc?~^P2&(W14 ze@p(lfe6hKF!!$FRU4_uC(m8;b;Ekrh$5Ao7Ze4*d4I+!CBmrnUwEY{}=#*LiQ1ycm)cdbg?k zE2@9PS)SEv*8wDMyypRCTu)^^SG}Tb>(lE2w*%HH(Z@D(Dw5@T>_mX8NY3 z?-#RYgt{)Bzt0g%!s1#rm=Ya!fsF6ir9a8|1gA&DBGl!by%z`bHv)>ppRj8@+#q9 zH?sA87hl5E>;{ns?D+FhyeV3;Z+W_{c7r?Tq_stuv52^gc?@lu4~3=ujD_{ zQ58#Kjeqp@z&81=Lm4y;MDW;v@9@7JI#f}5mr=}EmT`^KuSzvyG9PuV4cSx5-h4wI zNkF%%Y{2ehQ8{;;Hpfv@=4rb~19>0YIedV6M-Q*DgN^GUX@zYa5x&cmT)c%~_hhO2 z2VOQmy|q=9gToP$zaUZTD4lPhk%ZIROvKaEcic)*;gP%|BTfFyc{LIJ2PSjKt%J)-h=sm0QBgBHXyI8L z>AVvE=5fEn;gH7-kA>siAqDzr$I5y;BN1A^I9UhLe+o~zHCG;3wDL*cedU38LV8@J z?>C#QRe!Vwbr?|7tep2WrDq-wkn7nygaCimLMYeGVpCXm)RXsw#SWNchiPleWCdU% z8yKZGn3$0S2d!dqz=fOMlJXt9;);|BRB#-$C(Ico-vE)I)3$q+ykVFhw3D?%{<>p% zg<)NSE`7pbvY10WaBISXMmKAv`_{O8^v;A-wEe!F#Yq3%&f-0KQ)e#b(!QPL63yAd zo5E}P-O)PwJ4eg*+Uk)9QHMgA+XQfe19h1y{tYRsY>CN#}=IW_30)T z$@L~J2bX*!OMf@%5F!3+^~T5k?eb6W*&C>~@IzZNJfkwJN9GCMu$2#%M5pr#41iT) zlV~poXo%&eiPgi=J0{+0;+!9$Nub@DF>h-aT6I&~%fUJ%^&ue9s_M9T2j)t+-dzSy1zBvZNp87+w{B`*)g)DY3sp zKPKtam{(~oBonIn-^Z!6Tk6S$2d8a|_!$dTVXIGXBbW4A)>oLaHH!5Oct+6SJR_~& zU9FHl;Yq;NQe5Q*T&?Ka=Kxo$V-EaCv;!5#>y%U|j6F?lmNHFu_h?RtTh}1ZpPO33 z)(Q6E;4twX>!13obTTdKe}k+#IZ3xCdOewLv3Fzw0G5 z4v~#Kw!#7!HgR-=?DtJn`VPLv#mpp!6K;gW9y^wvs1wsd=@h;Faz^5*_!mDZ9A+eY z^W}5#<5OCB@qcG;4bVEo{}-}DS$U~J$c2B6vpVh}oE%%e9L#Yk(B8Y1B@d;rD|t7o zE?>)A)nKanWO}iYp+R&m!28V~p8F+Ee52?@KCy&F$s#r@v6S5YX>bw!bR%TVG^%1> zXPujIH1_$e$;Exx5+KutBA(N2U{tSmr+EumP~hSFVrph5-sqQj&>xTtj6do1f0P>j zg-mm~o##m8*Zdc8tN#;0Hi>N_9Y!A$(dWNOwd3RSPD{6A1RVTpkSO<$f<$|sS6HaG z_qfJr(N#Nzxh7H$5by1M?Ek00`fN9#$Ku1{zBQGHiBnY{&QR$+k4yW3t7HA&EH2no zEOui2oL;5igISBSaM54|-6HLT|9Ol!9^+|L4l(bFB~ng;)Iu`QN3Pg%+iT3Sv_o2} zUy0O2A^sl$u4tw?U`kvT2BbzcR^sb}SCuj34>X6PUCYuSvd zU!J*^!`e<5X@I_o1W|B*&8x;|WJedUA+$>nGoO(d*~Zku<-)=*W+jhL$40#2p~vN8 z_%ZdnyV9W8G`fxLZ1BX8-K>fQ5H|_QTjFvTG8JR>-?ztdZbb z432Goro{dQgR4k_G{t7Xv3iA2eUXk4W2f+$*n;HuJf6n9Qa5b~#p;PQZ=AD*4%Xn- zhkev!b6r8^9U6VTdCN)w@?L6qS4>u{)iOELH|3CAV1B)Z^6Xd+$KdSxLmHoUYryBr z6=x}Q`R;duj-J@k{nA}q~GkHP*7 zz%rAV`z!S|A|+|WC|E;cin&h$=b^4c2#EX~q6z@aq!WV#Dn4nz3Wu6^`@MHpcg4~|JQIU@9VD0c zckCSpS?tHI`=Wup-JeFE^6q>n=HuIku^2h`VXVG`oB)h}**)0pSe)$o*1KGfLvE$5 zA3oZ_RD72U5G`-5!H>$nv}LjAZ1UXO4^m$sdqkdU62R&8NQFHC`PN-tMa1&)r34_7 z_xS`-vfJC;#mwbk7*JoHreKe|eQ-^hQ!<-dqnFfKA9@?Hc(G$rbjUmipxR%>l&G9X z|C%X6q^H>Le=B1YFg4oMIY0mp$GkxCC_ro9S-J~N zdy*22M$%8~wAk!|k&ok0xfn<+YtUFL9;>9k( z>cJu#{%~~2p*u!81I8wk45siwy(d(DA74!S&3|1n{5rDs6JN)d?c?h}jmKaNjMaZc zs1~K0kdg(?_S$tlfzMpwhBu=;hMWVIN#LmmQWMM`4FGtuw-r8v(lr%}b*FmM3M~rG zR6j8ss^@_gF;#4yvAt91MHY+9l?AcQm<$w5BH>=^HnCg);uRgd(<+<7;@TInda6!3bLdBZ(EatfVtp(NRY4(VEcr?Zxk|H;rX zaX)m#E7ppXqcHroryIVxIn$y|CfvzTKKFhlZO*t~BjmiIlBl{>GUsxIa6N=BzqSUYvvq^~m!3tVN93Mb z_VHEL{NvtW(8kY@@em}qi^`x%0jz++7**BOq@Ki^%Xe2cIN5KJ#J%;9-DLL{+}!?h z%!XAJQOzOx2m6%X$@0>i5Opq<_M~5@Q~f=}^^|LMRlfv5MeQ~-?aXF6ExYU!=X+w3 zlMTo)Z7CaQLh?5?rR{$5?&DXGF7gvXfk2`R1I#bByWzBV(j{iAZobB?9XQI2IhE*X zuL|DkBlk~n|C%H!f<_d$vZ`y8pAXyn%oBrwdLZuo55_&zcfHe0TT>t1O1jkWdI)>3 zz*kNu>Cxuh6U47b=guRs^5fwx0ydYx#$k{Pu2GwLI8i`{>pORi9=q=aHFC^4sbsNN3|&AG(iqTW}P#jI0PE zwO9S6&!cNxUB#QLqpJN<ocmvi2oqlz{E@}Na@9g9KK+T8 z^)D!>e;g4yylHEX$TYfWK{)RpiT(ueRbZ8!hdv+Y_Dv}Rxw}M1$tOVUr=I3vXmo18 zqO8SO8~%$kC0t(IbwcPu$(skZr8(85-xINLjxTp4-_5jl;#L=!P}|8Xx4eWwdeU=# zZk@_ATLDc6tA|DY$XNBWOAP)yzEsG|^Yzx9Y~{KC!csSQOvyUcRwRa(oIa z(Zn`hWxwzVK&HHs2bQOTXj?Q^a=QKEFnW^M508xYo0s1i?f-zn0e=R*V`gH-_I#>L zF%P%^_BjJq5m=i3?2@{xOq_uuj&RN#l7BJd%+BOXm6oDHjW+Yci#Y z6#+{`_yvbAb7|hqZ?8=!v3n^TEHazDLbltv^Cv76wa)*5h3Y?N_GEzoaJP|Y#7t8F zShaSuyKSQ^@p@+IqJ7C1i!v2xrED;bT@BTN$bGVj@Ow_2?OgY)o|o<%9h;wWLd{(3 zdKotCbDE_pIoTJ{6b=Di%{aft(E%>`HxXWYllW=BxrgmxImt@hBBeHMoQ~Fx!Sw|s z344g7f`LZ0M-_c)JV3ms%OB}q*iNZRk{ zXn9BAOwG3|`ObsiT%M=pqsQgajR>4Y$hC5Q4(DT^u4ztIg*wjjzhy4gj%(ouk=Vng z9Mo)NSaY{C7)3n0X`6kSkUqi6^Qj5ear>)oru_a4lASVqVeT zcjU}q^iCbWW0NZBSaaQ`Hbph4)~q*NE>YEB+dYQ7h3*I z#yqnDe`E!;%IJq~{0*x8k`Q3Kihrm>9z6?CLq`7O)tU80YIh=@9YcNu@uR=$^c^sI z-+I7D=vky#w$Uu}M;V^|o!-OeKbMF7VWz-b;oi6U0mFZY8RhmEjn} zky1oo=gXO^fCA{_stq)Kli1m~v@YIip)~?(h&p=)xWNzW`?ZU9CmbQ=%9`fT|j{g?cn8FpMHN}sXv-A*-Dvpaim3K5(1iO%8SMAqu%C7zLbXm& zf&kYYZKdjB4V2&xU;0^sJEk?J)uDBY?~LQG`Ixt9Nv;5L@J!n9;E_m-lS6a0O@H60 zJ2=Ah%ip-}=DuIK?l@YH66drpZoC>=W;q9JlazB_z)jj%wXvG`ls0DX8Q0UJq>J^E z#Bxa8WrYe3p0+2jdj%ieZYl6p%;P93Vuox_A+yfNu6 zJW}5BcM5C{<>#g|cZYSdug+|~U(dWW8)$-J)m|;yyQWaQr}nJ7Ob;?sY;lK%B*Wxw zU}8C^X%0e8>*K3$iUPL7!}jlZ(OEgka%j|k_3iq8_3gTGmjR>kt0Vv~3gvg0-}Hd- zZxBg4q%$zJ3i#V^|9%Il6)CvdgKR^OWUUVhbV(7MbPrO8z&e$L>Um=jyoBfKd7SmYB6X|;2 zllX^1F<{{35cCCHn1lN+OmBekncI7nw>Lcu>@+TGGM~PgB)BaE>8MSF~fBKpmL&R@d@a)Og8ar`b@6 zjpgg*=kMxNr;Ue0tFuNL%14jYE@{5j`=BExOWyKUdV#2a}f6R?d2c%e!+{a}6 zA7=Uf$ z?bMHU@54t20r-enJ6hn9!yC;>t6XM=>}WBG(wo`$(%+h-b zz>flo{sKP=(*(b{T#2gOO^;R;rZA!ut;vH{^SaDu+~n~GlAu70TA`MfY=rQH;n23*_*q$tapgwi4gntXIl;D282@z@BS@RGP;}v%oW|B)r+`zwTKZ zYzh#Q;l%5NV^;FfROQQcDQ6lqW?hT{pH?Qv`nKmf+x)S3Zw;yL!MH`a!x%AAZoKM> z-a>gjcfv{Z=PK5(IUQ~sU;#BS=fYeu;tIZd_s}NEVaGDuQIQKY00Jx6K3T>2Q(-*b zlwWwdWy!+vGU32xtbiRfys8wjYc&$?Dn68d~M*W=>&tUckyQ*!F>{od&~z z5k&SE0R^Q%>2+sA=vM$~MdO>=ZSU7V^jJFb7{G*ISgCAka5Sn)G+JiDp%YkV^1sBt zCX0TzUQWYA_sS`*wzK`}y|iE7e}Kr%UndN-OZ<-q4}7<9{C`Afl`UImy;lyeD!y9q zI*`qw_%MAVpz?+7#tD2q1|?RV$l>okpmvn|13+9K*`&BUD%Zz|e|6|nw`2k5S0E`0p zh_Cy;D$V^7O*2mCVxK*^^Yz3rzeDg!W~GfFp5G(ga`eB5D;I*)2@t>`DRy1~mhz{Q z2KFEQbGobzA7CL(0~t@Gi@0W(O{Q}UpsNniUq+ngcx@v)|K;8Z?VPVT=ZB8oh7111 zU-|jQsAj}<+;7l-Sk(05*blq(%fHWMQU!fW@vxf@!GEYqnML)D{yLZGlZnE9X^u@_ z>wksg21?D&3vVreVHvXkGUF1Q2e7uIU4gG8OKY?^Q+IMDg@6j2)xgj=iSnU64WOMQ z2L6B%^(BJ*-|+OJfV|4kKV$`THc0*+43Z3clZJn`q^+mskuGj`gkjDuKk`em)9+&184E z%R>0O44MrS2g#PDwFm0`z=8Z4j?sEN0*Cn`|pGh2jjB; zzte2PT|w!!UHN{-x)1g^-f5?V+xJ59Tru>`ta7vxd`K;fACAiLy zfkHR(i28+L5xM+08(igZw~SVUo)8_!CdOK2(HyQT5D66Jd&?5?^}b=W!*aj-~qi`p&7-f8@o$2rh+bC_B?UzZu zA3{ZzlNeYa83&!*B3_p>;=eI|$ppgl7AZ3sPc<#p z4erR?g@v@@l;m9{^rs8c^X4j;O)>_!#ktG>=faca@71zi98xkkz@)!$K^ z9bYr28`?o(8!1Dz&djR|!3|6z9 zAD$E628oUoGoa(yV3gk(D3!bVtcoYltBMJ4$S*fF5Swo|4wrFs_>Ha`B14U`T%?Q4 z`K^-&%HGv^o*?Jn)~F{*lg{ z7_@`%h#>RTPXL{;6V~xXCtJGS^izxgZl~&DLfk$sG)>T2EX%Lr$XSMGt@R& z(h1Y>!IuNGHaio0P31TgapR`^hdTGS9s+HA<6Yh7_G#V%S?*NoeZNH=_gwLnFb-0g&DAE`gg z9Xj+T3->A(_HTp#~P0 z$r^^0DPV)W`_lEmyUdBxk0(3lRlI=ayu;OYre{5o0P+&315N-&HHKZ1nElhnBIZH^AXKo+!DeR=SSMZ{=G4cw}U2x z>7Z#F`mcgsI7_6?dQ9VD*Bi2&AaQD@xi6yEXQSr#HBcOtH+1XcH`le+rJyeTvLG1wE z0+-yO`V7{cWS)JI=Bb{Rj4vlBk>rFYkAWK;Rb4&<4E@8;?~@v02=RO9qb@(T zK`8!;sPd>{N%aNndjWnknw_UMUAFaTb);`WdAKh&)H?jYW=x~Yprr*>NQ5H7FxEM# z4PTXOiRJPCu;d?^pXxNodirj*E+~udltj=~v~D_}G}3Ht87c$d!|ohk;8$ye4JQ$? zqw4tOa{bs`Y_?<{dF0PWF`7F(wT5&QiygWhcjP`AXhIl z7;qXGbJ$+JVZ2}1LU^6N8+Oqpqo?2^!b%m~S|H%@YY23D+pAv={pDOrAp@_&>jv9| zwjbko;8QE_5GpQ0!1qFX%ss)&%T`{hsSy+ly3+KD{e+eOgbaDjI+S$wtx=KPTQ@li zU~cV(nR%F@>r^yZ3Nff=GdcTKJ~k5Fy&n*@Icq`RoiwlsGcSjiB#Rok)$L^n^7$TSW-I?$k@9i82%7|AX|SI*xE5tHUr%C)YbjA#{B`IzDuL$6esO>m1xZ25e|HPH|`aC zCSEFI&T-f8`|!T^`ZSEhE&JUZF&pX4P#$-|sQraGA`vIiR->NPztHy4yiEgU>2>JZ zZ>jcZw zZGvn1R~7t$u{l^}*C2<3Il-SHwlT_xry0t6eB!=U)%T#a`*M<=qpKX}Od%HxQAi0( z(6%m7fq064>C_;vvXp&E0LePRPFU2dK4S`{we|a#{E!~1SMC1>hQcXtowSwL+N%%x z4C3{RN{(Z^%5LG|d@cz^^}neb7t zaoLwcbib2B%T!2LfAVPzHEK?^m3;Ct5JpjMvTpsRp%o_SkCVCT4F_H%1gCWtr+^Mu z!`UlGnWJ_kdVTj>S~GW_7Vyld#{K80;9c@IdVQ~c*L%-Wj)(E>UcA-vXHC*Z2TQ9+ zt$}{CyY4!BLrTZQDp%4_Z9))?_;sU{ySe3-TSau)&`CeJP4z=XrjFbR z(MHGDU7NCXPBi`u#ff`~5wS$Jk?!?d5fOzVQJ!1T02BF#(IQl&56& zwyvBysM@90oNbbqKt23mY(c9i$C z#d5HHxNME4THj5t?sX!%*b`KL!}tD+r;Git~!WZ`waD27|A)1v%ry*3!5r(Prg)6ZMA+VF8b13=NhG>M6z>51; zXWp!a*%0ZX0(Q0DhBm)nWHv_KZRO2jg}5?ThZlJ#X3<5eag+N}O#p@QS5OGvE`Tu3 zE2x-Zcel(%P%kC*ql@fXp8P-dStSGF)ekNw%9!>``lrN6_9eaOf47{-26!z&RfT1( z9n<bMigj95yWDn#!tk>QW z&Qo$5(8buE)SfCTqV=ikPOIKlw2vd}CRG0|FbcB1|`fOIwy#+jkB4M<>OXr zn|VF?@p#J8(V|%c#r!v+*4agHpwDO>t_H!s(TRDu-6O%2)tPMSu9F=TG-sVuT_iY} zNPFH%+UtFS<#XB(KQv_#m~Id+m#x6vj$xs^PZHIc;ZOgZA$^;5!a1u+UE5`x8WXGl zHoOa&d<(IO6Eju{lRORrA-F9~VewRktdN+f{8o$03LK8XmHt-+7D^}ntN@v4zSaHS zJS#;~UPzl(Vii6kOuPm(8NhQ|^qt5*6>wXPAZy~=33}UjWq@L!=uwPPzm;B>I4Ttq zW$W6iu#_tj}jaiQR)=0ZNqWU<~yd zw<6K|CA^!OS6?VsEB8F|kPXZLHGuGKQIKI8kBP`L?X}7E`31G-lA7QHow!AEg2|H+ z2H^!Ek_P4v&7&@S=++WKfYXA&1zWl@XmR?O9<~Jf?|#X20Qgprc$NVh5D$4ZIet`j zrBQ<+&TLr1J2YWGW;(z$Xb0CfyTCcAWMshmDO7cyR|i-y^24gv9lFM=JGlzg56J!J zopBe4BtMu<@ed_1%JWw`_j&|xodBR(x-O(u=0WT^=cV>%rZu5{&UwkxI-_G7Qez?9 zmtRL*T!rjul+27}B=JEi_G*R7$ZoR`6Z=BM)x>&ZY`h!EJ=zxmdiybFYok+m^?X*0 z0H-9k+spl(PH@Y6r^wNLER1~r^Nwx5!0JTa}C)6=t}Wk+Rfoy#$5-cahDB8AdTVh(V??gkBh(CJu)3b z8rI|p1~~u~eG_5ra5pZwT~xz^!glP5!AS1-7ev)<+YX12IG*=1v072_L3 zio%%Jikkkx$ByMy%;Z`?MgvN5O#@R=mU9DZufINEA7AV8N2;yu>ntLugZTZp03 zwuffEnJvJ=(45lk!0Z-eSJQF^Q#xhG`K}8hmPT<4@}&Uiu!d5>fdMY!ccejsBOB%H z_h4Z=-4I~B$>_aL2P3|2@H522fJ9bXFbEiAD*)=S7ls9)OuRPnxd@)UwtXt}*BK46 zPRN6vr$Ly_*_3iN_F3WAI5XovCY}ve{A~#Au4n@2PHWuzscU2$a(VHhpF}mrR3&$GTVkf=gHXKny5SPdZr&doy3dtt_WwAxA-nX8K}j=r&pU# zW`4G$`AuF`beAJ2Uwk%uIG5I);P4yADKJg|w z&94S*`doq{Vl5v7k{_ziX$!pVRFBF(<_VA1%DV~~dwuHWu4Y)83iyC(rER6{TxQXg#KtF(jD7wIJd zX;4OIW4af`ya4n8xEfGkBR&Z_EOc0&BAk!=Ic>iJWgbj2hf-1^Ws=%H(~~tYki(07 zuvk8~-)>;`r0n7R1%k7}%Y#F5P6qc`&8bhYLq$&_{dpVI18#)pca4c6Bpt(Ojif?(_DkFA%6bwIP(W=s+C^3 z7^>QS#z8?R!rMw?jZf{*z2w&ld#>r}arFod@7Y`uPPox!XN;)+DhDN3T2tfu>5V&w zA97EuoD4h^R#4<*31WDy8NpG-I&@axnm9Vr1!Yes0vA`XOv3Fn-0D^ep^!y@xbsg| z%tbpetWMfpbKOU`H9g!qh{zFt7<>t)-W{yqrC_f6!nqL!V^cvnm!)qxqO>#oV7ldX znaHrx^fDB`_!<2n)X6)g+sEoQ40Zs?6Mk%kSuQ)M2X|Vk$A-yyjMg@?w8ktpZJ?2c znd?Zl5la_>1?4-3)skiI=O`r*_5%2go1g>0SBV7Q%tDk6m&6cT==F#nn)AjE(JE@^F6ktG#dji;7G!NFg(GTe9Rdr4vMBR5AL<6$Ga4YX-R1$dg6 z<_Tp#@FS9=Emvo)4~-l0dL9DYOrZ6LDsCm0x=;)yHQ?cn1f!eSm<2kskADrIW*-ko b3h7OSgD<6SURDJM#YA@Rv@jwW+MWA10#z|A literal 0 HcmV?d00001 diff --git a/bsp/phytium/aarch64/rtconfig.h b/bsp/phytium/aarch64/rtconfig.h index 2f8c221990..98e7776c04 100644 --- a/bsp/phytium/aarch64/rtconfig.h +++ b/bsp/phytium/aarch64/rtconfig.h @@ -295,6 +295,18 @@ /* Wiced WiFi */ /* end of Wiced WiFi */ + +/* CYW43012 WiFi */ + +/* end of CYW43012 WiFi */ + +/* BL808 WiFi */ + +/* end of BL808 WiFi */ + +/* CYW43439 WiFi */ + +/* end of CYW43439 WiFi */ /* end of Wi-Fi */ /* IoT Cloud */ @@ -353,6 +365,17 @@ /* peripheral libraries and drivers */ +/* HAL & SDK Drivers */ + +/* STM32 HAL & SDK Drivers */ + +/* end of STM32 HAL & SDK Drivers */ + +/* Kendryte SDK */ + +/* end of Kendryte SDK */ +/* end of HAL & SDK Drivers */ + /* sensors drivers */ /* end of sensors drivers */ @@ -360,10 +383,6 @@ /* touch drivers */ /* end of touch drivers */ - -/* Kendryte SDK */ - -/* end of Kendryte SDK */ /* end of peripheral libraries and drivers */ /* AI packages */ @@ -455,6 +474,8 @@ #define BSP_USING_CAN #define RT_USING_CANFD #define RT_USING_CAN0 +#define RT_USING_CAN1 +#define BSP_USING_GPIO #define BSP_USING_QSPI #define RT_USING_QSPI0 #define USING_QSPI_CHANNEL0 @@ -513,6 +534,7 @@ /* Sdk common configuration */ +#define ELOG_LINE_BUF_SIZE 0x100 #define LOG_DEBUG /* end of Sdk common configuration */ diff --git a/bsp/phytium/aarch64/smart-env.bat b/bsp/phytium/aarch64/smart-env.bat index 8a1f7d9ae7..e5706ce003 100644 --- a/bsp/phytium/aarch64/smart-env.bat +++ b/bsp/phytium/aarch64/smart-env.bat @@ -1,4 +1,4 @@ @set RTT_CC=gcc @set RTT_EXEC_PATH=%cd%\tools\aarch64-linux-musleabi_for_i686-w64-mingw32\bin @set RTT_CC_PREFIX=aarch64-linux-musleabi- -@set PATH=%RTT_EXEC_PATH%;%ENV_ROOT%\tools\arm_gcc\mingw\bin;%PATH% \ No newline at end of file +@set PATH=%RTT_EXEC_PATH%;%ENV_ROOT%\tools\gun_gcc\arm_gcc\mingw\bin;%PATH% \ No newline at end of file diff --git a/bsp/phytium/aarch64/thread-env.bat b/bsp/phytium/aarch64/thread-env.bat new file mode 100644 index 0000000000..4dab3378e8 --- /dev/null +++ b/bsp/phytium/aarch64/thread-env.bat @@ -0,0 +1,4 @@ +@set RTT_CC=gcc +@set RTT_EXEC_PATH=%cd%\tools\gcc-arm-11.2-2022.02-mingw-w64-i686-aarch64-none-elf\bin +@set RTT_CC_PREFIX=aarch64-none-elf- +@set PATH=%RTT_EXEC_PATH%;%ENV_ROOT%\tools\gnu_gcc\arm_gcc\mingw\bin;%PATH% diff --git a/bsp/phytium/aarch64/thread-env.sh b/bsp/phytium/aarch64/thread-env.sh new file mode 100644 index 0000000000..2325268f8b --- /dev/null +++ b/bsp/phytium/aarch64/thread-env.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +export RTT_CC=gcc +export RTT_EXEC_PATH=$(pwd)/tools/gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf/bin +export RTT_CC_PREFIX=aarch64-none-elf- +export PATH=$PATH:$RTT_EXEC_PATH + +echo "arch => aarch64" +echo "CC => ${RTT_CC}" +echo "PREFIX => ${RTT_CC_PREFIX}" +echo "EXEC_PATH => ${RTT_EXEC_PATH}" diff --git a/bsp/phytium/board/board.h b/bsp/phytium/board/board.h index 87f190ff5e..5b7f69c03d 100644 --- a/bsp/phytium/board/board.h +++ b/bsp/phytium/board/board.h @@ -43,16 +43,6 @@ #define PAGE_END (PAGE_START +PAGE_POOL_SIZE) #endif -#ifdef RT_USING_PIN -/* gpio pin_index handle */ -#define FGPIO_OPS_PIN_INDEX(ctrl, port, pin) SET_REG32_BITS(ctrl, 19, 12) | \ - SET_REG32_BITS(port, 11, 8) | \ - SET_REG32_BITS(pin, 7, 0) -#define FGPIO_OPS_PIN_CTRL_ID(pin_idx) GET_REG32_BITS(pin_idx, 19, 12) -#define FGPIO_OPS_PIN_PORT_ID(pin_idx) GET_REG32_BITS(pin_idx, 11, 8) -#define FGPIO_OPS_PIN_ID(pin_idx) GET_REG32_BITS(pin_idx, 7, 0) -#endif - void rt_hw_board_init(void); #endif diff --git a/bsp/phytium/board/secondary_cpu.c b/bsp/phytium/board/secondary_cpu.c index 75e1eed168..517c3434a4 100644 --- a/bsp/phytium/board/secondary_cpu.c +++ b/bsp/phytium/board/secondary_cpu.c @@ -28,6 +28,7 @@ #ifdef RT_USING_SMP #include +#include "phytium_interrupt.h" #if defined(TARGET_ARMV8_AARCH64) #include "psci.h" diff --git a/bsp/phytium/doc/cpp_support.md b/bsp/phytium/doc/cpp_support.md new file mode 100644 index 0000000000..9aacb6a850 --- /dev/null +++ b/bsp/phytium/doc/cpp_support.md @@ -0,0 +1,33 @@ +# 如何编译C++文件 + +- 目前C++仅支持在`RT-Thread`模式下使用,`RT-Smart`模式暂不支持。环境配置请参考[aarch64_README](../aarch64/README.md),[aarch32_README](../aarch32/README.md) + +## Ubuntu环境 +- aarch64模式编译链选择`gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf` +- aarch32模式编译链选择`gcc-arm-10.3-2021.07-x86_64-arm-none-eabi` + +## RT-Thread Env环境 +- aarch64模式编译链选择`gcc-arm-11.2-2022.02-mingw-w64-i686-aarch64-none-elf` +- aarch32模式编译链选择Env环境自带`mingw`编译链 + +## 编译步骤 + +- 在`SConscript`文件中添加需要编译的.cpp文件,以`aarch64/applications/SConscript`文件为例,其他文件夹请按照需求自行修改 + +![SConscript_cpp](../figures/SConscript_cpp.png) + +- 输入下列命令,进入 menuconfig 进一步配置 + +```shell +scons --menuconfig +``` + +- 勾选`Enable C++ features`,可进入菜单勾选`Enable C++11 standard multi-threading feature support` + +![Enable_cpp_features](../figures/Enable_cpp_features.png) + +![Enable_Cpp11](../figures/Enable_Cpp11.png) + +- 使用`scons -j8`指令进行编译,C++文件被正常编译 + +![cpp_scons](../figures/cpp_scons.png) diff --git a/bsp/phytium/doc/drivers/gpio.md b/bsp/phytium/doc/drivers/gpio.md new file mode 100644 index 0000000000..4ebe6a8f3d --- /dev/null +++ b/bsp/phytium/doc/drivers/gpio.md @@ -0,0 +1,26 @@ +# GPIO + +- E2000,PhytiumPI,系列芯片集成 6 个 GPIO 控制器提供 96 个 GPIO 信号。96 位 GPIO 信号,支持外部中断功能,每路中断信号没有优先级区分,并产生一个统一的中断报送到全芯片的中断管理模块。在中断管理模块内可针对 GPIO0~5 两路中断设置不同的优先级。支持中断单独屏 +蔽和清除。GPIO0~2 的每位中断单独上报,GPIO3~5 的中断由模块内合成一个中断上报 + +- 在RT-Thread使用以下等函数接口时 + +``` +void rt_pin_mode(rt_base_t pin, rt_uint8_t mode); +void rt_pin_write(rt_base_t pin, rt_ssize_t value); +rt_ssize_t rt_pin_read(rt_base_t pin); +rt_base_t rt_pin_get(const char *name); +rt_err_t rt_pin_attach_irq(rt_base_t pin, rt_uint8_t mode, + void (*hdr)(void *args), void *args); +rt_err_t rt_pin_detach_irq(rt_base_t pin); +rt_err_t rt_pin_irq_enable(rt_base_t pin, rt_uint8_t enabled); +``` + +- 需要传入`rt_base_t pin`参数,可使用以下方法进行赋值 + +``` +rt_base_t pin = FGPIO_ID(FGPIO_CTRL_4, FGPIO_PIN_11) +``` +- 表示使用GPIO控制器4的11号引脚,(注:使用FGPIO_ID宏定义需要包含`fparameters.h`头文件) + + diff --git a/bsp/phytium/figures/Enable_Cpp11.png b/bsp/phytium/figures/Enable_Cpp11.png new file mode 100644 index 0000000000000000000000000000000000000000..fcae73c6b11c040379c719e7e0c4ccf9f814997f GIT binary patch literal 23898 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 JkWU5P{1-Bf{$Bt9 literal 0 HcmV?d00001 diff --git a/bsp/phytium/figures/Enable_cpp_features.png b/bsp/phytium/figures/Enable_cpp_features.png new file mode 100644 index 0000000000000000000000000000000000000000..572c738a75ece65a0a4065a880c7e098b9e515d6 GIT binary patch literal 22965 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.irq_num[0]; + u32 irq_num = ctrl->config.irq_num; - LOG_D("In FGpioOpsSetupCtrlIRQ() -> cpu_id %d, irq_num %d\r\n", cpu_id, irq_num); + LOG_D("In FGpioOpsSetupIRQ() -> cpu_id %d, irq_num %d\r\n", cpu_id, irq_num); rt_hw_interrupt_set_target_cpus(irq_num, cpu_id); - rt_hw_interrupt_set_priority(irq_num, ctrl->config.irq_priority); /* setup interrupt */ - rt_hw_interrupt_install(irq_num, FGpioInterruptHandler, ctrl, NULL); /* register intr handler */ + rt_hw_interrupt_set_priority(irq_num, 0xd0); /* setup interrupt */ + rt_hw_interrupt_install(irq_num, FGpioInterruptHandler, NULL, NULL); /* register intr handler */ rt_hw_interrupt_umask(irq_num); - return; -} -/* setup gpio pin interrupt */ -static void FGpioOpsSetupPinIRQ(FGpio *ctrl, FGpioPin *const pin, FGpioOpsPinConfig *config) -{ - rt_uint32_t cpu_id = rt_hw_cpu_id(); - u32 irq_num = ctrl->config.irq_num[pin->index.pin]; - - LOG_D("in FGpioOpsSetupPinIRQ() -> cpu_id %d, irq_num %d", cpu_id, irq_num); - rt_hw_interrupt_set_target_cpus(irq_num, cpu_id); - rt_hw_interrupt_set_priority(irq_num, ctrl->config.irq_priority); /* setup interrupt */ - rt_hw_interrupt_install(irq_num, FGpioInterruptHandler, config->irq_args, NULL); /* register intr handler */ - rt_hw_interrupt_umask(irq_num); return; } /* on E2000, if u want use GPIO-4-11, set pin = FGPIO_OPS_PIN_INDEX(4, 0, 11) */ static void drv_pin_mode(struct rt_device *device, rt_base_t pin, rt_uint8_t mode) { - u32 ctrl_id = FGPIO_OPS_PIN_CTRL_ID(pin); - u32 port_id = FGPIO_OPS_PIN_PORT_ID(pin); - u32 pin_id = FGPIO_OPS_PIN_ID(pin); - FGpioPinId gpio_pin_id; + FGpio *instance = (FGpio *)device->user_data; FError err = FGPIO_SUCCESS; - FGpio *instance = &gpio[ctrl_id].ctrl; - FGpioPin *pin_instance = &gpio[ctrl_id].pins[port_id][pin_id]; - FGpioOpsPinConfig *pin_config = &gpio[ctrl_id].pin_config[port_id][pin_id]; + u32 index = (u32)pin; - if (ctrl_id >= FGPIO_NUM) + if (index >= FGPIO_NUM) { LOG_E("ctrl_id too large!!!"); return; } - if (FALSE == gpio[ctrl_id].init_ok) /* init ctrl if needed */ - { - FGpioConfig input_cfg = *FGpioLookupConfig(ctrl_id); - memset(instance, 0, sizeof(*instance)); + FGpioConfig input_cfg = *FGpioLookupConfig(index); + memset(&instance[index], 0, sizeof(FGpio)); #ifdef RT_USING_SMART - input_cfg.base_addr = (uintptr)rt_ioremap((void *)input_cfg.base_addr, 0x1000); + input_cfg.base_addr = (uintptr)rt_ioremap((void *)input_cfg.base_addr, 0x1000); #endif - err = FGpioCfgInitialize(instance, &input_cfg); - if (FGPIO_SUCCESS != err) - { - LOG_E("Ctrl: %d init fail!!!\n", ctrl_id); - return; - } - gpio[ctrl_id].init_ok = TRUE; - } - - FIOPadSetGpioMux(ctrl_id, pin_id); - - if (FT_COMPONENT_IS_READY == pin_instance->is_ready) - { - FGpioPinDeInitialize(pin_instance); - } - - gpio_pin_id.ctrl = ctrl_id; - gpio_pin_id.port = port_id; - gpio_pin_id.pin = pin_id; - err = FGpioPinInitialize(instance, pin_instance, gpio_pin_id); - + err = FGpioCfgInitialize(&instance[index], &input_cfg); if (FGPIO_SUCCESS != err) { - LOG_E("Pin %d-%c-%d init fail!!!\n", - ctrl_id, - port_id == 0 ? 'a' : 'b', - pin_id); - return; + LOG_E("Ctrl: %d init fail!!!\n"); } + FIOPadSetGpioMux(instance[index].config.ctrl, instance[index].config.pin); + switch (mode) { case PIN_MODE_OUTPUT: - pin_config->direction = FGPIO_DIR_OUTPUT; - pin_config->en_irq = FALSE; + FGpioSetDirection(&instance[index], FGPIO_DIR_OUTPUT); break; case PIN_MODE_INPUT: - pin_config->direction = FGPIO_DIR_INPUT; - pin_config->en_irq = TRUE; - pin_config->irq_type = FGPIO_IRQ_TYPE_EDGE_RISING; + FGpioSetDirection(&instance[index], FGPIO_DIR_INPUT); break; default: rt_kprintf("Not support mode %d!!!\n", mode); break; } - FGpioSetDirection(pin_instance, pin_config->direction); - rt_kprintf("Init GPIO-%d-%c-%d as an %sput pin\r\n", - ctrl_id, - port_id, - pin_id, pin_config->direction == FGPIO_DIR_OUTPUT ? "out" : "in"); } void drv_pin_write(struct rt_device *device, rt_base_t pin, rt_uint8_t value) { - u32 ctrl_id = FGPIO_OPS_PIN_CTRL_ID(pin); - u32 port_id = FGPIO_OPS_PIN_PORT_ID(pin); - u32 pin_id = FGPIO_OPS_PIN_ID(pin); - FGpioPin *pin_instance = &gpio[ctrl_id].pins[port_id][pin_id]; + FGpio *instance = (FGpio *)device->user_data; + FError err = FGPIO_SUCCESS; + u32 index = (u32)pin; - if (pin_instance == RT_NULL) - { - rt_kprintf("Pin %d-%c-%d not set mode\n", - ctrl_id, - port_id == 0 ? 'a' : 'b', - pin_id); - return; - } - FGpioSetOutputValue(pin_instance, (value == PIN_HIGH) ? FGPIO_PIN_HIGH : FGPIO_PIN_LOW); + FGpioSetOutputValue(&instance[index], (value == PIN_HIGH) ? FGPIO_PIN_HIGH : FGPIO_PIN_LOW); } rt_ssize_t drv_pin_read(struct rt_device *device, rt_base_t pin) { - u32 ctrl_id = FGPIO_OPS_PIN_CTRL_ID(pin); - u32 port_id = FGPIO_OPS_PIN_PORT_ID(pin); - u32 pin_id = FGPIO_OPS_PIN_ID(pin); - FGpioPin *pin_instance = &gpio[ctrl_id].pins[port_id][pin_id]; + FGpio *instance = (FGpio *)device->user_data; + FError err = FGPIO_SUCCESS; + u32 index = (u32)pin; - if (pin_instance == RT_NULL) - { - return -RT_EINVAL; - } - return FGpioGetInputValue(pin_instance) == FGPIO_PIN_HIGH ? PIN_HIGH : PIN_LOW; + return FGpioGetInputValue(&instance[index]) == FGPIO_PIN_HIGH ? PIN_HIGH : PIN_LOW; } rt_err_t drv_pin_attach_irq(struct rt_device *device, rt_base_t pin, rt_uint8_t mode, void (*hdr)(void *args), void *args) { - u32 ctrl_id = FGPIO_OPS_PIN_CTRL_ID(pin); - u32 port_id = FGPIO_OPS_PIN_PORT_ID(pin); - u32 pin_id = FGPIO_OPS_PIN_ID(pin); + FGpio *instance = (FGpio *)device->user_data; + FError err = FGPIO_SUCCESS; + u32 index = (u32)pin; rt_base_t level; - FGpio *instance = &gpio[ctrl_id].ctrl; - FGpioPin *pin_instance = &gpio[ctrl_id].pins[port_id][pin_id]; - FGpioOpsPinConfig *pin_config = &gpio[ctrl_id].pin_config[port_id][pin_id]; level = rt_hw_interrupt_disable(); - pin_config->irq_handler = (FGpioOpsIrqHandler)hdr; - pin_config->irq_args = args; + FGpioOpsSetupIRQ(&instance[index]); - if (pin_instance == RT_NULL) + switch (mode) { - LOG_E("GPIO%d-%c-%d not init yet.\n", ctrl_id, port_id == 0 ? 'a' : 'b', pin_id); - return -RT_ERROR; + case PIN_IRQ_MODE_RISING: + FGpioSetInterruptType(&instance[index], FGPIO_IRQ_TYPE_EDGE_RISING); + break; + case PIN_IRQ_MODE_FALLING: + FGpioSetInterruptType(&instance[index], FGPIO_IRQ_TYPE_EDGE_FALLING); + break; + case PIN_IRQ_MODE_LOW_LEVEL: + FGpioSetInterruptType(&instance[index], FGPIO_IRQ_TYPE_LEVEL_LOW); + break; + case PIN_IRQ_MODE_HIGH_LEVEL: + FGpioSetInterruptType(&instance[index], FGPIO_IRQ_TYPE_LEVEL_HIGH); + break; + default: + LOG_E("Do not spport irq_mode: %d\n", mode); + break; } - if (pin_config->en_irq) - { - FGpioSetInterruptMask(pin_instance, FALSE); - if (FGPIO_IRQ_BY_CONTROLLER == FGpioGetPinIrqSourceType(*pin_instance)) /* setup for ctrl report interrupt */ - { - FGpioOpsSetupCtrlIRQ(instance); - LOG_I("GPIO-%d report irq by controller", ctrl_id); - } - else if (FGPIO_IRQ_BY_PIN == FGpioGetPinIrqSourceType(*pin_instance)) - { - FGpioOpsSetupPinIRQ(instance, pin_instance, pin_config); - LOG_I("GPIO-%d report irq by pin", ctrl_id); - } - - switch (mode) - { - case PIN_IRQ_MODE_RISING: - pin_config->irq_type = FGPIO_IRQ_TYPE_EDGE_RISING; - break; - case PIN_IRQ_MODE_FALLING: - pin_config->irq_type = FGPIO_IRQ_TYPE_EDGE_FALLING; - break; - case PIN_IRQ_MODE_LOW_LEVEL: - pin_config->irq_type = FGPIO_IRQ_TYPE_LEVEL_LOW; - break; - case PIN_IRQ_MODE_HIGH_LEVEL: - pin_config->irq_type = FGPIO_IRQ_TYPE_LEVEL_HIGH; - break; - default: - LOG_E("Do not spport irq_mode: %d\n", mode); - break; - } - FGpioSetInterruptType(pin_instance, pin_config->irq_type); - FGpioRegisterInterruptCB(pin_instance, pin_config->irq_handler, - pin_config->irq_args, TRUE); /* register intr callback */ - } + FGpioRegisterInterruptCB(&instance[index], hdr, args); /* register intr callback */ rt_hw_interrupt_enable(level); return RT_EOK; @@ -263,25 +162,18 @@ rt_err_t drv_pin_attach_irq(struct rt_device *device, rt_base_t pin, rt_err_t drv_pin_detach_irq(struct rt_device *device, rt_base_t pin) { - u32 ctrl_id = FGPIO_OPS_PIN_CTRL_ID(pin); - u32 port_id = FGPIO_OPS_PIN_PORT_ID(pin); - u32 pin_id = FGPIO_OPS_PIN_ID(pin); + FGpio *instance = (FGpio *)device->user_data; + FError err = FGPIO_SUCCESS; + u32 index = (u32)pin; + FGpioIntrMap *map = &fgpio_intr_map[instance[index].config.ctrl]; rt_base_t level; - FGpioPin *pin_instance = &gpio[ctrl_id].pins[port_id][pin_id]; - FGpioOpsPinConfig *pin_config = &gpio[ctrl_id].pin_config[port_id][pin_id]; - - if (pin_instance == RT_NULL) - { - rt_kprintf("pin %d-%c-%d not set mode\n", - ctrl_id, - port_id == 0 ? 'a' : 'b', - pin_id); - return -RT_ERROR; - } level = rt_hw_interrupt_disable(); - pin_config->irq_handler = RT_NULL; - pin_config->irq_args = RT_NULL; + + if (instance[index].config.cap == FGPIO_CAP_IRQ_BY_PIN) + { + map->irq_cbs[instance[index].config.pin] = NULL; + } rt_hw_interrupt_enable(level); return RT_EOK; @@ -289,21 +181,11 @@ rt_err_t drv_pin_detach_irq(struct rt_device *device, rt_base_t pin) rt_err_t drv_pin_irq_enable(struct rt_device *device, rt_base_t pin, rt_uint8_t enabled) { - u32 ctrl_id = FGPIO_OPS_PIN_CTRL_ID(pin); - u32 port_id = FGPIO_OPS_PIN_PORT_ID(pin); - u32 pin_id = FGPIO_OPS_PIN_ID(pin); - FGpioPin *pin_instance = &gpio[ctrl_id].pins[port_id][pin_id]; + FGpio *instance = (FGpio *)device->user_data; + FError err = FGPIO_SUCCESS; + u32 index = (u32)pin; - if (pin_instance == RT_NULL) - { - rt_kprintf("Pin %d-%c-%d not set mode\n", - ctrl_id, - port_id == 0 ? 'a' : 'b', - pin_id); - return -RT_ERROR; - } - - FGpioSetInterruptMask(pin_instance, enabled); + FGpioSetInterruptMask(&instance[index], enabled); return RT_EOK; } @@ -323,7 +205,7 @@ const struct rt_pin_ops drv_pin_ops = int ft_pin_init(void) { rt_err_t ret = RT_EOK; - ret = rt_device_pin_register("pin", &drv_pin_ops, RT_NULL); + ret = rt_device_pin_register("pin", &drv_pin_ops, gpio_device); rt_kprintf("Register pin with return: %d\n", ret); return ret; } diff --git a/bsp/phytium/libraries/drivers/drv_i2c.c b/bsp/phytium/libraries/drivers/drv_i2c.c index 0ad7832700..21ac4d0eac 100644 --- a/bsp/phytium/libraries/drivers/drv_i2c.c +++ b/bsp/phytium/libraries/drivers/drv_i2c.c @@ -28,7 +28,7 @@ /*Please define the length of the mem_addr of the device*/ #ifndef FI2C_DEVICE_MEMADDR_LEN - #define FI2C_DEVICE_MEMADDR_LEN 1 + #define FI2C_DEVICE_MEMADDR_LEN 2 #endif #define FI2C_DEFAULT_ID 0 #define I2C_USE_MIO @@ -172,7 +172,7 @@ static rt_ssize_t i2c_master_xfer(struct rt_i2c_bus_device *device, struct rt_i2 rt_ssize_t i; struct phytium_i2c_bus *i2c_bus; i2c_bus = (struct phytium_i2c_bus *)(device); - u32 mem_addr; + uintptr mem_addr = 0; for (i = 0; i < num; i++) { @@ -181,10 +181,13 @@ static rt_ssize_t i2c_master_xfer(struct rt_i2c_bus_device *device, struct rt_i2 { mem_addr |= msgs[i].buf[j] << (8 * (FI2C_DEVICE_MEMADDR_LEN - 1 - j)); } + i2c_bus->i2c_handle.config.slave_addr = pmsg->addr; + if (pmsg->flags & RT_I2C_RD) { - ret = FI2cMasterReadPoll(&i2c_bus->i2c_handle, mem_addr, FI2C_DEVICE_MEMADDR_LEN, &pmsg->buf[0], pmsg->len); + rt_thread_delay(100); + ret = FI2cMasterReadPoll(&i2c_bus->i2c_handle, mem_addr, FI2C_DEVICE_MEMADDR_LEN, &pmsg->buf[0], pmsg->len - FI2C_DEVICE_MEMADDR_LEN); if (ret != FI2C_SUCCESS) { LOG_E("I2C master read failed!\n"); @@ -193,7 +196,8 @@ static rt_ssize_t i2c_master_xfer(struct rt_i2c_bus_device *device, struct rt_i2 } else { - ret = FI2cMasterWritePoll(&i2c_bus->i2c_handle, mem_addr, FI2C_DEVICE_MEMADDR_LEN, &pmsg->buf[FI2C_DEVICE_MEMADDR_LEN], pmsg->len); + rt_thread_delay(100); + ret = FI2cMasterWritePoll(&i2c_bus->i2c_handle, mem_addr, FI2C_DEVICE_MEMADDR_LEN, &pmsg->buf[FI2C_DEVICE_MEMADDR_LEN], pmsg->len - FI2C_DEVICE_MEMADDR_LEN); if (ret != FI2C_SUCCESS) { LOG_E("I2C master write failed!\n"); diff --git a/bsp/phytium/libraries/drivers/drv_qspi.c b/bsp/phytium/libraries/drivers/drv_qspi.c index db3e14c895..d2c1517c93 100644 --- a/bsp/phytium/libraries/drivers/drv_qspi.c +++ b/bsp/phytium/libraries/drivers/drv_qspi.c @@ -8,6 +8,7 @@ * Change Logs: * Date Author Notes * 2023-03-20 zhangyan first version + * 2023-05-31 zhangyan improve functions * */ #include "rtconfig.h" @@ -24,11 +25,7 @@ #include "fqspi_hw.h" #include "fio_mux.h" - -#define DAT_LENGTH 128 #define QSPI_ALIGNED_BYTE 4 -static rt_uint8_t rd_buf[DAT_LENGTH]; -static rt_uint8_t wr_buf[DAT_LENGTH]; typedef struct { @@ -79,6 +76,16 @@ rt_err_t FQspiInit(phytium_qspi_bus *phytium_qspi_bus) rt_kprintf("Qspi flash detect successfully.\n"); } +#ifdef USING_QSPI_CHANNEL0 + phytium_qspi_bus->fqspi.config.channel = 0; +#elif defined USING_QSPI_CHANNEL1 + phytium_qspi_bus->fqspi.config.channel = 1; +#endif + +#ifdef RT_USING_SMART + phytium_qspi_bus->fqspi.config.mem_start = (uintptr)rt_ioremap((void *)phytium_qspi_bus->fqspi.config.mem_start, (phytium_qspi_bus->fqspi.config.channel + 1) * (phytium_qspi_bus->fqspi.flash_size)); +#endif + return RT_EOK; } @@ -132,190 +139,6 @@ static rt_err_t phytium_qspi_configure(struct rt_spi_device *device, struct rt_s return RT_EOK; } -static FError QspiFlashWriteData(FQspiCtrl *pctrl, u8 command, uintptr addr, const u8 *buf, size_t len) -{ - RT_ASSERT(pctrl && buf); - FError ret = FQSPI_SUCCESS; - u32 loop = 0; - const u32 mask = (u32)GENMASK(1, 0); - u32 reg_val = 0; - u32 val = 0; - u32 aligned_bit = 0; - - u8 tmp[QSPI_ALIGNED_BYTE] = {0xff, 0xff, 0xff, 0xff}; - uintptr base_addr = pctrl->config.base_addr; - - if (FT_COMPONENT_IS_READY != pctrl->is_ready) - { - LOG_E("Nor flash not ready !!!"); - return FQSPI_NOT_READY; - } - - /* Flash write enable */ - FQspiFlashEnableWrite(pctrl); - - memset(&pctrl->wr_cfg, 0, sizeof(pctrl->wr_cfg)); - /* set cmd region, command */ - pctrl->wr_cfg.wr_cmd = command; - pctrl->wr_cfg.wr_wait = FQSPI_WAIT_ENABLE; - /* clear addr select bit */ - pctrl->wr_cfg.wr_addr_sel = 0; - /* set wr mode, use buffer */ - pctrl->wr_cfg.wr_mode = FQSPI_USE_BUFFER_ENABLE; - /* set sck_sel region, clk_div */ - pctrl->wr_cfg.wr_sck_sel = FQSPI_SCK_DIV_128; - - /* set addr_sel region, FQSPI_ADDR_SEL_3 or FQSPI_ADDR_SEL_4 */ - switch (command) - { - case FQSPI_FLASH_CMD_PP: - case FQSPI_FLASH_CMD_QPP: - pctrl->wr_cfg.wr_addr_sel = FQSPI_ADDR_SEL_3; - break; - case FQSPI_FLASH_CMD_4PP: - case FQSPI_FLASH_CMD_4QPP: - pctrl->wr_cfg.wr_addr_sel = FQSPI_ADDR_SEL_4; - break; - default: - ret |= FQSPI_NOT_SUPPORT; - return ret; - break; - } - - /*write wr_cfg to Write config register 0x08 */ - FQspiWrCfgConfig(pctrl); - if (IS_ALIGNED(addr, QSPI_ALIGNED_BYTE)) /* if copy src is aligned by 4 bytes */ - { - /* write alligned data into memory space */ - for (loop = 0; loop < (len >> 2); loop++) - { - FQSPI_DAT_WRITE(addr + QSPI_ALIGNED_BYTE * loop, *(u32 *)(buf + QSPI_ALIGNED_BYTE * loop)); - } - /* write not alligned data into memory space */ - if (len & mask) - { - addr = addr + (len & ~mask); - memcpy(tmp, buf + (len & ~mask), len & mask); - FQSPI_DAT_WRITE(addr, *(u32 *)(tmp)); - } - } - else - { - aligned_bit = (addr & mask); - addr = addr - aligned_bit; - reg_val = FQSPI_READ_REG32(addr, 0); - - for (loop = 0; loop < (QSPI_ALIGNED_BYTE - aligned_bit); loop++) - { - val = (val << 8) | (buf[loop]); - reg_val &= (~(0xff << (loop * 8))); - } - - reg_val |= val; - reg_val = __builtin_bswap32(reg_val); - FQSPI_DAT_WRITE(addr, reg_val); - - buf = buf + loop; - len = len - loop; - addr = addr + QSPI_ALIGNED_BYTE; - - LOG_E("addr=%p, buf=%p, len=%d, value=%#x\r\n", addr, buf, len, *(u32 *)(buf)); - - for (loop = 0; loop < (len >> 2); loop++) - { - FQSPI_DAT_WRITE(addr + QSPI_ALIGNED_BYTE * loop, *(u32 *)(buf + QSPI_ALIGNED_BYTE * loop)); - } - - if (!IS_ALIGNED(len, QSPI_ALIGNED_BYTE)) - { - buf = buf + QSPI_ALIGNED_BYTE * loop; - len = len - QSPI_ALIGNED_BYTE * loop; - addr = addr + QSPI_ALIGNED_BYTE * loop; - memcpy(tmp, buf, len); - FQSPI_DAT_WRITE(addr, *(u32 *)(tmp)); - } - } - - /* flush buffer data to Flash */ - FQspiWriteFlush(base_addr); - - ret = FQspiFlashWaitForCmd(pctrl); - - return ret; -} - -size_t QspiFlashReadData(FQspiCtrl *pctrl, uintptr addr, u8 *buf, size_t len) -{ - /* addr of copy dst or src might be zero */ - RT_ASSERT(pctrl && buf); - size_t loop = 0; - const size_t cnt = len / QSPI_ALIGNED_BYTE; /* cnt number of 4-bytes need copy */ - const size_t remain = len % QSPI_ALIGNED_BYTE; /* remain number of 1-byte not aligned */ - u8 align_buf[QSPI_ALIGNED_BYTE]; - size_t copy_len = 0; - - intptr src_addr = (intptr)addr; /* conver to 32/64 bit addr */ - intptr dst_addr = (intptr)buf; - - if (FT_COMPONENT_IS_READY != pctrl->is_ready) - { - LOG_E("Nor flash not ready !!!"); - return 0; - } - if (0 == pctrl->rd_cfg.rd_cmd) - { - LOG_E("Nor flash read command is not ready !!!"); - return 0; - } - - if (0 == len) - { - return 0; - } - - if (IS_ALIGNED(src_addr, QSPI_ALIGNED_BYTE)) /* if copy src is aligned by 4 bytes */ - { - /* read 4-bytes aligned buf part */ - for (loop = 0; loop < cnt; loop++) - { - *(u32 *)dst_addr = *(volatile u32 *)(src_addr); - src_addr += QSPI_ALIGNED_BYTE; - dst_addr += QSPI_ALIGNED_BYTE; - } - - copy_len += (loop << 2); - - if (remain > 0) - { - *(u32 *)align_buf = *(volatile u32 *)(src_addr); - } - - /* read remain un-aligned buf byte by byte */ - for (loop = 0; loop < remain; loop++) - { - *(u8 *)dst_addr = align_buf[loop]; - dst_addr += 1; - } - - copy_len += loop; - - } - else /* if copy src is not aligned */ - { - /* read byte by byte */ - for (loop = 0; loop < len; loop++) - { - *(u8 *)dst_addr = *(volatile u8 *)(src_addr); - dst_addr += 1; - src_addr += 1; - } - copy_len += loop; - - } - - return copy_len; -} - static rt_ssize_t phytium_qspi_xfer(struct rt_spi_device *device, struct rt_spi_message *message) { RT_ASSERT(device != RT_NULL); @@ -333,21 +156,9 @@ static rt_ssize_t phytium_qspi_xfer(struct rt_spi_device *device, struct rt_spi_ qspi_bus = (phytium_qspi_bus *)(struct phytium_qspi_bus *) device->bus->parent.user_data; -#ifdef USING_QSPI_CHANNEL0 - qspi_bus->fqspi.config.channel = 0; -#elif defined USING_QSPI_CHANNEL1 - qspi_bus->fqspi.config.channel = 1; -#endif - - uintptr addr = qspi_bus->fqspi.config.mem_start + qspi_bus->fqspi.config.channel * qspi_bus->fqspi.flash_size + flash_addr; - -#ifdef RT_USING_SMART - addr = (uintptr)rt_ioremap((void *)addr, 0x2000); -#endif /*Distinguish the write mode according to different commands*/ if (cmd == FQSPI_FLASH_CMD_PP || cmd == FQSPI_FLASH_CMD_QPP || cmd == FQSPI_FLASH_CMD_4PP || cmd == FQSPI_FLASH_CMD_4QPP) { - rt_memcpy(&wr_buf, (char *)message->send_buf, len); ret = FQspiFlashErase(&(qspi_bus->fqspi), FQSPI_FLASH_CMD_SE, flash_addr); if (FT_SUCCESS != ret) { @@ -355,7 +166,7 @@ static rt_ssize_t phytium_qspi_xfer(struct rt_spi_device *device, struct rt_spi_ return -RT_ERROR; } /* write norflash data */ - ret = QspiFlashWriteData(&(qspi_bus->fqspi), cmd, addr, (u8 *)&wr_buf, len); + ret = FQspiFlashWriteData(&(qspi_bus->fqspi), cmd, flash_addr, (u8 *)message->send_buf, len); if (FT_SUCCESS != ret) { @@ -381,7 +192,7 @@ static rt_ssize_t phytium_qspi_xfer(struct rt_spi_device *device, struct rt_spi_ return -RT_ERROR; } /* read norflash data */ - size_t read_len = QspiFlashReadData(&(qspi_bus->fqspi), addr, (u8 *)&rd_buf, len); + size_t read_len = FQspiFlashReadData(&(qspi_bus->fqspi), flash_addr, (u8 *)message->recv_buf, len); if (read_len != len) { rt_kprintf("Failed to read mem, read len = %d.\r\n", read_len); @@ -390,7 +201,6 @@ static rt_ssize_t phytium_qspi_xfer(struct rt_spi_device *device, struct rt_spi_ else { rt_kprintf("Read successfully!!!, read_len = %d\r\n", read_len); - message->recv_buf = &rd_buf; } FtDumpHexByte(message->recv_buf, read_len); @@ -449,7 +259,6 @@ rt_err_t phytium_qspi_bus_attach_device(const char *bus_name, const char *device RT_ASSERT(device_name != RT_NULL); qspi_device = (struct rt_qspi_device *)rt_malloc(sizeof(struct rt_qspi_device)); - rt_kprintf("qspi_device addr == %p\n", qspi_device); if (qspi_device == RT_NULL) { LOG_E("Qspi bus attach device failed."); diff --git a/bsp/phytium/libraries/phytium_standalone_sdk_install.py b/bsp/phytium/libraries/phytium_standalone_sdk_install.py index 143eb53657..a09cf9971d 100644 --- a/bsp/phytium/libraries/phytium_standalone_sdk_install.py +++ b/bsp/phytium/libraries/phytium_standalone_sdk_install.py @@ -19,6 +19,6 @@ def clone_repository(branch, commit_hash): if __name__ == "__main__": branch_to_clone = "master" - commit_to_clone = "588db75e0ca38c0559563303d4ab8cbabab0e3ec" + commit_to_clone = "57e28e517e45d9d36b832cbdf038970e2ece600e" clone_repository(branch_to_clone, commit_to_clone) \ No newline at end of file diff --git a/bsp/phytium/libraries/port/fdriver_port/fdrivers_port.c b/bsp/phytium/libraries/port/fdriver_port/fdrivers_port.c index fb767d6092..b418bedc93 100644 --- a/bsp/phytium/libraries/port/fdriver_port/fdrivers_port.c +++ b/bsp/phytium/libraries/port/fdriver_port/fdrivers_port.c @@ -29,7 +29,7 @@ /* cache */ void FDriverDCacheRangeFlush(uintptr_t adr, size_t len) { - __asm_flush_dcache_range((void *)adr, len); + rt_hw_cpu_dcache_clean((void *)adr, len); } void FDriverDCacheRangeInvalidate(uintptr_t adr, size_t len) diff --git a/components/libc/posix/pthreads/pthread.c b/components/libc/posix/pthreads/pthread.c index 5cc3bbd7a7..0d7ed8f3d3 100644 --- a/components/libc/posix/pthreads/pthread.c +++ b/components/libc/posix/pthreads/pthread.c @@ -354,7 +354,7 @@ int pthread_detach(pthread_t thread) goto __exit; } - if ((ptd->tid->stat & RT_THREAD_STAT_MASK) == RT_THREAD_CLOSE) + if ((RT_SCHED_CTX(ptd->tid).stat & RT_THREAD_STAT_MASK) == RT_THREAD_CLOSE) { /* destroy this pthread */ _pthread_data_destroy(ptd); diff --git a/libcpu/aarch64/link.lds.S b/libcpu/aarch64/link.lds.S index f3528c6e3a..156948ecd2 100644 --- a/libcpu/aarch64/link.lds.S +++ b/libcpu/aarch64/link.lds.S @@ -111,19 +111,19 @@ SECTIONS . = ALIGN(8); .ctors : { - PROVIDE(__ctors_start = .); + PROVIDE(__ctors_start__ = .); /* new GCC version uses .init_array */ KEEP(*(SORT(.init_array.*))) KEEP(*(.init_array)) - PROVIDE(__ctors_end = .); + PROVIDE(__ctors_end__ = .); } .dtors : { - PROVIDE(__dtors_start = .); + PROVIDE(__dtors_start__ = .); KEEP(*(SORT(.dtors.*))) KEEP(*(.dtors)) - PROVIDE(__dtors_end = .); + PROVIDE(__dtors_end__ = .); } . = ALIGN(16);