- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们使用 Beaglebone 黑色定制板。我编辑了一个链接器脚本文件以添加内存部分以在其中记录一些信息:
. = ALIGN(4);
.logging :
{
_log_begin = .;
_log_end = . + 0x2000;
}
我在C文件中定义数组如下:
char log_arr[0x2000] __attribute__ ((section(".logging")));
现在,如果我打印 log_arr
地址,它会输出 0x8ffa2774
,但是当我检查 u-boot.map
文件时,我会看到log_arr
位于地址 0x8084b774
。
u-boot 使用 MMU 吗?据我所知,它在汇编编写的启动代码中被关闭。当我尝试在代码中使用 _log_begin
并将其定义为 extern
时,u-boot 代码编译中断并抛出错误:
make1: * [checkarmreloc] Error 1
当我搜索此错误时,我得到一些 patch其中表示“确保 u-boot 仅使用相对重定位”。这是什么意思?
最佳答案
Is u-boot using MMU?
没有。
来自U-Boot 2014-07的README文件:
U-Boot runs in system state and uses physical addresses, i.e. the
MMU is not used either for address mapping nor for memory protection.
链接器映射中的地址值与运行时值相比的差异可能是由于 U-Boot 重新定位自身(在内存中更高,更接近顶部)。
再次来自 U-Boot 2014-07 的 README 文件:
After booting and sizing and initializing DRAM, the code relocates itself
to the upper end of DRAM.
... which says "ensure u-boot only uses relative relocations". What does this mean?
您的代码可以尝试使用绝对(不可重定位)内存位置,或者允许 C 分配和重定位数组(即删除节说明符)。
关于u-boot - armv7 u-boot使用MMU吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25152073/
我的应用程序有问题。我收到 7 个 Apple Mach-O 链接器错误。以下是错误: Undefined symbols for architecture armv7: "_OBJC_IVAR_
我是一名优秀的程序员,十分优秀!