20240613解决飞凌的OK3588-C的核心板的适配以太网RTL8211F-CG

20240613解决飞凌的OK3588-C的核心板的适配以太网RTL8211F-CG
2024/6/13 16:58


缘起:对于飞凌的OK3588-C的核心板,参照飞凌的底板/开发板。
ETH0空接,ETH1由RTL8211FSI-CG【20¥】更换为RTL8211F-CG【4¥】。
都是千兆网卡,八成是成本的原因。^_

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

    snps,reset-gpio = <&gpio0 RK_PB0 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";
};


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

    snps,reset-gpio = <&gpio0 RK_PB0 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 = "disabled";
};

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

    snps,reset-gpio = <&gpio1 RK_PB4 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 = <0x44>;
    /* rx_delay = <0x4f>; */

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


测试步骤:
台式机/笔记本电脑可以通过WIFI上外网。但是不要再192.168.0.X网段。
由于飞凌的OK3588-C的核心板启动之后,默认IP地址配置为192.168.0.232。
在台式机的以太网卡/笔记本电脑如果没有以太网卡,可以接USB转RJ45网卡。

台式机的IP地址参考配置为:
192.168.0.8
255.255.255.0


Microsoft Windows [版本 10.0.22621.3296]
(c) Microsoft Corporation。保留所有权利。

C:\Users\QQ>ipconfig

Windows IP 配置


无线局域网适配器 本地连接* 1:

   媒体状态  . . . . . . . . . . . . : 媒体已断开连接
   连接特定的 DNS 后缀 . . . . . . . :

无线局域网适配器 本地连接* 2:

   媒体状态  . . . . . . . . . . . . : 媒体已断开连接
   连接特定的 DNS 后缀 . . . . . . . :

无线局域网适配器 WLAN:

   连接特定的 DNS 后缀 . . . . . . . :
   本地链接 IPv6 地址. . . . . . . . : fe80::1a87:11f5:2a01:fb0d%11
   IPv4 地址 . . . . . . . . . . . . : 192.168.3.97
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . : 192.168.3.1

以太网适配器 以太网:

   连接特定的 DNS 后缀 . . . . . . . :
   本地链接 IPv6 地址. . . . . . . . : fe80::acf:748:65e2:32a6%16
   IPv4 地址 . . . . . . . . . . . . : 192.168.0.88
   子网掩码  . . . . . . . . . . . . : 255.255.255.0

   默认网关. . . . . . . . . . . . . :

以太网适配器 蓝牙网络连接:

   媒体状态  . . . . . . . . . . . . : 媒体已断开连接
   连接特定的 DNS 后缀 . . . . . . . :

C:\Users\QQ>


root@ok3588:/# ifconfig
eth0      Link encap:Ethernet  HWaddr 2E:FD:E8:A3:28:CB  
          inet addr:192.168.0.232  Bcast:0.0.0.0  Mask:255.255.255.0

          inet6 addr: fe80::2cfd:e8ff:fea3:28cb/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:38 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:3490 (3.4 KiB)  TX bytes:936 (936.0 B)
          Interrupt:79 

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:127 errors:0 dropped:0 overruns:0 frame:0
          TX packets:127 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:337918 (329.9 KiB)  TX bytes:337918 (329.9 KiB)

root@ok3588:/# 
root@ok3588:/# cd /etc/network/
root@ok3588:/etc/network# 
root@ok3588:/etc/network# ls -l
total 28
drwxr-xr-x 2 root root 4096 Mar  9  2023 if-down.d
drwxr-xr-x 2 root root 4096 Mar  9  2023 if-post-down.d
drwxr-xr-x 2 root root 4096 Mar  9  2023 if-pre-up.d
drwxr-xr-x 2 root root 4096 Mar  9  2023 if-up.d
-rw-r--r-- 1 root root  130 Jan  1 08:05 interfaces
-rw-r--r-- 1 root root  130 Jan  1 08:06 interfaces.bak1
-rwxr-xr-x 1 root root  846 Mar  9  2023 nfs_check
root@ok3588:/etc/network# cat interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.0.232
netmask 255.255.255.0
gateway 192.168.0.1

