一种嵌入式工控仪表软件开发平台制造技术

技术编号:8655813 阅读:219 留言:0更新日期:2013-05-01 23:27
本发明专利技术涉及一种嵌入式工控仪表软件开发平台,包括硬件驱动层、系统平台调度层、产品应用层和产品定制层,硬件驱动层和系统平台调度层构成平台核心层,产品应用层和产品定制层构成产品层;硬件驱动层包括工控仪表相关硬件模块的驱动代码,系统平台调度层包括嵌入式操作系统基本调度管理功能和工控仪表基本处理功能的代码,产品应用层包括工控仪表不同种类产品的相关公共代码,产品定制层包括针对不同的具体产品的各定制代码;硬件驱动层和系统平台调度层的代码经编译封装成LIB库文件,供产品应用层和产品定制层的代码调用。该软件开发平台有利于实现产品开发的标准化、规范化和协同化,加快开发效率,提高研发资源利用率,降低开发和维护成本。

【技术实现步骤摘要】

本专利技术涉及嵌入式工控仪表软件开发
,特别是一种适用于基于ARMC0RTEX-M3/M4处理器开发的嵌入式工控仪表的软件开发平台。
技术介绍
国内工控数显仪表从80年代末发展至今,从模仿国外仪表到自主创新,并成功替代进口仪表,产品逐渐进入成熟期,随着研发生产企业的增多,客户需求从过去注重功能向注重品牌、服务、产品品质发展,对仪表设计的专业化、个性化定制提出更高的要求。过去工控数显仪表只要能实现信号采集、LED显示、继电器控制、模拟输出、通讯功能,再加上PID控制算法、流量算法的支持,基本就能满足用户的要求。随着技术的进步,客户应用要求的升级,逐步增加IXD显示、低功耗节能、强抗干扰、无线组网、NET组网、USB支持、特殊算法支持、多回路调节控制等功能要求。为提高产品竞争力,提高产品性价比,企业开发要求通过软件减少或降低对硬件的需求,简化生产工艺及维修流程。这些需求对软件开发提出了更高的要求。早期工控数显仪表主要采用8位的51单片机以及部分16位CPU来实现,随着32位ARM芯片价位的不断降低及实现复杂功能需求的增加,采用32位机开发工控数显仪表将逐渐成为主流。目前,在稍微复杂的仪表开发上采用最新C0RTEX-M3/M4系列的ARM芯片做主处理器,其性价比已超越51系列单片机,其最低成本不足I美元,但集成的资源、运行速度大大超越了 51单片机。因此,在今后较复杂功能的产品开发中,采用该系列CPU必将进一步提升产品的功能及性价比,但是也使新产品设计的复杂程度不断增加。早期工控数显仪表的软件开发主要由公司中几个骨干技术人员在整个开发过程中单人独立完成,其设计源码、技术及经验主要积累在几位骨干中,这样一旦产品出现问题,其他开发人员很难介入。加上各人所用芯片各不相同,开发工具、编译环境也不一样,即使技术骨干之间也很难介入他人设计的产品开发中,而个人的成功经验别人也无法进行复制、推广。一旦出现人员流失,后续的产品研发及维护将耗费巨大的资源及损失。因此,随着产品设计复杂度的不断提高,这种开发模式已难以满足要求,仪表开发企业迫切需要能快速、优质、高效满足客户需求的开发新模式,若能实现多人协同开发、管理,将大大缩短产品的研发周期。而不同程序员之间考虑到保密性、结构完整性、编码风格等因素,如何实现方便的技术复用成为一个亟待解决的问题。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供一种嵌入式工控仪表软件开发平台,该软件开发平台有利于实现产品开发的标准化、规范化和协同化,加快开发效率,提高研发资源利用率,降低开发和维护成本。为实现上述目的,本专利技术的技术方案是一种嵌入式工控仪表软件开发平台,包括硬件驱动层、系统平台调度层、产品应用层和产品定制层,所述硬件驱动层和系统平台调度层构成平台核心层,所述产品应用层和产品定制层构成产品层;所述硬件驱动层包括工控仪表相关硬件模块的驱动代码,所述系统平台调度层包括针对工控仪表开发的内核软件相关调度管理功能的代码,所述产品应用层包括各种系列化产品对应的公共代码,所述产品定制层包括系列化产品中各具体产品对应的定制代码; 所述硬件驱动层的代码经编译封装成驱动库文件,通过函数调用的方式供产品层使用,所述系统平台调度层的代码分为可编译成LIB库和无法编译成LIB库两部分,可编译成LIB库的代码也编译成调度库文件供产品层调用,无法编译成LIB库的代码,以源代码的形式提供给产品层,采用功能注册或消息驱动机制的方法进行调度管理。与现有技术相比,本专利技术的有益效果是构建了一个针对工控仪表开发的集专用程序库、驱动库、算法库及调度管理等一体的软件开发平台,通过该平台开发系列产品,有利于提高产品开发的标准化、规范化、通用化和协同化,形成一种搭积木的开发模式,不仅可以提高后期产品的研发效率,保证产品质量在前期产品上不断提升,而且可以提高代码复用率,减少重复开发工作,提高研发资源的利用率,极大地减轻了研发人员的工作量,使研发人员可以将精力集中在客户应用功能的开发上,使仪表产品向高端化发展,涉入国外仪表占据的领域,在提升产品档次的同时为各行业的应用降低成本。此外,该软件开发平台使多人并行研发成为可能,使新产品的开发从个人开发模式过渡到团队协同分层开发,减少了产品开发对单一技术人员的依赖程度,大大降低了产品开发和后期维护成本。附图说明图1是本专利技术实施例的实现原理框图。具体实施例方式本专利技术嵌入式工控仪表软件开发平台,如图1所示,分四层设计,包括硬件驱动层、系统平台调度层、产品应用层和产品定制层,所述硬件驱动层和系统平台调度层构成平台核心层,所述产品应用层和产品定制层构成产品层;所述硬件驱动层包括工控仪表相关硬件模块的驱动代码,所述系统平台调度层包括针对工控仪表开发的内核软件相关调度管理功能的代码,所述产品应用层包括各种系列化产品对应的公共代码,所述产品定制层包括系列化产品中各具体产品对应的定制代码,利用这一层实现产品的快速定制。产品应用层针对硬件设计不同种类的系列化产品的公共代码,形成针对不同种类产品的标准产品功能,产品定制层在标准产品功能的基础上根据各产品的具体要求设计相应的定制代码,实现系列化产品的差异化编程。产品应用层的开发主要采用填表格的方式进行设计,系统平台调度层根据表格的信息进行相应功能的调度,减少了后期开发的编码量,既加快了开发速度,又提高了软件设计的可靠性。所述硬件驱动层的代码经编译封装成驱动库文件,通过函数调用的方式供产品层使用,所述系统平台调度层的代码分为可编译成LIB库和无法编译成LIB库两部分,可编译成LIB库的代码也编译成调度库文件供产品层调用,无法编译成LIB库的代码,以源代码的形式提供给产品层,采用功能注册或消息驱动机制的方法进行调度管理。设置系统平台调度层,是为了简化产品应用层的开发,将各产品软件设计有共性的地方提取出来,进行统一的调度管理,使产品应用层只专注产品的功能开发,减少应用层代码量,而系统的调度及可靠性管理由系统平台调度层完成,使产品开发人员不需要很高的编程水平就能设计出可靠、功能复杂的产品,缩短产品开发周期,简化后期维护。整个系统平台调度层又分成2个部分,由于编译的关系,有些和产品应用层关系密切的代码无法编译成Iib库使用,将这部分调度代码放置在系统平台调度层的USER目录中,采用 include命令以源代码的方式提供给产品应用层,采用功能注册或消息驱动机制的方法实现代码的调度管理(使应用层专注考虑功能设计)。而与产品应用层编译要求不紧密的代码则编译成Iib库,以函数调用的方式供应用层调用。进行工控仪表产品程序开发时,在硬件驱动层,每个工控仪表产品设置有一个对应的配置文件,定义和硬件相关的类型配置及引脚定义,驱动代码各工控仪表产品共用,编译器根据配置文件进行裁剪生成相应的驱动库文件;在系统平台调度层,所有工控仪表产品共用源代码,根据硬件驱动层的配置文件生成经过裁剪编译后的调度库文件和相应的驱动库文件一起提交给产品层的程序进行编译链接,生成最终的产品程序烧写代码。该平台还包括用于工控仪表开机引导及程序升级更新的启动代码,在向工控仪表产品中烧写程序时,所述启动代码烧写在程序区O地址开始的空间,其他代码烧写在0x1000开始的程序空间,利用芯片程序区末尾的部分空本文档来自技高网
...

