学校网页网站模板免费下载,潍坊网站建设方案书,极简简历官网,分析海报的网站前言 开发板型号#xff1a; 【正点原子】 的 RK3568 开发板 AtomPi-CA1 使用 虚拟机 ubuntu 20.04 收到单独 编译 RK3568 u-boot 使用 rockchip Linux 内核的设备树 【替换】 u-boot 下的 rk3568 开发板设备树文件#xff0c;解决 u-boot 下千兆网卡设备能识别但是无法 Pi…前言 开发板型号 【正点原子】 的 RK3568 开发板 AtomPi-CA1 使用 虚拟机 ubuntu 20.04 收到单独 编译 RK3568 u-boot 使用 rockchip Linux 内核的设备树 【替换】 u-boot 下的 rk3568 开发板设备树文件解决 u-boot 下千兆网卡设备能识别但是无法 Ping 通 PC 问题 u-boot 下网络可以 ping 通了u-boot ping 通 PC 主机。 本篇记录通过 tfpt 拉取 u-boot 镜像然后通过 u-boot mmc 命令烧写更新 u-boot 本身
u-boot 网络配置
根据当前网络连接进行 u-boot 下 网络配置env 设置注意当前 网段
setenv ipaddr 192.168.10.8
setenv netmask 255.255.255.0
setenv gatewayip 192.168.10.1## 设置后可以作为 tftp 服务器地址 PC 主机 IP : 192.168.10.10
setenv serverip 192.168.10.10 PC 端网络设置 这里使用 USB 转 千兆网卡 IPv4 设置 IP 地址192.168.10.10 子网掩码255.255.255.0 默认网关192.168.10.1 tftp 服务器设置 下载安装 Tftpd64可以通过网址 https://bitbucket.org/phjounin/tftpd64/src/master/ github 上应该有源码https://github.com/PJO2/tftpd64 开启并指定 PC 端的网卡连接开发板并设置路径 uboot.img 的路径 rk3568 开发板 与 PC 网络连接有两种方式网线直连 与 经过路由器中转两种当前选择 第一种网络直连
-【备注】1即使是开发板网线直连 PC网卡如果网段是 192.168.10.xx网关地址依旧都设置为 192.168.10.1 即可。 2千兆网络需要千兆的网线。
确认网络是否 ping 通如果 rk3568 有两个 gmac 网卡可以切换当前的网卡用于与 PC 进行网络连接 更新 u-boot 自身 通过 tftp 传递 uboot.img 到开发板 首先确认 DDR RAM 的地址范围需要先把 uboot.img 传递到 DDR RAM 的某个地址不要与使用的内存地址重叠如设备树、uboot 加载地址等 可以通过 u-boot bdinfo 命令查看当前系统的基本信息如 DRAM bank 的地址范围由于uboot.img 有 4MB 大小因此加载地址暂时定为没有使用的 0x07200000当前 DRAM 范围 0x0020000 ~ 0x8220000 DRAM bank 范围 这里有两个 Bank
DRAM bank 0x00000000
- start 0x00200000
- size 0x08200000
DRAM bank 0x00000001
- start 0x09400000
- size 0xE6C00000bdinfo
arch_number 0x00000000
boot_params 0x00000000
DRAM bank 0x00000000
- start 0x00200000
- size 0x08200000
DRAM bank 0x00000001
- start 0x09400000
- size 0xE6C00000
baudrate 1500000 bps
TLB addr 0xEFFF0000
relocaddr 0xEFEC4000
reloc off 0xEF4C4000
irq_sp 0xEDBDBBE0
sp start 0xEDBDBBE0
Early malloc usage: 780 / 80000
fdt_blob 00000000edbdbbf8传递 uboot.img 的命令 tftp 0x07200000 uboot.img 注意 默认的 tftp server 的 IP来自 u-boot env : setenv serverip 192.168.10.10 tftp 0x07200000 uboot.img
Using ethernetfe010000 device
TFTP from server 192.168.10.10; our IP address is 192.168.10.8
Filename uboot.img.
Load address: 0x7200000
Loading: ##############################################################################################################################################################################################################################################################################################5.1 MiB/s
done
Bytes transferred 4194304 (400000 hex)当前把 PC 端的 uboot.img 通过 tftp 命令传递到开发板的 0x07200000 内存地址位置接下需要使用 mmc 命令进行烧写 uboot.img
mmc part 确认 uboot.img 的分区位置
如果 专门给 uboot.img 创建分区可以通过 u-boot mmc part 命令查看 分区信息确认 uboot.img 的存放位置注意 mmc 的存放地址默认是 512 字节为单位。 mmc partPartition Map for MMC device 0 -- Partition Type: EFIPart Start LBA End LBA NameAttributesType GUIDPartition GUID1 0x00004000 0x00005fff ubootattrs: 0x0000000000000000type: 05660000-0000-4873-8000-5a20000035d8guid: b4250000-0000-4628-8000-7544000002ba2 0x00006000 0x00085fff bootattrs: 0x0000000000000000type: 7c180000-0000-4f18-8000-50a800001445guid: 3b690000-0000-4079-8000-2a4a00007a873 0x00086000 0x0733bfbf rootfsattrs: 0x0000000000000000type: 0e110000-0000-461a-8000-5c66000022cdguid: 614e0000-0000-4b53-8000-1d28000054a9也就是 uboot 分区 起始地址 0x00004000结束地址 0x00005fff注意 mmc 地址可以认为是以 512 字节作为一个块的块block个数的偏移 这里 0x00004000 在 rk3568 平台是固定的mmc 8M 字节 偏移位置大小是 4M 字节 擦除 原有的 ubootuboot 工作时默认已经读取到内存因此可以直接更新 mmc 中 uboot 分区 擦除命令 mmc erase 0x4000 0x2000 烧写命令mmc write 0x0720000 0x4000 0x2000 重启如果 uboot 更新了比如修改了增加一些打印信息说明操作成功 小结 本篇记录 u-boot 下通过 网络的方法更新 u-boot 自身镜像的方法mmc 存储需要注意一些细节便于问题的排查与解决 u-boot 网络调通后除了更新自己外还可以更新 Linux kerenl、rootfs 根文件系统等设置可以直接通过 nfs 挂载远程镜像的方式启动