共查询到15条相似文献,搜索用时 109 毫秒
1.
随着日前越来越多嵌入式系统的飞速发展,必须快速有效地为之开发合适的交叉编译器。因为GCC(GNU Compiler Collection)是非常优秀的交叉编译器而且具有很好的可移植性,所以移植GCC是一个非常正确的方法。以交叉编译系统ZLTCG的开发为背景,详细分析了交叉编译系统GCC的体系结构,对其高度可移植性所依赖的中间表示和机器描述技术进行了深入研究,并在此基础上阐述了如何基于GCC构造用于嵌入式系统开发的交叉编译器。介绍了GCC的内核和工作机制,特别是RTL(Register Transfer Language)代码和汇编代码的生成以及解释GCC的移植方法和移植实例,对测试方法进行了探讨。 相似文献
2.
GCC在高性能微处理器DSP和CPU上的移植 总被引:1,自引:1,他引:0
在分析GCC结构的基础上,总结了GCC在高性能微处理器DSP和CPU上移植的解决方案,并比较了DSP、CPU和RISC结构的处理器在移植上的差别,重点介绍了GCC对DSP和CPU信号处理功能的支持以及指令分组和指令执行分组在GCC中的实现。 相似文献
3.
嵌入式RISC-V处理器交叉开发生成高质量目标代码的关键是GCC的移植与优化.分析GCC的基本结构和RISC-V体系结构的数据与指令特点,建立GCC后端移植机制,采用机器描述方法,生成32位riscv-none-embed-gcc编译器,实现RISC-V处理器的GCC移植,设计强度削弱的窥孔优化方法解决中间代码生成过程中CPU计算代价高的问题.验证与测试结果表明编译器编译正确并具有通用功能,优化后编译生成的目标代码体积减少约11%,提高了目标代码质量,节省了嵌入式处微理器的存储空间. 相似文献
4.
5.
宋明 《计算机工程与应用》2006,42(3):106-108
在手机游戏开发过程中,由于手机设备间的差异,游戏应用程序要支持不同的设备,需要进行相应的移植工作。在实际移植开发过程中总结出一种适合移植开发的框架,此框架利用C语言的预处理指令来定义不同手机设备造成的差异,运用GCC进行预处理生成针对不同机型的代码,从而达到移植的目的。 相似文献
6.
由于超长指令字处理器通常都有多级流水线和复杂的资源使用限制,如何准确地描述处理器的流水线模型,快速地判断是否存在资源冲突并不是个简单地任务。文章介绍GCC新引入的正则表达式语法的流水线描述机制。在将GCC移植到笔者所开发的SuperV芯片的过程中,利用该机制对SuperV芯片的流水线结构和资源使用限制进行详尽地描述,启动了GCC的指令级并行调度。通过并行调度,测试程序的性能提高了大约6%—35%。 相似文献
7.
GCC编译器的窥孔优化及在DCT变换中的应用 总被引:1,自引:0,他引:1
GCC编译器是一种可重定向的编译程序,其开发的目的是提高GNU系统中程序开发的效率。GCC支持C、C++和JAVA等7种源语言,以及MIPS和ARM等36种体系结构。它具有以下特点:清晰的前端语法树结构;高度概括的抽象机中间语言;简洁的机器描述;支持多源语言开发和多平台移植。 相似文献
8.
9.
文章设计了嵌入式集成开发环境的层次结构:给出GCC重定向的一般方法并设计了通用交叉编译接口;给出GDB移植的一般方法并设计了通用调试接口.在此基础上.实现了PLAEmbeddedIDE v1.0嵌入式软件集成开发环境原型系统. 相似文献
10.
重点分析介绍了GCC编译器源代码的结构和程序的主要函数功能.并据此提出了移植GCC编译器到多媒体处理器Trimedia的一个方案及介绍了其实现的重点. 相似文献
11.
Grigori Fursin Yuriy Kashnikov Abdul Wahid Memon Zbigniew Chamski Olivier Temam Mircea Namolaru Elad Yom-Tov Bilha Mendelson Ayal Zaks Eric Courtois Francois Bodin Phil Barnard Elton Ashton Edwin Bonilla John Thomson Christopher K. I. Williams Michael O��Boyle 《International journal of parallel programming》2011,39(3):296-327
Tuning compiler optimizations for rapidly evolving hardware makes porting and extending an optimizing compiler for each new platform extremely challenging. Iterative optimization is a popular approach to adapting programs to a new architecture automatically using feedback-directed compilation. However, the large number of evaluations required for each program has prevented iterative compilation from widespread take-up in production compilers. Machine learning has been proposed to tune optimizations across programs systematically but is currently limited to a few transformations, long training phases and critically lacks publicly released, stable tools. Our approach is to develop a modular, extensible, self-tuning optimization infrastructure to automatically learn the best optimizations across multiple programs and architectures based on the correlation between program features, run-time behavior and optimizations. In this paper we describe Milepost GCC, the first publicly-available open-source machine learning-based compiler. It consists of an Interactive Compilation Interface (ICI) and plugins to extract program features and exchange optimization data with the cTuning.org open public repository. It automatically adapts the internal optimization heuristic at function-level granularity to improve execution time, code size and compilation time of a new program on a given architecture. Part of the MILEPOST technology together with low-level ICI-inspired plugin framework is now included in the mainline GCC. We developed machine learning plugins based on probabilistic and transductive approaches to predict good combinations of optimizations. Our preliminary experimental results show that it is possible to automatically reduce the execution time of individual MiBench programs, some by more than a factor of 2, while also improving compilation time and code size. On average we are able to reduce the execution time of the MiBench benchmark suite by 11% for the ARC reconfigurable processor. We also present a realistic multi-objective optimization scenario for Berkeley DB library using Milepost GCC and improve execution time by approximately 17%, while reducing compilation time and code size by 12% and 7% respectively on Intel Xeon processor. 相似文献
12.
U-boot在ARM9上的移植分析与实现 总被引:2,自引:0,他引:2
介绍了Bootloader在嵌入式系统中的作用,对目前应用最为广泛的Bootloader——U-boot进行了基于ARM9微处理器S3C2440的移植。对U-boot的源码包及其启动过程进行了分析,介绍了移植U-boot有关的硬件资源,详细叙述了U-Boot在目标板上的移植方法、移植过程和移植要点。最后对实验结果进行了测试。目前,U-Boot可以完成设计的功能并能够稳定的运行,为下一步移植L inux操作系统奠定了必需的基础。 相似文献
13.
以嵌入式环境中,MIPS架构下,程序从Nucleus到Linux操作系统的移植为例,探讨了从单一地址空间操作系统到多地址空间操作系统的程序移植方案,对多种方案进行了比较择优,提出了单一设备、多个模块、架构整体搬迁的移植方案。从移植的结果来看,方案可行、廉价、高效。 相似文献
14.
介绍功能完善的嵌入式Boot Loader--U-Boot,详细描述了它的运行原理,着重阐述其在S3CEV40开发板上的移植过程,并对移植结果进行了测试. 相似文献
15.
研究了JDK6 HotSpot虚拟机,主要分析了JDK6 HotSpot虚拟机的结构和运行机制。针对龙芯平台上的应用,研究了将JDK6 HotSpot虚拟机移植到龙芯处理器平台系统上的关键技术,给出了相应的移植方案。通过初步的移植,使得龙芯平台通过移植后的JDK6 HotSpot虚拟机能在console端支持Java运行环境。最后,分析了移植后的HotSpot虚拟机的性能瓶颈,并给出了优化的方法。 相似文献