触点数字孪生,揭秘它的独特魅力
818
2022-10-27
ld 链接相关知识
1 .bss 不保存在 bin文件 bin文件 bin文件 bin文件 bin文件(重要的事情说四遍) 2 arm-linux-ld -Ttext 0 -Tdata 0x800 好像也可以设置 -Tbss 那么生成文件烧录到jz2440 text地址为0 data地址为0x800 (因为jz2440 不管是nor启动还是nand启动都是从0开始执行的) -Ttext -Tdata 是确定 text 跟 data 的烧录地址的。
3 . = ALIGN(4); 指示编译器将接下来的代码进行4字节对齐编译,也就是在分配地址时,以4的整数倍分配。
为啥需要. = ALIGN(4) 这个东西呢?存储空间读写以四个字节为单位,比较快。可能 某段数据不是 四字节结束,那么下一段数据不能一四字节开始,那么可能会影响到数据所以前面 每段数据前面都加一个 . = ALIGN(4);比如这样
{ . = 0x30000000; . = ALIGN(4); .text : { *(.text) } . = ALIGN(4); .rodata : { *(.rodata) } . = ALIGN(4); .data : { *(.data) } . = ALIGN(4); __bss_start = .; .bss : { *(.bss) *(.COMMON) } _end = .;}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。