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
?
?