root@ok3588:/etc/network#


IP地址配置:
笔记本电脑:
192.168.3.97  WIFI上外网
192.168.0.88  USB转RJ以太网,指定静态IP地址。

开发板:
192.168.0.232  刷机之后飞凌指定的静态IP地址。


互PING的LOG:
开发板PING笔记本电脑:
root@ok3588:/etc/network# 
root@ok3588:/etc/network# 
root@ok3588:/etc/network# ping 192.168.0.88
PING 192.168.0.88 (192.168.0.88) 56(84) bytes of data.
64 bytes from 192.168.0.88: icmp_seq=1 ttl=128 time=1.16 ms
64 bytes from 192.168.0.88: icmp_seq=2 ttl=128 time=1.07 ms
64 bytes from 192.168.0.88: icmp_seq=3 ttl=128 time=1.16 ms
64 bytes from 192.168.0.88: icmp_seq=4 ttl=128 time=1.19 ms
64 bytes from 192.168.0.88: icmp_seq=5 ttl=128 time=1.16 ms
64 bytes from 192.168.0.88: icmp_seq=6 ttl=128 time=1.15 ms
64 bytes from 192.168.0.88: icmp_seq=7 ttl=128 time=1.16 ms
64 bytes from 192.168.0.88: icmp_seq=8 ttl=128 time=1.21 ms
64 bytes from 192.168.0.88: icmp_seq=9 ttl=128 time=1.13 ms
64 bytes from 192.168.0.88: icmp_seq=10 ttl=128 time=1.17 ms
64 bytes from 192.168.0.88: icmp_seq=11 ttl=128 time=1.29 ms
64 bytes from 192.168.0.88: icmp_seq=12 ttl=128 time=1.24 ms
64 bytes from 192.168.0.88: icmp_seq=13 ttl=128 time=1.23 ms
64 bytes from 192.168.0.88: icmp_seq=14 ttl=128 time=1.17 ms
64 bytes from 192.168.0.88: icmp_seq=15 ttl=128 time=1.22 ms
64 bytes from 192.168.0.88: icmp_seq=16 ttl=128 time=1.16 ms
64 bytes from 192.168.0.88: icmp_seq=17 ttl=128 time=1.15 ms
64 bytes from 192.168.0.88: icmp_seq=18 ttl=128 time=1.15 ms
64 bytes from 192.168.0.88: icmp_seq=19 ttl=128 time=1.30 ms
64 bytes from 192.168.0.88: icmp_seq=20 ttl=128 time=1.21 ms
64 bytes from 192.168.0.88: icmp_seq=21 ttl=128 time=1.20 ms
64 bytes from 192.168.0.88: icmp_seq=22 ttl=128 time=1.23 ms
64 bytes from 192.168.0.88: icmp_seq=23 ttl=128 time=1.22 ms
64 bytes from 192.168.0.88: icmp_seq=24 ttl=128 time=1.17 ms
64 bytes from 192.168.0.88: icmp_seq=25 ttl=128 time=1.19 ms
64 bytes from 192.168.0.88: icmp_seq=26 ttl=128 time=1.17 ms
64 bytes from 192.168.0.88: icmp_seq=27 ttl=128 time=1.24 ms
64 bytes from 192.168.0.88: icmp_seq=28 ttl=128 time=1.24 ms
64 bytes from 192.168.0.88: icmp_seq=29 ttl=128 time=1.18 ms
64 bytes from 192.168.0.88: icmp_seq=30 ttl=128 time=1.21 ms
64 bytes from 192.168.0.88: icmp_seq=31 ttl=128 time=1.25 ms
64 bytes from 192.168.0.88: icmp_seq=32 ttl=128 time=1.08 ms
64 bytes from 192.168.0.88: icmp_seq=33 ttl=128 time=1.28 ms
64 bytes from 192.168.0.88: icmp_seq=34 ttl=128 time=1.19 ms
64 bytes from 192.168.0.88: icmp_seq=35 ttl=128 time=1.16 ms
64 bytes from 192.168.0.88: icmp_seq=36 ttl=128 time=1.15 ms
64 bytes from 192.168.0.88: icmp_seq=37 ttl=128 time=1.26 ms
64 bytes from 192.168.0.88: icmp_seq=38 ttl=128 time=1.27 ms
64 bytes from 192.168.0.88: icmp_seq=39 ttl=128 time=1.22 ms
64 bytes from 192.168.0.88: icmp_seq=40 ttl=128 time=1.22 ms
64 bytes from 192.168.0.88: icmp_seq=41 ttl=128 time=1.17 ms
64 bytes from 192.168.0.88: icmp_seq=42 ttl=128 time=1.14 ms
64 bytes from 192.168.0.88: icmp_seq=43 ttl=128 time=1.11 ms
64 bytes from 192.168.0.88: icmp_seq=44 ttl=128 time=1.18 ms
64 bytes from 192.168.0.88: icmp_seq=45 ttl=128 time=1.21 ms
64 bytes from 192.168.0.88: icmp_seq=46 ttl=128 time=1.24 ms
64 bytes from 192.168.0.88: icmp_seq=47 ttl=128 time=1.19 ms
64 bytes from 192.168.0.88: icmp_seq=48 ttl=128 time=1.26 ms
64 bytes from 192.168.0.88: icmp_seq=49 ttl=128 time=1.14 ms
64 bytes from 192.168.0.88: icmp_seq=50 ttl=128 time=1.11 ms
64 bytes from 192.168.0.88: icmp_seq=51 ttl=128 time=1.10 ms
64 bytes from 192.168.0.88: icmp_seq=52 ttl=128 time=1.26 ms
64 bytes from 192.168.0.88: icmp_seq=53 ttl=128 time=1.14 ms
64 bytes from 192.168.0.88: icmp_seq=54 ttl=128 time=1.18 ms
^C
--- 192.168.0.88 ping statistics ---
54 packets transmitted, 54 received, 0% packet loss, time 53097ms
rtt min/avg/max/mdev = 1.068/1.188/1.300/0.051 ms
root@ok3588:/etc/network# 


