一种双功能智能烧写模块及方法

文档序号:6623336阅读:236来源:国知局
一种双功能智能烧写模块及方法
【专利摘要】本发明提出一种软件存储层面的版本对比显示和匹配选择版本烧写的双功能智能烧写方法,通过二次开发DSP芯片的烧写核,独立封装生成烧写模块,将其应用到产品开发里,以实现不同版本程序之间的差异显示和任意选择烧写。实际工作中,加入该模块的产品在软件开发和后期的升级中,相比传统的库管理和自带的烧写核操作,设计效率大大增加,并且确保了软件版本的高效控制以及烧写零差错。
【专利说明】一种双功能智能烧写模块及方法

【技术领域】
[0001]本发明涉及软件受控调试领域,特别涉及一种基于软件受控开发的双功能智能烧与丰旲块。

【背景技术】
[0002]目前实验室中的软件受控开发,比如DSP软件,通常根据任务要求,结合具体实现,会有多个版本同时存在,版本的管理在开发库中由开发者自行分类,以及在软件完成开发后,根据阶段及图号规则将软件命名后置于受控库中存放,在需要烧写时出库。
[0003]可见无论开发中还是开发后,当前主要是通过库管理采取人防手段来进行调试烧写版本的确认。但是,由于开发中调试和功能要求的实时变化,对软件做多次更改,会在开发者电脑上保存有多个版本,当开发工作有间断或者功能基线发散时,甚至开发者变动或是出差等不在岗因素,都会导致对版本难以进行有效控制,甚至混淆不同版本之间的变动之处,这样又需要重新审视各版本程序,降低开发效率。特别是开发后的产品保障,无法进行在线升级,所以要确保百分百的正确版本烧写,显然通过人防的库管理存在着不足。并且,现阶段在软件烧写的硬件选择上,开发人员多采用DSP芯片自身的烧写核进行操作,功能单一不便于开发,特别在版本控制以及代码实时性方面体现不出优势。


【发明内容】

[0004]本发明的目的在于提供一种双功能智能烧写模块及方法,能够进行软件存储层面的版本对比显示和匹配选择版本烧写,通过二次开发DSP芯片的烧写核,独立封装生成烧写模块,将其应用到产品开发里,以实现不同版本程序之间的差异显示和任意选择烧写。
[0005]为了达到上述目的,本发明一个技术方案是提供一种双功能智能烧写方法,在进行烧写操作时,将存储在ROM存储单元中的待烧入程序,和存储在FLASH存储单元中的已烧入程序进行比对;
在交互界面上显示两程序的版本号、两程序间存在差异的语句及差异所在的位置,供用户查看后选择是否继续烧写操作。
[0006]可选地,对于所存储的多个不同版本的程序,根据输入的查询条件,在交互界面上显示与查询条件相匹配的版本号及源程序,供用户查看后选择是否继续烧写操作;所述查询条件是程序的开发时间、开发阶段、开发人员中的任意一项或若干项的任意组合。
[0007]可选地,在已烧入程序与待烧入程序之间通过循环进行比对,若两程序在当前比对的存储地址的数据一致时,使一个比对标志变量的数值加一;若当前比对的存储地址的数据不一致时,所述比对标志变量不变化,并将该存储地址写入一个记录程序差异所在位置的指针数组中。
[0008]可选地,对所有存储地址比对结束后,通过将比对次数和比对标志变量的数值进行比较,判断两程序是否一致;
或者,通过判断记录程序差异所在位置的指针数组中是否存有地址数值,来判断两程序是否一致。
[0009]可选地,存储程序时,在一数据库中定义与不同查询条件对应的若干指针数组,将程序的版本号按照不同查询条件分类后存储在相应指针数组的地址数据中;
ROM存储单元中的地址空间划分为多个片选,分别存储不同版本的程序,并将程序的版本号和ROM存储单元的片选的首地址进行映射,来与查询条件相匹配。
[0010]本发明的另一个技术方案是提供一种双功能智能烧写方法,通过工控机的交互界面,选择进入比对操作或查询操作;
进行比对操作时,将存储在ROM存储单元中的待烧入程序,和存储在FLASH存储单元中的已烧入程序进行比对;在交互界面上显示两程序的版本号、两程序间存在差异的语句及差异所在的位置,供用户查看后选择继续烧写操作或者对程序进行调试;
进行查询操作时,通过交互界面输入查询条件,来显示与查询条件相匹配的版本号及源程序,供用户查看后继续烧写操作或者对程序进行调试。
[0011]本发明的又一个技术方案是提供一种双功能智能烧写模块,由相连接的工控机进行控制的烧写模块中,包含:烧写核,及分别与之连接的MCU单元和DSP芯片,所述MCU单元通过烧写核来控制DSP芯片实现上述的烧写方法;
所述烧写核中进一步设置有:
比对单元,将待烧入程序和已烧入程序进行比对,并输出两程序的版本号、两程序间存在差异的语句及差异所在的位置至工控机的交互界面上显示;
查询单元,根据输入的查询条件,从数据库中获取与查询条件相匹配的版本号及源程序输出至交互界面显示。
[0012]可选地,所述烧写模块中还包含与所述烧写核连接的FLASH存储单元,及与所述DSP芯片连接的JTAG仿真芯片。
[0013]可选地,所述烧写模块设置有ROM存储接口、FPGA接口及仿真测试接口。
[0014]与现有技术相比,本发明提出一种软件存储层面的版本对比显示和匹配选择版本烧写的智能方法,通过二次开发DSP芯片的烧写核,独立封装生成烧写模块,将其应用到产品开发里,以实现不同版本程序之间的差异显示和任意选择烧写。实际工作中,加入该模块的产品在软件开发和后期的升级中,相比传统的库管理和自带的烧写核操作,设计效率大大增加,并且确保了软件版本的高效控制以及烧写零差错。
[0015]因而,本发明提供的双功能智能烧写模块及方法,其优点在于:
1、在存储层面进行不同版本程序语句的比对,并在交互界面显示比对后的具体差异、位置以及版本标识,方便开发者即时定位开发状态和调试;
2、可存储开发中产生的多个程序版本,在交互界面中,可以设置时间、阶段等查询条件来选择所需版本,从而省去开发者在库里或者电脑中查找不同版本并且掌握该版本功能状态的时间,提闻开发效率;
3、产品保障升级时,可选择所需的版本进行升级,并且在交互界面中明确版本状态以及已烧入的程序版本进行比较,同时提示是否继续操作,避免产品因升级周期长而带来的状态模糊,同时当更换保障人员时,也能很快把握软件的当前状态;
4、二次开发C5000系列芯片的烧写核,独立设计封装模块实现智能烧写技术方案的硬件化。

