文章预览
目录 1.链接文件有什么用? 2.文件结构和语法解析 2.1 文件结构 2.2 语法解析 3.小结 玩惯了ld文件,突然让搞lsl文件,被其中花里胡哨的语法搞晕了,例如: memory cpu0_dlmu { mau = 8; size = 64k; type = ram; map cached (dest=bus:sri, dest_offset=0x90000000, size=64k); map not_cached (dest=bus:sri, dest_offset=0xb0000000, size=64k,priority=8); } 虽然这个字面意思写的很清楚,但是在链接器实际运行时有什么不一样吗,mau、priority具体表示什么?因此有必要搞一搞其底层原理。 编译原理这里就不多谈了,咱们直接从链接器开始走起。 1.链接文件有什么用? Tasking 链接器将Linker和Locator集合到一起, Linker阶段主要把 .o文件、lib文件组合成一个可重定位的对象文件,例如.out;Locator主要用于给上述.out文件重新分配绝对地址,并生成目标处理器的文件,例如elf、hex、s19等,总体流程如
………………………………