Arm 添加命令定义时u-boot文本区域溢出

Arm 添加命令定义时u-boot文本区域溢出,arm,u-boot,Arm,U Boot,在我的mx53\u loco板上,我有一个问题: 当我在特定于线路板的标题中添加命令行帮助定义(CONFIG\u SYS\u LONGHELP)时,构建完成成功,但当我启动线路板时,我发现环境已损坏(所有命令都无法识别) 即使我增加了CONFIG\u EXTRA\u ENV\u设置的大小,我也会遇到这个问题 所以这似乎是一个和溢出到某处的u-boot代码的大小有关的问题。(内存映射重新定义?) 我希望能够正确调整u-boot的内部布局 有人能解释一下发生了什么或建议一个有用的链接吗?u-boot

在我的
mx53\u loco
板上,我有一个问题: 当我在特定于线路板的标题中添加命令行帮助定义(
CONFIG\u SYS\u LONGHELP
)时,构建完成成功,但当我启动线路板时,我发现环境已损坏(所有命令都无法识别)

即使我增加了
CONFIG\u EXTRA\u ENV\u设置的大小,我也会遇到这个问题

所以这似乎是一个和溢出到某处的
u-boot
代码的大小有关的问题。(
内存映射重新定义?

我希望能够正确调整
u-boot
的内部布局


有人能解释一下发生了什么或建议一个有用的链接吗?

u-boot总是先读取保存的环境变量。这些环境变量通常位于非易失性内存(NOR或NAND闪存或其他)中。如果保存的环境变量的CRC正确,则使用保存的环境变量。如果您更改了配置\额外\环境\设置,它将不会被使用

只有在将环境变量重置为默认值并保存时,才会使用配置额外环境设置中的值:

$ env default -f
$ saveenv

您还应注意地图和尺寸。添加新环境变量时,请确保配置环境大小和配置环境偏移量正确。

请阅读u-boot源代码顶级目录中的自述文件。 和浏览邮件列表:

编辑:

您还应验证配置系统闪存底座和配置系统监视器透镜是否正确。只需确保u-boot覆盖的闪存区域与写入env变量的闪存区域不重叠。

尝试将不同版本的u-boot的二进制文件大小与分配给u-boot二进制文件的闪存分区进行比较。同时查看flash分区图;U-Boot env分区是否位于二进制文件的分区之后?