基于异构信号处理平台的自动代码生成工具基于异构信号处理平台的自动代码生成工具
针对新型异构通信信号处理平台系统复杂、开发难度大、开发周期长、应用复杂等问题,提出了一种新型综合
性的代码自动生成工具。通过实现通信信号处理平台中框架配置文件、要素宏定义文件、硬件驱动源代码框
架、软件组件源程序框架、装配粘合代码的自动生成等功能,不仅可满足平台在实时性、分布式、可靠性等方
面要求,而且可保证平台中软硬件编程的一致性,缩短了开发周期,大大减少需要手工编写开发和测试代码的
工作量。
0 引言引言
随着通信信号处理技术不断发展,面临着无线通信体制更新换代速度快、软硬件升级频繁、研制成本高、开发周期长等问
题[1]。为应对多体制通信处理的快速更新,基于软件化定义的异构通信处理平台成为了近年来的研究热点[2]。
虽然异构通信处理平台性能良好、适用性广,但是由于其涉及软硬件类型繁多,导致了开发过程复杂、开发周期长、分工
合作衔接困难等问题[3]。在庞大复杂的平台系统中,一点改动就可能牵一发而动全身,导致程序的不一致性。为了降低软件
开发强度,缩短开发周期,减少代码的重复书写,一直以来软件开发者都致力于
针对异构通信信号处理平台在实时性、分布式、可靠性等方面的要求,自动代码生成器需应对
1 自动代码生成技术自动代码生成技术
目前,自动代码生成技术应用十分广泛,在UML建模[6]、模型驱动框架(MDA)[7]、数据库表创建[8]等方面都有所突
破。但是在异构通信处理平台上的代码自动生成技术仍不完善,只在异构多核处理器方面有少量研究[9]。
基于异构通信信号处理平台的代码自动生成关键在于建模抽象技术[10]、复用技术[11]、
代码自动生成主要由元数据、代码模板、数据模型和代码生成引擎组成,其流程如图1所示。
(1)元数据:元数据是对异构通信处理平台资源的一种描述,通过建模实现,是数据信息传递的基础。
(2)代码模板:代码模板是用户想要生成的源代码模型,它表示源代码中的共性部分,即无需修改的部分。
(3)数据模型:数据模型是代码自动生成框架的基础模型,具有高度的抽象性。它表示了源代码中的个性部分,即需根据
规律自动生成的部分。
(4)源代码:源代码是代码自动生成的成果,即通过自动生成形成的可加入工程直接使用的完整代码。
2 异构平台的软件体系架构异构平台的软件体系架构
异构通信处理平台包括对ATCA、VPX、CPCI、专用PC等已有硬件处理平台的兼容,可以统一地开发运行环境实现软硬
件的无缝交互,实现多功能应用组件的高度共享。其软件体系架构分为硬件层、板级支持包层、操作系统与驱动层、硬件抽象
层、核心服务层和应用层。
一般地,为了实现异构通信信号处理平台中多处理器和软件组件的升级继承与资源共享,其自动代码生成器需满足平台框
架需求,具体层级分布如图2所示。通信处理平台的自动代码生成器提高了软件开发的综合效率,实现硬件驱动和软件组件的
快速开发,缩短了新算法应用的实际周期,为通信领域的快速发展提供了良好的平台。
3 自动代码生成器实现自动代码生成器实现
3.1 操作系统与驱动层代码生成操作系统与驱动层代码生成
在操作系统与驱动层,异构通信处理平台的自动代码生成工具主要涉及硬件设备驱动的自动代码生成。处理器包括作为设
备的处理器和平台中的处理器。每个硬件设备驱动都要实现如表1所示的功能。