如何在U-Boot中运行独立二进制程序?(NXP Sabre i.MX 6 Quad开发板)
验证U-Boot中加载的hello.bin是否存在于指定RAM地址
嘿,结合你用NXP Sabre(i.MX 6 Quad)开发套件的场景,我来帮你把验证步骤理清楚:
1. 执行md命令查看RAM内容
你说的md命令用法是对的,直接在U-Boot提示符下敲:
=> md 0x20005000 20
这里的参数得解释下:
0x20005000:就是你通过fatload指定的RAM加载地址20:代表要查看20个32位字(也就是80字节)的内容,要是你的hello.bin更大,可以把这个数调大,比如40就能看160字节。
2. 怎么判断加载成功了?
如果文件确实加载到了目标地址,md会输出一串十六进制的数值——这些就是hello.bin的二进制内容在RAM里的原始映射。
你可以在PC上用hexdump hello.bin命令导出文件的原始十六进制数据,和U-Boot里md的输出对比,要是前几行内容能对上,就说明加载没问题。
额外的快捷验证方法
嫌对比麻烦的话,还可以用U-Boot的cmp命令直接做一致性校验:
=> cmp mmc 1:4 hello.bin 0x20005000 <文件实际字节数>
把<文件实际字节数>换成你hello.bin的真实大小,要是输出Total of X bytes compared OK,就说明文件和RAM里的内容完全一致,加载肯定成功了。
内容的提问来源于stack exchange,提问作者Mattis Asp
相关产品推荐
相关产品推荐