【技术保护点】
一种嵌入式工控仪表软件开发平台,其特征在于:包括硬件驱动层、系统平台调度层、产品应用层和产品定制层,所述硬件驱动层和系统平台调度层构成平台核心层,所述产品应用层和产品定制层构成产品层;所述硬件驱动层包括工控仪表相关硬件模块的驱动代码,所述系统平台调度层包括针对工控仪表开发的内核软件相关调度管理功能的代码,所述产品应用层包括各种系列化产品对应的公共代码,所述产品定制层包括系列化产品中各具体产品对应的定制代码;所述硬件驱动层的代码经编译封装成驱动库文件,通过函数调用的方式供产品层使用,所述系统平台调度层的代码分为可编译成LIB库和无法编译成LIB库两部分,可编译成LIB库的代码也编译成调度库文件供产品层调用,无法编译成LIB库的代码,以源代码的形式提供给产品层,采用功能注册或消息驱动机制的方法进行调度管理。

【技术特征摘要】
1.一种嵌入式工控仪表软件开发平台,其特征在于:包括硬件驱动层、系统平台调度层、产品应用层和产品定制层,所述硬件驱动层和系统平台调度层构成平台核心层,所述产品应用层和产品定制层构成产品层;所述硬件驱动层包括工控仪表相关硬件模块的驱动代码,所述系统平台调度层包括针对工控仪表开发的内核软件相关调度管理功能的代码,所述产品应用层包括各种系列化产品对应的公共代码,所述产品定制层包括系列化产品中各具体产品对应的定制代码; 所述硬件驱动层的代码经编译封装成驱动库文件,通过函数调用的方式供产品层使用,所述系统平台调度层的代码分为可编译成LIB库和无法编译成LIB库两部分,可编译成LIB库的代码也编译成调度库文件供产品层调用,无法编译成LIB库的代码,以源代码的形式提供给产品层,采用功能注册或消息驱动机制的方法进行调度管理。2.根据权利要求1所述的一种嵌入式工控仪表软件开发平台,其特征在于:进行工控仪表产品程序开发时,在硬件驱动层,每个工控仪表产品设置有一个对应的配置文件,定义和硬件相关的类型配置及引脚定义,驱动代码各工控仪表产品共用,编译器根据配置文件生成相应的驱动库文件;在系统平台调度层,所有工控仪表产品共用源代码,根据硬件驱动层的配置文件生成经过裁剪编译后的调度库文件和相应的驱动库文件一起提交给产品层的程序进行编译链接,生成最终的产品程序烧写代码。3.根据权利要求1所述的一种嵌入式工控仪表软件开发平台,其特征在于:该平台还包括用于工控仪表开机引导及程序升级更新的启动代码,在向工控仪表产品中烧写程序时,所述启动代码烧写在程序区O地址开始的空间,其他代码烧写在OxlOOO开始的程序空间,利用芯片程序区末尾的部分空间作为掉电保存参数的存储空间。4.根据权利要求1所述的一...

【专利技术属性】
技术研发人员:林瑞忠张善明钟彬龙
申请(专利权)人:福州昌晖自动化系统有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1