Linux u-boot中的fatloat地址限制

Linux u-boot中的fatloat地址限制,linux,u-boot,freertos,bare-metal,Linux,U Boot,Freertos,Bare Metal,有人能解释一下使用fatload在u-boot中加载二进制文件的地址限制吗?我可以将应用程序加载到任何地址吗 此外,如果此地址依赖于二进制文件,如何从应用程序二进制文件中提取它 上下文是,我有一个应用程序二进制文件,下面执行应用程序 fatload mmc 0 0x1C000000 application.bin go 0x1C000000 但是,我已经更改了u-boot的版本,当我调用go 0x1C000000时,它将挂起 当您谈到使用go命令(将执行转移到指定的地址)时,您必须将应用程序加

有人能解释一下使用fatload在u-boot中加载二进制文件的地址限制吗?我可以将应用程序加载到任何地址吗

此外,如果此地址依赖于二进制文件,如何从应用程序二进制文件中提取它

上下文是,我有一个应用程序二进制文件,下面执行应用程序

fatload mmc 0 0x1C000000 application.bin
go 0x1C000000

但是,我已经更改了u-boot的版本,当我调用go 0x1C000000时,它将挂起

当您谈到使用go命令(将执行转移到指定的地址)时,您必须将应用程序加载到内存中,加载地址为构建应用程序时链接应用程序运行的地址。

AFAIK fatload的地址不能是任何地址。这取决于你的电路板,因为通常它应该是SRAM或DRAM的地址。所以,你的意思是,不管我加载的二进制文件是什么,对于给定的电路板,地址应该总是固定的?对不起,我描述得不够精确。我的意思是,你需要知道SRAM或DRAM内存映射到你的电路板上的位置。你们需要知道那个些内存地址的范围,你们可以试着把二进制文件放在那个里。这并不意味着起始地址必须始终相同。它可能会有所不同,但它必须在RAM中。哦,我明白了!有没有办法从二进制文件中找出那个地址?像使用objdumb或类似的东西吗?对于二进制来说,这可能要复杂得多。但是如果你有来源,它会显示在构建时链接的位置。我有来源,我会查看它。与此同时,这两个命令仍然适用于旧版本的u-boot。这是唯一的问题,当我使用新的u-boot。所以我怀疑地址是否正确。你有经验吗?
fatload mmc 0 0x1C000000 application.bin
go 0x1C000000