|
|
1
16
您可以这样做,但您需要检查对象文件格式。特别是
看到了吗
|
|
|
2
8
你想知道公用事业吗
这个过程就是编译源文件并像往常一样链接它们。这将为您提供一个elf(或另一个可重定位的平台相关二进制文件)格式的完成的可执行文件。然后使用objcopy将可执行文件转换为平面二进制图像。 这对于准备从ROM运行的代码非常有用,在ROM中,您需要确保为目标平台使用合适的C运行时库,并且可能需要自定义链接器脚本文件以及提供自己的C运行时启动代码。
不管您的目标是什么,您都需要控制链接器,以便将二进制文件定位到一个已知的地址。为此,您需要创建一个链接器脚本。脚本语言的文档位于 the binutils manual . 您将主要对“.text*”部分感兴趣,如果您计划初始化任何全局变量,则可能对“.rodata*”部分感兴趣。实际上,安排初始化是留给读者的一个练习。 总的来说,这只是冰山一角。我建议花点时间研究交叉编译器构建,看看这些东西在实践中是如何使用的。AVR和MSP430社区使用GCC,有积极的参与,廉价的(甚至常常是开源的)硬件开始。 |
|
|
MaPo · Linux,设置锁定ICMP_过滤器选项 1 年前 |
|
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 1 年前 |
|
|
Bobby · 复合字面值总是左值吗? 1 年前 |
|
9-Pin · C: 嵌套结构的堆栈内存分配 1 年前 |