-
Notifications
You must be signed in to change notification settings - Fork 5.2k
[BSP] 添加raspberry-rp2350适配 #10580
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
[BSP] 添加raspberry-rp2350适配 #10580
Conversation
📌 Code Review Assignment🏷️ Tag: workflowReviewers: Rbb666 kurisaW supperthomas Changed Files (Click to expand)
📊 Current Review Status (Last Updated: 2025-08-04 21:25 CST)
📝 Review Instructions
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
这些外设都有验证过吗?如果没有建议先删掉,保留已验证过的即可
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LVGL这部分如果没验证过建议删除
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ardunio也是
OBJDUMP = PREFIX + 'objdump' | ||
OBJCPY = PREFIX + 'objcopy' | ||
|
||
# -mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse -g -O3 -DNDEBUG -Wl,--build-id=none -Wl,-Map=blink.elf.map --specs=nosys.specs -Wl,--wrap=__ctzdi2 -Wl,--wrap=__aeabi_dadd -Wl,--wrap=__aeabi_ddiv -Wl,--wrap=__aeabi_dmul -Wl,--wrap=__aeabi_drsub -Wl,--wrap=__aeabi_dsub -Wl,--wrap=__aeabi_cdcmpeq -Wl,--wrap=__aeabi_cdrcmple -Wl,--wrap=__aeabi_cdcmple -Wl,--wrap=__aeabi_dcmpeq -Wl,--wrap=__aeabi_dcmplt -Wl,--wrap=__aeabi_dcmple -Wl,--wrap=__aeabi_dcmpge -Wl,--wrap=__aeabi_dcmpgt -Wl,--wrap=__aeabi_dcmpun -Wl,--wrap=__aeabi_i2d -Wl,--wrap=__aeabi_l2d -Wl,--wrap=__aeabi_ui2d -Wl,--wrap=__aeabi_ul2d -Wl,--wrap=__aeabi_d2iz -Wl,--wrap=__aeabi_d2lz -Wl,--wrap=__aeabi_d2uiz -Wl,--wrap=__aeabi_d2ulz -Wl,--wrap=__aeabi_d2f -Wl,--wrap=sqrt -Wl,--wrap=cos -Wl,--wrap=sin -Wl,--wrap=tan -Wl,--wrap=atan2 -Wl,--wrap=exp -Wl,--wrap=log -Wl,--wrap=ldexp -Wl,--wrap=copysign -Wl,--wrap=trunc -Wl,--wrap=floor -Wl,--wrap=ceil -Wl,--wrap=round -Wl,--wrap=sincos -Wl,--wrap=asin -Wl,--wrap=acos -Wl,--wrap=atan -Wl,--wrap=sinh -Wl,--wrap=cosh -Wl,--wrap=tanh -Wl,--wrap=asinh -Wl,--wrap=acosh -Wl,--wrap=atanh -Wl,--wrap=exp2 -Wl,--wrap=log2 -Wl,--wrap=exp10 -Wl,--wrap=log10 -Wl,--wrap=pow -Wl,--wrap=powint -Wl,--wrap=hypot -Wl,--wrap=cbrt -Wl,--wrap=fmod -Wl,--wrap=drem -Wl,--wrap=remainder -Wl,--wrap=remquo -Wl,--wrap=expm1 -Wl,--wrap=log1p -Wl,--wrap=fma -Wl,--wrap=__aeabi_l2f -Wl,--wrap=__aeabi_ul2f -Wl,--wrap=__aeabi_f2lz -Wl,--wrap=__aeabi_f2ulz -Wl,--wrap=cosf -Wl,--wrap=sinf -Wl,--wrap=tanf -Wl,--wrap=atan2f -Wl,--wrap=expf -Wl,--wrap=logf -Wl,--wrap=sincosf -Wl,--wrap=ldexpf -Wl,--wrap=copysignf -Wl,--wrap=truncf -Wl,--wrap=floorf -Wl,--wrap=ceilf -Wl,--wrap=roundf -Wl,--wrap=asinf -Wl,--wrap=acosf -Wl,--wrap=atanf -Wl,--wrap=sinhf -Wl,--wrap=coshf -Wl,--wrap=tanhf -Wl,--wrap=asinhf -Wl,--wrap=acoshf -Wl,--wrap=atanhf -Wl,--wrap=exp2f -Wl,--wrap=log2f -Wl,--wrap=exp10f -Wl,--wrap=log10f -Wl,--wrap=powf -Wl,--wrap=powintf -Wl,--wrap=hypotf -Wl,--wrap=cbrtf -Wl,--wrap=fmodf -Wl,--wrap=dremf -Wl,--wrap=remainderf -Wl,--wrap=remquof -Wl,--wrap=expm1f -Wl,--wrap=log1pf -Wl,--wrap=fmaf -Wl,--wrap=malloc -Wl,--wrap=calloc -Wl,--wrap=realloc -Wl,--wrap=free -Wl,-L/home/qemu/pico-examples -Wl,--script=/home/qemu/pico-sdk/src/rp2_common/pico_crt0/rp2350/memmap_default.ld -Wl,-z,max-page-size=4096 -Wl,--gc-sections -Wl,--no-warn-rwx-segments -Wl,--wrap=sprintf -Wl,--wrap=snprintf -Wl,--wrap=vsnprintf -Wl,--wrap=printf -Wl,--wrap=vprintf -Wl,--wrap=puts -Wl,--wrap=putchar -Wl,--wrap=getchar CMakeFiles/blink.dir/blink.c.o "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_stdlib/stdlib.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/hardware_gpio/gpio.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2350/pico_platform/platform.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_platform_panic/panic.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/common/hardware_claim/claim.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/hardware_sync/sync.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/hardware_sync_spin_lock/sync_spin_lock.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/hardware_irq/irq.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/hardware_irq/irq_handler_chain.S.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/common/pico_sync/sem.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/common/pico_sync/lock_core.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/common/pico_sync/mutex.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/common/pico_sync/critical_section.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/common/pico_time/time.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/common/pico_time/timeout_helper.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/hardware_timer/timer.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/common/pico_util/datetime.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/common/pico_util/pheap.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/common/pico_util/queue.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/hardware_uart/uart.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/hardware_clocks/clocks.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/hardware_pll/pll.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/hardware_vreg/vreg.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/hardware_watchdog/watchdog.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/hardware_ticks/ticks.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_bootrom/bootrom.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_bootrom/bootrom_lock.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/hardware_boot_lock/boot_lock.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_flash/flash.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/hardware_xosc/xosc.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/hardware_divider/divider.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_runtime/runtime.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_runtime_init/runtime_init.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_runtime_init/runtime_init_clocks.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_runtime_init/runtime_init_stack_guard.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_bit_ops/bit_ops_aeabi.S.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_divider/divider_compiler.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_double/double_math.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_double/double_aeabi_dcp.S.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_double/double_fma_dcp.S.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_double/double_sci_m33.S.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_double/double_conv_m33.S.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_float/float_math.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_float/float_conv32_vfp.S.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_float/float_common_m33.S.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_float/float_sci_m33_vfp.S.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_malloc/malloc.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_atomic/atomic.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_cxx_options/new_delete.cpp.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_standard_binary_info/standard_binary_info.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_printf/printf.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_crt0/crt0.S.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_clib_interface/newlib_interface.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_stdio/stdio.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_stdio_uart/stdio_uart.c.o" -o blink.elf ../pico-sdk/src/rp2350/boot_stage2/CMakeFiles/bs2_default_library.dir/bs2_default_padded_checksummed.S.o |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
多余注释请删除
else: | ||
CFLAGS += ' -O2' | ||
|
||
CXXFLAGS = CFLAGS + ' -Wl,--build-id=none --specs=nosys.specs -Wl,--wrap=__ctzdi2 -Wl,--wrap=__aeabi_dadd -Wl,--wrap=__aeabi_ddiv -Wl,--wrap=__aeabi_dmul -Wl,--wrap=__aeabi_drsub -Wl,--wrap=__aeabi_dsub -Wl,--wrap=__aeabi_cdcmpeq -Wl,--wrap=__aeabi_cdrcmple -Wl,--wrap=__aeabi_cdcmple -Wl,--wrap=__aeabi_dcmpeq -Wl,--wrap=__aeabi_dcmplt -Wl,--wrap=__aeabi_dcmple -Wl,--wrap=__aeabi_dcmpge -Wl,--wrap=__aeabi_dcmpgt -Wl,--wrap=__aeabi_dcmpun -Wl,--wrap=__aeabi_i2d -Wl,--wrap=__aeabi_l2d -Wl,--wrap=__aeabi_ui2d -Wl,--wrap=__aeabi_ul2d -Wl,--wrap=__aeabi_d2iz -Wl,--wrap=__aeabi_d2lz -Wl,--wrap=__aeabi_d2uiz -Wl,--wrap=__aeabi_d2ulz -Wl,--wrap=__aeabi_d2f -Wl,--wrap=sqrt -Wl,--wrap=cos -Wl,--wrap=sin -Wl,--wrap=tan -Wl,--wrap=atan2 -Wl,--wrap=exp -Wl,--wrap=log -Wl,--wrap=ldexp -Wl,--wrap=copysign -Wl,--wrap=trunc -Wl,--wrap=floor -Wl,--wrap=ceil -Wl,--wrap=round -Wl,--wrap=sincos -Wl,--wrap=asin -Wl,--wrap=acos -Wl,--wrap=atan -Wl,--wrap=sinh -Wl,--wrap=cosh -Wl,--wrap=tanh -Wl,--wrap=asinh -Wl,--wrap=acosh -Wl,--wrap=atanh -Wl,--wrap=exp2 -Wl,--wrap=log2 -Wl,--wrap=exp10 -Wl,--wrap=log10 -Wl,--wrap=pow -Wl,--wrap=powint -Wl,--wrap=hypot -Wl,--wrap=cbrt -Wl,--wrap=fmod -Wl,--wrap=drem -Wl,--wrap=remainder -Wl,--wrap=remquo -Wl,--wrap=expm1 -Wl,--wrap=log1p -Wl,--wrap=fma -Wl,--wrap=__aeabi_l2f -Wl,--wrap=__aeabi_ul2f -Wl,--wrap=__aeabi_f2lz -Wl,--wrap=__aeabi_f2ulz -Wl,--wrap=cosf -Wl,--wrap=sinf -Wl,--wrap=tanf -Wl,--wrap=atan2f -Wl,--wrap=expf -Wl,--wrap=logf -Wl,--wrap=sincosf -Wl,--wrap=ldexpf -Wl,--wrap=copysignf -Wl,--wrap=truncf -Wl,--wrap=floorf -Wl,--wrap=ceilf -Wl,--wrap=roundf -Wl,--wrap=asinf -Wl,--wrap=acosf -Wl,--wrap=atanf -Wl,--wrap=sinhf -Wl,--wrap=coshf -Wl,--wrap=tanhf -Wl,--wrap=asinhf -Wl,--wrap=acoshf -Wl,--wrap=atanhf -Wl,--wrap=exp2f -Wl,--wrap=log2f -Wl,--wrap=exp10f -Wl,--wrap=log10f -Wl,--wrap=powf -Wl,--wrap=powintf -Wl,--wrap=hypotf -Wl,--wrap=cbrtf -Wl,--wrap=fmodf -Wl,--wrap=dremf -Wl,--wrap=remainderf -Wl,--wrap=remquof -Wl,--wrap=expm1f -Wl,--wrap=log1pf -Wl,--wrap=fmaf -Wl,--wrap=malloc -Wl,--wrap=calloc -Wl,--wrap=realloc -Wl,--wrap=free -Wl,-z,max-page-size=4096 -Wl,--gc-sections -Wl,--no-warn-rwx-segments -Wl,--wrap=sprintf -Wl,--wrap=snprintf -Wl,--wrap=vsnprintf -Wl,--wrap=printf -Wl,--wrap=vprintf -Wl,--wrap=puts -Wl,--wrap=putchar -Wl,--wrap=getchar' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
-WL部分参数可以删除的,没必要添加这么多,是自定义的函数实现了吗?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds adaptation support for the Raspberry Pi RP2350 microcontroller by creating a new BSP (Board Support Package). The RP2350 is a newer dual-core ARM Cortex-M33 microcontroller from Raspberry Pi with enhanced security features.
- New BSP implementation for raspberry-rp2350 based on existing raspberry-pico BSP
- Driver support for common peripherals including UART, GPIO, SPI, I2C, PWM, ADC, WDT, and RTC
- LVGL support for LCD display functionality
- Arduino compatibility layer for easier migration
Reviewed Changes
Copilot reviewed 56 out of 69 changed files in this pull request and generated 4 comments.
Show a summary per file
File | Description |
---|---|
bsp/raspberry-rp2350/rtconfig.py | Build configuration script for ARM Cortex-M33 target |
bsp/raspberry-rp2350/rtconfig.h | RT-Thread kernel and component configuration |
bsp/raspberry-rp2350/link.ld | Linker script defining memory layout for RP2350 |
bsp/raspberry-rp2350/drivers/* | Hardware abstraction layer drivers for peripherals |
bsp/raspberry-rp2350/board/* | Board initialization and configuration |
bsp/raspberry-rp2350/applications/* | Sample applications and Arduino pinout definitions |
Comments suppressed due to low confidence (1)
bsp/raspberry-rp2350/drivers/drv_soft_spi.h:46
- The macro name 'BSP_S_SPI_MOSI_PIN' should be 'BSP_S_SPI1_MOSI_PIN' to match the pattern used in other SPI1 pin definitions.
.mosi = BSP_S_SPI_MOSI_PIN, \
OBJDUMP = PREFIX + 'objdump' | ||
OBJCPY = PREFIX + 'objcopy' | ||
|
||
# -mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse -g -O3 -DNDEBUG -Wl,--build-id=none -Wl,-Map=blink.elf.map --specs=nosys.specs -Wl,--wrap=__ctzdi2 -Wl,--wrap=__aeabi_dadd -Wl,--wrap=__aeabi_ddiv -Wl,--wrap=__aeabi_dmul -Wl,--wrap=__aeabi_drsub -Wl,--wrap=__aeabi_dsub -Wl,--wrap=__aeabi_cdcmpeq -Wl,--wrap=__aeabi_cdrcmple -Wl,--wrap=__aeabi_cdcmple -Wl,--wrap=__aeabi_dcmpeq -Wl,--wrap=__aeabi_dcmplt -Wl,--wrap=__aeabi_dcmple -Wl,--wrap=__aeabi_dcmpge -Wl,--wrap=__aeabi_dcmpgt -Wl,--wrap=__aeabi_dcmpun -Wl,--wrap=__aeabi_i2d -Wl,--wrap=__aeabi_l2d -Wl,--wrap=__aeabi_ui2d -Wl,--wrap=__aeabi_ul2d -Wl,--wrap=__aeabi_d2iz -Wl,--wrap=__aeabi_d2lz -Wl,--wrap=__aeabi_d2uiz -Wl,--wrap=__aeabi_d2ulz -Wl,--wrap=__aeabi_d2f -Wl,--wrap=sqrt -Wl,--wrap=cos -Wl,--wrap=sin -Wl,--wrap=tan -Wl,--wrap=atan2 -Wl,--wrap=exp -Wl,--wrap=log -Wl,--wrap=ldexp -Wl,--wrap=copysign -Wl,--wrap=trunc -Wl,--wrap=floor -Wl,--wrap=ceil -Wl,--wrap=round -Wl,--wrap=sincos -Wl,--wrap=asin -Wl,--wrap=acos -Wl,--wrap=atan -Wl,--wrap=sinh -Wl,--wrap=cosh -Wl,--wrap=tanh -Wl,--wrap=asinh -Wl,--wrap=acosh -Wl,--wrap=atanh -Wl,--wrap=exp2 -Wl,--wrap=log2 -Wl,--wrap=exp10 -Wl,--wrap=log10 -Wl,--wrap=pow -Wl,--wrap=powint -Wl,--wrap=hypot -Wl,--wrap=cbrt -Wl,--wrap=fmod -Wl,--wrap=drem -Wl,--wrap=remainder -Wl,--wrap=remquo -Wl,--wrap=expm1 -Wl,--wrap=log1p -Wl,--wrap=fma -Wl,--wrap=__aeabi_l2f -Wl,--wrap=__aeabi_ul2f -Wl,--wrap=__aeabi_f2lz -Wl,--wrap=__aeabi_f2ulz -Wl,--wrap=cosf -Wl,--wrap=sinf -Wl,--wrap=tanf -Wl,--wrap=atan2f -Wl,--wrap=expf -Wl,--wrap=logf -Wl,--wrap=sincosf -Wl,--wrap=ldexpf -Wl,--wrap=copysignf -Wl,--wrap=truncf -Wl,--wrap=floorf -Wl,--wrap=ceilf -Wl,--wrap=roundf -Wl,--wrap=asinf -Wl,--wrap=acosf -Wl,--wrap=atanf -Wl,--wrap=sinhf -Wl,--wrap=coshf -Wl,--wrap=tanhf -Wl,--wrap=asinhf -Wl,--wrap=acoshf -Wl,--wrap=atanhf -Wl,--wrap=exp2f -Wl,--wrap=log2f -Wl,--wrap=exp10f -Wl,--wrap=log10f -Wl,--wrap=powf -Wl,--wrap=powintf -Wl,--wrap=hypotf -Wl,--wrap=cbrtf -Wl,--wrap=fmodf -Wl,--wrap=dremf -Wl,--wrap=remainderf -Wl,--wrap=remquof -Wl,--wrap=expm1f -Wl,--wrap=log1pf -Wl,--wrap=fmaf -Wl,--wrap=malloc -Wl,--wrap=calloc -Wl,--wrap=realloc -Wl,--wrap=free -Wl,-L/home/qemu/pico-examples -Wl,--script=/home/qemu/pico-sdk/src/rp2_common/pico_crt0/rp2350/memmap_default.ld -Wl,-z,max-page-size=4096 -Wl,--gc-sections -Wl,--no-warn-rwx-segments -Wl,--wrap=sprintf -Wl,--wrap=snprintf -Wl,--wrap=vsnprintf -Wl,--wrap=printf -Wl,--wrap=vprintf -Wl,--wrap=puts -Wl,--wrap=putchar -Wl,--wrap=getchar CMakeFiles/blink.dir/blink.c.o "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_stdlib/stdlib.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/hardware_gpio/gpio.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2350/pico_platform/platform.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_platform_panic/panic.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/common/hardware_claim/claim.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/hardware_sync/sync.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/hardware_sync_spin_lock/sync_spin_lock.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/hardware_irq/irq.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/hardware_irq/irq_handler_chain.S.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/common/pico_sync/sem.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/common/pico_sync/lock_core.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/common/pico_sync/mutex.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/common/pico_sync/critical_section.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/common/pico_time/time.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/common/pico_time/timeout_helper.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/hardware_timer/timer.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/common/pico_util/datetime.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/common/pico_util/pheap.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/common/pico_util/queue.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/hardware_uart/uart.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/hardware_clocks/clocks.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/hardware_pll/pll.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/hardware_vreg/vreg.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/hardware_watchdog/watchdog.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/hardware_ticks/ticks.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_bootrom/bootrom.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_bootrom/bootrom_lock.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/hardware_boot_lock/boot_lock.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_flash/flash.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/hardware_xosc/xosc.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/hardware_divider/divider.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_runtime/runtime.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_runtime_init/runtime_init.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_runtime_init/runtime_init_clocks.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_runtime_init/runtime_init_stack_guard.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_bit_ops/bit_ops_aeabi.S.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_divider/divider_compiler.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_double/double_math.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_double/double_aeabi_dcp.S.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_double/double_fma_dcp.S.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_double/double_sci_m33.S.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_double/double_conv_m33.S.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_float/float_math.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_float/float_conv32_vfp.S.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_float/float_common_m33.S.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_float/float_sci_m33_vfp.S.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_malloc/malloc.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_atomic/atomic.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_cxx_options/new_delete.cpp.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_standard_binary_info/standard_binary_info.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_printf/printf.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_crt0/crt0.S.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_clib_interface/newlib_interface.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_stdio/stdio.c.o" "CMakeFiles/blink.dir/home/qemu/pico-sdk/src/rp2_common/pico_stdio_uart/stdio_uart.c.o" -o blink.elf ../pico-sdk/src/rp2350/boot_stage2/CMakeFiles/bs2_default_library.dir/bs2_default_padded_checksummed.S.o |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This extremely long line (over 5000 characters) should be refactored or removed. It appears to be commented CMake command output that doesn't belong in a configuration file and makes the code difficult to read and maintain.
Copilot uses AI. Check for mistakes.
# elf2uf2_path = os.path.join(os.getcwd(), "tools", "elf2uf2") | ||
elf2uf2_path="/home/qemu/picotool/build/picotool" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The hardcoded absolute path '/home/qemu/picotool/build/picotool' should be made configurable or use relative paths to avoid environment-specific dependencies.
# elf2uf2_path = os.path.join(os.getcwd(), "tools", "elf2uf2") | |
elf2uf2_path="/home/qemu/picotool/build/picotool" | |
elf2uf2_path = os.getenv("ELF2UF2_PATH", os.path.join(os.getcwd(), "tools", "elf2uf2")) |
Copilot uses AI. Check for mistakes.
rt_err_t ret = -RT_ERROR; | ||
|
||
struct pico_i2c_bus *pico_i2c = (struct pico_i2c_bus *)bus; | ||
|
||
for (i = 0; i < num; i++) | ||
{ | ||
msg = &msgs[i]; | ||
|
||
if (msg->flags & RT_I2C_RD) | ||
{ | ||
i2c_read_blocking(pico_i2c->handle, msg->addr, msg->buf, msg->len, false); | ||
} | ||
else | ||
{ | ||
i2c_write_blocking(pico_i2c->handle, msg->addr, msg->buf, msg->len, false); | ||
} | ||
} | ||
|
||
return ret; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The function always returns -RT_ERROR regardless of successful I2C transfers. It should return the number of messages processed on success or a negative error code on failure.
rt_err_t ret = -RT_ERROR; | |
struct pico_i2c_bus *pico_i2c = (struct pico_i2c_bus *)bus; | |
for (i = 0; i < num; i++) | |
{ | |
msg = &msgs[i]; | |
if (msg->flags & RT_I2C_RD) | |
{ | |
i2c_read_blocking(pico_i2c->handle, msg->addr, msg->buf, msg->len, false); | |
} | |
else | |
{ | |
i2c_write_blocking(pico_i2c->handle, msg->addr, msg->buf, msg->len, false); | |
} | |
} | |
return ret; | |
struct pico_i2c_bus *pico_i2c = (struct pico_i2c_bus *)bus; | |
for (i = 0; i < num; i++) | |
{ | |
msg = &msgs[i]; | |
int res; | |
if (msg->flags & RT_I2C_RD) | |
{ | |
res = i2c_read_blocking(pico_i2c->handle, msg->addr, msg->buf, msg->len, false); | |
if (res != msg->len) | |
{ | |
return -RT_ERROR; | |
} | |
} | |
else | |
{ | |
res = i2c_write_blocking(pico_i2c->handle, msg->addr, msg->buf, msg->len, false); | |
if (res != msg->len) | |
{ | |
return -RT_ERROR; | |
} | |
} | |
} | |
return num; |
Copilot uses AI. Check for mistakes.
{ | ||
if(size % FLASH_SECTOR_SIZE) | ||
{ | ||
LOG_E("erase size must be %d-byte alignment", FLASH_SECTOR_SIZE); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The erase function checks for size alignment but doesn't return an error value when the condition fails, continuing with the potentially invalid erase operation.
LOG_E("erase size must be %d-byte alignment", FLASH_SECTOR_SIZE); | |
LOG_E("erase size must be %d-byte alignment", FLASH_SECTOR_SIZE); | |
return -RT_EINVAL; |
Copilot uses AI. Check for mistakes.
拉取/合并请求描述:(PR description)
[
为什么提交这份PR (why to submit this PR)
添加raspberry-rp2350适配
你的解决方案是什么 (what is your solution)
软件包索引仓库pr:
RT-Thread/packages#1917
软件包仓库pr:
RT-Thread-packages/raspberrypi-pico-rp2350-sdk#1
请提供验证的bsp和config (provide the config and bsp)
]
当前拉取/合并请求的状态 Intent for your PR
必须选择一项 Choose one (Mandatory):
代码质量 Code Quality:
我在这个拉取/合并请求中已经考虑了 As part of this pull request, I've considered the following:
#if 0
代码,不包含已经被注释了的代码 All redundant code is removed and cleaned up