20240531在飞凌的OK3588-C开发板上跑原厂的Buildroot测试ETH0接口【仅供参考】

20240531在飞凌的OK3588-C开发板上跑原厂的Buildroot测试ETH0接口
2024/5/31 20:28


root@rk3588-buildroot:/# ifconfig eth0 up
root@rk3588-buildroot:/# ifconfig eth1 up
root@rk3588-buildroot:/# ifconfig
root@rk3588-buildroot:/# 
root@rk3588-buildroot:/# ifconfig eth1 192.168.3.232
root@rk3588-buildroot:/# 
root@rk3588-buildroot:/# ifconfig
root@rk3588-buildroot:/# ping 192.168.3.85
rootroot@rootroot-ThinkBook-16-G5-IRH:~$ ping 192.168.3.232


由于ETH0/ETH1在莫名其妙的情况下被烧毁了!【都发烫了】
硬件花费了老鼻子劲才将ETH0修好。ETH1不想搞!
直接搬家的IPC的DTS上的gmac0,而不是飞凌原厂的DTS。因此本文仅供参考!
【后果/神奇的是,eth0变成eth1通了,但是摄像头找不到了!^_】

虽然可以PING通,但是只有黄色灯在闪烁,绿色灯没有亮,更不用说常亮了!

Z:\RK3588_IPC_SDK\sysdrv\source\kernel\arch\arm64\boot\dts\rockchip\rk3588-nvr-demo.dtsi
Z:\repo_RK3588_Buildroot20240508\kernel\arch\arm64\boot\dts\rockchip\rk3588-evb7-v11.dtsi
&dsi1_panel {
    power-supply = <&vcc3v3_lcd_n>;

    /*
     * because in hardware, the two screens share the reset pin,
     * so reset-gpios need only in dsi1 enable and dsi0 disabled
     * case.
     */

    //reset-gpios = <&gpio0 RK_PD3 GPIO_ACTIVE_LOW>;
    //pinctrl-names = "default";
    //pinctrl-0 = <&lcd_rst_gpio>;
};

&gmac0 {
    /* Use rgmii-rxid mode to disable rx delay inside Soc */
    phy-mode = "rgmii-rxid";
    clock_in_out = "output";

    snps,reset-gpio = <&gpio4 RK_PB3 GPIO_ACTIVE_LOW>;
    snps,reset-active-low;
    /* Reset time is 20ms, 100ms for rtl8211f */
    snps,reset-delays-us = <0 20000 100000>;

    pinctrl-names = "default";
    pinctrl-0 = <&gmac0_miim
             &gmac0_tx_bus2
             &gmac0_rx_bus2
             &gmac0_rgmii_clk
             &gmac0_rgmii_bus>;

    tx_delay = <0x44>;
    /* rx_delay = <0x4f>; */

    phy-handle = <&rgmii_phy0>;
    status = "okay";
};

&gmac1 {
    /* Use rgmii-rxid mode to disable rx delay inside Soc */
    phy-mode = "rgmii-rxid";
    clock_in_out = "output";

    snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
    snps,reset-active-low;
    /* Reset time is 20ms, 100ms for rtl8211f */
    snps,reset-delays-us = <0 20000 100000>;

    pinctrl-names = "default";
    pinctrl-0 = <&gmac1_miim
             &gmac1_tx_bus2
             &gmac1_rx_bus2
             &gmac1_rgmii_clk
             &gmac1_rgmii_bus>;

    tx_delay = <0x43>;
    /* rx_delay = <0x3f>; */

    phy-handle = <&rgmii_phy>;
    status = "okay";
};


&i2s6_8ch {
    status = "okay";
};

&i2s7_8ch {
    status = "okay";
};

&mdio0 {
    rgmii_phy0: phy@1 {
        compatible = "ethernet-phy-ieee802.3-c22";
        reg = <0x1>;
    };
};

&mdio1 {
    rgmii_phy: phy@1 {
        compatible = "ethernet-phy-ieee802.3-c22";
        reg = <0x1>;
    };
};

&mipi_dcphy0 {
    status = "okay";
};


原始LOG:
root@rk3588-buildroot:/# 
root@rk3588-buildroot:/# 
root@rk3588-buildroot:/# 
root@rk3588-buildroot:/# 
root@rk3588-buildroot:/# ifconfig
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:36 errors:0 dropped:0 overruns:0 frame:0
          TX packets:36 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2608 (2.5 KiB)  TX bytes:2608 (2.5 KiB)