笔记本电脑PING开发板:
Microsoft Windows [版本 10.0.22621.3296]
(c) Microsoft Corporation。保留所有权利。

C:\Users\QQ>ping 192.168.0.232

正在 Ping 192.168.0.232 具有 32 字节的数据:
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64

192.168.0.232 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 1ms,最长 = 1ms,平均 = 1ms

C:\Users\QQ>ping 192.168.0.232 -n 1000

正在 Ping 192.168.0.232 具有 32 字节的数据:
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.0.232 的回复: 字节=32 时间=1ms TTL=64

192.168.0.232 的 Ping 统计信息:
    数据包: 已发送 = 68,已接收 = 68,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 1ms,最长 = 1ms,平均 = 1ms
Control-C
^C
C:\Users\QQ>

参考资料:
百度:RTL8211F-CG 没有25M 时钟
RTL8211F-CG 晶振异常
RTL8211FSI-CG
RK3588 RTL8112 没有时钟


https://www.bilibili.com/read/cv24247728/
RK3588 编解码盒子 之 RTL8211FS-CG光口调试

3.1.4 调试
打开IO调试命令
CONFIG_DEVMEM=y

3.1.5 操作寄存器
find /sys -name phy_registers //先找到以太网寄存器的配置节点并进入所在目录
echo 31 0xdc0 >phy_registers //切换到PHY的PAGE 0xdc0
cat phy_registers //读取当前PAGE寄存器的值,核对PHYID1,PHYID2是否正确来确认寄存器是否正确
echo 0 0x value >phy_registers //改写PAGE0第0个寄存器的值为需要的value
cat phy_registers //读取值检查是否修改成功
echo 31 0 > phy_registers //切回到PAGE0寄存器!!!!重要,一定写完要切回来才会生效 作者:armsom开源硬件 https://www.bilibili.com/read/cv24247728/ 出处:bilibili


https://blog.csdn.net/yls199234/article/details/137047804
RTL8211FSI-CG千兆PHY芯片硬件调试——磁珠导致的芯片工作异常


https://zhuanlan.zhihu.com/p/668435075
RTL8211EG硬件问题解决办法


