EDN China > 其它文章 > 微处理器与DSP > 多媒体处理器 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

编译技术基于调用图和指针图应用

EDN China?? 2007年06月05日 ?? 收藏0

  HI-TECH Software是Microchip和Cypr-ess的微控制器编译器供应商近日宣布的一种新的编译技术,它可以在代码生成的最后一步,用检查嵌入程序所有模块时得到的调用和指针参考图生成目标代码。

  HI-TECH把这种方法叫做OCG(全知代码生成)。这种全局优化方案使编译器能够发现不一致的呼叫习惯、变量声明,以及冗余代码,因为它在生成最终代码前会对所有代码作检查。这样,编译器可以根据其使用而优化每个指针变量的大小,生成一个较小的代码。这个过程不需要程序员的额外输入,不依赖于非标准的扩展,并且对工程师完全透明。该技术可识别递归和嵌入调用函数,并可以用动态栈空间或本地变量存储来确保嵌入调用不会覆盖当前数据。

  C 语言保证了单一的线性地址空间。但是,很多嵌入系统有复杂的、非线性的内存架构,并有不同的字宽。这样就很难将无针对目标的 C 代码映射到一些处理器的内存映像中。OCG 对所有程序模块上的全集变量和指针建立一个全局表述,它还知道栈应该多大,代码生成前栈应在哪里。这样,编译器就为每个指针变量定义了一组地址空间,它对特定的处理器架构有最佳效率,而无需程序员的任何特别指示

。OCG 为主程序代码和中断代码分别建立了调用图。任何出现在一个以上调用图中的函数都可以复制到自己的局部变量区,从而无需一个独立栈。

  当前的 OCG 实现假设在一个时间上,整个项目的调用图和指针图都保存在主计算机的内存中。这对当前技术支持的处理器并不是一种限制,因为应用的尺寸要小于主计算机的可用内存。

  PICC-18-PRO 是第一款实现 OCG 的编译器,它比 HI-TECH 的前代 PIC18STD 编译器代码密度高 13.4%。PICC-18-PRO 集成到了 Microchip 的 MPLAB 集成开发环境下,以及大多数第三方开发工具中。PICC-18-PRO 可以运行在多种平台,包括 Windows(2000、XP)、Linux 和 Mac OSX。HI-TECH 还提供自己基于 Eclipse 的 IDE,HI-TIDE 3,它包括完整的项目管理、一个灵活的编辑器以及一个快速准确的仿真器。

  PICC-18 PRO的全部源码可用于所有库例程和运行模块,使程序员能够为某个硬件系统定制运行环境。该公司对可执行库代码的使用未做限制。HI-TECH 网站上可以免费下载一个全功能的45天试用版PICC-18 PRO。


?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

微控制器? 编译技术? 调用图? 指针图?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