1,loadaddr
是一个环境变量,用于指定文件(如内核镜像、设备树等)加载到内存的起始地址。
setenv loadaddr 0x82000000
setenv loadaddr 0x80008000
saveenv //.保存配置
将 loadaddr
设置为 0x82000000
,表示后续文件将加载到该地址.
2,通过 TFTP 协议从远程服务器下载文件到内存。
tftpboot ${loadaddr} filename
其中:
${loadaddr}
是之前设置的加载地址。filename
是要下载的文件名(如uImage
或dtb
)。
3,设置 loadaddr
(默认值)直接使用 tftpboot
假设 U-Boot 默认 loadaddr
为 0x80008000
,执行以下命令:
tftpboot uImage
- 结果:
uImage
被加载到0x80008000
。
默认的 loadaddr 值通常由配置文件(如 .config
)或编译脚本(如 build.sh
)指定。如果需要修改,可以通过调整这些文件来实现
在大多数基于 ARM 架构的嵌入式平台中,loadaddr 的默认值通常设置为 0x80008000 或 0x40008000。这些地址是 ARM Linux 内核推荐的加载地址,确保内核镜像能够正确加载到内存中并启,RK3568 平台的 loadaddr 默认值通常为 0x80008000。
查看配置信息或者默认值
printenv