https://blog.csdn.net/qq_43092637/article/details/126133189
Atlas200关于RTL8211FSI和YT8521SH千兆以太PHY调试心得


https://blog.csdn.net/niewei120/article/details/126520561
RTL8211E网口芯片在Uboot下调试问题


http://bbs.witech.com.cn/article-1230-1.html
关于PHY芯片RTL8211FS(I)-CG


https://www.sohu.com/a/722348649_121495387
RK3588 接口电路的PCB设计建议

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/710745.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

高精度减法的实现

这是C算法基础-基础算法专栏的第八篇文章&#xff0c;专栏详情请见此处。 引入 上次我们学习了高精度加法的实现&#xff0c;这次我们要学习高精度减法的实现。 高精度减法与高精度加法的定义、前置过程都是大致相同的&#xff0c;如果想了解具体内容&#xff0c;可以移步至我的…

RFID技术助力资产信息数字化转型

在当前快速发展的信息化时代&#xff0c;资产信息的数字化转型对企业管理和运营具有重要意义。RFID技术作为一种先进的物联网技术&#xff0c;通过将资产信息全面数字化&#xff0c;实现高效、准确的管理和追踪&#xff0c;极大地提升了企业的运营效率和管理水平。 首先&#x…

自学C语言-9

** 第9章 函数 ** 大型程序一般会被分为若干个程序模块&#xff0c;每个模块实现一个特定功能 。C语言中&#xff0c;由函数实现子程序&#xff0c;由子程序实现模块功能。本章致力于使读者了解函数的概念&#xff0c;掌握函数的定义及调用方式&#xff1b;了解内部函数和外部…

2024 跨境电商线下大会+Shopee专题峰会将在广州举办

随着全球化的不断深入&#xff0c;美妆市场和跨境电商行业正迎来前所未有的发展机遇。 在这个充满活力的领域&#xff0c;创新和跨界合作已成为推动行业发展的关键动力。 定于7月4日上午10:00 在广州空港博览中心举办的2024 跨境电商线下大会暨Shopee广州首届(美妆)峰会则是一…

Bigtable: A Distributed Storage System for Structured Data

2003年USENIX&#xff0c;出自谷歌&#xff0c;开启分布式大数据时代的三篇论文之一&#xff0c;底层依赖 GFS 存储&#xff0c;上层供 MapReduce 查询使用 Abstract 是一种分布式结构化数据存储管理系统&#xff0c;存储量级是PB级别。存储的数据类型和延时要求差异都很大。…

Java版+ SaaS应用+接口技术RESTful API 技术开发的智慧医院HIS系统源码 专注医院管理系统研发 支持二开

Java版 SaaS应用接口技术RESTful API WebSocket WebService技术开发的智慧医院HIS系统源码 专注医院管理系统研发 支持二开 医院住院管理系统&#xff08;Hospital Information System简称HIS&#xff09;是一门医学、信息、管理、计算机等多种学科为一体的边缘科学&#xff…

文件系统小册(FusePosixK8s csi)【3 K8s csi】

文件系统小册&#xff08;Fuse&Posix&K8s csi&#xff09;【3 K8s csi】 往期文章&#xff1a; 文件系统小册&#xff08;Fuse&Posix&K8s csi&#xff09;【1 Fuse】文件系统小册&#xff08;Fuse&Posix&K8s csi&#xff09;【2 Posix标准】 0 核心知识…

算法007:三数之和

. - 力扣&#xff08;LeetCode&#xff09;. - 备战技术面试&#xff1f;力扣提供海量技术面试资源&#xff0c;帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/3sum/ 这个题相较于前几个题来说比较难&#xff0c;思想是前面一个题目…

c++使用nlohmann读取json文件

下载&#xff1a; GitHub - nlohmann/json: JSON for Modern C 解压&#xff1a; 包含头文件&#xff1a; 要包含的头文件和要使用的命名空间&#xff1a; #include <nlohmann/json.hpp>using json nlohmann::json; 测试文件&#xff1a; 代码&#xff1a; #include…

从零开始学习Java多维数组,一文教会你。

