[开发资料] ARM5 到 ARM6 迁移时,分散文件加载出错,是否因内存映射范围冲突?

[复制链接]
534|47
mintspring 发表于 2026-9-17 15:09 | 显示全部楼层
链接报错 L6221E 就是执行域地址重叠,属于典型内存映射冲突;L6788E 则是分散加载拷贝时覆盖其他区域,也是地址冲突类问题ARM
地下縱情搖擺 发表于 2026-10-3 09:58 | 显示全部楼层
遇到过类似问题,ARM6 的 MPU 区域划分更细,如果分散加载文件里有两个 region 重叠或者跨越了 32MB 边界就会报错,用 fromelf 检查一下 map 文件。
xinpian101 发表于 2026-9-30 17:49 | 显示全部楼层
内存映射范围冲突是高频原因之一,但并不是唯一原因。你这个场景一般指 Arm Compiler 5(AC5)迁移到 Arm Compiler 6(AC6),不是 ARMv5 架构到 ARMv6 架构,AC6 链接器检查更严格,很多 AC5 允许通过的地址重叠 / 边界问题,AC6 会直接报错。
暖了夏天蓝了海 发表于 2026-10-10 07:02 | 显示全部楼层
分散文件里的加载域和执行域地址如果重叠到 ARM6 保留区域或外设区,肯定会报错,用 map 文件逐段核对一下。
白马过平川 发表于 2026-10-15 17:56 | 显示全部楼层
分散文件里的加载域和执行域地址如果超出实际物理内存范围,或者两个域有重叠,肯定会报错。
小夏天的大西瓜 发表于 2026-10-10 23:40 | 显示全部楼层
ARM6迁移加载出错多为分散文件内存段定义与芯片映射不匹配,建议重新生成scatter文件并核对ROM/RAM地址范围。
迷雾隐者 发表于 2026-10-22 14:21 | 显示全部楼层
分散加载文件里的 region 定义需要和芯片实际内存布局严格匹配,ARM6 可能新增了安全区域或重映射了外设地址。
穷得掉渣大侠 发表于 2026-10-27 05:36 | 显示全部楼层
遇到过类似问题,ARM6 默认启用了 MPU,如果分散文件里的 region 跨越了边界或者对齐方式不对,加载就会报错。
天灵灵地灵灵 发表于 2026-10-29 18:08 | 显示全部楼层
内存映射范围冲突(Region 重叠)确实是一类原因,但不是唯一原因;AC6 相比 AC5,链接器检查更严格、段行为、符号、对齐、scatter 语法都变了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部