diff --git a/.github/ALL_BSP_COMPILE.json b/.github/ALL_BSP_COMPILE.json index 30b6d974902..7cdca27d775 100644 --- a/.github/ALL_BSP_COMPILE.json +++ b/.github/ALL_BSP_COMPILE.json @@ -20,7 +20,8 @@ "RTT_BSP": "RTduino_Arduino Libraries (Raspberry Pico)", "RTT_TOOL_CHAIN": "sourcery-arm", "SUB_RTT_BSP": [ - "raspberry-pico" + "raspberry-pico/RP2040", + "raspberry-pico/RP2350" ] }, { diff --git a/.github/workflows/bsp_buildings.yml b/.github/workflows/bsp_buildings.yml index a129c292ca6..388f6f2354e 100644 --- a/.github/workflows/bsp_buildings.yml +++ b/.github/workflows/bsp_buildings.yml @@ -91,7 +91,6 @@ jobs: uses: actions/setup-python@main with: python-version: 3.8 - - name: Install Tools shell: bash run: | diff --git a/bsp/raspberry-pico/drivers/SConscript b/bsp/raspberry-pico/Drivers/SConscript similarity index 100% rename from bsp/raspberry-pico/drivers/SConscript rename to bsp/raspberry-pico/Drivers/SConscript diff --git a/bsp/raspberry-pico/drivers/drv_adc.c b/bsp/raspberry-pico/Drivers/drv_adc.c similarity index 100% rename from bsp/raspberry-pico/drivers/drv_adc.c rename to bsp/raspberry-pico/Drivers/drv_adc.c diff --git a/bsp/raspberry-pico/drivers/drv_adc.h b/bsp/raspberry-pico/Drivers/drv_adc.h similarity index 100% rename from bsp/raspberry-pico/drivers/drv_adc.h rename to bsp/raspberry-pico/Drivers/drv_adc.h diff --git a/bsp/raspberry-pico/drivers/drv_flash.c b/bsp/raspberry-pico/Drivers/drv_flash.c similarity index 100% rename from bsp/raspberry-pico/drivers/drv_flash.c rename to bsp/raspberry-pico/Drivers/drv_flash.c diff --git a/bsp/raspberry-pico/drivers/drv_flash.h b/bsp/raspberry-pico/Drivers/drv_flash.h similarity index 100% rename from bsp/raspberry-pico/drivers/drv_flash.h rename to bsp/raspberry-pico/Drivers/drv_flash.h diff --git a/bsp/raspberry-pico/drivers/drv_gpio.c b/bsp/raspberry-pico/Drivers/drv_gpio.c similarity index 100% rename from bsp/raspberry-pico/drivers/drv_gpio.c rename to bsp/raspberry-pico/Drivers/drv_gpio.c diff --git a/bsp/raspberry-pico/drivers/drv_gpio.h b/bsp/raspberry-pico/Drivers/drv_gpio.h similarity index 100% rename from bsp/raspberry-pico/drivers/drv_gpio.h rename to bsp/raspberry-pico/Drivers/drv_gpio.h diff --git a/bsp/raspberry-pico/drivers/drv_hwtimer.c b/bsp/raspberry-pico/Drivers/drv_hwtimer.c similarity index 100% rename from bsp/raspberry-pico/drivers/drv_hwtimer.c rename to bsp/raspberry-pico/Drivers/drv_hwtimer.c diff --git a/bsp/raspberry-pico/drivers/drv_hwtimer.h b/bsp/raspberry-pico/Drivers/drv_hwtimer.h similarity index 100% rename from bsp/raspberry-pico/drivers/drv_hwtimer.h rename to bsp/raspberry-pico/Drivers/drv_hwtimer.h diff --git a/bsp/raspberry-pico/drivers/drv_i2c.c b/bsp/raspberry-pico/Drivers/drv_i2c.c similarity index 100% rename from bsp/raspberry-pico/drivers/drv_i2c.c rename to bsp/raspberry-pico/Drivers/drv_i2c.c diff --git a/bsp/raspberry-pico/drivers/drv_i2c.h b/bsp/raspberry-pico/Drivers/drv_i2c.h similarity index 100% rename from bsp/raspberry-pico/drivers/drv_i2c.h rename to bsp/raspberry-pico/Drivers/drv_i2c.h diff --git a/bsp/raspberry-pico/drivers/drv_pwm.c b/bsp/raspberry-pico/Drivers/drv_pwm.c similarity index 100% rename from bsp/raspberry-pico/drivers/drv_pwm.c rename to bsp/raspberry-pico/Drivers/drv_pwm.c diff --git a/bsp/raspberry-pico/drivers/drv_pwm.h b/bsp/raspberry-pico/Drivers/drv_pwm.h similarity index 100% rename from bsp/raspberry-pico/drivers/drv_pwm.h rename to bsp/raspberry-pico/Drivers/drv_pwm.h diff --git a/bsp/raspberry-pico/drivers/drv_rtc.c b/bsp/raspberry-pico/Drivers/drv_rtc.c similarity index 100% rename from bsp/raspberry-pico/drivers/drv_rtc.c rename to bsp/raspberry-pico/Drivers/drv_rtc.c diff --git a/bsp/raspberry-pico/drivers/drv_soft_i2c.c b/bsp/raspberry-pico/Drivers/drv_soft_i2c.c similarity index 100% rename from bsp/raspberry-pico/drivers/drv_soft_i2c.c rename to bsp/raspberry-pico/Drivers/drv_soft_i2c.c diff --git a/bsp/raspberry-pico/drivers/drv_soft_i2c.h b/bsp/raspberry-pico/Drivers/drv_soft_i2c.h similarity index 100% rename from bsp/raspberry-pico/drivers/drv_soft_i2c.h rename to bsp/raspberry-pico/Drivers/drv_soft_i2c.h diff --git a/bsp/raspberry-pico/drivers/drv_soft_spi.c b/bsp/raspberry-pico/Drivers/drv_soft_spi.c similarity index 100% rename from bsp/raspberry-pico/drivers/drv_soft_spi.c rename to bsp/raspberry-pico/Drivers/drv_soft_spi.c diff --git a/bsp/raspberry-pico/drivers/drv_soft_spi.h b/bsp/raspberry-pico/Drivers/drv_soft_spi.h similarity index 100% rename from bsp/raspberry-pico/drivers/drv_soft_spi.h rename to bsp/raspberry-pico/Drivers/drv_soft_spi.h diff --git a/bsp/raspberry-pico/drivers/drv_spi.c b/bsp/raspberry-pico/Drivers/drv_spi.c similarity index 100% rename from bsp/raspberry-pico/drivers/drv_spi.c rename to bsp/raspberry-pico/Drivers/drv_spi.c diff --git a/bsp/raspberry-pico/drivers/drv_spi.h b/bsp/raspberry-pico/Drivers/drv_spi.h similarity index 100% rename from bsp/raspberry-pico/drivers/drv_spi.h rename to bsp/raspberry-pico/Drivers/drv_spi.h diff --git a/bsp/raspberry-pico/drivers/drv_uart.c b/bsp/raspberry-pico/Drivers/drv_uart.c similarity index 100% rename from bsp/raspberry-pico/drivers/drv_uart.c rename to bsp/raspberry-pico/Drivers/drv_uart.c diff --git a/bsp/raspberry-pico/drivers/drv_uart.h b/bsp/raspberry-pico/Drivers/drv_uart.h similarity index 95% rename from bsp/raspberry-pico/drivers/drv_uart.h rename to bsp/raspberry-pico/Drivers/drv_uart.h index 88bb40e3ac4..11b3ac95dc9 100644 --- a/bsp/raspberry-pico/drivers/drv_uart.h +++ b/bsp/raspberry-pico/Drivers/drv_uart.h @@ -13,7 +13,6 @@ #define __DRV_UART_H__ #include -#include #ifdef RT_USING_SERIAL int rt_hw_uart_init(void); diff --git a/bsp/raspberry-pico/drivers/drv_wdt.c b/bsp/raspberry-pico/Drivers/drv_wdt.c similarity index 100% rename from bsp/raspberry-pico/drivers/drv_wdt.c rename to bsp/raspberry-pico/Drivers/drv_wdt.c diff --git a/bsp/raspberry-pico/drivers/drv_wdt.h b/bsp/raspberry-pico/Drivers/drv_wdt.h similarity index 100% rename from bsp/raspberry-pico/drivers/drv_wdt.h rename to bsp/raspberry-pico/Drivers/drv_wdt.h diff --git a/bsp/raspberry-pico/.ci/attachconfig/ci.attachconfig.yml b/bsp/raspberry-pico/RP2040/.ci/attachconfig/ci.attachconfig.yml similarity index 100% rename from bsp/raspberry-pico/.ci/attachconfig/ci.attachconfig.yml rename to bsp/raspberry-pico/RP2040/.ci/attachconfig/ci.attachconfig.yml diff --git a/bsp/raspberry-pico/.config b/bsp/raspberry-pico/RP2040/.config similarity index 100% rename from bsp/raspberry-pico/.config rename to bsp/raspberry-pico/RP2040/.config diff --git a/bsp/raspberry-pico/RP2040/.gitignore b/bsp/raspberry-pico/RP2040/.gitignore new file mode 100644 index 00000000000..54948ae4aa3 --- /dev/null +++ b/bsp/raspberry-pico/RP2040/.gitignore @@ -0,0 +1,45 @@ +*.pyc +*.map +*.dblite +*.uf2 +*.elf +*.bin +*.hex +*.axf +*.exe +*.pdb +*.idb +*.ilk +*.old +build +Debug +documentation/html +packages/ +*~ +*.o +*.obj +*.out +*.bak +*.dep +*.lib +*.i +*.d +.DS_Stor* +.config 3 +.config 4 +.config 5 +Midea-X1 +*.uimg +GPATH +GRTAGS +GTAGS +.vscode +JLinkLog.txt +JLinkSettings.ini +DebugConfig/ +RTE/ +settings/ +*.uvguix* +cconfig.h +!.vscode +!elf2uf2.exe \ No newline at end of file diff --git a/bsp/raspberry-pico/Kconfig b/bsp/raspberry-pico/RP2040/Kconfig similarity index 94% rename from bsp/raspberry-pico/Kconfig rename to bsp/raspberry-pico/RP2040/Kconfig index 4090edd8270..9c292d85b92 100644 --- a/bsp/raspberry-pico/Kconfig +++ b/bsp/raspberry-pico/RP2040/Kconfig @@ -2,7 +2,7 @@ mainmenu "RT-Thread Configuration" BSP_DIR := . -RTT_DIR := ../.. +RTT_DIR := ../../.. PKGS_DIR := packages diff --git a/bsp/raspberry-pico/README.md b/bsp/raspberry-pico/RP2040/README.md similarity index 100% rename from bsp/raspberry-pico/README.md rename to bsp/raspberry-pico/RP2040/README.md diff --git a/bsp/raspberry-pico/SConscript b/bsp/raspberry-pico/RP2040/SConscript similarity index 100% rename from bsp/raspberry-pico/SConscript rename to bsp/raspberry-pico/RP2040/SConscript diff --git a/bsp/raspberry-pico/SConstruct b/bsp/raspberry-pico/RP2040/SConstruct similarity index 87% rename from bsp/raspberry-pico/SConstruct rename to bsp/raspberry-pico/RP2040/SConstruct index 49b94d7c60e..fb10a92d411 100644 --- a/bsp/raspberry-pico/SConstruct +++ b/bsp/raspberry-pico/RP2040/SConstruct @@ -5,7 +5,7 @@ import rtconfig if os.getenv('RTT_ROOT'): RTT_ROOT = os.getenv('RTT_ROOT') else: - RTT_ROOT = os.path.normpath(os.getcwd() + '/../..') + RTT_ROOT = os.path.normpath(os.getcwd() + '/../../..') sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')] from building import * @@ -38,5 +38,7 @@ os.chdir(ocwd) objs.extend(SConscript(os.path.join(os.getcwd(), 'board', 'ports', 'SConscript'))) +objs.extend(SConscript(os.path.join(os.getcwd(), '..', 'Drivers', 'SConscript'))) + # make a building DoBuilding(TARGET, objs) diff --git a/bsp/raspberry-pico/applications/SConscript b/bsp/raspberry-pico/RP2040/applications/SConscript similarity index 100% rename from bsp/raspberry-pico/applications/SConscript rename to bsp/raspberry-pico/RP2040/applications/SConscript diff --git a/bsp/raspberry-pico/applications/arduino_main.cpp b/bsp/raspberry-pico/RP2040/applications/arduino_main.cpp similarity index 100% rename from bsp/raspberry-pico/applications/arduino_main.cpp rename to bsp/raspberry-pico/RP2040/applications/arduino_main.cpp diff --git a/bsp/raspberry-pico/applications/arduino_pinout/README.md b/bsp/raspberry-pico/RP2040/applications/arduino_pinout/README.md similarity index 100% rename from bsp/raspberry-pico/applications/arduino_pinout/README.md rename to bsp/raspberry-pico/RP2040/applications/arduino_pinout/README.md diff --git a/bsp/raspberry-pico/applications/arduino_pinout/SConscript b/bsp/raspberry-pico/RP2040/applications/arduino_pinout/SConscript similarity index 100% rename from bsp/raspberry-pico/applications/arduino_pinout/SConscript rename to bsp/raspberry-pico/RP2040/applications/arduino_pinout/SConscript diff --git a/bsp/raspberry-pico/applications/arduino_pinout/images/Pico-R3-Pinout-1719757322245-1.svg b/bsp/raspberry-pico/RP2040/applications/arduino_pinout/images/Pico-R3-Pinout-1719757322245-1.svg similarity index 100% rename from bsp/raspberry-pico/applications/arduino_pinout/images/Pico-R3-Pinout-1719757322245-1.svg rename to bsp/raspberry-pico/RP2040/applications/arduino_pinout/images/Pico-R3-Pinout-1719757322245-1.svg diff --git a/bsp/raspberry-pico/applications/arduino_pinout/pins_arduino.c b/bsp/raspberry-pico/RP2040/applications/arduino_pinout/pins_arduino.c similarity index 100% rename from bsp/raspberry-pico/applications/arduino_pinout/pins_arduino.c rename to bsp/raspberry-pico/RP2040/applications/arduino_pinout/pins_arduino.c diff --git a/bsp/raspberry-pico/applications/arduino_pinout/pins_arduino.h b/bsp/raspberry-pico/RP2040/applications/arduino_pinout/pins_arduino.h similarity index 100% rename from bsp/raspberry-pico/applications/arduino_pinout/pins_arduino.h rename to bsp/raspberry-pico/RP2040/applications/arduino_pinout/pins_arduino.h diff --git a/bsp/raspberry-pico/applications/lvgl/README.md b/bsp/raspberry-pico/RP2040/applications/lvgl/README.md similarity index 100% rename from bsp/raspberry-pico/applications/lvgl/README.md rename to bsp/raspberry-pico/RP2040/applications/lvgl/README.md diff --git a/bsp/raspberry-pico/applications/lvgl/README_zh.md b/bsp/raspberry-pico/RP2040/applications/lvgl/README_zh.md similarity index 100% rename from bsp/raspberry-pico/applications/lvgl/README_zh.md rename to bsp/raspberry-pico/RP2040/applications/lvgl/README_zh.md diff --git a/bsp/raspberry-pico/applications/lvgl/SConscript b/bsp/raspberry-pico/RP2040/applications/lvgl/SConscript similarity index 100% rename from bsp/raspberry-pico/applications/lvgl/SConscript rename to bsp/raspberry-pico/RP2040/applications/lvgl/SConscript diff --git a/bsp/raspberry-pico/applications/lvgl/demo/SConscript b/bsp/raspberry-pico/RP2040/applications/lvgl/demo/SConscript similarity index 100% rename from bsp/raspberry-pico/applications/lvgl/demo/SConscript rename to bsp/raspberry-pico/RP2040/applications/lvgl/demo/SConscript diff --git a/bsp/raspberry-pico/applications/lvgl/demo/lv_demo.c b/bsp/raspberry-pico/RP2040/applications/lvgl/demo/lv_demo.c similarity index 100% rename from bsp/raspberry-pico/applications/lvgl/demo/lv_demo.c rename to bsp/raspberry-pico/RP2040/applications/lvgl/demo/lv_demo.c diff --git a/bsp/raspberry-pico/applications/lvgl/img/1.png b/bsp/raspberry-pico/RP2040/applications/lvgl/img/1.png similarity index 100% rename from bsp/raspberry-pico/applications/lvgl/img/1.png rename to bsp/raspberry-pico/RP2040/applications/lvgl/img/1.png diff --git a/bsp/raspberry-pico/applications/lvgl/img/2.png b/bsp/raspberry-pico/RP2040/applications/lvgl/img/2.png similarity index 100% rename from bsp/raspberry-pico/applications/lvgl/img/2.png rename to bsp/raspberry-pico/RP2040/applications/lvgl/img/2.png diff --git a/bsp/raspberry-pico/applications/lvgl/img/3.png b/bsp/raspberry-pico/RP2040/applications/lvgl/img/3.png similarity index 100% rename from bsp/raspberry-pico/applications/lvgl/img/3.png rename to bsp/raspberry-pico/RP2040/applications/lvgl/img/3.png diff --git a/bsp/raspberry-pico/applications/lvgl/img/4.png b/bsp/raspberry-pico/RP2040/applications/lvgl/img/4.png similarity index 100% rename from bsp/raspberry-pico/applications/lvgl/img/4.png rename to bsp/raspberry-pico/RP2040/applications/lvgl/img/4.png diff --git a/bsp/raspberry-pico/applications/lvgl/img/5.png b/bsp/raspberry-pico/RP2040/applications/lvgl/img/5.png similarity index 100% rename from bsp/raspberry-pico/applications/lvgl/img/5.png rename to bsp/raspberry-pico/RP2040/applications/lvgl/img/5.png diff --git a/bsp/raspberry-pico/applications/lvgl/img_en/1.png b/bsp/raspberry-pico/RP2040/applications/lvgl/img_en/1.png similarity index 100% rename from bsp/raspberry-pico/applications/lvgl/img_en/1.png rename to bsp/raspberry-pico/RP2040/applications/lvgl/img_en/1.png diff --git a/bsp/raspberry-pico/applications/lvgl/img_en/2.png b/bsp/raspberry-pico/RP2040/applications/lvgl/img_en/2.png similarity index 100% rename from bsp/raspberry-pico/applications/lvgl/img_en/2.png rename to bsp/raspberry-pico/RP2040/applications/lvgl/img_en/2.png diff --git a/bsp/raspberry-pico/applications/lvgl/img_en/3.png b/bsp/raspberry-pico/RP2040/applications/lvgl/img_en/3.png similarity index 100% rename from bsp/raspberry-pico/applications/lvgl/img_en/3.png rename to bsp/raspberry-pico/RP2040/applications/lvgl/img_en/3.png diff --git a/bsp/raspberry-pico/applications/lvgl/img_en/4.png b/bsp/raspberry-pico/RP2040/applications/lvgl/img_en/4.png similarity index 100% rename from bsp/raspberry-pico/applications/lvgl/img_en/4.png rename to bsp/raspberry-pico/RP2040/applications/lvgl/img_en/4.png diff --git a/bsp/raspberry-pico/applications/lvgl/img_en/5.png b/bsp/raspberry-pico/RP2040/applications/lvgl/img_en/5.png similarity index 100% rename from bsp/raspberry-pico/applications/lvgl/img_en/5.png rename to bsp/raspberry-pico/RP2040/applications/lvgl/img_en/5.png diff --git a/bsp/raspberry-pico/applications/lvgl/lv_conf.h b/bsp/raspberry-pico/RP2040/applications/lvgl/lv_conf.h similarity index 100% rename from bsp/raspberry-pico/applications/lvgl/lv_conf.h rename to bsp/raspberry-pico/RP2040/applications/lvgl/lv_conf.h diff --git a/bsp/raspberry-pico/applications/lvgl/lv_port_disp.c b/bsp/raspberry-pico/RP2040/applications/lvgl/lv_port_disp.c similarity index 100% rename from bsp/raspberry-pico/applications/lvgl/lv_port_disp.c rename to bsp/raspberry-pico/RP2040/applications/lvgl/lv_port_disp.c diff --git a/bsp/raspberry-pico/applications/lvgl/lv_port_indev.c b/bsp/raspberry-pico/RP2040/applications/lvgl/lv_port_indev.c similarity index 100% rename from bsp/raspberry-pico/applications/lvgl/lv_port_indev.c rename to bsp/raspberry-pico/RP2040/applications/lvgl/lv_port_indev.c diff --git a/bsp/raspberry-pico/applications/main.c b/bsp/raspberry-pico/RP2040/applications/main.c similarity index 100% rename from bsp/raspberry-pico/applications/main.c rename to bsp/raspberry-pico/RP2040/applications/main.c diff --git a/bsp/raspberry-pico/board/Kconfig b/bsp/raspberry-pico/RP2040/board/Kconfig similarity index 100% rename from bsp/raspberry-pico/board/Kconfig rename to bsp/raspberry-pico/RP2040/board/Kconfig diff --git a/bsp/raspberry-pico/board/SConscript b/bsp/raspberry-pico/RP2040/board/SConscript similarity index 100% rename from bsp/raspberry-pico/board/SConscript rename to bsp/raspberry-pico/RP2040/board/SConscript diff --git a/bsp/raspberry-pico/board/board.c b/bsp/raspberry-pico/RP2040/board/board.c similarity index 100% rename from bsp/raspberry-pico/board/board.c rename to bsp/raspberry-pico/RP2040/board/board.c diff --git a/bsp/raspberry-pico/board/board.h b/bsp/raspberry-pico/RP2040/board/board.h similarity index 100% rename from bsp/raspberry-pico/board/board.h rename to bsp/raspberry-pico/RP2040/board/board.h diff --git a/bsp/raspberry-pico/board/ports/SConscript b/bsp/raspberry-pico/RP2040/board/ports/SConscript similarity index 100% rename from bsp/raspberry-pico/board/ports/SConscript rename to bsp/raspberry-pico/RP2040/board/ports/SConscript diff --git a/bsp/raspberry-pico/board/ports/lcd/SConscript b/bsp/raspberry-pico/RP2040/board/ports/lcd/SConscript similarity index 100% rename from bsp/raspberry-pico/board/ports/lcd/SConscript rename to bsp/raspberry-pico/RP2040/board/ports/lcd/SConscript diff --git a/bsp/raspberry-pico/board/ports/lcd/drv_lcd.c b/bsp/raspberry-pico/RP2040/board/ports/lcd/drv_lcd.c similarity index 100% rename from bsp/raspberry-pico/board/ports/lcd/drv_lcd.c rename to bsp/raspberry-pico/RP2040/board/ports/lcd/drv_lcd.c diff --git a/bsp/raspberry-pico/board/ports/lcd/drv_lcd.h b/bsp/raspberry-pico/RP2040/board/ports/lcd/drv_lcd.h similarity index 100% rename from bsp/raspberry-pico/board/ports/lcd/drv_lcd.h rename to bsp/raspberry-pico/RP2040/board/ports/lcd/drv_lcd.h diff --git a/bsp/raspberry-pico/figures/Pico-R3-Pinout.svg b/bsp/raspberry-pico/RP2040/figures/Pico-R3-Pinout.svg similarity index 100% rename from bsp/raspberry-pico/figures/Pico-R3-Pinout.svg rename to bsp/raspberry-pico/RP2040/figures/Pico-R3-Pinout.svg diff --git a/bsp/raspberry-pico/figures/elf2uf2.png b/bsp/raspberry-pico/RP2040/figures/elf2uf2.png similarity index 100% rename from bsp/raspberry-pico/figures/elf2uf2.png rename to bsp/raspberry-pico/RP2040/figures/elf2uf2.png diff --git a/bsp/raspberry-pico/libcpu/SConscript b/bsp/raspberry-pico/RP2040/libcpu/SConscript similarity index 100% rename from bsp/raspberry-pico/libcpu/SConscript rename to bsp/raspberry-pico/RP2040/libcpu/SConscript diff --git a/bsp/raspberry-pico/libcpu/context_gcc.S b/bsp/raspberry-pico/RP2040/libcpu/context_gcc.S similarity index 100% rename from bsp/raspberry-pico/libcpu/context_gcc.S rename to bsp/raspberry-pico/RP2040/libcpu/context_gcc.S diff --git a/bsp/raspberry-pico/libcpu/cpuport.c b/bsp/raspberry-pico/RP2040/libcpu/cpuport.c similarity index 100% rename from bsp/raspberry-pico/libcpu/cpuport.c rename to bsp/raspberry-pico/RP2040/libcpu/cpuport.c diff --git a/bsp/raspberry-pico/libcpu/cpuport.h b/bsp/raspberry-pico/RP2040/libcpu/cpuport.h similarity index 100% rename from bsp/raspberry-pico/libcpu/cpuport.h rename to bsp/raspberry-pico/RP2040/libcpu/cpuport.h diff --git a/bsp/raspberry-pico/link.ld b/bsp/raspberry-pico/RP2040/link.ld similarity index 100% rename from bsp/raspberry-pico/link.ld rename to bsp/raspberry-pico/RP2040/link.ld diff --git a/bsp/raspberry-pico/rtconfig.h b/bsp/raspberry-pico/RP2040/rtconfig.h similarity index 100% rename from bsp/raspberry-pico/rtconfig.h rename to bsp/raspberry-pico/RP2040/rtconfig.h diff --git a/bsp/raspberry-pico/rtconfig.py b/bsp/raspberry-pico/RP2040/rtconfig.py similarity index 100% rename from bsp/raspberry-pico/rtconfig.py rename to bsp/raspberry-pico/RP2040/rtconfig.py diff --git a/bsp/raspberry-pico/tools/elf2uf2 b/bsp/raspberry-pico/RP2040/tools/elf2uf2 similarity index 100% rename from bsp/raspberry-pico/tools/elf2uf2 rename to bsp/raspberry-pico/RP2040/tools/elf2uf2 diff --git a/bsp/raspberry-pico/tools/elf2uf2.exe b/bsp/raspberry-pico/RP2040/tools/elf2uf2.exe similarity index 100% rename from bsp/raspberry-pico/tools/elf2uf2.exe rename to bsp/raspberry-pico/RP2040/tools/elf2uf2.exe diff --git a/bsp/raspberry-pico/RP2350/.config b/bsp/raspberry-pico/RP2350/.config new file mode 100644 index 00000000000..d9732c61980 --- /dev/null +++ b/bsp/raspberry-pico/RP2350/.config @@ -0,0 +1,1430 @@ +CONFIG_SOC_RP2350=y + +# +# RT-Thread Kernel +# + +# +# klibc options +# + +# +# rt_vsnprintf options +# +# CONFIG_RT_KLIBC_USING_LIBC_VSNPRINTF is not set +# CONFIG_RT_KLIBC_USING_VSNPRINTF_LONGLONG is not set +# CONFIG_RT_KLIBC_USING_VSNPRINTF_STANDARD is not set +# end of rt_vsnprintf options + +# +# rt_vsscanf options +# +# CONFIG_RT_KLIBC_USING_LIBC_VSSCANF is not set +# end of rt_vsscanf options + +# +# rt_memset options +# +# CONFIG_RT_KLIBC_USING_USER_MEMSET is not set +# CONFIG_RT_KLIBC_USING_LIBC_MEMSET is not set +# CONFIG_RT_KLIBC_USING_TINY_MEMSET is not set +# end of rt_memset options + +# +# rt_memcpy options +# +# CONFIG_RT_KLIBC_USING_USER_MEMCPY is not set +# CONFIG_RT_KLIBC_USING_LIBC_MEMCPY is not set +# CONFIG_RT_KLIBC_USING_TINY_MEMCPY is not set +# end of rt_memcpy options + +# +# rt_memmove options +# +# CONFIG_RT_KLIBC_USING_USER_MEMMOVE is not set +# CONFIG_RT_KLIBC_USING_LIBC_MEMMOVE is not set +# end of rt_memmove options + +# +# rt_memcmp options +# +# CONFIG_RT_KLIBC_USING_USER_MEMCMP is not set +# CONFIG_RT_KLIBC_USING_LIBC_MEMCMP is not set +# end of rt_memcmp options + +# +# rt_strstr options +# +# CONFIG_RT_KLIBC_USING_USER_STRSTR is not set +# CONFIG_RT_KLIBC_USING_LIBC_STRSTR is not set +# end of rt_strstr options + +# +# rt_strcasecmp options +# +# CONFIG_RT_KLIBC_USING_USER_STRCASECMP is not set +# end of rt_strcasecmp options + +# +# rt_strncpy options +# +# CONFIG_RT_KLIBC_USING_USER_STRNCPY is not set +# CONFIG_RT_KLIBC_USING_LIBC_STRNCPY is not set +# end of rt_strncpy options + +# +# rt_strcpy options +# +# CONFIG_RT_KLIBC_USING_USER_STRCPY is not set +# CONFIG_RT_KLIBC_USING_LIBC_STRCPY is not set +# end of rt_strcpy options + +# +# rt_strncmp options +# +# CONFIG_RT_KLIBC_USING_USER_STRNCMP is not set +# CONFIG_RT_KLIBC_USING_LIBC_STRNCMP is not set +# end of rt_strncmp options + +# +# rt_strcmp options +# +# CONFIG_RT_KLIBC_USING_USER_STRCMP is not set +# CONFIG_RT_KLIBC_USING_LIBC_STRCMP is not set +# end of rt_strcmp options + +# +# rt_strlen options +# +# CONFIG_RT_KLIBC_USING_USER_STRLEN is not set +# CONFIG_RT_KLIBC_USING_LIBC_STRLEN is not set +# end of rt_strlen options + +# +# rt_strnlen options +# +# CONFIG_RT_KLIBC_USING_USER_STRNLEN is not set +# end of rt_strnlen options + +# CONFIG_RT_UTEST_TC_USING_KLIBC is not set +# end of klibc options + +CONFIG_RT_NAME_MAX=8 +# CONFIG_RT_USING_ARCH_DATA_TYPE is not set +# CONFIG_RT_USING_NANO is not set +# CONFIG_RT_USING_SMART is not set +# CONFIG_RT_USING_AMP is not set +# CONFIG_RT_USING_SMP is not set +CONFIG_RT_CPUS_NR=1 +CONFIG_RT_ALIGN_SIZE=8 +# CONFIG_RT_THREAD_PRIORITY_8 is not set +CONFIG_RT_THREAD_PRIORITY_32=y +# CONFIG_RT_THREAD_PRIORITY_256 is not set +CONFIG_RT_THREAD_PRIORITY_MAX=32 +CONFIG_RT_TICK_PER_SECOND=100 +CONFIG_RT_USING_OVERFLOW_CHECK=y +CONFIG_RT_USING_HOOK=y +CONFIG_RT_HOOK_USING_FUNC_PTR=y +# CONFIG_RT_USING_HOOKLIST is not set +CONFIG_RT_USING_IDLE_HOOK=y +CONFIG_RT_IDLE_HOOK_LIST_SIZE=4 +CONFIG_IDLE_THREAD_STACK_SIZE=256 +# CONFIG_RT_USING_TIMER_SOFT is not set +# CONFIG_RT_USING_CPU_USAGE_TRACER is not set + +# +# kservice options +# +# CONFIG_RT_USING_TINY_FFS is not set +# end of kservice options + +# CONFIG_RT_USING_DEBUG is not set +# CONFIG_RT_USING_CI_ACTION is not set + +# +# Inter-Thread communication +# +CONFIG_RT_USING_SEMAPHORE=y +CONFIG_RT_USING_MUTEX=y +CONFIG_RT_USING_EVENT=y +CONFIG_RT_USING_MAILBOX=y +CONFIG_RT_USING_MESSAGEQUEUE=y +# CONFIG_RT_USING_MESSAGEQUEUE_PRIORITY is not set +# CONFIG_RT_USING_SIGNALS is not set +# end of Inter-Thread communication + +# +# Memory Management +# +CONFIG_RT_USING_MEMPOOL=y +CONFIG_RT_USING_SMALL_MEM=y +# CONFIG_RT_USING_SLAB is not set +# CONFIG_RT_USING_MEMHEAP is not set +CONFIG_RT_USING_SMALL_MEM_AS_HEAP=y +# CONFIG_RT_USING_MEMHEAP_AS_HEAP is not set +# CONFIG_RT_USING_SLAB_AS_HEAP is not set +# CONFIG_RT_USING_USERHEAP is not set +# CONFIG_RT_USING_NOHEAP is not set +# CONFIG_RT_USING_MEMTRACE is not set +# CONFIG_RT_USING_HEAP_ISR is not set +CONFIG_RT_USING_HEAP=y +# end of Memory Management + +CONFIG_RT_USING_DEVICE=y +# CONFIG_RT_USING_DEVICE_OPS is not set +# CONFIG_RT_USING_INTERRUPT_INFO is not set +# CONFIG_RT_USING_THREADSAFE_PRINTF is not set +CONFIG_RT_USING_CONSOLE=y +CONFIG_RT_CONSOLEBUF_SIZE=128 +CONFIG_RT_CONSOLE_DEVICE_NAME="uart0" +CONFIG_RT_VER_NUM=0x50201 +# CONFIG_RT_USING_STDC_ATOMIC is not set +CONFIG_RT_BACKTRACE_LEVEL_MAX_NR=32 +# end of RT-Thread Kernel + +CONFIG_RT_USING_HW_ATOMIC=y +CONFIG_RT_USING_CPU_FFS=y +CONFIG_ARCH_ARM=y +CONFIG_ARCH_ARM_CORTEX_M=y +CONFIG_ARCH_ARM_CORTEX_SECURE=y +CONFIG_ARCH_ARM_CORTEX_M33=y + +# +# RT-Thread Components +# +CONFIG_RT_USING_COMPONENTS_INIT=y +CONFIG_RT_USING_USER_MAIN=y +CONFIG_RT_MAIN_THREAD_STACK_SIZE=1024 +CONFIG_RT_MAIN_THREAD_PRIORITY=10 +# CONFIG_RT_USING_LEGACY is not set +CONFIG_RT_USING_MSH=y +CONFIG_RT_USING_FINSH=y +CONFIG_FINSH_USING_MSH=y +CONFIG_FINSH_THREAD_NAME="tshell" +CONFIG_FINSH_THREAD_PRIORITY=20 +CONFIG_FINSH_THREAD_STACK_SIZE=2048 +CONFIG_FINSH_USING_HISTORY=y +CONFIG_FINSH_HISTORY_LINES=5 +CONFIG_FINSH_USING_SYMTAB=y +CONFIG_FINSH_CMD_SIZE=80 +CONFIG_MSH_USING_BUILT_IN_COMMANDS=y +CONFIG_FINSH_USING_DESCRIPTION=y +# CONFIG_FINSH_ECHO_DISABLE_DEFAULT is not set +# CONFIG_FINSH_USING_AUTH is not set +CONFIG_FINSH_ARG_MAX=10 +CONFIG_FINSH_USING_OPTION_COMPLETION=y + +# +# DFS: device virtual file system +# +# CONFIG_RT_USING_DFS is not set +# end of DFS: device virtual file system + +# CONFIG_RT_USING_FAL is not set + +# +# Device Drivers +# +# CONFIG_RT_USING_DM is not set +# CONFIG_RT_USING_DEV_BUS is not set +CONFIG_RT_USING_DEVICE_IPC=y +CONFIG_RT_UNAMED_PIPE_NUMBER=64 +# CONFIG_RT_USING_SYSTEM_WORKQUEUE is not set +CONFIG_RT_USING_SERIAL=y +CONFIG_RT_USING_SERIAL_V1=y +# CONFIG_RT_USING_SERIAL_V2 is not set +CONFIG_RT_SERIAL_USING_DMA=y +CONFIG_RT_SERIAL_RB_BUFSZ=64 +# CONFIG_RT_USING_SERIAL_BYPASS is not set +# CONFIG_RT_USING_CAN is not set +# CONFIG_RT_USING_CPUTIME is not set +# CONFIG_RT_USING_I2C is not set +# CONFIG_RT_USING_PHY is not set +# CONFIG_RT_USING_PHY_V2 is not set +# CONFIG_RT_USING_ADC is not set +# CONFIG_RT_USING_DAC is not set +# CONFIG_RT_USING_NULL is not set +# CONFIG_RT_USING_ZERO is not set +# CONFIG_RT_USING_RANDOM is not set +# CONFIG_RT_USING_PWM is not set +# CONFIG_RT_USING_PULSE_ENCODER is not set +# CONFIG_RT_USING_INPUT_CAPTURE is not set +# CONFIG_RT_USING_MTD_NOR is not set +# CONFIG_RT_USING_MTD_NAND is not set +# CONFIG_RT_USING_PM is not set +# CONFIG_RT_USING_RTC is not set +# CONFIG_RT_USING_SDIO is not set +# CONFIG_RT_USING_SPI is not set +# CONFIG_RT_USING_WDT is not set +# CONFIG_RT_USING_AUDIO is not set +# CONFIG_RT_USING_SENSOR is not set +# CONFIG_RT_USING_TOUCH is not set +# CONFIG_RT_USING_LCD is not set +# CONFIG_RT_USING_HWCRYPTO is not set +# CONFIG_RT_USING_WIFI is not set +# CONFIG_RT_USING_BLK is not set +# CONFIG_RT_USING_VIRTIO is not set +CONFIG_RT_USING_PIN=y +# CONFIG_RT_USING_KTIME is not set +# CONFIG_RT_USING_HWTIMER is not set +# CONFIG_RT_USING_CHERRYUSB is not set +# end of Device Drivers + +# +# C/C++ and POSIX layer +# + +# +# ISO-ANSI C layer +# + +# +# Timezone and Daylight Saving Time +# +# CONFIG_RT_LIBC_USING_FULL_TZ_DST is not set +CONFIG_RT_LIBC_USING_LIGHT_TZ_DST=y +CONFIG_RT_LIBC_TZ_DEFAULT_HOUR=8 +CONFIG_RT_LIBC_TZ_DEFAULT_MIN=0 +CONFIG_RT_LIBC_TZ_DEFAULT_SEC=0 +# end of Timezone and Daylight Saving Time +# end of ISO-ANSI C layer + +# +# POSIX (Portable Operating System Interface) layer +# +# CONFIG_RT_USING_POSIX_FS is not set +# CONFIG_RT_USING_POSIX_DELAY is not set +# CONFIG_RT_USING_POSIX_CLOCK is not set +# CONFIG_RT_USING_POSIX_TIMER is not set +# CONFIG_RT_USING_PTHREADS is not set +# CONFIG_RT_USING_MODULE is not set + +# +# Interprocess Communication (IPC) +# +# CONFIG_RT_USING_POSIX_PIPE is not set +# CONFIG_RT_USING_POSIX_MESSAGE_QUEUE is not set +# CONFIG_RT_USING_POSIX_MESSAGE_SEMAPHORE is not set + +# +# Socket is in the 'Network' category +# +# end of Interprocess Communication (IPC) +# end of POSIX (Portable Operating System Interface) layer + +# CONFIG_RT_USING_CPLUSPLUS is not set +# end of C/C++ and POSIX layer + +# +# Network +# +# CONFIG_RT_USING_SAL is not set +# CONFIG_RT_USING_NETDEV is not set +# CONFIG_RT_USING_LWIP is not set +# CONFIG_RT_USING_AT is not set +# end of Network + +# +# Memory protection +# +# CONFIG_RT_USING_MEM_PROTECTION is not set +# CONFIG_RT_USING_HW_STACK_GUARD is not set +# end of Memory protection + +# +# Utilities +# +# CONFIG_RT_USING_RYM is not set +# CONFIG_RT_USING_ULOG is not set +# CONFIG_RT_USING_UTEST is not set +# CONFIG_RT_USING_VAR_EXPORT is not set +# CONFIG_RT_USING_RESOURCE_ID is not set +# CONFIG_RT_USING_ADT is not set +# CONFIG_RT_USING_RT_LINK is not set +# end of Utilities + +# CONFIG_RT_USING_VBUS is not set + +# +# Using USB legacy version +# +# CONFIG_RT_USING_USB_HOST is not set +# CONFIG_RT_USING_USB_DEVICE is not set +# end of Using USB legacy version + +# CONFIG_RT_USING_FDT is not set +# end of RT-Thread Components + +# +# RT-Thread Utestcases +# +# CONFIG_RT_USING_UTESTCASES is not set +# end of RT-Thread Utestcases + +# +# RT-Thread online packages +# + +# +# IoT - internet of things +# +# CONFIG_PKG_USING_LORAWAN_DRIVER is not set +# CONFIG_PKG_USING_PAHOMQTT is not set +# CONFIG_PKG_USING_UMQTT is not set +# CONFIG_PKG_USING_WEBCLIENT is not set +# CONFIG_PKG_USING_WEBNET is not set +# CONFIG_PKG_USING_MONGOOSE is not set +# CONFIG_PKG_USING_MYMQTT is not set +# CONFIG_PKG_USING_KAWAII_MQTT is not set +# CONFIG_PKG_USING_BC28_MQTT is not set +# CONFIG_PKG_USING_WEBTERMINAL is not set +# CONFIG_PKG_USING_FREEMODBUS is not set +# CONFIG_PKG_USING_NANOPB is not set +# CONFIG_PKG_USING_WIFI_HOST_DRIVER is not set +# CONFIG_PKG_USING_ESP_HOSTED is not set + +# +# Wi-Fi +# + +# +# Marvell WiFi +# +# CONFIG_PKG_USING_WLANMARVELL is not set +# end of Marvell WiFi + +# +# Wiced WiFi +# +# CONFIG_PKG_USING_WLAN_WICED is not set +# end of Wiced WiFi + +# CONFIG_PKG_USING_RW007 is not set + +# +# CYW43012 WiFi +# +# CONFIG_PKG_USING_WLAN_CYW43012 is not set +# end of CYW43012 WiFi + +# +# BL808 WiFi +# +# CONFIG_PKG_USING_WLAN_BL808 is not set +# end of BL808 WiFi + +# +# CYW43439 WiFi +# +# CONFIG_PKG_USING_WLAN_CYW43439 is not set +# end of CYW43439 WiFi +# end of Wi-Fi + +# CONFIG_PKG_USING_COAP is not set +# CONFIG_PKG_USING_NOPOLL is not set +# CONFIG_PKG_USING_NETUTILS is not set +# CONFIG_PKG_USING_CMUX is not set +# CONFIG_PKG_USING_PPP_DEVICE is not set +# CONFIG_PKG_USING_AT_DEVICE is not set +# CONFIG_PKG_USING_ATSRV_SOCKET is not set +# CONFIG_PKG_USING_WIZNET is not set +# CONFIG_PKG_USING_ZB_COORDINATOR is not set + +# +# IoT Cloud +# +# CONFIG_PKG_USING_ONENET is not set +# CONFIG_PKG_USING_GAGENT_CLOUD is not set +# CONFIG_PKG_USING_ALI_IOTKIT is not set +# CONFIG_PKG_USING_AZURE is not set +# CONFIG_PKG_USING_TENCENT_IOT_EXPLORER is not set +# CONFIG_PKG_USING_JIOT-C-SDK is not set +# CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set +# CONFIG_PKG_USING_JOYLINK is not set +# CONFIG_PKG_USING_IOTSHARP_SDK is not set +# end of IoT Cloud + +# CONFIG_PKG_USING_NIMBLE is not set +# CONFIG_PKG_USING_LLSYNC_SDK_ADAPTER is not set +# CONFIG_PKG_USING_OTA_DOWNLOADER is not set +# CONFIG_PKG_USING_IPMSG is not set +# CONFIG_PKG_USING_LSSDP is not set +# CONFIG_PKG_USING_AIRKISS_OPEN is not set +# CONFIG_PKG_USING_LIBRWS is not set +# CONFIG_PKG_USING_TCPSERVER is not set +# CONFIG_PKG_USING_PROTOBUF_C is not set +# CONFIG_PKG_USING_DLT645 is not set +# CONFIG_PKG_USING_QXWZ is not set +# CONFIG_PKG_USING_SMTP_CLIENT is not set +# CONFIG_PKG_USING_ABUP_FOTA is not set +# CONFIG_PKG_USING_LIBCURL2RTT is not set +# CONFIG_PKG_USING_CAPNP is not set +# CONFIG_PKG_USING_AGILE_TELNET is not set +# CONFIG_PKG_USING_NMEALIB is not set +# CONFIG_PKG_USING_PDULIB is not set +# CONFIG_PKG_USING_BTSTACK is not set +# CONFIG_PKG_USING_BT_CYW43012 is not set +# CONFIG_PKG_USING_CYW43XX is not set +# CONFIG_PKG_USING_LORAWAN_ED_STACK is not set +# CONFIG_PKG_USING_WAYZ_IOTKIT is not set +# CONFIG_PKG_USING_MAVLINK is not set +# CONFIG_PKG_USING_BSAL is not set +# CONFIG_PKG_USING_AGILE_MODBUS is not set +# CONFIG_PKG_USING_AGILE_FTP is not set +# CONFIG_PKG_USING_EMBEDDEDPROTO is not set +# CONFIG_PKG_USING_RT_LINK_HW is not set +# CONFIG_PKG_USING_RYANMQTT is not set +# CONFIG_PKG_USING_RYANW5500 is not set +# CONFIG_PKG_USING_LORA_PKT_FWD is not set +# CONFIG_PKG_USING_LORA_GW_DRIVER_LIB is not set +# CONFIG_PKG_USING_LORA_PKT_SNIFFER is not set +# CONFIG_PKG_USING_HM is not set +# CONFIG_PKG_USING_SMALL_MODBUS is not set +# CONFIG_PKG_USING_NET_SERVER is not set +# CONFIG_PKG_USING_ZFTP is not set +# CONFIG_PKG_USING_WOL is not set +# CONFIG_PKG_USING_ZEPHYR_POLLING is not set +# CONFIG_PKG_USING_MATTER_ADAPTATION_LAYER is not set +# CONFIG_PKG_USING_LHC_MODBUS is not set +# CONFIG_PKG_USING_QMODBUS is not set +# CONFIG_PKG_USING_PNET is not set +# CONFIG_PKG_USING_OPENER is not set +# CONFIG_PKG_USING_FREEMQTT is not set +# end of IoT - internet of things + +# +# security packages +# +# CONFIG_PKG_USING_MBEDTLS is not set +# CONFIG_PKG_USING_LIBSODIUM is not set +# CONFIG_PKG_USING_LIBHYDROGEN is not set +# CONFIG_PKG_USING_TINYCRYPT is not set +# CONFIG_PKG_USING_TFM is not set +# CONFIG_PKG_USING_YD_CRYPTO is not set +# end of security packages + +# +# language packages +# + +# +# JSON: JavaScript Object Notation, a lightweight data-interchange format +# +# CONFIG_PKG_USING_CJSON is not set +# CONFIG_PKG_USING_LJSON is not set +# CONFIG_PKG_USING_RT_CJSON_TOOLS is not set +# CONFIG_PKG_USING_RAPIDJSON is not set +# CONFIG_PKG_USING_JSMN is not set +# CONFIG_PKG_USING_AGILE_JSMN is not set +# CONFIG_PKG_USING_PARSON is not set +# CONFIG_PKG_USING_RYAN_JSON is not set +# end of JSON: JavaScript Object Notation, a lightweight data-interchange format + +# +# XML: Extensible Markup Language +# +# CONFIG_PKG_USING_SIMPLE_XML is not set +# CONFIG_PKG_USING_EZXML is not set +# end of XML: Extensible Markup Language + +# CONFIG_PKG_USING_LUATOS_SOC is not set +# CONFIG_PKG_USING_LUA is not set +# CONFIG_PKG_USING_JERRYSCRIPT is not set +# CONFIG_PKG_USING_MICROPYTHON is not set +# CONFIG_PKG_USING_PIKASCRIPT is not set +# CONFIG_PKG_USING_RTT_RUST is not set +# end of language packages + +# +# multimedia packages +# + +# +# LVGL: powerful and easy-to-use embedded GUI library +# +# CONFIG_PKG_USING_LVGL is not set +# CONFIG_PKG_USING_LV_MUSIC_DEMO is not set +# CONFIG_PKG_USING_GUI_GUIDER_DEMO is not set +# end of LVGL: powerful and easy-to-use embedded GUI library + +# +# u8g2: a monochrome graphic library +# +# CONFIG_PKG_USING_U8G2_OFFICIAL is not set +# CONFIG_PKG_USING_U8G2 is not set +# end of u8g2: a monochrome graphic library + +# CONFIG_PKG_USING_OPENMV is not set +# CONFIG_PKG_USING_MUPDF is not set +# CONFIG_PKG_USING_STEMWIN is not set +# CONFIG_PKG_USING_WAVPLAYER is not set +# CONFIG_PKG_USING_TJPGD is not set +# CONFIG_PKG_USING_PDFGEN is not set +# CONFIG_PKG_USING_HELIX is not set +# CONFIG_PKG_USING_AZUREGUIX is not set +# CONFIG_PKG_USING_TOUCHGFX2RTT is not set +# CONFIG_PKG_USING_NUEMWIN is not set +# CONFIG_PKG_USING_MP3PLAYER is not set +# CONFIG_PKG_USING_TINYJPEG is not set +# CONFIG_PKG_USING_UGUI is not set +# CONFIG_PKG_USING_MCURSES is not set +# CONFIG_PKG_USING_TERMBOX is not set +# CONFIG_PKG_USING_VT100 is not set +# CONFIG_PKG_USING_QRCODE is not set +# CONFIG_PKG_USING_GUIENGINE is not set +# CONFIG_PKG_USING_3GPP_AMRNB is not set +# end of multimedia packages + +# +# tools packages +# +# CONFIG_PKG_USING_CMBACKTRACE is not set +# CONFIG_PKG_USING_EASYFLASH is not set +# CONFIG_PKG_USING_EASYLOGGER is not set +# CONFIG_PKG_USING_SYSTEMVIEW is not set +# CONFIG_PKG_USING_SEGGER_RTT is not set +# CONFIG_PKG_USING_RTT_AUTO_EXE_CMD is not set +# CONFIG_PKG_USING_RDB is not set +# CONFIG_PKG_USING_ULOG_EASYFLASH is not set +# CONFIG_PKG_USING_LOGMGR is not set +# CONFIG_PKG_USING_ADBD is not set +# CONFIG_PKG_USING_COREMARK is not set +# CONFIG_PKG_USING_DHRYSTONE is not set +# CONFIG_PKG_USING_MEMORYPERF is not set +# CONFIG_PKG_USING_NR_MICRO_SHELL is not set +# CONFIG_PKG_USING_CHINESE_FONT_LIBRARY is not set +# CONFIG_PKG_USING_LUNAR_CALENDAR is not set +# CONFIG_PKG_USING_BS8116A is not set +# CONFIG_PKG_USING_GPS_RMC is not set +# CONFIG_PKG_USING_URLENCODE is not set +# CONFIG_PKG_USING_UMCN is not set +# CONFIG_PKG_USING_LWRB2RTT is not set +# CONFIG_PKG_USING_CPU_USAGE is not set +# CONFIG_PKG_USING_GBK2UTF8 is not set +# CONFIG_PKG_USING_VCONSOLE is not set +# CONFIG_PKG_USING_KDB is not set +# CONFIG_PKG_USING_WAMR is not set +# CONFIG_PKG_USING_MICRO_XRCE_DDS_CLIENT is not set +# CONFIG_PKG_USING_LWLOG is not set +# CONFIG_PKG_USING_ANV_TRACE is not set +# CONFIG_PKG_USING_ANV_MEMLEAK is not set +# CONFIG_PKG_USING_ANV_TESTSUIT is not set +# CONFIG_PKG_USING_ANV_BENCH is not set +# CONFIG_PKG_USING_DEVMEM is not set +# CONFIG_PKG_USING_REGEX is not set +# CONFIG_PKG_USING_MEM_SANDBOX is not set +# CONFIG_PKG_USING_SOLAR_TERMS is not set +# CONFIG_PKG_USING_GAN_ZHI is not set +# CONFIG_PKG_USING_FDT is not set +# CONFIG_PKG_USING_CBOX is not set +# CONFIG_PKG_USING_SNOWFLAKE is not set +# CONFIG_PKG_USING_HASH_MATCH is not set +# CONFIG_PKG_USING_ARMV7M_DWT_TOOL is not set +# CONFIG_PKG_USING_VOFA_PLUS is not set +# CONFIG_PKG_USING_ZDEBUG is not set +# CONFIG_PKG_USING_RVBACKTRACE is not set +# CONFIG_PKG_USING_HPATCHLITE is not set +# CONFIG_PKG_USING_THREAD_METRIC is not set +# end of tools packages + +# +# system packages +# + +# +# enhanced kernel services +# +# CONFIG_PKG_USING_RT_MEMCPY_CM is not set +# CONFIG_PKG_USING_RT_KPRINTF_THREADSAFE is not set +# end of enhanced kernel services + +# CONFIG_PKG_USING_AUNITY is not set + +# +# acceleration: Assembly language or algorithmic acceleration packages +# +# CONFIG_PKG_USING_QFPLIB_M0_FULL is not set +# CONFIG_PKG_USING_QFPLIB_M0_TINY is not set +# CONFIG_PKG_USING_QFPLIB_M3 is not set +# end of acceleration: Assembly language or algorithmic acceleration packages + +# +# CMSIS: ARM Cortex-M Microcontroller Software Interface Standard +# +# CONFIG_PKG_USING_CMSIS_5 is not set +# CONFIG_PKG_USING_CMSIS_CORE is not set +# CONFIG_PKG_USING_CMSIS_NN is not set +# CONFIG_PKG_USING_CMSIS_RTOS1 is not set +# CONFIG_PKG_USING_CMSIS_RTOS2 is not set +# end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard + +# +# Micrium: Micrium software products porting for RT-Thread +# +# CONFIG_PKG_USING_UCOSIII_WRAPPER is not set +# CONFIG_PKG_USING_UCOSII_WRAPPER is not set +# CONFIG_PKG_USING_UC_CRC is not set +# CONFIG_PKG_USING_UC_CLK is not set +# CONFIG_PKG_USING_UC_COMMON is not set +# CONFIG_PKG_USING_UC_MODBUS is not set +# end of Micrium: Micrium software products porting for RT-Thread + +# CONFIG_PKG_USING_FREERTOS_WRAPPER is not set +# CONFIG_PKG_USING_LITEOS_SDK is not set +# CONFIG_PKG_USING_TZ_DATABASE is not set +# CONFIG_PKG_USING_CAIRO is not set +# CONFIG_PKG_USING_PIXMAN is not set +# CONFIG_PKG_USING_PARTITION is not set +# CONFIG_PKG_USING_PERF_COUNTER is not set +# CONFIG_PKG_USING_FILEX is not set +# CONFIG_PKG_USING_LEVELX is not set +# CONFIG_PKG_USING_FLASHDB is not set +# CONFIG_PKG_USING_SQLITE is not set +# CONFIG_PKG_USING_RTI is not set +# CONFIG_PKG_USING_DFS_YAFFS is not set +# CONFIG_PKG_USING_LITTLEFS is not set +# CONFIG_PKG_USING_DFS_JFFS2 is not set +# CONFIG_PKG_USING_DFS_UFFS is not set +# CONFIG_PKG_USING_LWEXT4 is not set +# CONFIG_PKG_USING_THREAD_POOL is not set +# CONFIG_PKG_USING_ROBOTS is not set +# CONFIG_PKG_USING_EV is not set +# CONFIG_PKG_USING_SYSWATCH is not set +# CONFIG_PKG_USING_SYS_LOAD_MONITOR is not set +# CONFIG_PKG_USING_PLCCORE is not set +# CONFIG_PKG_USING_RAMDISK is not set +# CONFIG_PKG_USING_MININI is not set +# CONFIG_PKG_USING_QBOOT is not set +# CONFIG_PKG_USING_PPOOL is not set +# CONFIG_PKG_USING_OPENAMP is not set +# CONFIG_PKG_USING_RPMSG_LITE is not set +# CONFIG_PKG_USING_LPM is not set +# CONFIG_PKG_USING_TLSF is not set +# CONFIG_PKG_USING_EVENT_RECORDER is not set +# CONFIG_PKG_USING_ARM_2D is not set +# CONFIG_PKG_USING_MCUBOOT is not set +# CONFIG_PKG_USING_TINYUSB is not set +# CONFIG_PKG_USING_KMULTI_RTIMER is not set +# CONFIG_PKG_USING_TFDB is not set +# CONFIG_PKG_USING_QPC is not set +# CONFIG_PKG_USING_AGILE_UPGRADE is not set +# CONFIG_PKG_USING_FLASH_BLOB is not set +# CONFIG_PKG_USING_MLIBC is not set +# CONFIG_PKG_USING_TASK_MSG_BUS is not set +# CONFIG_PKG_USING_UART_FRAMEWORK is not set +# CONFIG_PKG_USING_SFDB is not set +# CONFIG_PKG_USING_RTP is not set +# CONFIG_PKG_USING_REB is not set +# CONFIG_PKG_USING_RMP is not set +# CONFIG_PKG_USING_R_RHEALSTONE is not set +# CONFIG_PKG_USING_HEARTBEAT is not set +# CONFIG_PKG_USING_MICRO_ROS_RTTHREAD_PACKAGE is not set +# end of system packages + +# +# peripheral libraries and drivers +# + +# +# HAL & SDK Drivers +# + +# +# STM32 HAL & SDK Drivers +# +# CONFIG_PKG_USING_STM32F0_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32F0_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32F1_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32F1_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32F2_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32F2_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32F3_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32F3_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32F4_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32F4_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32F7_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32F7_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32G0_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32G0_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32G4_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32G4_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32H5_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32H5_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32H7_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32H7_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32H7RS_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32H7RS_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32L0_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32L0_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32L4_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32L4_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32L5_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32L5_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32U5_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32U5_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32WB55_SDK is not set +# CONFIG_PKG_USING_STM32_SDIO is not set +# CONFIG_PKG_USING_STM32WL_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32WL_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32WB_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32WB_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_STM32MP1_M4_HAL_DRIVER is not set +# CONFIG_PKG_USING_STM32MP1_M4_CMSIS_DRIVER is not set +# end of STM32 HAL & SDK Drivers + +# +# Infineon HAL Packages +# +# CONFIG_PKG_USING_INFINEON_CAT1CM0P is not set +# CONFIG_PKG_USING_INFINEON_CMSIS is not set +# CONFIG_PKG_USING_INFINEON_CORE_LIB is not set +# CONFIG_PKG_USING_INFINEON_MTB_HAL_CAT1 is not set +# CONFIG_PKG_USING_INFINEON_MTB_PDL_CAT1 is not set +# CONFIG_PKG_USING_INFINEON_RETARGET_IO is not set +# CONFIG_PKG_USING_INFINEON_CAPSENSE is not set +# CONFIG_PKG_USING_INFINEON_CSDIDAC is not set +# CONFIG_PKG_USING_INFINEON_SERIAL_FLASH is not set +# CONFIG_PKG_USING_INFINEON_USBDEV is not set +# end of Infineon HAL Packages + +# CONFIG_PKG_USING_BLUETRUM_SDK is not set +# CONFIG_PKG_USING_EMBARC_BSP is not set +# CONFIG_PKG_USING_ESP_IDF is not set + +# +# Kendryte SDK +# +# CONFIG_PKG_USING_K210_SDK is not set +# CONFIG_PKG_USING_KENDRYTE_SDK is not set +# end of Kendryte SDK + +# CONFIG_PKG_USING_NRF5X_SDK is not set +# CONFIG_PKG_USING_NRFX is not set +CONFIG_PKG_USING_RASPBERRYPI_PICO_RP2350_SDK=y +CONFIG_PKG_RASPBERRYPI_PICO_RP2350_SDK_PATH="/packages/peripherals/hal-sdk/raspberrypi-pico-rp2350-sdk" +CONFIG_PKG_USING_RASPBERRYPI_PICO_RP2350_SDK_LATEST_VERSION=y +CONFIG_PKG_RASPBERRYPI_PICO_RP2350_SDK_VER="latest" +# CONFIG_PKG_USING_RASPBERRYPI_PICO_SDK is not set +# CONFIG_PKG_USING_MM32 is not set + +# +# WCH HAL & SDK Drivers +# +# CONFIG_PKG_USING_CH32V20x_SDK is not set +# CONFIG_PKG_USING_CH32V307_SDK is not set +# end of WCH HAL & SDK Drivers + +# +# AT32 HAL & SDK Drivers +# +# CONFIG_PKG_USING_AT32A403A_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32A403A_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32A423_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32A423_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F45x_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F45x_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F402_405_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F402_405_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F403A_407_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F403A_407_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F413_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F413_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F415_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F415_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F421_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F421_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F423_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F423_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F425_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F425_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32F435_437_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32F435_437_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_AT32M412_416_HAL_DRIVER is not set +# CONFIG_PKG_USING_AT32M412_416_CMSIS_DRIVER is not set +# end of AT32 HAL & SDK Drivers + +# +# HC32 DDL Drivers +# +# CONFIG_PKG_USING_HC32F3_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_HC32F3_SERIES_DRIVER is not set +# CONFIG_PKG_USING_HC32F4_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_HC32F4_SERIES_DRIVER is not set +# end of HC32 DDL Drivers + +# +# NXP HAL & SDK Drivers +# +# CONFIG_PKG_USING_NXP_MCX_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_NXP_MCX_SERIES_DRIVER is not set +# CONFIG_PKG_USING_NXP_LPC_DRIVER is not set +# CONFIG_PKG_USING_NXP_LPC55S_DRIVER is not set +# CONFIG_PKG_USING_NXP_IMX6SX_DRIVER is not set +# CONFIG_PKG_USING_NXP_IMX6UL_DRIVER is not set +# CONFIG_PKG_USING_NXP_IMXRT_DRIVER is not set +# end of NXP HAL & SDK Drivers + +# +# NUVOTON Drivers +# +# CONFIG_PKG_USING_NUVOTON_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_NUVOTON_SERIES_DRIVER is not set +# CONFIG_PKG_USING_NUVOTON_ARM926_LIB is not set +# end of NUVOTON Drivers + +# +# GD32 Drivers +# +# CONFIG_PKG_USING_GD32_ARM_CMSIS_DRIVER is not set +# CONFIG_PKG_USING_GD32_ARM_SERIES_DRIVER is not set +# end of GD32 Drivers +# end of HAL & SDK Drivers + +# +# sensors drivers +# +# CONFIG_PKG_USING_LSM6DSM is not set +# CONFIG_PKG_USING_LSM6DSL is not set +# CONFIG_PKG_USING_LPS22HB is not set +# CONFIG_PKG_USING_HTS221 is not set +# CONFIG_PKG_USING_LSM303AGR is not set +# CONFIG_PKG_USING_BME280 is not set +# CONFIG_PKG_USING_BME680 is not set +# CONFIG_PKG_USING_BMA400 is not set +# CONFIG_PKG_USING_BMI160_BMX160 is not set +# CONFIG_PKG_USING_SPL0601 is not set +# CONFIG_PKG_USING_MS5805 is not set +# CONFIG_PKG_USING_DA270 is not set +# CONFIG_PKG_USING_DF220 is not set +# CONFIG_PKG_USING_HSHCAL001 is not set +# CONFIG_PKG_USING_BH1750 is not set +# CONFIG_PKG_USING_MPU6XXX is not set +# CONFIG_PKG_USING_AHT10 is not set +# CONFIG_PKG_USING_AP3216C is not set +# CONFIG_PKG_USING_TSL4531 is not set +# CONFIG_PKG_USING_DS18B20 is not set +# CONFIG_PKG_USING_DHT11 is not set +# CONFIG_PKG_USING_DHTXX is not set +# CONFIG_PKG_USING_GY271 is not set +# CONFIG_PKG_USING_GP2Y10 is not set +# CONFIG_PKG_USING_SGP30 is not set +# CONFIG_PKG_USING_HDC1000 is not set +# CONFIG_PKG_USING_BMP180 is not set +# CONFIG_PKG_USING_BMP280 is not set +# CONFIG_PKG_USING_SHTC1 is not set +# CONFIG_PKG_USING_BMI088 is not set +# CONFIG_PKG_USING_HMC5883 is not set +# CONFIG_PKG_USING_MAX6675 is not set +# CONFIG_PKG_USING_MAX31855 is not set +# CONFIG_PKG_USING_TMP1075 is not set +# CONFIG_PKG_USING_SR04 is not set +# CONFIG_PKG_USING_CCS811 is not set +# CONFIG_PKG_USING_PMSXX is not set +# CONFIG_PKG_USING_RT3020 is not set +# CONFIG_PKG_USING_MLX90632 is not set +# CONFIG_PKG_USING_MLX90382 is not set +# CONFIG_PKG_USING_MLX90393 is not set +# CONFIG_PKG_USING_MLX90392 is not set +# CONFIG_PKG_USING_MLX90394 is not set +# CONFIG_PKG_USING_MLX90397 is not set +# CONFIG_PKG_USING_MS5611 is not set +# CONFIG_PKG_USING_MAX31865 is not set +# CONFIG_PKG_USING_VL53L0X is not set +# CONFIG_PKG_USING_INA260 is not set +# CONFIG_PKG_USING_MAX30102 is not set +# CONFIG_PKG_USING_INA226 is not set +# CONFIG_PKG_USING_LIS2DH12 is not set +# CONFIG_PKG_USING_HS300X is not set +# CONFIG_PKG_USING_ZMOD4410 is not set +# CONFIG_PKG_USING_ISL29035 is not set +# CONFIG_PKG_USING_MMC3680KJ is not set +# CONFIG_PKG_USING_QMP6989 is not set +# CONFIG_PKG_USING_BALANCE is not set +# CONFIG_PKG_USING_SHT2X is not set +# CONFIG_PKG_USING_SHT3X is not set +# CONFIG_PKG_USING_SHT4X is not set +# CONFIG_PKG_USING_AD7746 is not set +# CONFIG_PKG_USING_ADT74XX is not set +# CONFIG_PKG_USING_MAX17048 is not set +# CONFIG_PKG_USING_AS7341 is not set +# CONFIG_PKG_USING_CW2015 is not set +# CONFIG_PKG_USING_ICM20608 is not set +# CONFIG_PKG_USING_PAJ7620 is not set +# CONFIG_PKG_USING_STHS34PF80 is not set +# CONFIG_PKG_USING_P3T1755 is not set +# CONFIG_PKG_USING_QMI8658 is not set +# CONFIG_PKG_USING_ICM20948 is not set +# end of sensors drivers + +# +# touch drivers +# +# CONFIG_PKG_USING_GT9147 is not set +# CONFIG_PKG_USING_GT1151 is not set +# CONFIG_PKG_USING_GT917S is not set +# CONFIG_PKG_USING_GT911 is not set +# CONFIG_PKG_USING_FT6206 is not set +# CONFIG_PKG_USING_FT5426 is not set +# CONFIG_PKG_USING_FT6236 is not set +# CONFIG_PKG_USING_XPT2046_TOUCH is not set +# CONFIG_PKG_USING_CST816X is not set +# CONFIG_PKG_USING_CST812T is not set +# end of touch drivers + +# CONFIG_PKG_USING_REALTEK_AMEBA is not set +# CONFIG_PKG_USING_BUTTON is not set +# CONFIG_PKG_USING_PCF8574 is not set +# CONFIG_PKG_USING_SX12XX is not set +# CONFIG_PKG_USING_SIGNAL_LED is not set +# CONFIG_PKG_USING_LEDBLINK is not set +# CONFIG_PKG_USING_LITTLED is not set +# CONFIG_PKG_USING_LKDGUI is not set +# CONFIG_PKG_USING_INFRARED is not set +# CONFIG_PKG_USING_MULTI_INFRARED is not set +# CONFIG_PKG_USING_AGILE_BUTTON is not set +# CONFIG_PKG_USING_AGILE_LED is not set +# CONFIG_PKG_USING_AT24CXX is not set +# CONFIG_PKG_USING_MOTIONDRIVER2RTT is not set +# CONFIG_PKG_USING_PCA9685 is not set +# CONFIG_PKG_USING_ILI9341 is not set +# CONFIG_PKG_USING_I2C_TOOLS is not set +# CONFIG_PKG_USING_NRF24L01 is not set +# CONFIG_PKG_USING_RPLIDAR is not set +# CONFIG_PKG_USING_AS608 is not set +# CONFIG_PKG_USING_RC522 is not set +# CONFIG_PKG_USING_WS2812B is not set +# CONFIG_PKG_USING_EXTERN_RTC_DRIVERS is not set +# CONFIG_PKG_USING_MULTI_RTIMER is not set +# CONFIG_PKG_USING_MAX7219 is not set +# CONFIG_PKG_USING_BEEP is not set +# CONFIG_PKG_USING_EASYBLINK is not set +# CONFIG_PKG_USING_PMS_SERIES is not set +# CONFIG_PKG_USING_CAN_YMODEM is not set +# CONFIG_PKG_USING_LORA_RADIO_DRIVER is not set +# CONFIG_PKG_USING_QLED is not set +# CONFIG_PKG_USING_AGILE_CONSOLE is not set +# CONFIG_PKG_USING_LD3320 is not set +# CONFIG_PKG_USING_WK2124 is not set +# CONFIG_PKG_USING_LY68L6400 is not set +# CONFIG_PKG_USING_DM9051 is not set +# CONFIG_PKG_USING_SSD1306 is not set +# CONFIG_PKG_USING_QKEY is not set +# CONFIG_PKG_USING_RS485 is not set +# CONFIG_PKG_USING_RS232 is not set +# CONFIG_PKG_USING_NES is not set +# CONFIG_PKG_USING_VIRTUAL_SENSOR is not set +# CONFIG_PKG_USING_VDEVICE is not set +# CONFIG_PKG_USING_SGM706 is not set +# CONFIG_PKG_USING_RDA58XX is not set +# CONFIG_PKG_USING_LIBNFC is not set +# CONFIG_PKG_USING_MFOC is not set +# CONFIG_PKG_USING_TMC51XX is not set +# CONFIG_PKG_USING_TCA9534 is not set +# CONFIG_PKG_USING_KOBUKI is not set +# CONFIG_PKG_USING_ROSSERIAL is not set +# CONFIG_PKG_USING_MICRO_ROS is not set +# CONFIG_PKG_USING_MCP23008 is not set +# CONFIG_PKG_USING_MISAKA_AT24CXX is not set +# CONFIG_PKG_USING_MISAKA_RGB_BLING is not set +# CONFIG_PKG_USING_LORA_MODEM_DRIVER is not set +# CONFIG_PKG_USING_SOFT_SERIAL is not set +# CONFIG_PKG_USING_MB85RS16 is not set +# CONFIG_PKG_USING_RFM300 is not set +# CONFIG_PKG_USING_IO_INPUT_FILTER is not set +# CONFIG_PKG_USING_LRF_NV7LIDAR is not set +# CONFIG_PKG_USING_AIP650 is not set +# CONFIG_PKG_USING_FINGERPRINT is not set +# CONFIG_PKG_USING_BT_ECB02C is not set +# CONFIG_PKG_USING_UAT is not set +# CONFIG_PKG_USING_ST7789 is not set +# CONFIG_PKG_USING_VS1003 is not set +# CONFIG_PKG_USING_X9555 is not set +# CONFIG_PKG_USING_SYSTEM_RUN_LED is not set +# CONFIG_PKG_USING_BT_MX01 is not set +# CONFIG_PKG_USING_RGPOWER is not set +# CONFIG_PKG_USING_BT_MX02 is not set +# CONFIG_PKG_USING_GC9A01 is not set +# CONFIG_PKG_USING_IK485 is not set +# CONFIG_PKG_USING_SERVO is not set +# CONFIG_PKG_USING_SEAN_WS2812B is not set +# CONFIG_PKG_USING_IC74HC165 is not set +# CONFIG_PKG_USING_IST8310 is not set +# CONFIG_PKG_USING_ST7789_SPI is not set +# CONFIG_PKG_USING_SPI_TOOLS is not set +# end of peripheral libraries and drivers + +# +# AI packages +# +# CONFIG_PKG_USING_LIBANN is not set +# CONFIG_PKG_USING_NNOM is not set +# CONFIG_PKG_USING_ONNX_BACKEND is not set +# CONFIG_PKG_USING_ONNX_PARSER is not set +# CONFIG_PKG_USING_TENSORFLOWLITEMICRO is not set +# CONFIG_PKG_USING_ELAPACK is not set +# CONFIG_PKG_USING_ULAPACK is not set +# CONFIG_PKG_USING_QUEST is not set +# CONFIG_PKG_USING_NAXOS is not set +# CONFIG_PKG_USING_R_TINYMAIX is not set +# CONFIG_PKG_USING_LLMCHAT is not set +# end of AI packages + +# +# Signal Processing and Control Algorithm Packages +# +# CONFIG_PKG_USING_APID is not set +# CONFIG_PKG_USING_FIRE_PID_CURVE is not set +# CONFIG_PKG_USING_QPID is not set +# CONFIG_PKG_USING_UKAL is not set +# CONFIG_PKG_USING_DIGITALCTRL is not set +# CONFIG_PKG_USING_KISSFFT is not set +# CONFIG_PKG_USING_CMSIS_DSP is not set +# end of Signal Processing and Control Algorithm Packages + +# +# miscellaneous packages +# + +# +# project laboratory +# +# end of project laboratory + +# +# samples: kernel and components samples +# +# CONFIG_PKG_USING_KERNEL_SAMPLES is not set +# CONFIG_PKG_USING_FILESYSTEM_SAMPLES is not set +# CONFIG_PKG_USING_NETWORK_SAMPLES is not set +# CONFIG_PKG_USING_PERIPHERAL_SAMPLES is not set +# end of samples: kernel and components samples + +# +# entertainment: terminal games and other interesting software packages +# +# CONFIG_PKG_USING_CMATRIX is not set +# CONFIG_PKG_USING_SL is not set +# CONFIG_PKG_USING_CAL is not set +# CONFIG_PKG_USING_ACLOCK is not set +# CONFIG_PKG_USING_THREES is not set +# CONFIG_PKG_USING_2048 is not set +# CONFIG_PKG_USING_SNAKE is not set +# CONFIG_PKG_USING_TETRIS is not set +# CONFIG_PKG_USING_DONUT is not set +# CONFIG_PKG_USING_COWSAY is not set +# CONFIG_PKG_USING_MORSE is not set +# CONFIG_PKG_USING_TINYSQUARE is not set +# end of entertainment: terminal games and other interesting software packages + +# CONFIG_PKG_USING_LIBCSV is not set +# CONFIG_PKG_USING_OPTPARSE is not set +# CONFIG_PKG_USING_FASTLZ is not set +# CONFIG_PKG_USING_MINILZO is not set +# CONFIG_PKG_USING_QUICKLZ is not set +# CONFIG_PKG_USING_LZMA is not set +# CONFIG_PKG_USING_RALARAM is not set +# CONFIG_PKG_USING_MULTIBUTTON is not set +# CONFIG_PKG_USING_FLEXIBLE_BUTTON is not set +# CONFIG_PKG_USING_CANFESTIVAL is not set +# CONFIG_PKG_USING_ZLIB is not set +# CONFIG_PKG_USING_MINIZIP is not set +# CONFIG_PKG_USING_HEATSHRINK is not set +# CONFIG_PKG_USING_DSTR is not set +# CONFIG_PKG_USING_TINYFRAME is not set +# CONFIG_PKG_USING_KENDRYTE_DEMO is not set +# CONFIG_PKG_USING_UPACKER is not set +# CONFIG_PKG_USING_UPARAM is not set +# CONFIG_PKG_USING_HELLO is not set +# CONFIG_PKG_USING_VI is not set +# CONFIG_PKG_USING_KI is not set +# CONFIG_PKG_USING_ARMv7M_DWT is not set +# CONFIG_PKG_USING_CRCLIB is not set +# CONFIG_PKG_USING_LIBCRC is not set +# CONFIG_PKG_USING_LWGPS is not set +# CONFIG_PKG_USING_STATE_MACHINE is not set +# CONFIG_PKG_USING_DESIGN_PATTERN is not set +# CONFIG_PKG_USING_CONTROLLER is not set +# CONFIG_PKG_USING_PHASE_LOCKED_LOOP is not set +# CONFIG_PKG_USING_MFBD is not set +# CONFIG_PKG_USING_SLCAN2RTT is not set +# CONFIG_PKG_USING_SOEM is not set +# CONFIG_PKG_USING_QPARAM is not set +# CONFIG_PKG_USING_CorevMCU_CLI is not set +# CONFIG_PKG_USING_DRMP is not set +# end of miscellaneous packages + +# +# Arduino libraries +# +# CONFIG_PKG_USING_RTDUINO is not set + +# +# Projects and Demos +# +# CONFIG_PKG_USING_ARDUINO_MSGQ_C_CPP_DEMO is not set +# CONFIG_PKG_USING_ARDUINO_SKETCH_LOADER_DEMO is not set +# CONFIG_PKG_USING_ARDUINO_ULTRASOUND_RADAR is not set +# CONFIG_PKG_USING_ARDUINO_RTDUINO_SENSORFUSION_SHIELD is not set +# CONFIG_PKG_USING_ARDUINO_NINEINONE_SENSOR_SHIELD is not set +# CONFIG_PKG_USING_ARDUINO_SENSOR_KIT is not set +# CONFIG_PKG_USING_ARDUINO_MATLAB_SUPPORT is not set +# end of Projects and Demos + +# +# Sensors +# +# CONFIG_PKG_USING_ARDUINO_SENSOR_DEVICE_DRIVERS is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSOR is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SENSORLAB is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADXL375 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L0X is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL53L1X is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VL6180X is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31855 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31865 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX31856 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX6675 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MLX90614 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LSM9DS1 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AHTX0 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LSM9DS0 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BMP280 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADT7410 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BMP085 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BME680 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP9808 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP4728 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_INA219 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LTR390 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADXL345 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DHT is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP9600 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LSM6DS is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO055 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MAX1704X is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MMC56X3 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MLX90393 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MLX90395 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ICM20X is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DPS310 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTS221 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SHT4X is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SHT31 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADXL343 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BME280 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AS726X is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AMG88XX is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AM2320 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AM2315 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LTR329_LTR303 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BMP085_UNIFIED is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BMP183 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BMP183_UNIFIED is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BMP3XX is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MS8607 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LIS3MDL is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MLX90640 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MMA8451 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MSA301 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPL115A2 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BNO08X_RVC is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LIS2MDL is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LSM303DLH_MAG is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LC709203F is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_CAP1188 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_CCS811 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_NAU7802 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LIS331 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LPS2X is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LPS35HW is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LSM303_ACCEL is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_LIS3DH is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCF8591 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPL3115A2 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPR121 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPRLS is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MPU6050 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCT2075 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PM25AQI is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_EMC2101 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_FXAS21002C is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SCD30 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_FXOS8700 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HMC5883_UNIFIED is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SGP30 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TMP006 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TLA202X is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TCS34725 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SI7021 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SI1145 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SGP40 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SHTC3 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HDC1000 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU21DF is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AS7341 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_HTU31D is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_INA260 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TMP007_LIBRARY is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_L3GD20 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TMP117 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TSC2007 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TSL2561 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TSL2591_LIBRARY is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VCNL4040 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VEML6070 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VEML6075 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_VEML7700 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_LIS3DHTR is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_DHT is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_ADXL335 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_ADXL345 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_BME280 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_BMP280 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_H3LIS331DL is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_MMA7660 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_TSL2561 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_PAJ7620 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_VL53L0X is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_ITG3200 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_SHT31 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_HP20X is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_DRV2605L is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_BBM150 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_HMC5883L is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_LSM303DLH is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_TCS3414CS is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_MP503 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_BMP085 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_HIGHTEMP is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_VEML6070 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_SI1145 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_SHT35 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_AT42QT1070 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_LSM6DS3 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_HDC1000 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_HM3301 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_MCP9600 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_LTC2941 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_LDC1612 is not set +# CONFIG_PKG_USING_ARDUINO_CAPACITIVESENSOR is not set +# CONFIG_PKG_USING_ARDUINO_JARZEBSKI_MPU6050 is not set +# end of Sensors + +# +# Display +# +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_GFX_LIBRARY is not set +# CONFIG_PKG_USING_ARDUINO_U8G2 is not set +# CONFIG_PKG_USING_ARDUINO_TFT_ESPI is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ST7735 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SSD1306 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ILI9341 is not set +# CONFIG_PKG_USING_SEEED_TM1637 is not set +# end of Display + +# +# Timing +# +# CONFIG_PKG_USING_ARDUINO_RTCLIB is not set +# CONFIG_PKG_USING_ARDUINO_MSTIMER2 is not set +# CONFIG_PKG_USING_ARDUINO_TICKER is not set +# CONFIG_PKG_USING_ARDUINO_TASKSCHEDULER is not set +# end of Timing + +# +# Data Processing +# +# CONFIG_PKG_USING_ARDUINO_KALMANFILTER is not set +# CONFIG_PKG_USING_ARDUINO_ARDUINOJSON is not set +# CONFIG_PKG_USING_ARDUINO_TENSORFLOW_LITE_MICRO is not set +# CONFIG_PKG_USING_ARDUINO_RUNNINGMEDIAN is not set +# end of Data Processing + +# +# Data Storage +# + +# +# Communication +# +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PN532 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SI4713 is not set +# end of Communication + +# +# Device Control +# +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCF8574 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_PCA9685 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TPA2016 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DRV2605 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DS1841 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_DS3502 is not set +# CONFIG_PKG_USING_ARDUINO_SEEED_PCF85063TP is not set +# end of Device Control + +# +# Other +# +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MFRC630 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_SI5351 is not set +# end of Other + +# +# Signal IO +# +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BUSIO is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_TCA8418 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP23017 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_ADS1X15 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_AW9523 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP3008 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_MCP4725 is not set +# CONFIG_PKG_USING_ARDUINO_ADAFRUIT_BD3491FS is not set +# end of Signal IO + +# +# Uncategorized +# +# end of Arduino libraries +# end of RT-Thread online packages + +# +# Hardware Drivers Config +# + +# +# Onboard Peripheral Drivers +# +# CONFIG_BSP_USING_ARDUINO is not set +# CONFIG_BSP_USING_LVGL is not set +# end of Onboard Peripheral Drivers + +# +# On-chip Peripheral Drivers +# +CONFIG_BSP_USING_PIN=y +CONFIG_BSP_USING_UART=y +CONFIG_BSP_USING_UART0=y +CONFIG_BSP_UART0_TX_PIN_0=y +# CONFIG_BSP_UART0_TX_PIN_12 is not set +# CONFIG_BSP_UART0_TX_PIN_16 is not set +CONFIG_BSP_UART0_TX_PIN=0 +CONFIG_BSP_UART0_RX_PIN_1=y +# CONFIG_BSP_UART0_RX_PIN_13 is not set +# CONFIG_BSP_UART0_RX_PIN_17 is not set +CONFIG_BSP_UART0_RX_PIN=1 +# CONFIG_BSP_USING_UART1 is not set +# CONFIG_BSP_USING_SOFT_I2C is not set +# CONFIG_BSP_USING_SOFT_SPI is not set +# CONFIG_BSP_USING_ADC is not set +# CONFIG_BSP_USING_WDT is not set +# CONFIG_BSP_USING_RTC is not set +# CONFIG_BSP_USING_SPI is not set +# CONFIG_BSP_USING_PWM is not set +# CONFIG_BSP_USING_HWTIMER is not set +# CONFIG_BSP_USING_I2C is not set +# CONFIG_BSP_USING_ON_CHIP_FLASH is not set +# end of On-chip Peripheral Drivers +# end of Hardware Drivers Config diff --git a/bsp/raspberry-pico/RP2350/.gitignore b/bsp/raspberry-pico/RP2350/.gitignore new file mode 100644 index 00000000000..6028a8aad37 --- /dev/null +++ b/bsp/raspberry-pico/RP2350/.gitignore @@ -0,0 +1,44 @@ +*.pyc +*.map +*.dblite +*.uf2 +*.elf +*.bin +*.hex +*.axf +*.exe +*.pdb +*.idb +*.ilk +*.old +build +Debug +documentation/html +packages/ +*~ +*.o +*.obj +*.out +*.bak +*.dep +*.lib +*.i +*.d +.DS_Stor* +.config 3 +.config 4 +.config 5 +Midea-X1 +*.uimg +GPATH +GRTAGS +GTAGS +.vscode +JLinkLog.txt +JLinkSettings.ini +DebugConfig/ +RTE/ +settings/ +*.uvguix* +cconfig.h +!.vscode \ No newline at end of file diff --git a/bsp/raspberry-pico/RP2350/.vscode/launch.json b/bsp/raspberry-pico/RP2350/.vscode/launch.json new file mode 100644 index 00000000000..34c6e74eefe --- /dev/null +++ b/bsp/raspberry-pico/RP2350/.vscode/launch.json @@ -0,0 +1,26 @@ +{ + "version": "0.2.0", + "configurations": [ + + { + "name": "Pico Debug", + "cwd": "${workspaceRoot}", + "executable": "rtthread-pico.elf", + "request": "launch", + "type": "cortex-debug", + "servertype": "openocd", + "gdbPath" : "gdb-multiarch", + "device": "RP2350", + "configFiles": [ + "interface/cmsis-dap.cfg", + "target/rp2350.cfg" + ], + "svdFile": "packages/raspberrypi-pico-rp2350-sdk-latest/src/rp2350/hardware_regs/RP2350.svd", + "runToEntryPoint": "platform_entry", + "postRestartCommands": [ + "break platform_entry", + "continue" + ] + } + ] +} diff --git a/bsp/raspberry-pico/RP2350/.vscode/settings.json b/bsp/raspberry-pico/RP2350/.vscode/settings.json new file mode 100644 index 00000000000..8b593acf74a --- /dev/null +++ b/bsp/raspberry-pico/RP2350/.vscode/settings.json @@ -0,0 +1,25 @@ +{ + // These settings tweaks to the cmake plugin will ensure + // that you debug using cortex-debug instead of trying to launch + // a Pico binary on the host + "cmake.statusbar.advanced": { + "debug": { + "visibility": "hidden" + }, + "launch": { + "visibility": "hidden" + }, + "build": { + "visibility": "hidden" + }, + "buildTarget": { + "visibility": "hidden" + } + }, + "cmake.buildBeforeRun": true, + "C_Cpp.default.configurationProvider": "ms-vscode.cmake-tools", + "files.associations": { + "functional": "c" + }, + "cortex-debug.variableUseNaturalFormat": false +} \ No newline at end of file diff --git a/bsp/raspberry-pico/RP2350/Kconfig b/bsp/raspberry-pico/RP2350/Kconfig new file mode 100644 index 00000000000..03f5d7d770e --- /dev/null +++ b/bsp/raspberry-pico/RP2350/Kconfig @@ -0,0 +1,21 @@ +mainmenu "RT-Thread Configuration" + +BSP_DIR := . + +RTT_DIR := ../../.. + +PKGS_DIR := packages + +config SOC_RP2350 + bool + select ARCH_ARM_CORTEX_M33 + select ARCH_ARM_CORTEX_SECURE + select RT_USING_COMPONENTS_INIT + select RT_USING_USER_MAIN + select SOC_SERIES_RP2350_PICO + select PKG_USING_RASPBERRYPI_PICO_RP2350_SDK + default y + +source "$(RTT_DIR)/Kconfig" +osource "$PKGS_DIR/Kconfig" +rsource "board/Kconfig" diff --git a/bsp/raspberry-pico/RP2350/README.md b/bsp/raspberry-pico/RP2350/README.md new file mode 100644 index 00000000000..f3ea29c809b --- /dev/null +++ b/bsp/raspberry-pico/RP2350/README.md @@ -0,0 +1,83 @@ +# Raspberry RP2350 + +## 产品介绍 + + + +image-20250804204324351 + + + +- 高性能树莓派RP2350芯片 + - 双核双架构设计,可选择Arm Cortex-M33或Hazard3 RISC-V内核 + - 150MHz主频 + - 520KB RAM,2MB flash +- 高度集成,超小尺寸 + - 尺寸仅25*20.5mm + - 集成锂电池充电管理、电池电压监测 + - 引出11个IO +- 低功耗,休眠功耗仅25uA +- 支持C/C++、MicroPython编程 +- 单面布局,半孔工艺,可用于贴片生产 + + + +## 程序烧写 + +- 注意:当前bsp需要在linux环境下才能编译 + +- 测试环境:Ubuntu21 + +### Step 1: 下载sdk + +```bash +menuconfig +pkgs --update +``` + +### Step 2: 编译 + +```bash +scons -c +scons +``` + +**gcc version >= 6.x.x** + +### Step 3: 烧写 + +编译会生成uf2文件 + +按住boot键,再短按重启进入u盘烧写模式,此时将rp2350插入电脑会显示一个u盘 + +![elf2uf2](figures/elf2uf2.png) + +- 复制 rtthread-pico.uf2 文件到u盘中 +- 自动重启运行 + +或者进入boot模式后输入以下命令烧写 + +```bash +picotool load rtthread-pico.uf2 +picotool reboot +``` + +## 运行结果 + +输出的信息如下 + +```bash + \ | / +- RT - Thread Operating System + / | \ 4.0.3 build Jan 28 2021 + 2006 - 2021 Copyright by rt-thread team +Hello, RT-Thread! +msh > +``` + +## 支持的外设 + +| Drive | Support | Remark | +| ----- | ------- | ------- | +| UART | Support | UART0/1 | +| GPIO | Support | 0-29 | diff --git a/bsp/raspberry-pico/RP2350/SConscript b/bsp/raspberry-pico/RP2350/SConscript new file mode 100644 index 00000000000..09926124102 --- /dev/null +++ b/bsp/raspberry-pico/RP2350/SConscript @@ -0,0 +1,12 @@ +from building import * + +cwd = GetCurrentDir() +objs = [] +list = os.listdir(cwd) + +for d in list: + path = os.path.join(cwd, d) + if os.path.isfile(os.path.join(path, 'SConscript')): + objs = objs + SConscript(os.path.join(d, 'SConscript')) + +Return('objs') diff --git a/bsp/raspberry-pico/RP2350/SConstruct b/bsp/raspberry-pico/RP2350/SConstruct new file mode 100644 index 00000000000..88abed20706 --- /dev/null +++ b/bsp/raspberry-pico/RP2350/SConstruct @@ -0,0 +1,42 @@ +import os +import sys +import rtconfig + +if os.getenv('RTT_ROOT'): + RTT_ROOT = os.getenv('RTT_ROOT') +else: + RTT_ROOT = os.path.normpath(os.getcwd() + '/../../..') + +sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')] +from building import * + +TARGET = 'rtthread-pico.' + rtconfig.TARGET_EXT + +DefaultEnvironment(tools=[]) +env = Environment(tools = ['mingw'], + AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS, + CC = rtconfig.CC, CFLAGS = rtconfig.CFLAGS, + CXX = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS, + AR = rtconfig.AR, ARFLAGS = '-rc', + LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS) +env.PrependENVPath('PATH', rtconfig.EXEC_PATH) + +Export('RTT_ROOT') +Export('rtconfig') + +# prepare building environment +objs = PrepareBuilding(env, RTT_ROOT) + +ocwd = os.getcwd() +os.chdir('packages/raspberrypi-pico-rp2350-sdk-latest') +print("Enter " + os.getcwd()) +if GetOption('clean'): + os.system("scons -c") +else: + os.system("scons") +os.chdir(ocwd) + +objs.extend(SConscript(os.path.join(os.getcwd(), '..', 'Drivers', 'SConscript'))) + +# make a building +DoBuilding(TARGET, objs) diff --git a/bsp/raspberry-pico/RP2350/applications/SConscript b/bsp/raspberry-pico/RP2350/applications/SConscript new file mode 100644 index 00000000000..f11833c8d8d --- /dev/null +++ b/bsp/raspberry-pico/RP2350/applications/SConscript @@ -0,0 +1,15 @@ +from building import * +import os + +cwd = GetCurrentDir() +CPPPATH = [cwd] +src = Glob('*.c') + +group = DefineGroup('Applications', src, depend = [''], CPPPATH = CPPPATH) + +list = os.listdir(cwd) +for item in list: + if os.path.isfile(os.path.join(cwd, item, 'SConscript')): + group = group + SConscript(os.path.join(item, 'SConscript')) + +Return('group') diff --git a/bsp/raspberry-pico/RP2350/applications/main.c b/bsp/raspberry-pico/RP2350/applications/main.c new file mode 100644 index 00000000000..829bc299b6d --- /dev/null +++ b/bsp/raspberry-pico/RP2350/applications/main.c @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2025-08-04 hydevcode first version + */ +#include "rtthread.h" +#include + +#define LED_PIN 25 + +int main() { + + rt_kprintf("Hello, RT-Thread!\n"); + + rt_pin_mode(LED_PIN, PIN_MODE_OUTPUT); + + while (1) + { + rt_pin_write(LED_PIN, 1); + rt_thread_mdelay(1000); + rt_pin_write(LED_PIN, 0); + rt_thread_mdelay(1000); + } + return 0; + +} \ No newline at end of file diff --git a/bsp/raspberry-pico/RP2350/board/Kconfig b/bsp/raspberry-pico/RP2350/board/Kconfig new file mode 100644 index 00000000000..bffb545386a --- /dev/null +++ b/bsp/raspberry-pico/RP2350/board/Kconfig @@ -0,0 +1,813 @@ +menu "Hardware Drivers Config" + +menu "Onboard Peripheral Drivers" + + config BSP_USING_ARDUINO + bool "Compatible with Arduino Ecosystem (RTduino)" + select PKG_USING_RTDUINO + select BSP_USING_UART1 + select BSP_USING_GPIO + select BSP_USING_ADC + select BSP_USING_ADC0 + select BSP_USING_ADC1 + select BSP_USING_ADC2 + select BSP_USING_PWM + select BSP_USING_PWM0 + select BSP_USING_PWM1 + select BSP_USING_PWM2 + select BSP_USING_PWM3 + select BSP_USING_PWM4 + select BSP_USING_PWM5 + select BSP_USING_PWM6 + select BSP_USING_PWM7 + select BSP_USING_I2C + select BSP_USING_I2C0 + select BSP_USING_SPI + select BSP_USING_SPI0 + select RTDUINO_USING_WIRE + select RTDUINO_USING_SPI + imply RTDUINO_USING_SERVO + default n + + config BSP_USING_LVGL + bool "Enable LVGL for LCD" + select PKG_USING_LVGL + select BSP_USING_SPI_LCD + default n + + config BSP_USING_LVGL_DEMO + depends on BSP_USING_LVGL + bool "Enable LVGL demo" + select PKG_USING_LV_MUSIC_DEMO + default y + +endmenu + +menu "On-chip Peripheral Drivers" + + config BSP_USING_PIN + bool "Enable GPIO" + select RT_USING_PIN + default y + + menuconfig BSP_USING_UART + bool "Enable UART" + select RT_USING_SERIAL + default y + if BSP_USING_UART + config BSP_USING_UART0 + bool "Enable UART0" + default y + if BSP_USING_UART0 + choice + prompt "uart0 tx pin number (GP)" + depends on BSP_USING_UART0 + default BSP_UART0_TX_PIN_0 + config BSP_UART0_TX_PIN_0 + bool "0" + config BSP_UART0_TX_PIN_12 + bool "12" + config BSP_UART0_TX_PIN_16 + bool "16" + endchoice + config BSP_UART0_TX_PIN + int + default 0 if BSP_UART0_TX_PIN_0 + default 12 if BSP_UART0_TX_PIN_12 + default 16 if BSP_UART0_TX_PIN_16 + + choice + prompt "uart0 rx pin number (GP)" + depends on BSP_USING_UART0 + default BSP_UART0_RX_PIN_1 + config BSP_UART0_RX_PIN_1 + bool "1" + config BSP_UART0_RX_PIN_13 + bool "13" + config BSP_UART0_RX_PIN_17 + bool "17" + endchoice + config BSP_UART0_RX_PIN + int + default 1 if BSP_UART0_RX_PIN_1 + default 13 if BSP_UART0_RX_PIN_13 + default 17 if BSP_UART0_RX_PIN_17 + endif + + config BSP_USING_UART1 + bool "Enable UART1" + default n + if BSP_USING_UART1 + choice + prompt "uart1 tx pin number (GP)" + depends on BSP_USING_UART1 + default BSP_UART1_TX_PIN_8 + config BSP_UART1_TX_PIN_4 + bool "4" + config BSP_UART1_TX_PIN_8 + bool "8" + endchoice + config BSP_UART1_TX_PIN + int + default 4 if BSP_UART1_TX_PIN_4 + default 8 if BSP_UART1_TX_PIN_8 + + choice + prompt "uart1 rx pin number (GP)" + depends on BSP_USING_UART1 + default BSP_UART1_RX_PIN_9 + config BSP_UART1_RX_PIN_5 + bool "5" + config BSP_UART1_RX_PIN_9 + bool "9" + endchoice + config BSP_UART1_RX_PIN + int + default 5 if BSP_UART1_RX_PIN_5 + default 9 if BSP_UART1_RX_PIN_9 + endif + endif + + menuconfig BSP_USING_SOFT_I2C + bool "Enable I2C BUS (software simulation)" + default n + select RT_USING_I2C + select RT_USING_I2C_BITOPS + select RT_USING_PIN + if BSP_USING_SOFT_I2C + config BSP_USING_SOFT_I2C1 + bool "Enable I2C1 Bus (software simulation)" + default n + if BSP_USING_SOFT_I2C1 + config BSP_SOFT_I2C1_SCL_PIN + int "i2c1 scl pin number (GP)" + range 0 28 + default 2 + config BSP_SOFT_I2C1_SDA_PIN + int "I2C1 sda pin number (GP)" + range 0 28 + default 3 + endif + endif + + menuconfig BSP_USING_SOFT_SPI + bool "Enable soft SPI BUS" + default n + select RT_USING_PIN + select RT_USING_SOFT_SPI + select RT_USING_SPI + if BSP_USING_SOFT_SPI + config BSP_USING_SOFT_SPI0 + bool "Enable SPI0 Bus (software simulation)" + default n + if BSP_USING_SOFT_SPI0 + config BSP_S_SPI0_SCK_PIN + int "spi0 SCK pin number (GP)" + range 0 28 + default 6 + config BSP_S_SPI0_MOSI_PIN + int "spi0 MOSI pin number (GP)" + range 0 28 + default 7 + config BSP_S_SPI0_MISO_PIN + int "spi0 MISO pin number (GP)" + range 0 28 + default 4 + endif + config BSP_USING_SOFT_SPI1 + bool "Enable SPI1 Bus (software simulation)" + default n + if BSP_USING_SOFT_SPI1 + config BSP_S_SPI1_SCK_PIN + int "spi1 SCK pin number (GP)" + range 0 28 + default 10 + config BSP_S_SPI1_MOSI_PIN + int "spi1 MOSI pin number (GP)" + range 0 28 + default 11 + config BSP_S_SPI1_MISO_PIN + int "spi1 MISO pin number (GP)" + range 0 28 + default 12 + endif + endif + + menuconfig BSP_USING_ADC + bool "Enable ADC" + default n + select RT_USING_ADC + if BSP_USING_ADC + config BSP_USING_ADC0 + bool "Enable ADC0 (GP26)" + default n + config BSP_USING_ADC1 + bool "Enable ADC1 (GP27)" + default n + config BSP_USING_ADC2 + bool "Enable ADC2 (GP28)" + default n + endif + + config BSP_USING_WDT + bool "Enable WDT" + select RT_USING_WDT + default n + + + config BSP_USING_RTC + bool "Enable RTC" + select RT_USING_RTC + default n + + menuconfig BSP_USING_SPI + bool "Enable SPI" + select RT_USING_SPI + default n + + if BSP_USING_SPI + config BSP_USING_SPI0 + bool "Enable SPI0" + default n + if BSP_USING_SPI0 + choice + prompt "spi0 MOSI pin number (GP)" + depends on BSP_USING_SPI0 + default BSP_SPI0_MOSI_PIN_19 if BSP_USING_ARDUINO + config BSP_SPI0_MOSI_PIN_19 + bool "19" + config BSP_SPI0_MOSI_PIN_3 + bool "3" + config BSP_SPI0_MOSI_PIN_7 + bool "7" + endchoice + config BSP_SPI0_MOSI_PIN + int + default 3 if BSP_SPI0_MOSI_PIN_3 + default 7 if BSP_SPI0_MOSI_PIN_7 + default 19 if BSP_SPI0_MOSI_PIN_19 + + choice + prompt "spi0 MISO pin number (GP)" + depends on BSP_USING_SPI0 + default BSP_SPI0_MISO_PIN_16 if BSP_USING_ARDUINO + config BSP_SPI0_MISO_PIN_16 + bool "16" + config BSP_SPI0_MISO_PIN_0 + bool "0" + config BSP_SPI0_MISO_PIN_4 + bool "4" + endchoice + config BSP_SPI0_MISO_PIN + int + default 0 if BSP_SPI0_MISO_PIN_0 + default 4 if BSP_SPI0_MISO_PIN_4 + default 16 if BSP_SPI0_MISO_PIN_16 + + choice + prompt "spi0 SCK pin number (GP)" + depends on BSP_USING_SPI0 + default BSP_SPI0_SCK_PIN_18 if BSP_USING_ARDUINO + config BSP_SPI0_SCK_PIN_18 + bool "18" + config BSP_SPI0_SCK_PIN_2 + bool "2" + config BSP_SPI0_SCK_PIN_6 + bool "6" + endchoice + config BSP_SPI0_SCK_PIN + int + default 2 if BSP_SPI0_SCK_PIN_2 + default 6 if BSP_SPI0_SCK_PIN_6 + default 18 if BSP_SPI0_SCK_PIN_18 + + choice + prompt "spi0 CS pin number (GP)" + depends on BSP_USING_SPI0 + default BSP_SPI0_CS_PIN_17 if BSP_USING_ARDUINO + config BSP_SPI0_CS_PIN_17 + bool "17" + config BSP_SPI0_CS_PIN_1 + bool "1" + config BSP_SPI0_CS_PIN_5 + bool "5" + endchoice + config BSP_SPI0_CS_PIN + int + default 1 if BSP_SPI0_CS_PIN_1 + default 5 if BSP_SPI0_CS_PIN_5 + default 17 if BSP_SPI0_CS_PIN_17 + endif + + config BSP_USING_SPI1 + bool "Enable SPI1" + default n + if BSP_USING_SPI1 + choice + prompt "spi1 MOSI pin number (GP)" + depends on BSP_USING_SPI1 + default BSP_SPI1_MOSI_PIN_15 if BSP_USING_ARDUINO + config BSP_SPI1_MOSI_PIN_15 + bool "15" + config BSP_SPI1_MOSI_PIN_11 + bool "11" + endchoice + config BSP_SPI1_MOSI_PIN + int + default 11 if BSP_SPI1_MOSI_PIN_11 + default 15 if BSP_SPI1_MOSI_PIN_15 + + choice + prompt "spi1 MISO pin number (GP)" + depends on BSP_USING_SPI1 + default BSP_SPI1_MISO_PIN_12 if BSP_USING_ARDUINO + config BSP_SPI1_MISO_PIN_12 + bool "12" + config BSP_SPI1_MISO_PIN_8 + bool "8" + endchoice + config BSP_SPI1_MISO_PIN + int + default 8 if BSP_SPI1_MISO_PIN_8 + default 12 if BSP_SPI1_MISO_PIN_12 + + choice + prompt "spi1 SCK pin number (GP)" + depends on BSP_USING_SPI1 + default BSP_SPI1_SCK_PIN_14 if BSP_USING_ARDUINO + config BSP_SPI1_SCK_PIN_14 + bool "14" + config BSP_SPI1_SCK_PIN_10 + bool "10" + endchoice + config BSP_SPI1_SCK_PIN + int + default 10 if BSP_SPI1_SCK_PIN_10 + default 14 if BSP_SPI1_SCK_PIN_14 + + choice + prompt "spi1 CS pin number (GP)" + depends on BSP_USING_SPI1 + default BSP_SPI1_CS_PIN_13 if BSP_USING_ARDUINO + config BSP_SPI1_CS_PIN_13 + bool "13" + config BSP_SPI1_CS_PIN_9 + bool "9" + endchoice + config BSP_SPI1_CS_PIN + int + default 9 if BSP_SPI1_CS_PIN_9 + default 13 if BSP_SPI1_CS_PIN_13 + endif + endif + + menuconfig BSP_USING_PWM + bool "Enable PWM(A:CH_0 B:CH_1)" + default n + select RT_USING_PWM + if BSP_USING_PWM + config BSP_USING_PWM0 + bool "Enable PWM0" + default n + if BSP_USING_PWM0 + choice + prompt "pwm slice A pin number (GP)" + depends on BSP_USING_PWM0 + default BSP_PWM0_A_PIN_16 + config BSP_PWM0_A_PIN_0 + bool "0" + config BSP_PWM0_A_PIN_16 + bool "16" + endchoice + config BSP_PWM0_A_PIN + int + default 0 if BSP_PWM0_A_PIN_0 + default 16 if BSP_PWM0_A_PIN_16 + choice + prompt "pwm slice B pin number (GP)" + depends on BSP_USING_PWM0 + default BSP_PWM0_B_PIN_17 + config BSP_PWM0_B_PIN_1 + bool "1" + config BSP_PWM0_B_PIN_17 + bool "17" + endchoice + config BSP_PWM0_B_PIN + int + default 1 if BSP_PWM0_B_PIN_1 + default 17 if BSP_PWM0_B_PIN_17 + config BSP_PWM0_A_ALL + bool "pwm slice use all A pin" + default n + config BSP_PWM0_B_ALL + bool "pwm slice use all B pin" + default n + endif + + config BSP_USING_PWM1 + bool "Enable PWM1" + default n + if BSP_USING_PWM1 + choice + prompt "pwm slice A pin number (GP)" + depends on BSP_USING_PWM1 + default BSP_PWM1_A_PIN_18 + config BSP_PWM1_A_PIN_2 + bool "2" + config BSP_PWM1_A_PIN_18 + bool "18" + endchoice + config BSP_PWM1_A_PIN + int + default 2 if BSP_PWM1_A_PIN_2 + default 18 if BSP_PWM1_A_PIN_18 + choice + prompt "pwm slice B pin number (GP)" + depends on BSP_USING_PWM1 + default BSP_PWM1_B_PIN_19 + config BSP_PWM1_B_PIN_3 + bool "3" + config BSP_PWM1_B_PIN_19 + bool "19" + endchoice + config BSP_PWM1_B_PIN + int + default 3 if BSP_PWM1_B_PIN_3 + default 19 if BSP_PWM1_B_PIN_19 + config BSP_PWM1_A_ALL + bool "pwm slice use all A pin" + default n + config BSP_PWM1_B_ALL + bool "pwm slice use all B pin" + default n + endif + + config BSP_USING_PWM2 + bool "Enable PWM2" + default n + if BSP_USING_PWM2 + choice + prompt "pwm slice A pin number (GP)" + depends on BSP_USING_PWM2 + default BSP_PWM2_A_PIN_20 + config BSP_PWM2_A_PIN_4 + bool "4" + config BSP_PWM2_A_PIN_20 + bool "20" + endchoice + config BSP_PWM2_A_PIN + int + default 4 if BSP_PWM2_A_PIN_4 + default 20 if BSP_PWM2_A_PIN_20 + choice + prompt "pwm slice B pin number (GP)" + depends on BSP_USING_PWM2 + default BSP_PWM2_B_PIN_21 + config BSP_PWM2_B_PIN_5 + bool "5" + config BSP_PWM2_B_PIN_21 + bool "21" + endchoice + config BSP_PWM2_B_PIN + int + default 5 if BSP_PWM2_B_PIN_5 + default 21 if BSP_PWM2_B_PIN_21 + config BSP_PWM2_A_ALL + bool "pwm slice use all A pin" + default n + config BSP_PWM2_B_ALL + bool "pwm slice use all B pin" + default n + endif + + config BSP_USING_PWM3 + bool "Enable PWM3" + default n + if BSP_USING_PWM3 + choice + prompt "pwm slice A pin number (GP)" + depends on BSP_USING_PWM3 + default BSP_PWM3_A_PIN_22 + config BSP_PWM3_A_PIN_6 + bool "6" + config BSP_PWM3_A_PIN_22 + bool "22" + endchoice + config BSP_PWM3_A_PIN + int + default 6 if BSP_PWM3_A_PIN_6 + default 22 if BSP_PWM3_A_PIN_22 + choice + prompt "pwm slice B pin number (GP)" + depends on BSP_USING_PWM3 + default BSP_PWM3_B_PIN_23 + config BSP_PWM3_B_PIN_7 + bool "7" + config BSP_PWM3_B_PIN_23 + bool "23" + endchoice + config BSP_PWM3_B_PIN + int + default 7 if BSP_PWM3_B_PIN_7 + default 23 if BSP_PWM3_B_PIN_23 + config BSP_PWM3_A_ALL + bool "pwm slice use all A pin" + default n + config BSP_PWM3_B_ALL + bool "pwm slice use all B pin" + default n + endif + + config BSP_USING_PWM4 + bool "Enable PWM4" + default n + if BSP_USING_PWM4 + choice + prompt "pwm slice A pin number (GP)" + depends on BSP_USING_PWM4 + default BSP_PWM4_A_PIN_24 + config BSP_PWM4_A_PIN_8 + bool "8" + config BSP_PWM4_A_PIN_24 + bool "24" + endchoice + config BSP_PWM4_A_PIN + int + default 8 if BSP_PWM4_A_PIN_8 + default 24 if BSP_PWM4_A_PIN_24 + choice + prompt "pwm slice B pin number (GP)" + depends on BSP_USING_PWM4 + default BSP_PWM4_B_PIN_25 + config BSP_PWM4_B_PIN_9 + bool "9" + config BSP_PWM4_B_PIN_25 + bool "25" + endchoice + config BSP_PWM4_B_PIN + int + default 9 if BSP_PWM4_B_PIN_9 + default 25 if BSP_PWM4_B_PIN_25 + config BSP_PWM4_A_ALL + bool "pwm slice use all A pin" + default n + config BSP_PWM4_B_ALL + bool "pwm slice use all B pin" + default n + endif + + config BSP_USING_PWM5 + bool "Enable PWM5" + default n + if BSP_USING_PWM5 + choice + prompt "pwm slice A pin number (GP)" + depends on BSP_USING_PWM5 + default BSP_PWM5_A_PIN_10 + config BSP_PWM5_A_PIN_10 + bool "10" + config BSP_PWM5_A_PIN_26 + bool "26" + endchoice + config BSP_PWM5_A_PIN + int + default 10 if BSP_PWM5_A_PIN_10 + default 26 if BSP_PWM5_A_PIN_26 + choice + prompt "pwm slice B pin number (GP)" + depends on BSP_USING_PWM5 + default BSP_PWM5_B_PIN_11 + config BSP_PWM5_B_PIN_11 + bool "11" + config BSP_PWM5_B_PIN_27 + bool "27" + endchoice + config BSP_PWM5_B_PIN + int + default 11 if BSP_PWM5_B_PIN_11 + default 27 if BSP_PWM5_B_PIN_27 + config BSP_PWM5_A_ALL + bool "pwm slice use all A pin" + default n + config BSP_PWM5_B_ALL + bool "pwm slice use all B pin" + default n + endif + + config BSP_USING_PWM6 + bool "Enable PWM6" + default n + if BSP_USING_PWM6 + choice + prompt "pwm slice A pin number (GP)" + depends on BSP_USING_PWM6 + default BSP_PWM6_A_PIN_12 + config BSP_PWM6_A_PIN_12 + bool "12" + config BSP_PWM6_A_PIN_28 + bool "28" + endchoice + config BSP_PWM6_A_PIN + int + default 12 if BSP_PWM6_A_PIN_12 + default 28 if BSP_PWM6_A_PIN_28 + choice + prompt "pwm slice B pin number (GP)" + depends on BSP_USING_PWM6 + default BSP_PWM6_B_PIN_13 + config BSP_PWM6_B_PIN_13 + bool "13" + config BSP_PWM6_B_PIN_29 + bool "29" + endchoice + config BSP_PWM6_B_PIN + int + default 13 if BSP_PWM6_B_PIN_13 + default 29 if BSP_PWM6_B_PIN_29 + config BSP_PWM6_A_ALL + bool "pwm slice use all A pin" + default n + config BSP_PWM6_B_ALL + bool "pwm slice use all B pin" + default n + endif + + config BSP_USING_PWM7 + bool "Enable PWM7" + default n + if BSP_USING_PWM7 + choice + prompt "pwm slice A pin number (GP)" + depends on BSP_USING_PWM7 + default BSP_PWM7_A_PIN_14 + config BSP_PWM7_A_PIN_14 + bool "14" + endchoice + config BSP_PWM7_A_PIN + int + default 14 if BSP_PWM7_A_PIN_14 + choice + prompt "pwm slice B pin number (GP)" + depends on BSP_USING_PWM7 + default BSP_PWM7_B_PIN_15 + config BSP_PWM7_B_PIN_15 + bool "15" + endchoice + config BSP_PWM7_B_PIN + int + default 15 if BSP_PWM7_B_PIN_15 + endif + endif + + menuconfig BSP_USING_HWTIMER + bool "Enable HWTIMER" + default n + select RT_USING_HWTIMER + if BSP_USING_HWTIMER + config BSP_USING_TIMER0 + bool "Enable HWTIMER0" + default n + + config BSP_USING_TIMER1 + bool "Enable HWTIMER1" + default n + + config BSP_USING_TIMER2 + bool "Enable HWTIMER2" + default n + + config BSP_USING_TIMER3 + bool "Enable HWTIMER3" + default n + endif + + menuconfig BSP_USING_I2C + bool "Enable I2C" + select RT_USING_I2C + select RT_USING_I2C_BITOPS + select RT_USING_PIN + default n + + if BSP_USING_I2C + config BSP_USING_I2C0 + bool "Enable I2C0" + default n + if BSP_USING_I2C0 + choice + prompt "i2c0 scl pin number (GP)" + depends on BSP_USING_I2C0 + default BSP_I2C0_SCL_PIN_5 if BSP_USING_ARDUINO + config BSP_I2C0_SCL_PIN_5 + bool "5" + config BSP_I2C0_SCL_PIN_1 + bool "1" + config BSP_I2C0_SCL_PIN_9 + bool "9" + config BSP_I2C0_SCL_PIN_13 + bool "13" + config BSP_I2C0_SCL_PIN_17 + bool "17" + config BSP_I2C0_SCL_PIN_21 + bool "21" + endchoice + config BSP_I2C0_SCL_PIN + int + default 1 if BSP_I2C0_SCL_PIN_1 + default 5 if BSP_I2C0_SCL_PIN_5 + default 9 if BSP_I2C0_SCL_PIN_9 + default 13 if BSP_I2C0_SCL_PIN_13 + default 17 if BSP_I2C0_SCL_PIN_17 + default 21 if BSP_I2C0_SCL_PIN_21 + + choice + prompt "i2c0 sda pin number (GP)" + depends on BSP_USING_I2C0 + default BSP_I2C0_SDA_PIN_4 if BSP_USING_ARDUINO + config BSP_I2C0_SDA_PIN_4 + bool "4" + config BSP_I2C0_SDA_PIN_0 + bool "0" + config BSP_I2C0_SDA_PIN_8 + bool "8" + config BSP_I2C0_SDA_PIN_12 + bool "12" + config BSP_I2C0_SDA_PIN_16 + bool "16" + config BSP_I2C0_SDA_PIN_20 + bool "20" + endchoice + config BSP_I2C0_SDA_PIN + int + default 0 if BSP_I2C0_SDA_PIN_0 + default 4 if BSP_I2C0_SDA_PIN_4 + default 8 if BSP_I2C0_SDA_PIN_8 + default 12 if BSP_I2C0_SDA_PIN_12 + default 16 if BSP_I2C0_SDA_PIN_16 + default 20 if BSP_I2C0_SDA_PIN_20 + endif + + config BSP_USING_I2C1 + bool "Enable I2C1" + default n + if BSP_USING_I2C1 + choice + prompt "i2c1 scl pin number (GP)" + depends on BSP_USING_I2C1 + config BSP_I2C1_SCL_PIN_3 + bool "3" + config BSP_I2C1_SCL_PIN_7 + bool "7" + config BSP_I2C1_SCL_PIN_11 + bool "11" + config BSP_I2C1_SCL_PIN_15 + bool "15" + config BSP_I2C1_SCL_PIN_19 + bool "19" + config BSP_I2C1_SCL_PIN_27 + bool "27" + endchoice + config BSP_I2C1_SCL_PIN + int + default 3 if BSP_I2C1_SCL_PIN_3 + default 7 if BSP_I2C1_SCL_PIN_7 + default 11 if BSP_I2C1_SCL_PIN_11 + default 15 if BSP_I2C1_SCL_PIN_15 + default 19 if BSP_I2C1_SCL_PIN_19 + default 27 if BSP_I2C1_SCL_PIN_27 + + choice + prompt "i2c1 sda pin number (GP)" + depends on BSP_USING_I2C1 + config BSP_I2C1_SDA_PIN_2 + bool "2" + config BSP_I2C1_SDA_PIN_6 + bool "6" + config BSP_I2C1_SDA_PIN_10 + bool "10" + config BSP_I2C1_SDA_PIN_14 + bool "14" + config BSP_I2C1_SDA_PIN_18 + bool "18" + config BSP_I2C1_SDA_PIN_26 + bool "26" + endchoice + config BSP_I2C1_SDA_PIN + int + default 2 if BSP_I2C1_SDA_PIN_2 + default 6 if BSP_I2C1_SDA_PIN_6 + default 10 if BSP_I2C1_SDA_PIN_10 + default 14 if BSP_I2C1_SDA_PIN_14 + default 18 if BSP_I2C1_SDA_PIN_18 + default 26 if BSP_I2C1_SDA_PIN_26 + endif + endif + + config BSP_USING_ON_CHIP_FLASH + bool "Enable On-Chip FLASH" + select FAL_DEBUG_CONFIG + select FAL_PART_HAS_TABLE_CFG + default n + +endmenu + +endmenu diff --git a/bsp/raspberry-pico/RP2350/board/SConscript b/bsp/raspberry-pico/RP2350/board/SConscript new file mode 100644 index 00000000000..17c3b776a3a --- /dev/null +++ b/bsp/raspberry-pico/RP2350/board/SConscript @@ -0,0 +1,20 @@ +import os +import rtconfig +from building import * + +cwd = GetCurrentDir() + +# add general drivers +src = Split(''' +board.c +''') + +path = [cwd] +path += [cwd + '/ports/lcd'] + +if GetDepend(['BSP_USING_LVGL']): + path += [cwd + '/ports/lcd'] + +group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path) + +Return('group') diff --git a/bsp/raspberry-pico/RP2350/board/board.c b/bsp/raspberry-pico/RP2350/board/board.c new file mode 100644 index 00000000000..75211de9c51 --- /dev/null +++ b/bsp/raspberry-pico/RP2350/board/board.c @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2006-2023, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-01-28 flybreak first version + * 2023-01-22 rose_man add RT_USING_SMP + * 2025-08-04 hydevcode first version + */ + +#include +#include +#include +#include "board.h" +#include +#include +#include +#include +#include + +#define PLL_SYS_KHZ (150 * 1000) + +void SysTick_Handler(void) +{ + rt_interrupt_enter(); + rt_tick_increase(); + rt_interrupt_leave(); +} + +uint32_t systick_config(uint32_t ticks) +{ + if ((ticks - 1UL) > M33_SYST_RVR_RELOAD_BITS) + { + return (1UL); /* Reload value impossible */ + } + + systick_hw->rvr = (uint32_t)(ticks - 1UL); /* set reload register */ + systick_hw->csr = M33_SYST_CSR_CLKSOURCE_BITS | + M33_SYST_CSR_TICKINT_BITS | + M33_SYST_CSR_ENABLE_BITS; /* Enable SysTick IRQ and SysTick Timer */ +} +#include "pico/runtime.h" +void rt_hw_board_init() +{ + #ifdef RT_USING_HEAP + rt_system_heap_init(HEAP_BEGIN, HEAP_END); + #endif + set_sys_clock_khz(PLL_SYS_KHZ, true); + + alarm_pool_init_default(); + systick_config(clock_get_hz(clk_sys) / RT_TICK_PER_SECOND); + + +#ifdef RT_USING_COMPONENTS_INIT + rt_components_board_init(); +#endif + +#ifdef RT_USING_SERIAL + stdio_init_all(); + rt_hw_uart_init(); +#endif + +#ifdef RT_USING_CONSOLE + rt_console_set_device(RT_CONSOLE_DEVICE_NAME); +#endif +} \ No newline at end of file diff --git a/bsp/raspberry-pico/RP2350/board/board.h b/bsp/raspberry-pico/RP2350/board/board.h new file mode 100644 index 00000000000..78a67b7008c --- /dev/null +++ b/bsp/raspberry-pico/RP2350/board/board.h @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2006-2023, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-01-28 flybreak first version + */ + +#ifndef __BOARD_H__ +#define __BOARD_H__ + +#define PICO_SRAM_SIZE 520 +#define PICO_SRAM_END (0x20000000 + PICO_SRAM_SIZE * 1024) + +extern int _sstack; +#define HEAP_BEGIN (&_sstack) +#define HEAP_END ((void *)PICO_SRAM_END) + +#endif diff --git a/bsp/raspberry-pico/RP2350/figures/elf2uf2.png b/bsp/raspberry-pico/RP2350/figures/elf2uf2.png new file mode 100644 index 00000000000..eeb53c5a68c Binary files /dev/null and b/bsp/raspberry-pico/RP2350/figures/elf2uf2.png differ diff --git a/bsp/raspberry-pico/RP2350/figures/rp2350.png b/bsp/raspberry-pico/RP2350/figures/rp2350.png new file mode 100644 index 00000000000..cae06879705 Binary files /dev/null and b/bsp/raspberry-pico/RP2350/figures/rp2350.png differ diff --git a/bsp/raspberry-pico/RP2350/link.ld b/bsp/raspberry-pico/RP2350/link.ld new file mode 100644 index 00000000000..495ec1372e9 --- /dev/null +++ b/bsp/raspberry-pico/RP2350/link.ld @@ -0,0 +1,308 @@ +/* Based on GCC ARM embedded samples. + Defines the following symbols for use by code: + __exidx_start + __exidx_end + __etext + __data_start__ + __preinit_array_start + __preinit_array_end + __init_array_start + __init_array_end + __fini_array_start + __fini_array_end + __data_end__ + __bss_start__ + __bss_end__ + __end__ + end + __HeapLimit + __StackLimit + __StackTop + __stack (== StackTop) +*/ + +MEMORY +{ + FLASH(rx) : ORIGIN = 0x10000000, LENGTH = (2 * 1024 * 1024) + RAM(rwx) : ORIGIN = 0x20000000, LENGTH = 520k + SCRATCH_X(rwx) : ORIGIN = 0x20080000, LENGTH = 4k + SCRATCH_Y(rwx) : ORIGIN = 0x20081000, LENGTH = 4k +} + +ENTRY(_entry_point) + +SECTIONS +{ + .flash_begin : { + __flash_binary_start = .; + } > FLASH + + .text : { + _stext = .; + __logical_binary_start = .; + KEEP (*(.vectors)) + KEEP (*(.binary_info_header)) + __binary_info_header_end = .; + KEEP (*(.embedded_block)) + __embedded_block_end = .; + KEEP (*(.reset)) + /* TODO revisit this now memset/memcpy/float in ROM */ + /* bit of a hack right now to exclude all floating point and time critical (e.g. memset, memcpy) code from + * FLASH ... we will include any thing excluded here in .data below by default */ + *(.init) + *libgcc.a:cmse_nonsecure_call.o + *(EXCLUDE_FILE(*libgcc.a: *libc.a:*lib_a-mem*.o *libm.a:) .text*) + *(.fini) + + + . = ALIGN(4); + + /* Pull all c'tors into .text */ + *crtbegin.o(.ctors) + *crtbegin?.o(.ctors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) + *(SORT(.ctors.*)) + *(.ctors) + /* Followed by destructors */ + *crtbegin.o(.dtors) + *crtbegin?.o(.dtors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) + *(SORT(.dtors.*)) + *(.dtors) + + . = ALIGN(4); + /* preinit data */ + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP(*(SORT(.preinit_array.*))) + KEEP(*(.preinit_array)) + PROVIDE_HIDDEN (__preinit_array_end = .); + + . = ALIGN(4); + /* init data */ + PROVIDE_HIDDEN (__init_array_start = .); + KEEP(*(SORT(.init_array.*))) + KEEP(*(.init_array)) + PROVIDE_HIDDEN (__init_array_end = .); + + . = ALIGN(4); + /* finit data */ + PROVIDE_HIDDEN (__fini_array_start = .); + *(SORT(.fini_array.*)) + *(.fini_array) + PROVIDE_HIDDEN (__fini_array_end = .); + + + /* section information for utest */ + . = ALIGN(4); + __rt_utest_tc_tab_start = .; + KEEP(*(UtestTcTab)) + __rt_utest_tc_tab_end = .; + + /* section information for finsh shell */ + . = ALIGN(4); + __fsymtab_start = .; + KEEP(*(FSymTab)) + __fsymtab_end = .; + + . = ALIGN(4); + __vsymtab_start = .; + KEEP(*(VSymTab)) + __vsymtab_end = .; + + /* section information for initial. */ + . = ALIGN(4); + __rt_init_start = .; + KEEP(*(SORT(.rti_fn*))) + __rt_init_end = .; + *(.eh_frame*) + . = ALIGN(4); + _etext = .; + } > FLASH + + .boot2 : { + __boot2_start__ = .; + *(.boot2) + __boot2_end__ = .; + } > FLASH + + ASSERT(__boot2_end__ - __boot2_start__ <= 256, + "ERROR: Pico second stage bootloader must be no more than 256 bytes in size") + + .rodata : { + *(EXCLUDE_FILE(*libgcc.a: *libc.a:*lib_a-mem*.o *libm.a:) .rodata*) + *(.srodata*) + . = ALIGN(4); + *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.flashdata*))) + . = ALIGN(4); + } > FLASH + + .ARM.extab : + { + *(.ARM.extab* .gnu.linkonce.armextab.*) + } > FLASH + + __exidx_start = .; + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > FLASH + __exidx_end = .; + + /* Machine inspectable binary information */ + . = ALIGN(4); + __binary_info_start = .; + .binary_info : + { + KEEP(*(.binary_info.keep.*)) + *(.binary_info.*) + } > FLASH + __binary_info_end = .; + . = ALIGN(4); + + .ram_vector_table (NOLOAD): { + *(.ram_vector_table) + } > RAM + + .uninitialized_data (NOLOAD): { + . = ALIGN(4); + *(.uninitialized_data*) + } > RAM + + .data : { + __data_start__ = .; + *(vtable) + + *(.time_critical*) + + /* remaining .text and .rodata; i.e. stuff we exclude above because we want it in RAM */ + *(.text*) + . = ALIGN(4); + *(.rodata*) + . = ALIGN(4); + + *(.data*) + *(.sdata*) + + . = ALIGN(4); + *(.after_data.*) + . = ALIGN(4); + /* preinit data */ + PROVIDE_HIDDEN (__mutex_array_start = .); + KEEP(*(SORT(.mutex_array.*))) + KEEP(*(.mutex_array)) + PROVIDE_HIDDEN (__mutex_array_end = .); + + *(.jcr) + . = ALIGN(4); + } > RAM AT> FLASH + /* __etext is (for backwards compatibility) the name of the .data init source pointer (...) */ + + + .tdata : { + . = ALIGN(4); + *(.tdata .tdata.* .gnu.linkonce.td.*) + /* All data end */ + __tdata_end = .; + } > RAM AT> FLASH + PROVIDE(__data_end__ = .); + + /* __etext is (for backwards compatibility) the name of the .data init source pointer (...) */ + __etext = LOADADDR(.data); + + .tbss (NOLOAD) : { + . = ALIGN(4); + __bss_start__ = .; + __tls_base = .; + *(.tbss .tbss.* .gnu.linkonce.tb.*) + *(.tcommon) + + __tls_end = .; + + } > RAM + + + .bss (NOLOAD) : { + __tbss_end = .; + . = ALIGN(4); + + + *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.bss*))) + *(COMMON) + PROVIDE(__global_pointer$ = . + 2K); + *(.sbss*) + . = ALIGN(4); + __bss_end__ = .; + } > RAM + + .heap (NOLOAD): + { + _sstack = .; + __end__ = .; + end = __end__; + KEEP(*(.heap*)) + __HeapLimit = .; + _estack = .; + } > RAM + /* historically on GCC sbrk was growing past __HeapLimit to __StackLimit, however + to be more compatible, we now set __HeapLimit explicitly to where the end of the heap is */ + + + + /* Start and end symbols must be word-aligned */ + .scratch_x : { + __scratch_x_start__ = .; + *(.scratch_x.*) + . = ALIGN(4); + __scratch_x_end__ = .; + } > SCRATCH_X AT > FLASH + __scratch_x_source__ = LOADADDR(.scratch_x); + + .scratch_y : { + __scratch_y_start__ = .; + *(.scratch_y.*) + . = ALIGN(4); + __scratch_y_end__ = .; + } > SCRATCH_Y AT > FLASH + __scratch_y_source__ = LOADADDR(.scratch_y); + + /* .stack*_dummy section doesn't contains any symbols. It is only + * used for linker to calculate size of stack sections, and assign + * values to stack symbols later + * + * stack1 section may be empty/missing if platform_launch_core1 is not used */ + + /* by default we put core 0 stack at the end of scratch Y, so that if core 1 + * stack is not used then all of SCRATCH_X is free. + */ + .stack1_dummy (NOLOAD): + { + *(.stack1*) + } > SCRATCH_X + .stack_dummy (NOLOAD): + { + KEEP(*(.stack*)) + } > SCRATCH_Y + + .flash_end : { + KEEP(*(.embedded_end_block*)) + PROVIDE(__flash_binary_end = .); + } > FLASH =0xaa + + /* stack limit is poorly named, but historically is maximum heap ptr */ + __StackLimit = ORIGIN(RAM) + LENGTH(RAM); + __StackOneTop = ORIGIN(SCRATCH_X) + LENGTH(SCRATCH_X); + __StackTop = ORIGIN(SCRATCH_Y) + LENGTH(SCRATCH_Y); + __StackOneBottom = __StackOneTop - SIZEOF(.stack1_dummy); + __StackBottom = __StackTop - SIZEOF(.stack_dummy); + PROVIDE(__stack = __StackTop); + + /* Check if data + heap + stack exceeds RAM limit */ + ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed") + + ASSERT( __binary_info_header_end - __logical_binary_start <= 1024, "Binary info must be in first 1024 bytes of the binary") + ASSERT( __embedded_block_end - __logical_binary_start <= 4096, "Embedded block must be in first 4096 bytes of the binary") + + /* todo assert on extra code */ + +} + diff --git a/bsp/raspberry-pico/RP2350/rtconfig.h b/bsp/raspberry-pico/RP2350/rtconfig.h new file mode 100644 index 00000000000..2b3a8b6b3db --- /dev/null +++ b/bsp/raspberry-pico/RP2350/rtconfig.h @@ -0,0 +1,416 @@ +#ifndef RT_CONFIG_H__ +#define RT_CONFIG_H__ + +#define SOC_RP2350 + +/* RT-Thread Kernel */ + +/* klibc options */ + +/* rt_vsnprintf options */ + +/* end of rt_vsnprintf options */ + +/* rt_vsscanf options */ + +/* end of rt_vsscanf options */ + +/* rt_memset options */ + +/* end of rt_memset options */ + +/* rt_memcpy options */ + +/* end of rt_memcpy options */ + +/* rt_memmove options */ + +/* end of rt_memmove options */ + +/* rt_memcmp options */ + +/* end of rt_memcmp options */ + +/* rt_strstr options */ + +/* end of rt_strstr options */ + +/* rt_strcasecmp options */ + +/* end of rt_strcasecmp options */ + +/* rt_strncpy options */ + +/* end of rt_strncpy options */ + +/* rt_strcpy options */ + +/* end of rt_strcpy options */ + +/* rt_strncmp options */ + +/* end of rt_strncmp options */ + +/* rt_strcmp options */ + +/* end of rt_strcmp options */ + +/* rt_strlen options */ + +/* end of rt_strlen options */ + +/* rt_strnlen options */ + +/* end of rt_strnlen options */ +/* end of klibc options */ +#define RT_NAME_MAX 8 +#define RT_CPUS_NR 1 +#define RT_ALIGN_SIZE 8 +#define RT_THREAD_PRIORITY_32 +#define RT_THREAD_PRIORITY_MAX 32 +#define RT_TICK_PER_SECOND 100 +#define RT_USING_OVERFLOW_CHECK +#define RT_USING_HOOK +#define RT_HOOK_USING_FUNC_PTR +#define RT_USING_IDLE_HOOK +#define RT_IDLE_HOOK_LIST_SIZE 4 +#define IDLE_THREAD_STACK_SIZE 256 + +/* kservice options */ + +/* end of kservice options */ + +/* Inter-Thread communication */ + +#define RT_USING_SEMAPHORE +#define RT_USING_MUTEX +#define RT_USING_EVENT +#define RT_USING_MAILBOX +#define RT_USING_MESSAGEQUEUE +/* end of Inter-Thread communication */ + +/* Memory Management */ + +#define RT_USING_MEMPOOL +#define RT_USING_SMALL_MEM +#define RT_USING_SMALL_MEM_AS_HEAP +#define RT_USING_HEAP +/* end of Memory Management */ +#define RT_USING_DEVICE +#define RT_USING_CONSOLE +#define RT_CONSOLEBUF_SIZE 128 +#define RT_CONSOLE_DEVICE_NAME "uart0" +#define RT_VER_NUM 0x50201 +#define RT_BACKTRACE_LEVEL_MAX_NR 32 +/* end of RT-Thread Kernel */ +#define RT_USING_HW_ATOMIC +#define RT_USING_CPU_FFS +#define ARCH_ARM +#define ARCH_ARM_CORTEX_M +#define ARCH_ARM_CORTEX_SECURE +#define ARCH_ARM_CORTEX_M33 + +/* RT-Thread Components */ + +#define RT_USING_COMPONENTS_INIT +#define RT_USING_USER_MAIN +#define RT_MAIN_THREAD_STACK_SIZE 1024 +#define RT_MAIN_THREAD_PRIORITY 10 +#define RT_USING_MSH +#define RT_USING_FINSH +#define FINSH_USING_MSH +#define FINSH_THREAD_NAME "tshell" +#define FINSH_THREAD_PRIORITY 20 +#define FINSH_THREAD_STACK_SIZE 2048 +#define FINSH_USING_HISTORY +#define FINSH_HISTORY_LINES 5 +#define FINSH_USING_SYMTAB +#define FINSH_CMD_SIZE 80 +#define MSH_USING_BUILT_IN_COMMANDS +#define FINSH_USING_DESCRIPTION +#define FINSH_ARG_MAX 10 +#define FINSH_USING_OPTION_COMPLETION + +/* DFS: device virtual file system */ + +/* end of DFS: device virtual file system */ + +/* Device Drivers */ + +#define RT_USING_DEVICE_IPC +#define RT_UNAMED_PIPE_NUMBER 64 +#define RT_USING_SERIAL +#define RT_USING_SERIAL_V1 +#define RT_SERIAL_USING_DMA +#define RT_SERIAL_RB_BUFSZ 64 +#define RT_USING_PIN +/* end of Device Drivers */ + +/* C/C++ and POSIX layer */ + +/* ISO-ANSI C layer */ + +/* Timezone and Daylight Saving Time */ + +#define RT_LIBC_USING_LIGHT_TZ_DST +#define RT_LIBC_TZ_DEFAULT_HOUR 8 +#define RT_LIBC_TZ_DEFAULT_MIN 0 +#define RT_LIBC_TZ_DEFAULT_SEC 0 +/* end of Timezone and Daylight Saving Time */ +/* end of ISO-ANSI C layer */ + +/* POSIX (Portable Operating System Interface) layer */ + + +/* Interprocess Communication (IPC) */ + + +/* Socket is in the 'Network' category */ + +/* end of Interprocess Communication (IPC) */ +/* end of POSIX (Portable Operating System Interface) layer */ +/* end of C/C++ and POSIX layer */ + +/* Network */ + +/* end of Network */ + +/* Memory protection */ + +/* end of Memory protection */ + +/* Utilities */ + +/* end of Utilities */ + +/* Using USB legacy version */ + +/* end of Using USB legacy version */ +/* end of RT-Thread Components */ + +/* RT-Thread Utestcases */ + +/* end of RT-Thread Utestcases */ + +/* RT-Thread online packages */ + +/* IoT - internet of things */ + + +/* Wi-Fi */ + +/* Marvell WiFi */ + +/* end of Marvell WiFi */ + +/* Wiced WiFi */ + +/* end of Wiced WiFi */ + +/* CYW43012 WiFi */ + +/* end of CYW43012 WiFi */ + +/* BL808 WiFi */ + +/* end of BL808 WiFi */ + +/* CYW43439 WiFi */ + +/* end of CYW43439 WiFi */ +/* end of Wi-Fi */ + +/* IoT Cloud */ + +/* end of IoT Cloud */ +/* end of IoT - internet of things */ + +/* security packages */ + +/* end of security packages */ + +/* language packages */ + +/* JSON: JavaScript Object Notation, a lightweight data-interchange format */ + +/* end of JSON: JavaScript Object Notation, a lightweight data-interchange format */ + +/* XML: Extensible Markup Language */ + +/* end of XML: Extensible Markup Language */ +/* end of language packages */ + +/* multimedia packages */ + +/* LVGL: powerful and easy-to-use embedded GUI library */ + +/* end of LVGL: powerful and easy-to-use embedded GUI library */ + +/* u8g2: a monochrome graphic library */ + +/* end of u8g2: a monochrome graphic library */ +/* end of multimedia packages */ + +/* tools packages */ + +/* end of tools packages */ + +/* system packages */ + +/* enhanced kernel services */ + +/* end of enhanced kernel services */ + +/* acceleration: Assembly language or algorithmic acceleration packages */ + +/* end of acceleration: Assembly language or algorithmic acceleration packages */ + +/* CMSIS: ARM Cortex-M Microcontroller Software Interface Standard */ + +/* end of CMSIS: ARM Cortex-M Microcontroller Software Interface Standard */ + +/* Micrium: Micrium software products porting for RT-Thread */ + +/* end of Micrium: Micrium software products porting for RT-Thread */ +/* end of system packages */ + +/* peripheral libraries and drivers */ + +/* HAL & SDK Drivers */ + +/* STM32 HAL & SDK Drivers */ + +/* end of STM32 HAL & SDK Drivers */ + +/* Infineon HAL Packages */ + +/* end of Infineon HAL Packages */ + +/* Kendryte SDK */ + +/* end of Kendryte SDK */ +#define PKG_USING_RASPBERRYPI_PICO_RP2350_SDK +#define PKG_USING_RASPBERRYPI_PICO_RP2350_SDK_LATEST_VERSION + +/* WCH HAL & SDK Drivers */ + +/* end of WCH HAL & SDK Drivers */ + +/* AT32 HAL & SDK Drivers */ + +/* end of AT32 HAL & SDK Drivers */ + +/* HC32 DDL Drivers */ + +/* end of HC32 DDL Drivers */ + +/* NXP HAL & SDK Drivers */ + +/* end of NXP HAL & SDK Drivers */ + +/* NUVOTON Drivers */ + +/* end of NUVOTON Drivers */ + +/* GD32 Drivers */ + +/* end of GD32 Drivers */ +/* end of HAL & SDK Drivers */ + +/* sensors drivers */ + +/* end of sensors drivers */ + +/* touch drivers */ + +/* end of touch drivers */ +/* end of peripheral libraries and drivers */ + +/* AI packages */ + +/* end of AI packages */ + +/* Signal Processing and Control Algorithm Packages */ + +/* end of Signal Processing and Control Algorithm Packages */ + +/* miscellaneous packages */ + +/* project laboratory */ + +/* end of project laboratory */ + +/* samples: kernel and components samples */ + +/* end of samples: kernel and components samples */ + +/* entertainment: terminal games and other interesting software packages */ + +/* end of entertainment: terminal games and other interesting software packages */ +/* end of miscellaneous packages */ + +/* Arduino libraries */ + + +/* Projects and Demos */ + +/* end of Projects and Demos */ + +/* Sensors */ + +/* end of Sensors */ + +/* Display */ + +/* end of Display */ + +/* Timing */ + +/* end of Timing */ + +/* Data Processing */ + +/* end of Data Processing */ + +/* Data Storage */ + +/* Communication */ + +/* end of Communication */ + +/* Device Control */ + +/* end of Device Control */ + +/* Other */ + +/* end of Other */ + +/* Signal IO */ + +/* end of Signal IO */ + +/* Uncategorized */ + +/* end of Arduino libraries */ +/* end of RT-Thread online packages */ + +/* Hardware Drivers Config */ + +/* Onboard Peripheral Drivers */ + +/* end of Onboard Peripheral Drivers */ + +/* On-chip Peripheral Drivers */ + +#define BSP_USING_PIN +#define BSP_USING_UART +#define BSP_USING_UART0 +#define BSP_UART0_TX_PIN_0 +#define BSP_UART0_TX_PIN 0 +#define BSP_UART0_RX_PIN_1 +#define BSP_UART0_RX_PIN 1 +/* end of On-chip Peripheral Drivers */ +/* end of Hardware Drivers Config */ + +#endif diff --git a/bsp/raspberry-pico/RP2350/rtconfig.py b/bsp/raspberry-pico/RP2350/rtconfig.py new file mode 100644 index 00000000000..d7619008eb7 --- /dev/null +++ b/bsp/raspberry-pico/RP2350/rtconfig.py @@ -0,0 +1,69 @@ +import os +import sys + +# toolchains options +ARCH='arm' +CPU='cortex-m33' +CROSS_TOOL='gcc' + +# bsp lib config +BSP_LIBRARY_TYPE = None + +if os.getenv('RTT_CC'): + CROSS_TOOL = os.getenv('RTT_CC') +if os.getenv('RTT_ROOT'): + RTT_ROOT = os.getenv('RTT_ROOT') + +# cross_tool provides the cross compiler +# EXEC_PATH is the compiler execute path, for example, CodeSourcery, Keil MDK, IAR +if CROSS_TOOL == 'gcc': + PLATFORM = 'gcc' + EXEC_PATH = r'/usr/bin' + # EXEC_PATH = r'C:\RT-ThreadStudio\repo\Extract\ToolChain_Support_Packages\ARM\GNU_Tools_for_ARM_Embedded_Processors\5.4.1\bin' +elif CROSS_TOOL == 'keil': + PLATFORM = 'armcc' + EXEC_PATH = r'C:/Keil_v5' +elif CROSS_TOOL == 'iar': + PLATFORM = 'iccarm' + EXEC_PATH = r'C:/Program Files (x86)/IAR Systems/Embedded Workbench 8.3' + +if os.getenv('RTT_EXEC_PATH'): + EXEC_PATH = os.getenv('RTT_EXEC_PATH') + +BUILD = 'debug' + +if PLATFORM == 'gcc': + # toolchains + PREFIX = 'arm-none-eabi-' + CC = PREFIX + 'gcc' + AS = PREFIX + 'gcc' + AR = PREFIX + 'ar' + CXX = PREFIX + 'g++' + LINK = PREFIX + 'gcc' + TARGET_EXT = 'elf' + SIZE = PREFIX + 'size' + OBJDUMP = PREFIX + 'objdump' + OBJCPY = PREFIX + 'objcopy' + + DEVICE = ' -march=armv8-m.main+fp+dsp -mcpu=cortex-m33 -mthumb -ffunction-sections -fdata-sections -mfloat-abi=softfp -mfpu=fpv5-sp-d16 -mcmse' + CFLAGS = DEVICE + ' -Dgcc' + AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp -Wa,-mimplicit-it=always' + LFLAGS = DEVICE + ' -Wl,--gc-sections,-Map=rt-thread.map,-cref,-u,Reset_Handler -T link.ld' + + CPATH = '' + LPATH = '' + + if BUILD == 'debug': + CFLAGS += ' -O3 -gdwarf-2 -g' + AFLAGS += ' -gdwarf-2' + else: + CFLAGS += ' -O2' + + CXXFLAGS = CFLAGS + ' -Wl,--build-id=none --specs=nosys.specs ' + + POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n' + + elf2uf2_path = os.path.join(os.getcwd(), "tools", "picotool") + os.system("chmod +x {0}".format(elf2uf2_path)) + + POST_ACTION += "{0} uf2 convert --quiet rtthread-pico.elf rtthread-pico.uf2 --family rp2350-arm-s --abs-block".format(elf2uf2_path) diff --git a/bsp/raspberry-pico/RP2350/tools/picotool b/bsp/raspberry-pico/RP2350/tools/picotool new file mode 100755 index 00000000000..b8ca0f75464 Binary files /dev/null and b/bsp/raspberry-pico/RP2350/tools/picotool differ