SDIO出错 error -84 sending status command, retrying end_request: I/O error, dev mmcblk0, sector

本文记录了在调试EMMC过程中遇到的挂载错误及详细错误日志,并最终定位问题为SDIO兼容设计导致的信号干扰。

在调试emmc的时候遇到一个问题,挂载emmc出现如下错误:

~ # mount /dev/mmcblk0 /mnt/

end_request: I/O error, dev mmcblk0, sector 2
EXT4-fs (mmcblk0): unable to read superblock
mmcblk0: error -84 sending status command, retrying
mmcblk0: error -84 sending stop command, original cmd response 0x900, card status 0x900
mmcblk0: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0x100
mmcblk0: retrying using single block read
mmcblk0: error -84 sending status command, retrying
mmcblk0: error -84 sending status command, retrying
mmcblk0: response CRC error sending r/w cmd command, card status 0x900
mmcblk0: error -84 sending status command, retrying

mmcblk0: error -84 transferring data, sector 0, nr 2, cmd response 0x900, card status 0x0mmcblk0: retrying using single block read


虽然有错误,但是挂载应该是成功了。我在挂载前,在mnt目录下建了一个文件,挂载后文件没了,用df -h 查看磁盘的状态,也有报错。

/mnt/bin # df -h

Filesystem                Size      Used Available Use% Mounted on
/dev/root                32.0M     12.8M     19.2M  40% /
tmpfs                    13.1M      4.0K     13.1M   0% /dev
mmcblk0: response CRC error sending r/w cmd command, card status 0x900
mmcblk0: response CRC error sending r/w cmd command, card status 0x900
mmcblk0: error -84 sending status command, retrying
mmcblk0: response CRC error sending r/w cmd command, card status 0x900
mmcblk0: response CRC error sending r/w cmd command, card status 0x900
mmcblk0: response CRC error sending r/w cmd command, card status 0x900
mmcblk0: response CRC error sending r/w cmd command, card status 0x900
mmcblk0: response CRC error sending r/w cmd command, card status 0x900
mmcblk0: response CRC error sending r/w cmd command, card status 0x900
mmcblk0: response CRC error sending r/w cmd command, card status 0x900
mmcblk0: response CRC error sending r/w cmd command, card status 0x900
end_request: I/O error, dev mmcblk0, sector 1798
end_request: I/O error, dev mmcblk0, sector 1799
end_request: I/O error, dev mmcblk0, sector 1800
end_request: I/O error, dev mmcblk0, sector 1801
end_request: I/O error, dev mmcblk0, sector 1802
end_request: I/O error, dev mmcblk0, sector 1803
end_request: I/O error, dev mmcblk0, sector 1804
end_request: I/O error, dev mmcblk0, sector 1805
end_request: I/O error, dev mmcblk0, sector 1806
end_request: I/O error, dev mmcblk0, sector 1807
end_request: I/O error, dev mmcblk0, sector 1808
end_request: I/O error, dev mmcblk0, sector 1809
end_request: I/O error, dev mmcblk0, sector 1810
end_request: I/O error, dev mmcblk0, sector 1811
end_request: I/O error, dev mmcblk0, sector 1812
end_request: I/O error, dev mmcblk0, sector 1813
end_request: I/O error, dev mmcblk0, sector 1814
end_request: I/O error, dev mmcblk0, sector 1815
end_request: I/O error, dev mmcblk0, sector 1816
end_request: I/O error, dev mmcblk0, sector 1817
end_request: I/O error, dev mmcblk0, sector 1818
end_request: I/O error, dev mmcblk0, sector 1819
end_request: I/O error, dev mmcblk0, sector 1820
end_request: I/O error, dev mmcblk0, sector 1821
end_request: I/O error, dev mmcblk0, sector 1822
end_request: I/O error, dev mmcblk0, sector 1823
end_request: I/O error, dev mmcblk0, sector 1824
end_request: I/O error, dev mmcblk0, sector 1825
end_request: I/O error, dev mmcblk0, sector 1826
end_request: I/O error, dev mmcblk0, sector 1827
end_request: I/O error, dev mmcblk0, sector 1828
end_request: I/O error, dev mmcblk0, sector 1829
end_request: I/O error, dev mmcblk0, sector 1830
end_request: I/O error, dev mmcblk0, sector 1831
end_request: I/O error, dev mmcblk0, sector 1832
end_request: I/O error, dev mmcblk0, sector 1833
end_request: I/O error, dev mmcblk0, sector 1834
end_request: I/O error, dev mmcblk0, sector 1835
end_request: I/O error, dev mmcblk0, sector 1836
end_request: I/O error, dev mmcblk0, sector 1837
end_request: I/O error, dev mmcblk0, sector 1838
end_request: I/O error, dev mmcblk0, sector 1839
end_request: I/O error, dev mmcblk0, sector 1840
end_request: I/O error, dev mmcblk0, sector 1841
end_request: I/O error, dev mmcblk0, sector 1842
end_request: I/O error, dev mmcblk0, sector 1843
end_request: I/O error, dev mmcblk0, sector 1844
end_request: I/O error, dev mmcblk0, sector 1845
end_request: I/O error, dev mmcblk0, sector 1846
end_request: I/O error, dev mmcblk0, sector 1847
end_request: I/O error, dev mmcblk0, sector 1848
end_request: I/O error, dev mmcblk0, sector 1849
end_request: I/O error, dev mmcblk0, sector 1850
end_request: I/O error, dev mmcblk0, sector 1851
end_request: I/O error, dev mmcblk0, sector 1852
end_request: I/O error, dev mmcblk0, sector 1853
end_request: I/O error, dev mmcblk0, sector 1854
end_request: I/O error, dev mmcblk0, sector 1855
end_request: I/O error, dev mmcblk0, sector 1856
end_request: I/O error, dev mmcblk0, sector 1857
end_request: I/O error, dev mmcblk0, sector 1858
end_request: I/O error, dev mmcblk0, sector 1859
end_request: I/O error, dev mmcblk0, sector 1860
end_request: I/O error, dev mmcblk0, sector 1861
end_request: I/O error, dev mmcblk0, sector 1862
end_request: I/O error, dev mmcblk0, sector 1863
end_request: I/O error, dev mmcblk0, sector 1864
end_request: I/O error, dev mmcblk0, sector 1865
end_request: I/O error, dev mmcblk0, sector 1866
end_request: I/O error, dev mmcblk0, sector 1867
end_request: I/O error, dev mmcblk0, sector 1868
end_request: I/O error, dev mmcblk0, sector 1869
end_request: I/O error, dev mmcblk0, sector 1870
end_request: I/O error, dev mmcblk0, sector 1871
end_request: I/O error, dev mmcblk0, sector 1872
end_request: I/O error, dev mmcblk0, sector 1873
end_request: I/O error, dev mmcblk0, sector 1874
end_request: I/O error, dev mmcblk0, sector 1875
end_request: I/O error, dev mmcblk0, sector 1876
end_request: I/O error, dev mmcblk0, sector 1877
end_request: I/O error, dev mmcblk0, sector 1878
end_request: I/O error, dev mmcblk0, sector 1879
end_request: I/O error, dev mmcblk0, sector 1880
end_request: I/O error, dev mmcblk0, sector 1881
end_request: I/O error, dev mmcblk0, sector 1882
end_request: I/O error, dev mmcblk0, sector 1883
end_request: I/O error, dev mmcblk0, sector 1884
end_request: I/O error, dev mmcblk0, sector 1885
end_request: I/O error, dev mmcblk0, sector 1886
end_request: I/O error, dev mmcblk0, sector 1887
end_request: I/O error, dev mmcblk0, sector 1888
end_request: I/O error, dev mmcblk0, sector 1889
end_request: I/O error, dev mmcblk0, sector 1890
end_request: I/O error, dev mmcblk0, sector 1891
end_request: I/O error, dev mmcblk0, sector 1892
end_request: I/O error, dev mmcblk0, sector 1893
end_request: I/O error, dev mmcblk0, sector 1894
end_request: I/O error, dev mmcblk0, sector 1895
end_request: I/O error, dev mmcblk0, sector 1896
end_request: I/O error, dev mmcblk0, sector 1897
end_request: I/O error, dev mmcblk0, sector 1898
end_request: I/O error, dev mmcblk0, sector 1899
end_request: I/O error, dev mmcblk0, sector 1900
end_request: I/O error, dev mmcblk0, sector 1901
end_request: I/O error, dev mmcblk0, sector 1902