【专利附图】

【附图说明】
[0016]图1是本发明中进行程序版本对比显示功能的框图;
图2是本发明中进行查询选择程序版本功能的框图;
图3是本发明中所述双功能智能烧写方法的流程图;
图4是本发明中所述双功能智能烧写模块的框图和外部接口图。

【具体实施方式】
[0017]本发明提供一种双功能智能烧写模块及方法;
首先,烧写模块所述的双功能,一是指烧写模块会自动将之前已烧入的程序与当前需要新烧入的程序进行比对,在交互界面中分别显示这两个程序的版本号、差异处的程序语句及所在行数等信息,方便开发者及时定位开发状态并决定是否继续烧写操作;二是指烧写模块会自动存储已经烧入的各个版本的程序,用户可以根据时间等设定条件来查询版本,并显示版本状态和源程序,确保高效开发。
[0018]其次,烧写模块的智能性,体现在通过工控机的开发软件设计相应界面为上述功能提供操作选择、查询选择、自动比对和存储,并以询问机制来实现烧写操作和源程序显示操作。当然还可根据实际需求来丰富界面指示,方便开发。
[0019]如图1所示,是本发明中实现对比显示功能的流程Al示意图,主要包括:版本显示、语句对比、差异和位置显示、根据提示进行烧写操作这四个部分。
[0020]其中,重点是将存储在ROM中的待烧入程序,和存储在FLASH中的已烧入程序之间进行语句比对,同时在开发软件的界面上显示出这两个程序的版本号、两个程序之间的差异、及差异所在的位置等信息,以便开发人员操作。
[0021]实际工作中,在连接了该烧写模块的产品中,流程如下:
首先产品加电工作,在工控机开发软件的界面中执行烧写程序,在选择比对功能后,则显示出当前待烧入程序的版本,然后根据待烧入程序在ROM中的首地址,从存储程序的地址块中将待烧入程序的数据读出;
同样,把已烧入程序在FLASH中的首地址作为起始地址,从存储地址块中将已烧入程序的数据读出。
[0022]设置一个比对标志变量flag,利用循环进行两个程序之间的比对:
一个示例中,如果两程序之间某一位存储地址的数据一致,则flag变量自动+1 ;若数据不一致,flag变量不变化。在flag自加的操作中,加入一个指针数组change []来记录程序比对后存在差异的存储地址,当对某个存储地址进行比对以后flag变量没有变化的,则将该存储地址写入change []中。
[0023]比对结束后,可以通过将比对次数和flag变量值进行比较来判断两个程序是否一致,也可通过change []数组中有无地址数值来判断。change []数组里存储的地址可以是ROM地址,该地址映射了所需数据,用来进一步在开发软件的交互界面中显示两个版本程序存在差异的语句和行数位置;在界面中还标识出版本号,以方便开发者即时掌握程序。
[0024]最后在界面中提供选择操作,其中一个选项表示烧写程序继续执行以完成对当前程序(即前述待烧入程序)的烧写;其中另一个选项表示操作中止,退出烧写程序,则用户可根据显示的程序差异,继续调试。
[0025]如图2所示,是本发明中实现按条件自动查询选择版本进行烧写功能的流程A2示意图,主要包括:查询条件设置、不同版本程序的存储、源程序显示这三个部分。
[0026]其中,重点是查询条件设置,通过建立一个小型的匹配数据库,实现条件和版本的多重映射匹配。本发明中可以根据软件产品开发周期以及后续修改,设置按照时间来查询;或者,可以根据软件开发阶段的控制,设置按照初样、试样、定型和交付来查询;或者,还可以设置查询开发人员来选择版本,方便设计工作的延续和产品升级保障工作。
[0027]S卩,在数据库中定义开发时间、开发阶段、开发人员三个指针数组,将各条件下的版本信息存储在相应指针数组的地址数据中。同时将芯片ROM中的地址空间划分为多个片选,方便后续工作中对应存储各个不同的程序版本。存储操作可在交互界面中以询问机制实现,选择存储后,可将当前版本的程序复制到指定的片选空间中。为了实现与查询数据库中条件的多重匹配,需要将版本号和ROM片选的首地址做映射。这样当在开发软件的交互界面中输入查询条件时,根据设计人员的需求,既可显示出符合该条件的版本号和源程序。接着设计者可根据实际需求选择进行烧写或是调用版本进行调试。
[0028]实际工作中,查询选择程序版本的流程如下:
在工控机开发软件的界面中执行烧写程序,在选择查询功能后,读取用户输入的查询条件,利用数据库中查询条件与程序版本号之间的映射关系,获取与查询条件相匹配的程序版本信息进行显示。
[0029]根据用户选择,可进一步根据版本号和ROM片选的首地址的映射关系,获取相匹配的ROM片选的首地址,来调取所存储的源程序。
[0030]之后,在界面提供选择操作,其中一个选项,表示对源程序进行显示并继续调试;其中另一个选项,表示选择与查询条件相匹配的版本的程序完成烧写。
[0031]如图3所示,并结合图1和图2可以看出,本发明的方法对于连接了该烧写模块的产品,是在产品加电工作后,在工控机开发软件的界面中执行烧写程序;在界面上显示相应选项,供用户选择进行比对功能,或选择进行查询功能:
在选择比对功能后,则进入如图1所示的比对流程Al,在用户查看待烧入程序与已烧入程序版本及差异语句及行数位置后,根据用户选择对程序进行调试,或者完成烧写操作。
[0032]在选择查询功能后,则进入如图2所示的查询流程A2,在用户查看与查询条件相匹配的程序版本(或进一步查看源程序)后,根据用户选择对程序进行调试,或者完成烧写操作。
[0033]本发明的方法操作简单,界面清晰,功能丰富。考虑到了软件烧写中可能出现的各种情况,以帮助设计师决定下一步的操作,甚至设计师不在场时都可顺利进行相关烧写工作。
[0034]如图4所示,是本发明智能烧写模块的硬件框图和外部接口图。所述烧写模块(虚线所示)中,通过对烧写核的二次开发,由MCU单元控制DSP芯片(例如是TI公司C5000系列)采用文中所述方法来实现双功能智能烧写。同时,该烧写模块中还整合了 FLASH存储单元及JTAG仿真芯片,实现模块的独立封装。外部控制由与该烧写模块连接的工控机实现,该烧写模块还具备ROM存储接口、用于硬件开发的FPGA接口以及仿真测试用的接口。设计师在产品的实际开发中,可通过接插件等形式连接此烧写模块,在调试烧写过程中使用,大大提高设计效率和调试烧写保障。
[0035]综上所述,本发明涉及软件受控调试烧写过程中不同版本对比显示和匹配选择技术,可单独封装实现硬件化,具有良好易懂的交互界面,可靠性强,有效地保障了开发者的后期烧写调试以及产品升级工作。通过编程实现该技术方案后,选择TI公司C5000系列的DSP芯片,对原先的编程器和烧写核进行二次开发,独立设计并封装成双功能智能烧写模块,以便其他产品设计时使用,解决了开发者调试程序时版本众多产生的混淆和杜绝产品后期保障工作中的旧版复用问题,大大提高了软件开发效率。
[0036]尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。
【权利要求】
1.一种双功能智能烧写方法,其特征在于, 在进行烧写操作时,将存储在ROM存储单元中的待烧入程序,和存储在FLASH存储单元中的已烧入程序进行比对; 在交互界面上显示两程序的版本号、两程序间存在差异的语句及差异所在的位置,供用户查看后选择是否继续烧写操作。
2.如权利要求1所述的烧写方法,其特征在于, 对于所存储的多个不同版本的程序,根据输入的查询条件,在交互界面上显示与查询条件相匹配的版本号及源程序,供用户查看后选择是否继续烧写操作;所述查询条件是程序的开发时间、开发阶段、开发人员中的任意一项或若干项的任意组合。
3.如权利要求1所述的烧写方法,其特征在于, 在已烧入程序与待烧入程序之间通过循环进行比对,若两程序在当前比对的存储地址的数据一致时,使一个比对标志变量的数值加一;若当前比对的存储地址的数据不一致时,所述比对标志变量不变化,并将该存储地址写入一个记录程序差异所在位置的指针数组中。
4.如权利要求3所述的烧写方法,其特征在于, 对所有存储地址比对结束后,通过将比对次数和比对标志变量的数值进行比较,判断两程序是否一致; 或者,通过判断记录程序差异所在位置的指针数组中是否存有地址数值,来判断两程序是否一致。
5.如权利要求2所述的烧写方法,其特征在于, 存储程序时,在一数据库中定义与不同查询条件对应的若干指针数组,将程序的版本号按照不同查询条件分类后存储在相应指针数组的地址数据中; ROM存储单元中的地址空间划分为多个片选,分别存储不同版本的程序,并将程序的版本号和ROM存储单元的片选的首地址进行映射,来与查询条件相匹配。
6.一种双功能智能烧写方法,其特征在于, 通过工控机的交互界面,选择进入比对操作或查询操作; 进行比对操作时,将存储在ROM存储单元中的待烧入程序,和存储在FLASH存储单元中的已烧入程序进行比对;在交互界面上显示两程序的版本号、两程序间存在差异的语句及差异所在的位置,供用户查看后选择继续烧写操作或者对程序进行调试; 进行查询操作时,通过交互界面输入查询条件,来显示与查询条件相匹配的版本号及源程序,供用户查看后继续烧写操作或者对程序进行调试。
7.一种双功能智能烧写模块,其特征在于, 由相连接的工控机进行控制的烧写模块中,包含:烧写核,及分别与之连接的MCU单元和DSP芯片,所述MCU单元通过烧写核来控制DSP芯片实现如权利要求1飞中任意一项所述的烧写方法; 所述烧写核中进一步设置有: 比对单元,将待烧入程序和已烧入程序进行比对,并输出两程序的版本号、两程序间存在差异的语句及差异所在的位置至工控机的交互界面上显示; 查询单元,根据输入的查询条件,从数据库中获取与查询条件相匹配的版本号及源程序输出至交互界面显示。
8.如权利要求7所述的烧写模块,其特征在于, 所述烧写模块中还包含与所述烧写核连接的FLASH存储单元,及与所述DSP芯片连接的JTAG仿真芯片。
9.如权利要求8所述的烧写模块,其特征在于, 所述烧写模块设置有ROM存储接口、FPGA接口及仿真测试接口。
【文档编号】G06K1/12GK104200181SQ201410396995
【公开日】2014年12月10日 申请日期:2014年8月13日 优先权日:2014年8月13日
【发明者】张永勣, 陈亢, 赵浩 申请人:上海无线电设备研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1