【发布时间】:2018-04-10 23:16:14
【问题描述】:
我正在关注Rpi 3 bare metal 教程。我已经使用 Dave Welche 的优秀 repo 和其他资源在 Rpi A+ 和 Zero 的裸机上花费了大量时间。
这个 Rpi 3 教程的伟大之处在于
1) it's 64 bit
2) it's multi core
根据我的表面理解,我知道aarch64-elf 将构建一个“二进制”,该“二进制”可由使用 ELF 文件格式的操作系统加载,例如任何基于 Unix 的(Linux、OSX)。
而 aarch64-none 用于裸机,这意味着它不会在生成的二进制文件中创建任何操作系统加载程序信息。
令人困惑的是Rpi 3 tutorial 将他们的工具链构建为aarch64-elf。
如果您查看 make 文件的 line 40,他最终仍然会执行 objcopy,我认为无论如何都会删除任何与 ELF 相关的信息,对吗?
所以我的问题是:在每个示例中将他们的 Makefile 更改为 aarch64-none 是否值得?不幸的是,他们也没有做好将其作为参数的工作!
在裸机中到aarch64-none 有什么额外的好处吗?无论如何,我仍然必须使用objcopy,对吗?
【问题讨论】:
-
对于相同的输入,两者产生的输出应该没有区别。
标签: cross-compiling raspberry-pi3 arm64 bare-metal