当前位置:首页 > 单片机 > 单片机
[导读]本文通过研究提出了一种多处理器实时开发环境的设计思想,它可以支持多种型号处理器的同时开发,使系统级开发变得简单易行。

摘要:基于DSP的实时开发环境一般都是针对单独处理器进行开发而设计的,当一个系统中使用了多种类型的DSP芯片时,往往无法同时使用这些开发环境,也就无法进行系统级开发。本文通过研究提出了一种多处理器实时开发环境的设计思想,它可以支持多种型号处理器的同时开发,使系统级开发变得简单易行。这种统一的软件开发环境使开发人员始终面向同一个开发环境,易学易用,提高了开发效率。
关键词:多处理器;实时; Eclipse

1       引言

随着电子技术的发展和芯片处理能力的增强,数字信号处理技术[1]获得了空前的发展。由多处理芯片组成的阵列信号处理系统,使通讯、雷达、声纳进入数字化飞速发展的时代。但如何基于多处理芯片的信号处理系统建立实时的软件开发环境一直是个难题。以往的软件开发环境一般都与DSP&CPU芯片紧密结合在一起,每一型DSP&CPU芯片都配备了专用的开发环境。这些开发环境一般都针对单独处理器进行开发,而且相互之间互不兼容,当一个系统中使用了多种类型的DSP&CPU芯片时,往往无法同时使用这些开发环境,也就无法进行系统级开发。对于此,我们开发了一种系统级的软件开发工具,它可以支持多型处理器同时开发,使系统级开发变得简单易行。这种统一的软件开发环境使开发人员始终面向同一个开发环境,易学易用,提高了开发效率。

多处理器实时开发环境建立在以开放的Eclipse平台[2,3]为框架的基础之上,所以其主要的设计思路紧密结合了Eclipse平台及其插件进行构建及其设计,采用以配置文件为中心的支撑框架,各个功能模块围绕配置文件展开设计与实现。也就是说,通过配置文件构建起硬件平台的描述、数据流处理的描述、工程环境的描述等等,然后各个功能模块根据相关的描述进行设计与实现。可以看出,配置文件的设计在多处理器实时开发环境中的重要性,对配置文件的改动涉及到功能模块实现的改动。

2        配置文件说明

配置文件采用XML格式[4]进行描述。以配置文件为中心的设计思路是软件标准化的途径。通过配置文件描述多处理器实时开发环境所有可配置的内容,包括目标硬件的描述、工程的描述、开发环境的描述等等,然后围绕配置文件展开软件的设计与开发,实现具体的执行逻辑。这种软件设计思路具有很好的目标硬件可扩展、可维护性、可定制性等特点。下面具体说明一下硬件拓扑的配置文件。

在多处理器实时开发环境项目建立的过程中,硬件拓扑图描述文件将被建立起来,作为基于该项目开发的起点与基础。硬件拓扑图文件主要描述了项目中可编程的硬件单元及其互连关系,可编程硬件单元一般包括处理器、存储器、路由器等。硬件拓扑图描述文件名定义为HardTopology.xml。下面给出硬件拓扑配置文件的部分信息:

<?xml version="1.0"?>                                             XML文件版本

<HardTopology>

       <Name>Hard Topology</Name>                        硬件拓扑图名称

       <Information/>                                                硬件拓扑图描述信息

       <Issuer>by ZKHX</Issuer>                              发行者

       <Version>1.0</Version>                                    版本