root@rk3588-buildroot:/#         
root@rk3588-buildroot:/# 
root@rk3588-buildroot:/# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 16:B5:8E:1B:42:CB  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:88 

eth1      Link encap:Ethernet  HWaddr 12:B5:8E:1B:42:CB  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:140 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:38 errors:0 dropped:0 overruns:0 frame:0
          TX packets:38 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2728 (2.6 KiB)  TX bytes:2728 (2.6 KiB)

root@rk3588-buildroot:/# 
root@rk3588-buildroot:/# 
root@rk3588-buildroot:/# ifconfig eth0 up
[   34.783304] rk_gmac-dwmac fe1c0000.ethernet eth0: no phy found
ifconfig: SIOCSIFFLAGS: No such device
[   34.783342] rk_gmac-dwmac fe1c0000.ethernet eth0: stmmac_open: Cannot attach to PHY (error: -19)
root@rk3588-buildroot:/# 
root@rk3588-buildroot:/# ifconfig eth1 up
[   42.914082] rk_gmac-dwmac fe1b0000.ethernet eth1: PHY [stmmac-0:01] driver [RTL8211F Gigabit Ethernet] (irq=POLL)
[   42.916074] dwmac4: Master AXI performs any burst length
[   42.916102] rk_gmac-dwmac fe1b0000.ethernet eth1: No Safety Features support found
[   42.916120] rk_gmac-dwmac fe1b0000.ethernet eth1: IEEE 1588-2008 Advanced Timestamp supported
[   42.916287] rk_gmac-dwmac fe1b0000.ethernet eth1: registered PTP clock
[   42.916649] rk_gmac-dwmac fe1b0000.ethernet eth1: configuring for phy/rgmii-rxid link mode
root@rk3588-buildroot:/# [   42.942947] rk_gmac-dwmac fe1b0000.ethernet eth1: Link is Up - 1Gbps/Full - flow control rx/tx
[   42.942978] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready

root@rk3588-buildroot:/# 
root@rk3588-buildroot:/# ifconfig
eth1      Link encap:Ethernet  HWaddr 12:B5:8E:1B:42:CB  
          inet6 addr: fe80::10b5:8eff:fe1b:42cb/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:56 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:7871 (7.6 KiB)  TX bytes:586 (586.0 B)
          Interrupt:140 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:50 errors:0 dropped:0 overruns:0 frame:0
          TX packets:50 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:3448 (3.3 KiB)  TX bytes:3448 (3.3 KiB)

root@rk3588-buildroot:/# 
root@rk3588-buildroot:/# 
root@rk3588-buildroot:/# ifconfig eth1 192.168.3.232
root@rk3588-buildroot:/# 
root@rk3588-buildroot:/# ifconfig
eth1      Link encap:Ethernet  HWaddr 12:B5:8E:1B:42:CB  
          inet addr:192.168.3.232  Bcast:192.168.3.255  Mask:255.255.255.0
          inet6 addr: fe80::10b5:8eff:fe1b:42cb/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:533 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:79525 (77.6 KiB)  TX bytes:1328 (1.2 KiB)
          Interrupt:140 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:86 errors:0 dropped:0 overruns:0 frame:0
          TX packets:86 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:5608 (5.4 KiB)  TX bytes:5608 (5.4 KiB)

