论文部分内容阅读
伴随着二十一世纪的曙光,形式多样的数字化产品已经开始成为信息处理的一大主要工具,并且正在逐步形成一个充满商机的巨大产业。数字化产品的核心是嵌入式系统,其迅猛发展不仅为嵌入式系统展现了美好前景,注入了新的生命,同时也对嵌入式系统技术,特别是嵌入式软件技术提出新的挑战。 嵌入式系统的软件的开发一般采用交叉编译的方式,目前以Linux为主机操作系统,GCC为交叉编译系统,为嵌入式设备生成可执行程序已成为日益流行的解决方案。GCC编译系统的汇编器和连接器使用的是GNU Binutils工具包中的GNU AS和GNU LD。本文为实现GNU AS和GNU LD对目标处理器MIPSX的移植,分析了MIPSX的体系结构和及所使用的a.out二进制目标文件格式,研究了GCC编译系统中的汇编器GNU AS,连接器GNU LD与其共同使用的BFD库的实现机制,并完成了GNU AS和GNU LD对目标机MIPSX的移植。 论文第一章首先介绍了开发背景,概述了目标机MIPSX体系结构以及二进制目标文件格式,然后介绍了交叉汇编器和交叉连接器以及GNU AS和GNU LD所属的GNU Binutils工具包的概况。第二章研究了MIPSX体系结构以及a.out二进制目标文件格式。第三章详细研究了GNU AS和GNU LD的实现机制,并研究了GNU Binutils用来操作二进制文件的BFD库的实现机制。第四章实现了BFD库、GNU AS和GNU LD对目标机MIPSX移植。第五章介绍了测试方法和测试工具,其中特别研究了模拟器SPIM的实现机制并完成了其对目标机MIPSX的移植。最后是结束语。