<Router portnum="" id="">                               路由器(端口数量、ID

<Portn>                                                   端口n

                     <Connect type="processor" id="">       链接的硬件单元

                            <Class/>                                     硬件单元的类别

                            <Speed/>                                    数据流通信速度

                     </Connect>

              </Portn>

</Router>

<Processor portnum="" linknum="" id="">          处理器(端口数量、ID)

              <Portn>                                                   端口n

                     <Connect type="router" id="">            链接的硬件单元

                            <Class/>                                     硬件单元的类别

                            <Speed/>                                    数据流通信速度

                     </Connect>

              </Portn>

</ Processor>

<Memory portnum="" id="">                             存储器(端口数量、ID)

              <Portn>                                                   端口n

                     <Connect type="router" id="">

                            <Class/>

                            <Speed/>

                     </Connect>

              </Portn>

</ Memory >

</HardTopology>

……

3        系统总体设计

多处理器实时开发环境分为三层框架体系结构,目标层为目标程序运行的多型号、多处理器硬件平台及其软件结构,通信层为主机开发环境与目标机程序通信的结构,主机开发环境层为实时开发环境的软件结构。多处理器实时开发环境构建在Eclipse框架下,其各个功能模块以Eclipse插件或者可执行工具的形式存在。为了满足需求中对多型号、多处理器的支持,以及良好扩展性的支持,实时开发环境设计为开放式的框架结构。系统总体结构如图1所示:

图1系统总体设计图

对于不同型号、多处理器硬件平台运行的目标程序可能不同,实时操作系统、处理器算法程序应一一对应于不同型号、多处理器硬件平台。通信层负责主机开发环境与目标机程序之间的通信,对于不同型号、多处理器平台提供不同的主机-目标机驱动程序,并在驱动程序之上封装一层主机-目标机通信抽象层,达到主机与目标机通信协议的统一,这样建立在通信抽象层的主机开发环境不针对于某型号多处理器硬件平台,具有良好的适用性。同时在通信层提供远程调试模块,支持多处理器程序的远程开发与调试。主机开发环境为开发人员提供基于Eclipse框架下统一的开发环境,开发人员在多处理器拓扑图及其源代码框架上进行开发,而无需过多关心多型号、多处理器硬件平台及其配置。

4        以代码建模为中心的开发模式

根据硬件平台的配置文件,实时开发环境可以构建出多处理器拓扑图,开发人员可以在多处理器拓扑图上进行开发,可以完成开发阶段的如下工作:

1.定义数据流处理的链路,既数据流在多处理器之间的流动方向及其流入、流出尺寸规格,同时定义用于数据流的内存分配,对于流入或者流出的数据可以定义单缓存或者双缓存方案。对于周期处理算法,还可以定义每个处理器节点的处理周期。

2.定义处理器节点的任务,既处理器可以调度的执行单元,可以定义任务的名称及其参数、任务堆栈的大小、任务执行的优先级等。

3.定义处理器节点的资源,如信号量、邮箱等。

4.定义任务或者处理算法的内存分配,既处理器节点变量的定义。在内存定义分配时,实时开发环境可以根据硬件配置文件实时判断内存分配的可行与否,给出提示信息。

5.定义目标程序(处理器节点的任务)调试的方案,在目标代码中生成调试程序。

在多处理器拓扑图上完成开发阶段的工作后,即可自动生成代码框架,然后开发人员在生成的代码框架上继续开发。在代码框架自动生成的环境中,事先定义好代码框架生成的模板,同时开放代码框架模板并给出说明,这样开发人员可以自行定义不同类型多处理器硬件平台、及其操作系统的代码框架模板。代码框架模板的内容主要包括:支持的数据类型、数据流通信的代码、邮箱代码、信号量代码、中断代码、调试程序代码等。

以代码建模为中心的开发模式分顺序开发流程和增量开发流程,如下图2和图3所示:

图2 顺序开发流程

图3 增量开发流程

在多处理器程序调试阶段,除了传统的调试视图,还可以增加多处理器拓扑图的调试视图。可以通过多处理器拓扑图的调试视图观察多处理器程序执行的情况,包括数据流通信情况、处理器节点任务的执行时间、内存使用情况等。

在目标机硬件诊断阶段,也可以通过多处理器拓扑图动态显示硬件的诊断结果,既直观又容易定位。

可以看出,在多处理器程序开发的主要步骤都可以围绕多处理器拓扑图进行,同时多处理器拓扑图也是很好的目标程序说明文档。这种开发模式称为以代码建模为中心的开发模式[5]

5        结论

本文作者创新点:本文设计的多处理器实时开发环境是一款开放式、基于标准的多处理器实时开发环境。在通用环境下,使得多处理器软件开发的各个阶段更趋标准化,它不仅能够显著提高开发人员、项目团队的工作效率,而且能够带来性能、集成以及实用型的独特组合,适合于多型号、多处理器目标系统的开发,包括了软、硬件系统仿真功能,工程管理和系统构建,版本管理,编辑器,命令解释器,调试工具,系统分析工具,系统观察工具等功能模块。这种统一的软件开发环境使在基于多处理器目标机的系统级开发变得简单易行。

 

致谢: 该文得到了湖北省科技攻关计划项目基金(编号:2004AA210B01)的支持,在此特予致谢。本文的研究是做为该项目的一个子课题来进行的,其中第一作者参与了该项目的具体开发。

 

参考文献

[1]许家玉,经亚枝.基于DSP+FPGA的遗传算法硬件实现[J].微计算机信息,2005,(01) .

[2]刘洪星,谢玉山.Eclipse开发平台及其应用[J].武汉理工大学学报(信息与管理工程版),2005,(02)

[3]黄凯.基于Eclipse体系的构件开发管理平台的设计实现[J].科学技术与工程,2005,(14)

[4]魏晓云,陈杰,曾云. DSP技术的最新发展及其应用现状[J].半导体技术,2003,(09)

[5] 张进军,张维勇,薛来文.一种基于插件的软件体系结构[J].合肥工业大学学报(自然科学版),2005,(04)

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

利用数控机床进行机测时可以通过机床本体与测头来完成。

关键字: DSP 数控机床

慕尼黑2024年5月9日 /美通社/ -- TÜV南德意志集团(以下简称"TÜV南德")持续保障安全、可靠及可持续发展。作为全球化的服务提供商,TÜV南德2023年全年营收达约31亿欧元,首次突破30亿欧元大关,同比增长...

关键字: BSP 可持续发展 数字化 人工智能

凭借深度学习技术和SmartBid产品,百度国际MediaGo获得美国商业奖认可 旧金山2024年5月6日 /美通社/ -- 第22届美国商业奖(American Business Award®)近日发布获奖名...

关键字: MEDIA GO SMART BSP

上海2024年4月17日 /美通社/ -- 在2024 F1中国站即将拉开帷幕之际,高端全合成润滑油品牌美孚1号今日举办了品牌50周年庆祝活动。三届F1年度车手总冠军马克斯•维斯塔潘也亲临现场,共同庆祝这一里程...

关键字: BSP 汽车制造 行业标准 产品系列

北京2024年4月17日 /美通社/ -- 2024年4月13日,由北京康盟慈善基金会主办的"县域诊疗,规范同行"——肿瘤诊疗学术巡讲项目首站在广州隆重召开。本次会议邀请全国多位肺癌领域专家和县域同道...

关键字: AI技术 医疗服务 BSP 互联网

海口2024年4月16日 /美通社/ -- 4月14日,在中法建交60周年之际,科学护肤先锋品牌Galenic法国科兰黎受邀入驻第四届中国国际消费品博览会(以下简称"消博会")法国馆。Galenic法...

关键字: NI IC BSP ACTIVE

数字信号处理器(DSP)在通信、控制、图像处理等多个领域扮演着越来越重要的角色。TMS320F2808PZA作为德州仪器(Texas Instruments)推出的一款高性能DSP控制器,其独特的架构和强大的功能使其在众...

关键字: tms320f2808pza 数字信号处理器 DSP

上海2024年4月17日 /美通社/ -- 每年4月17日是世界血友病日。今年,世界血友病日以"认识出血性疾病,积极预防和治疗"为主题,呼吁关注所有出血性疾病,提升科学认知,提高规范化诊疗水平,让每一位出血性疾病患者享有...

关键字: VII 动力学 软件 BSP

伦敦2024年4月16日 /美通社/ -- ATFX宣布任命Siju Daniel为首席商务官。Siju在金融服务行业拥有丰富的经验和专业知识,曾在全球各地的高管职位上工作了19年以上。Siju之前担任FXCM首席商务官...

关键字: NI AN SI BSP
关闭
关闭