分享到:

基于GNU Binutils的嵌入式系统交叉汇编器和交叉连接器的移植

伴随着二十一世纪的曙光,形式多样的数字化产品已经开始成为信息处理的一大主要工具,并且正在逐步形成一个充满商机的巨大产业。数字化产品的核心是嵌入式系统,其迅猛发展不仅为嵌入式系统展现了美好前景,注入了新的生命,同时也对嵌入式系统技术,特别是嵌入式软件技术提出新的挑战。嵌入式系统的软件的开发一般采用交叉编译的方式,目前以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的移植。论文第一章首先介绍了开发背景,概  (本文共72页) 本文目录 | 阅读全文>>

《计算机工程》2009年01期
计算机工程

基于用户描述的可配置汇编器

1概述汇编器是将低级汇编语言转换为机器码的重要编译工具。传统的处理器指令集架构一般不随应用需求而变化,汇编器一旦开发完成,便无须再次更改;但随着可配置和可扩展处理器技术的飞速发展[1],用户需求的变化将直接反映到处理器指令集变化上,如果汇编器开发无法跟上指令集的变化速度,汇编器的重配置将间接导致处理器产品的交付周期大幅延长。现有的一些汇编器(如GNU Binutils)已对其结构进行一定程度的抽象,并将每种指令集相关的部分独立出来作为汇编器的后端,在一定程度上简化了为新平台开发汇编器的难度,但后端实现没有统一的标准,而且实现代码比较分散,完成二次开发的开发者必须深入了解汇编器代码的内部结构,并修改大量代码。本文提出一种基于用户描述的可配置汇编器的设计和实现方法,可大幅提高汇编器二次开发的速度。2可配置汇编器的框架设计汇编器的可配置框架设计目标在于提供一种灵活的接口,对汇编器潜在的需求变化加以抽象,并能反应需求的变化,从而取代传统...  (本文共3页) 阅读全文>>

《工业控制计算机》2004年03期
工业控制计算机

基于嵌入式系统的交叉汇编器的研究与实现

嵌入式系统一般需要交叉编译系统来生成能在目标系统上运行的二进制代码。交叉编译系统是运行在主机平台上,为另一个不同的目标机平台生成可执行代码的特殊的编译系统。我们选择了以Linux为操作系统的x86主机平台,把要在我们的目标嵌入式系统上运行的程序在这个平台上经过编译、汇编和连接几个阶段,最终得到所需要的二进制可执行代码,然后输入到目标系统的FLASHROM里。所以,我们必须有适合目标处理器的交叉编译器,交叉汇编器和交叉连接器。我们的目标系统的处理器是MIPSX。而事实上,MIPSX跟其他的MIPS处理器还是有区别的。开放源代码的GCC,GNUBinutils已经实现了一般的MIPS处理器的交叉编译器,交叉汇编器和交叉连接器,但是对于MIPSX这个特殊的处理器还是没有实现。而现有的针对于MIPSX的芯片的交叉编译系统又有它自身的局限性,已经不再满足目前我们更多的需要,因此我们必须要重新从GCC、GNUBinutils移植一个编译系统...  (本文共2页) 阅读全文>>

《丹东师专学报》1950年10期
丹东师专学报

C程序调用内部汇编器高级技术

C程序调用内部汇编器高级技术赵志伟提要本文介绍C语言内部汇编器的使用及技巧,使得在C程序中很容易加入汇编码,实现C程序与汇编码的完美统一。完成许多单独用C程序很难或不能完成的任务,又能保证程序质量。关键词:内部汇编器1.引言内部汇编器不需独立的汇编和连接步骤,所以使用很方便。内部汇编器可以使用任何有效范围内的C变量或函数,汇编码平常能和C语句以混合形式出现。内部汇编主要用途包括:(1)编写汇编语言函数;(2)需要速度的一段代码,汇编码优于C语句;(3)用INT指令调用DOS和BIOS例程;(4)建立TSR程序或需要了解CPU状态信息的管理例程。2.内部汇编器的格式MicrosoftC的内部汇编器关键字为_asm,TurboC关键字为asm。并且只有MicrosoftC6.0,TurboC++或更高版本才能应用内部汇编器。TurboC++需在硬盘上配置TASM宏汇编。下面以MicrosoftC为例,介绍内部汇编器。_asm激活内部...  (本文共2页) 阅读全文>>

《计算机文汇》1995年02期
计算机文汇

C程序调用——内部汇编器高级技术

一、引言 C语言中内部汇编器不需独立地汇编和连接步骤,所以使用很方便、·内部汇编器可以使用任何有效范围内的C变址或函数.汇编代码能和C语句混合使用.内欲汇编器的主要用途有: (1)编写汇编语言函数; (2)需要速度快的一段代码,汇编码优于C语句, (3)用INT(中断)指令调用Dos和B10S例程‘ (4)建立T斗程序或需要了解CPU状态信息的管理例程。T盯boC,‘或更高版本才能应用内部汇编器(T盯boC十‘需在硬盘上配置TASM宏汇编程序)。下面以MierosoftC为例,介绍内部汇编器的使用. _asm用于激活内部汇编器并可以在任何合法的C语句处出现._asm不能单独存在,后面必须跟一条指令或用花括号括住的一组汇编指令.例如: a吕m《mov ah.2 mov dl.7 int 211、 }或_asm mov;‘h.2 a吕mmovd!.7 asm int 2111 注意: (z)不能写成asm‘mov ah,Zmovdl...  (本文共2页) 阅读全文>>

《计算机工程与应用》1985年02期
计算机工程与应用

微程序汇编器的设计与实现

微汇编器主要用来汇编微程序。它输入微程序源程序,生成控制存贮器的二进制目的代码,指令映射器目的代码及微程序清单等。微汇编器既是计算机系统设计人员的工具,也是用户使用的系统程序之一。 目前,多数计算规采用微程序控制器。不仅机器指令用微程序实现,控制台功能,弓I导,中断服务系统,通道数据输入输出及各种各祥的诊断程序也用微程序实现。另外,大量的系统程序和许多用户程序也逐步固化。例如,多任务调度器,各种高级语言,监控程序等。所以,一个高性能,高效率,实用的微汇编器无论对用户还是对计算机系统设计人员都是很有用的。 设计一个微汇编器首先要选择一台合适的宿主机。宿主机应选择与目标机属同一系列的机器,最好就是目标机。这样做既可方便于用户,也便于模拟器的设计与实现。但是,在计算饥设计阶段,这一点实际上做不到。常常先在另外一台机器上设计一个微汇编器,作为辅助设计的工具帮助系统设计人员汇编微程序。等到机器实际生产出来之后,再把微汇编器移植到本系列机上...  (本文共6页) 阅读全文>>