root@rk3588-buildroot:/# 
root@rk3588-buildroot:/# ping 192.168.3.85
PING 192.168.3.85 (192.168.3.85) 56(84) bytes of data.
64 bytes from 192.168.3.85: icmp_seq=1 ttl=64 time=0.514 ms
64 bytes from 192.168.3.85: icmp_seq=2 ttl=64 time=0.457 ms
64 bytes from 192.168.3.85: icmp_seq=3 ttl=64 time=0.451 ms
64 bytes from 192.168.3.85: icmp_seq=4 ttl=64 time=0.450 ms
64 bytes from 192.168.3.85: icmp_seq=5 ttl=64 time=0.423 ms
64 bytes from 192.168.3.85: icmp_seq=6 ttl=64 time=0.411 ms
64 bytes from 192.168.3.85: icmp_seq=7 ttl=64 time=0.451 ms
64 bytes from 192.168.3.85: icmp_seq=8 ttl=64 time=0.413 ms
64 bytes from 192.168.3.85: icmp_seq=9 ttl=64 time=0.541 ms
64 bytes from 192.168.3.85: icmp_seq=10 ttl=64 time=0.430 ms
64 bytes from 192.168.3.85: icmp_seq=11 ttl=64 time=0.412 ms
64 bytes from 192.168.3.85: icmp_seq=12 ttl=64 time=0.436 ms
64 bytes from 192.168.3.85: icmp_seq=13 ttl=64 time=0.415 ms
64 bytes from 192.168.3.85: icmp_seq=14 ttl=64 time=0.426 ms
64 bytes from 192.168.3.85: icmp_seq=15 ttl=64 time=0.455 ms
64 bytes from 192.168.3.85: icmp_seq=16 ttl=64 time=0.458 ms
64 bytes from 192.168.3.85: icmp_seq=17 ttl=64 time=0.429 ms
64 bytes from 192.168.3.85: icmp_seq=18 ttl=64 time=0.429 ms
64 bytes from 192.168.3.85: icmp_seq=19 ttl=64 time=0.542 ms
64 bytes from 192.168.3.85: icmp_seq=20 ttl=64 time=0.453 ms
64 bytes from 192.168.3.85: icmp_seq=21 ttl=64 time=0.460 ms
64 bytes from 192.168.3.85: icmp_seq=22 ttl=64 time=0.474 ms
64 bytes from 192.168.3.85: icmp_seq=23 ttl=64 time=0.469 ms
64 bytes from 192.168.3.85: icmp_seq=24 ttl=64 time=0.459 ms
64 bytes from 192.168.3.85: icmp_seq=25 ttl=64 time=0.460 ms
64 bytes from 192.168.3.85: icmp_seq=26 ttl=64 time=0.445 ms
64 bytes from 192.168.3.85: icmp_seq=27 ttl=64 time=0.456 ms
64 bytes from 192.168.3.85: icmp_seq=28 ttl=64 time=0.451 ms
64 bytes from 192.168.3.85: icmp_seq=29 ttl=64 time=0.444 ms
64 bytes from 192.168.3.85: icmp_seq=30 ttl=64 time=0.539 ms
64 bytes from 192.168.3.85: icmp_seq=31 ttl=64 time=0.452 ms
64 bytes from 192.168.3.85: icmp_seq=32 ttl=64 time=0.504 ms
64 bytes from 192.168.3.85: icmp_seq=33 ttl=64 time=0.461 ms
64 bytes from 192.168.3.85: icmp_seq=34 ttl=64 time=0.533 ms
64 bytes from 192.168.3.85: icmp_seq=35 ttl=64 time=0.417 ms
64 bytes from 192.168.3.85: icmp_seq=36 ttl=64 time=0.521 ms
64 bytes from 192.168.3.85: icmp_seq=37 ttl=64 time=0.455 ms
64 bytes from 192.168.3.85: icmp_seq=38 ttl=64 time=0.241 ms
64 bytes from 192.168.3.85: icmp_seq=39 ttl=64 time=0.427 ms
64 bytes from 192.168.3.85: icmp_seq=40 ttl=64 time=0.540 ms
64 bytes from 192.168.3.85: icmp_seq=41 ttl=64 time=0.530 ms
64 bytes from 192.168.3.85: icmp_seq=42 ttl=64 time=0.542 ms
64 bytes from 192.168.3.85: icmp_seq=43 ttl=64 time=0.441 ms
64 bytes from 192.168.3.85: icmp_seq=44 ttl=64 time=0.468 ms
64 bytes from 192.168.3.85: icmp_seq=45 ttl=64 time=0.413 ms
64 bytes from 192.168.3.85: icmp_seq=46 ttl=64 time=0.443 ms
64 bytes from 192.168.3.85: icmp_seq=47 ttl=64 time=0.557 ms
64 bytes from 192.168.3.85: icmp_seq=48 ttl=64 time=0.425 ms
64 bytes from 192.168.3.85: icmp_seq=49 ttl=64 time=0.435 ms
64 bytes from 192.168.3.85: icmp_seq=50 ttl=64 time=0.425 ms
64 bytes from 192.168.3.85: icmp_seq=51 ttl=64 time=0.423 ms
64 bytes from 192.168.3.85: icmp_seq=52 ttl=64 time=0.427 ms
64 bytes from 192.168.3.85: icmp_seq=53 ttl=64 time=0.423 ms
64 bytes from 192.168.3.85: icmp_seq=54 ttl=64 time=0.430 ms
64 bytes from 192.168.3.85: icmp_seq=55 ttl=64 time=0.430 ms
64 bytes from 192.168.3.85: icmp_seq=56 ttl=64 time=0.449 ms
64 bytes from 192.168.3.85: icmp_seq=57 ttl=64 time=0.429 ms
64 bytes from 192.168.3.85: icmp_seq=58 ttl=64 time=0.444 ms
64 bytes from 192.168.3.85: icmp_seq=59 ttl=64 time=0.428 ms
64 bytes from 192.168.3.85: icmp_seq=60 ttl=64 time=0.440 ms
64 bytes from 192.168.3.85: icmp_seq=61 ttl=64 time=0.535 ms
64 bytes from 192.168.3.85: icmp_seq=62 ttl=64 time=0.412 ms
64 bytes from 192.168.3.85: icmp_seq=63 ttl=64 time=0.440 ms
64 bytes from 192.168.3.85: icmp_seq=64 ttl=64 time=0.540 ms
64 bytes from 192.168.3.85: icmp_seq=65 ttl=64 time=0.450 ms
64 bytes from 192.168.3.85: icmp_seq=66 ttl=64 time=0.532 ms
64 bytes from 192.168.3.85: icmp_seq=67 ttl=64 time=0.414 ms
64 bytes from 192.168.3.85: icmp_seq=68 ttl=64 time=0.519 ms
64 bytes from 192.168.3.85: icmp_seq=69 ttl=64 time=0.434 ms
64 bytes from 192.168.3.85: icmp_seq=70 ttl=64 time=0.531 ms
64 bytes from 192.168.3.85: icmp_seq=71 ttl=64 time=0.427 ms
64 bytes from 192.168.3.85: icmp_seq=72 ttl=64 time=0.414 ms
64 bytes from 192.168.3.85: icmp_seq=73 ttl=64 time=0.521 ms
64 bytes from 192.168.3.85: icmp_seq=74 ttl=64 time=0.436 ms
64 bytes from 192.168.3.85: icmp_seq=75 ttl=64 time=0.535 ms
64 bytes from 192.168.3.85: icmp_seq=76 ttl=64 time=0.530 ms
64 bytes from 192.168.3.85: icmp_seq=77 ttl=64 time=0.393 ms
64 bytes from 192.168.3.85: icmp_seq=78 ttl=64 time=0.408 ms
64 bytes from 192.168.3.85: icmp_seq=79 ttl=64 time=0.404 ms
64 bytes from 192.168.3.85: icmp_seq=80 ttl=64 time=0.425 ms
64 bytes from 192.168.3.85: icmp_seq=81 ttl=64 time=0.404 ms
64 bytes from 192.168.3.85: icmp_seq=82 ttl=64 time=0.437 ms
64 bytes from 192.168.3.85: icmp_seq=83 ttl=64 time=0.413 ms
64 bytes from 192.168.3.85: icmp_seq=84 ttl=64 time=0.426 ms
64 bytes from 192.168.3.85: icmp_seq=85 ttl=64 time=0.426 ms
64 bytes from 192.168.3.85: icmp_seq=86 ttl=64 time=0.436 ms
64 bytes from 192.168.3.85: icmp_seq=87 ttl=64 time=0.442 ms
64 bytes from 192.168.3.85: icmp_seq=88 ttl=64 time=0.409 ms
64 bytes from 192.168.3.85: icmp_seq=89 ttl=64 time=0.427 ms
64 bytes from 192.168.3.85: icmp_seq=90 ttl=64 time=0.456 ms
64 bytes from 192.168.3.85: icmp_seq=91 ttl=64 time=0.458 ms
64 bytes from 192.168.3.85: icmp_seq=92 ttl=64 time=0.436 ms
64 bytes from 192.168.3.85: icmp_seq=93 ttl=64 time=0.434 ms
^C
--- 192.168.3.85 ping statistics ---
93 packets transmitted, 93 received, 0% packet loss, time 93222ms
rtt min/avg/max/mdev = 0.241/0.452/0.557/0.047 ms
root@rk3588-buildroot:/# 
root@rk3588-buildroot:/# 