end_request: I/O error, dev mmcblk0, sector 2051
end_request: I/O error, dev mmcblk0, sector 2052
end_request: I/O error, dev mmcblk0, sector 2053
mmcblk0: error -84 sending status command, retrying
mmcblk0: error -84 sending status command, retrying
mmcblk0: response CRC error sending r/w cmd command, card status 0x900
mmcblk0: error -84 sending status command, retrying
mmcblk0: response CRC error sending r/w cmd command, card status 0x900
mmcblk0: error -84 sending status command, retrying
mmcblk0: error -84 sending status command, retrying
mmcblk0: error -84 sending status command, aborting
end_request: I/O error, dev mmcblk0, sector 1995
FAT-fs (mmcblk0): FAT read failed (blocknr 1995)
df: /mnt: Input/output error


发现能够正常的读写,好像一切都是没问题。


最后找到了原因,板子的SDIO做了兼容,既能够使用emmc,又能够使用TF卡,虽然连到TF卡上的电阻拿掉了,相当于断路,但是sdio的clk频率很大,有100M,多连接的导线相当于一个天线,会产生干扰。


-- Adding linker script C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/soc/esp32s3/ld/esp32s3.peripherals.ld CMake Error at main/CMakeLists.txt:36 (target_link_libraries): The plain signature for target_link_libraries has already been used with the target "__idf_main". All uses of target_link_libraries with a target must be either all-keyword or all-plain. The uses of the plain signature are here: * main/CMakeLists.txt:33 (target_link_libraries) -- Components: app_trace app_update bootloader bootloader_support bt cmock console cxx driver efuse esp-ppbuffer esp-tls esp_adc esp_app_format esp_bootloader_format esp_coex esp_common esp_driver_ana_cmpr esp_driver_cam esp_driver_dac esp_driver_gpio esp_driver_gptimer esp_driver_i2c esp_driver_i2s esp_driver_isp esp_driver_jpeg esp_driver_ledc esp_driver_mcpwm esp_driver_parlio esp_driver_pcnt esp_driver_ppa esp_driver_rmt esp_driver_sdio esp_driver_sdm esp_driver_sdmmc esp_driver_sdspi esp_driver_spi esp_driver_touch_sens esp_driver_tsens esp_driver_uart esp_driver_usb_serial_jtag esp_eth esp_event esp_gdbstub esp_hid esp_http_client esp_http_server esp_https_ota esp_https_server esp_hw_support esp_jpeg esp_lcd esp_local_ctrl esp_mm esp_netif esp_netif_stack esp_painter esp_partition esp_phy esp_pm esp_psram esp_ringbuf esp_rom esp_system esp_timer esp_vfs_console esp_wifi espcoredump esptool_py fatfs freertos hal heap http_parser idf_test ieee802154 json log lwip main mbedtls mqtt newlib nvs_flash nvs_sec_provider openthread partition_table perfmon protobuf-c protocomm pthread sdmmc soc spi_flash spiffs tcp_transport touch_element ulp unity usb vfs wear_levelling wifi_provisioning wpa_supplicant xtensa -- Component paths: C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/app_trace C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/app_update C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/bootloader C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/bootloader_support C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/bt C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/cmock C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/console C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/cxx C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/driver C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/efuse C:/Users/shang/Desktop/hello_opencv/components/esp-ppbuffer C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp-tls C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_adc C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_app_format C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_bootloader_format C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_coex C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_common C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_ana_cmpr C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_cam C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_dac C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_gpio C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_gptimer C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_i2c C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_i2s C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_isp C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_jpeg C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_ledc C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_mcpwm C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_parlio C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_pcnt C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_ppa C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_rmt C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_sdio C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_sdm C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_sdmmc C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_sdspi C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_spi C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_touch_sens C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_tsens C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_uart C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_driver_usb_serial_jtag C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_eth C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_event C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_gdbstub C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_hid C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_http_client C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_http_server C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_https_ota C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_https_server C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_hw_support C:/Users/shang/Desktop/hello_opencv/components/esp_jpeg C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_lcd C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_local_ctrl C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_mm C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_netif C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_netif_stack C:/Users/shang/Desktop/hello_opencv/components/esp_painter C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_partition C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_phy C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_pm C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_psram C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_ringbuf C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_rom C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_system C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_timer C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_vfs_console C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esp_wifi C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/espcoredump C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/esptool_py C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/fatfs C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/freertos C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/hal C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/heap C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/http_parser C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/idf_test C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/ieee802154 C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/json C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/log C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/lwip C:/Users/shang/Desktop/hello_opencv/main C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/mbedtls C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/mqtt C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/newlib C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/nvs_flash C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/nvs_sec_provider C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/openthread C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/partition_table C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/perfmon C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/protobuf-c C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/protocomm C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/pthread C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/sdmmc C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/soc C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/spi_flash C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/spiffs C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/tcp_transport C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/touch_element C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/ulp C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/unity C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/usb C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/vfs C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/wear_levelling C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/wifi_provisioning C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/wpa_supplicant C:/ESP32IDF/Espressif/frameworks/esp-idf-v5.3.1/components/xtensa -- Configuring incomplete, errors occurred! See also "C:/Users/shang/Desktop/hello_opencv/build/CMakeFiles/CMakeOutput.log". cmake failed with exit code 1, output of the command is in the C:\Users\shang\Desktop\hello_opencv\build\log\idf_py_stderr_output_41508 and C:\Users\shang\Desktop\hello_opencv\build\log\idf_py_stdout_output_41508这个是什么错误
06-05
### 解决 ESP-IDF v5.3.1 中 CMake `target_link_libraries` plain signature 错误 #### 问题分析 在使用 ESP-IDF v5.3.1 进行开发时,`CMake Error at main/CMakeLists.txt:36 (target_link_libraries)` 错误通常与目标库的链接方式有关。ESP-IDF 的构建系统要求 `target_link_libraries` 使用现代签名(modern signature),而非旧版签名(plain signature)。如果使用了不支持的语法,CMake 将抛出错误[^1]。 #### 正确配置 `target_link_libraries` 为了确保兼容性,应使用现代签名语法来调用 `target_link_libraries`。以下是一个示例配置: ```cmake target_link_libraries( ${COMPONENT_LIB} PRIVATE ${OPENCV_DEP} esp_rom # 显式链接 esp_rom 以提供 __wrap_longjmp m # 数学库 ) ``` 通过指定 `PRIVATE`、`PUBLIC` 或 `INTERFACE` 关键字,可以明确定义依赖关系的作用范围。此方法避免了因使用旧版签名而导致的错误[^2]。 #### 验证组件注册 确保项目中正确注册了所有组件。例如,在 `idf_component_register` 中声明源文件和头文件路径: ```cmake idf_component_register( SRCS "main.cpp" "utils.cpp" INCLUDE_DIRS "include" ) ``` 如果组件未正确注册,可能导致链接器无法找到目标库。 #### 检查 CMake 版本 ESP-IDF v5.3.1 要求最低版本为 CMake 3.20。可以通过以下命令验证当前版本: ```bash cmake --version ``` 如果版本过低,请升级至符合要求的版本。 #### 清理构建缓存 旧的构建缓存可能包含不兼容的配置,建议清理并重新生成: ```bash rm -rf build/ idf.py fullclean idf.py build ``` #### 示例完整 `CMakeLists.txt` 以下是一个完整的 `CMakeLists.txt` 文件示例,展示如何正确配置项目以避免链接错误: ```cmake cmake_minimum_required(VERSION 3.20) include($ENV{IDF_PATH}/tools/cmake/project.cmake) set(EXTRA_COMPONENT_DIRS components/) project(my_project) idf_component_register( SRCS "main.cpp" "utils.cpp" INCLUDE_DIRS "include" ) # 添加必要的链接库 target_link_libraries( ${COMPONENT_LIB} PRIVATE cxx freertos esp_rom opencv_dep component_lib ) ``` ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值