|
SPARC高性能处理器集成开发环境及其编译器设计与实现今天嵌入式系统开发不再局限于只能由相关应用领域的专家来完成,各种优秀集成开发环境(IDE)可大大降低工程人员的开发门槛[1],使嵌入式系统的开发变得相对简单。 BMSPARC还提供对硬件CORDIC的支持,主要通过库函数修改的方式完成。通过使用库替换的方法,可以简化移植过程,实现软件兼容及编译器的快速开发和使用,并可以快速完成针对超越函数的编译器优化。SPE-C与BMSPARC编译器的集成SPE-C中编译系统的基本规则为:针对工程中的源文件及链接文件,包括用户指定的库文件,按照指定的规则,并参考用户设置,生成一个符合要求的Makefile文件,然后用make.exe对Makefile文件进行解释执行,从而生成需要的目标文件,或完成相应的动作[6-8]。 如果在整个过程中有错误发生,则编译/链接终止,IDE系统将套件提供的错误原因反馈给用户。为了将BMSPARC编译工具链集成到SPE-C中,必须使BMSPARC工具链的输出信息包括警告和错误信息最终输出在SPE-C的显示窗口中。由于BMSPARC工具链的各个执行文件都是基于控制台的执行程序(基于命令窗口的命令行程序),而SPE-C是图形用户界面(GUI)程序,因此要将它们执行的各种输出信息收集并放到SPE-C的输出窗口中显示,需要一些技巧。本系统实现在SPE-C的输出窗口中显示编译信息的方法如下: 1)当集成开发环境通过界面交互得到用户编译某一工程或源码文件的指令后,首先发起一个后台线程; 2)后台线程创建一个匿名管道,发起一个命令子进程以执行编译整个工程或某个源码文件的make命令,直接将该命令子进程的标准输出和错误输出均重定向到由父进程创建的匿名管道的“写”端,SPE-C的后台线程通过该匿名管道的“读”端得到所需要的编译信息; 3)后台线程再将所有通过管道获取的编译信息实时传送回IDE界面中的信息输出(Output)窗口进行显示。显然,这种方法实现起来并不复杂,命令子进程的Stdout和Stderr都被重定向到匿名管道的写端,仅用一个匿名管道就实现了全部功能。上面程序流程图中从匿名管道读端读取的输出信息,即是由编译命令子进程的Stdout和Stderr重定向输出的内容,将其直接放入Output窗口中显示便实现了编译信息实时显示的功能。 结语 SPE-C集成开发环境已经实现了与SPARC处理器的无缝配合工作,也已通过第三方评测,可随时提供给用户使用;下一步要完善软件仿真环境及对操作系统的支持,为用户进行软件仿真和针对操作系统编译开发提供有效的支持环境。 责编:李玉琴 微信扫一扫实时了解行业动态 微信扫一扫分享本文给好友 著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。 |
最新专题 推荐圈子 |
|