哈喽&#xff0c;各位小伙伴们&#xff0c;你们好呀&#xff0c;我是喵手。运营社区&#xff1a;C站/掘金/腾讯云&#xff1b;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点&#xff0c;并以文字的形式跟大家一起交流&#xff0c;互相学习&#xff0c;一…

【three.js】旋转、缩放、平移几何体

目录 一、缩放 二、平移 三、旋转 四、居中 附源码 BufferGeometry通过.scale()、.translate()、.rotateX()、.rotateY()等方法可以对几何体本身进行缩放、平移、旋转,这些方法本质上都是改变几何体的顶点数据。 我们先创建一个平面物体,样子是这样的。 一、缩放 // 几何…

DELL服务器插入新磁盘、创建虚拟磁盘、挂载磁盘步骤

文章目录 一、磁盘清理&#xff08;可选&#xff0c;针对新硬盘是Foreign状态&#xff09;1、进入VD Mgmt2、清理新硬盘配置 二、创建虚拟磁盘1、进入Device Settings2、创建虚拟磁盘 三、挂载磁盘到系统1、分区磁盘&#xff08;注意实际磁盘的名称&#xff09;2、格式化分区3、…

快慢指针在字符串中的应用-443. 压缩字符串

题目链接及描述 443. 压缩字符串 - 力扣&#xff08;LeetCode&#xff09; 题目分析 这个题目总体不算太难&#xff0c;如果之前接触过双指针&#xff08;快慢指针&#xff09;的话&#xff0c;比较好做。题目可以理解为计算数组中对应各个连续字符出现的次数&#xff0c;并将…

8.22 PowerBI系列之DAX函数专题-盈亏平衡分析

需求 实现 一、用参数设置固定成本&#xff0c;单位变动成本&#xff0c;与毛利率 1 单位变动成本 generateseries(0,100,1) 2 固定成本 generateseries(0,50000,1) 3 毛利率 generateseries(0,0.4,0.01) 二、度量值 1 总变动成本 [单位变动成本 值]*[销量 值] 2 总成本…

除了英伟达,这些AI概念公司在2024年还有巨大的投资价值(五)

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 猛兽财经在英伟达还没拆股前&#xff0c;股价还是100多美元时&#xff08;2019年&#xff09;就曾多次公开发布文章呼吁大家关注并投资英伟达&#xff0c;以下是猛兽财经在2019年到2022年间公开发布的关于英伟达的部分文…

基于matlab的MTCNN(多任务卷积神经网络)人脸检测算法

关键词&#xff1a;Matlab&#xff1b;深度学习&#xff1b;多任务卷积神经网络&#xff1b;人脸检测&#xff1b; 背景 在不受约束的环境中&#xff0c;由于个体姿势的多样性、光照条件的变化以及潜在的遮挡问题&#xff0c;人脸检测和对齐任务面临诸多挑战。近期的研究表明…

el-table表头文字换行或者修改字体颜色样式

例如 <el-table:data"tableData":header-cell-style"headClass" style"width: 100%;" border ><el-table-columnprop"address"label"生产工序"align"center"></el-table-column> //重点看这里…

操作系统 c语言模仿 磁盘文件操作

1&#xff0e;实验目的 深入了解磁盘文件系统的实现。 2&#xff0e;实验预备知识 文件的操作&#xff1b; 文件的逻辑结构和物理结构&#xff1b; 磁盘空间的管理&#xff1b; 磁盘目录结构。 3&#xff0e;实验内容 设计一个简单的文件系统&#xff0c;用文件模拟磁盘&…

手机上安装AI模型是一种什么体验?

昨天参加微软的AI DAY活动&#xff0c;看到微软的技术大佬分享了一个场景&#xff0c;就是坐飞机从上海到北京&#xff0c;机长广播因为天气原因&#xff0c;飞机需要盲降&#xff0c;他说当时听到盲降第一反应感觉有点恐慌&#xff0c;但是因为飞机上受限于网络环境&#xff0…

Stable Diffusion入门指南(看完必会)超全面

作者&#xff1a;SuMu 链接&#xff1a;https://zhuanlan.zhihu.com/p/703196651 来源&#xff1a;知乎 著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。 今天写这个帖子是带大家了解一款强大的 AI 绘画工具——Stable Diffusion&#xff…