viewpro@viewpro-ThinkBook-16-G5-IRH:~$ 
viewpro@viewpro-ThinkBook-16-G5-IRH:~$ ping 192.168.3.232
PING 192.168.3.232 (192.168.3.232) 56(84) bytes of data.
64 bytes from 192.168.3.232: icmp_seq=1 ttl=64 time=0.421 ms
64 bytes from 192.168.3.232: icmp_seq=2 ttl=64 time=0.400 ms
64 bytes from 192.168.3.232: icmp_seq=3 ttl=64 time=0.407 ms
64 bytes from 192.168.3.232: icmp_seq=4 ttl=64 time=0.411 ms
64 bytes from 192.168.3.232: icmp_seq=5 ttl=64 time=0.424 ms
64 bytes from 192.168.3.232: icmp_seq=6 ttl=64 time=0.409 ms
64 bytes from 192.168.3.232: icmp_seq=7 ttl=64 time=0.489 ms
64 bytes from 192.168.3.232: icmp_seq=8 ttl=64 time=0.418 ms
64 bytes from 192.168.3.232: icmp_seq=9 ttl=64 time=0.409 ms
64 bytes from 192.168.3.232: icmp_seq=10 ttl=64 time=0.408 ms
64 bytes from 192.168.3.232: icmp_seq=11 ttl=64 time=0.408 ms
64 bytes from 192.168.3.232: icmp_seq=12 ttl=64 time=0.408 ms
64 bytes from 192.168.3.232: icmp_seq=13 ttl=64 time=0.418 ms
64 bytes from 192.168.3.232: icmp_seq=14 ttl=64 time=0.405 ms
64 bytes from 192.168.3.232: icmp_seq=15 ttl=64 time=0.410 ms
64 bytes from 192.168.3.232: icmp_seq=16 ttl=64 time=0.407 ms
64 bytes from 192.168.3.232: icmp_seq=17 ttl=64 time=0.409 ms
64 bytes from 192.168.3.232: icmp_seq=18 ttl=64 time=0.411 ms
64 bytes from 192.168.3.232: icmp_seq=19 ttl=64 time=0.490 ms
64 bytes from 192.168.3.232: icmp_seq=20 ttl=64 time=0.413 ms
64 bytes from 192.168.3.232: icmp_seq=21 ttl=64 time=0.408 ms
64 bytes from 192.168.3.232: icmp_seq=22 ttl=64 time=0.421 ms
64 bytes from 192.168.3.232: icmp_seq=23 ttl=64 time=0.414 ms
64 bytes from 192.168.3.232: icmp_seq=24 ttl=64 time=0.405 ms
64 bytes from 192.168.3.232: icmp_seq=25 ttl=64 time=0.398 ms
64 bytes from 192.168.3.232: icmp_seq=26 ttl=64 time=0.410 ms
64 bytes from 192.168.3.232: icmp_seq=27 ttl=64 time=0.400 ms
64 bytes from 192.168.3.232: icmp_seq=28 ttl=64 time=0.424 ms
64 bytes from 192.168.3.232: icmp_seq=29 ttl=64 time=0.408 ms
64 bytes from 192.168.3.232: icmp_seq=30 ttl=64 time=0.413 ms
64 bytes from 192.168.3.232: icmp_seq=31 ttl=64 time=0.421 ms
64 bytes from 192.168.3.232: icmp_seq=32 ttl=64 time=0.410 ms
64 bytes from 192.168.3.232: icmp_seq=33 ttl=64 time=0.498 ms
64 bytes from 192.168.3.232: icmp_seq=34 ttl=64 time=0.420 ms
64 bytes from 192.168.3.232: icmp_seq=35 ttl=64 time=0.505 ms
64 bytes from 192.168.3.232: icmp_seq=36 ttl=64 time=0.452 ms
64 bytes from 192.168.3.232: icmp_seq=37 ttl=64 time=0.435 ms
64 bytes from 192.168.3.232: icmp_seq=38 ttl=64 time=0.408 ms
64 bytes from 192.168.3.232: icmp_seq=39 ttl=64 time=0.393 ms
64 bytes from 192.168.3.232: icmp_seq=40 ttl=64 time=0.391 ms
64 bytes from 192.168.3.232: icmp_seq=41 ttl=64 time=0.403 ms
64 bytes from 192.168.3.232: icmp_seq=42 ttl=64 time=0.409 ms
64 bytes from 192.168.3.232: icmp_seq=43 ttl=64 time=0.413 ms
64 bytes from 192.168.3.232: icmp_seq=44 ttl=64 time=0.401 ms
64 bytes from 192.168.3.232: icmp_seq=45 ttl=64 time=0.412 ms
64 bytes from 192.168.3.232: icmp_seq=46 ttl=64 time=0.441 ms
64 bytes from 192.168.3.232: icmp_seq=47 ttl=64 time=0.410 ms
64 bytes from 192.168.3.232: icmp_seq=48 ttl=64 time=0.400 ms
^C
--- 192.168.3.232 ping statistics ---
48 packets transmitted, 48 received, 0% packet loss, time 48139ms
rtt min/avg/max/mdev = 0.391/0.418/0.505/0.025 ms
viewpro@viewpro-ThinkBook-16-G5-IRH:~$ 

  • 11
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值