离线式软件在环模拟的开发系统及其方法技术方案

技术编号:36330323 阅读:57 留言:0更新日期:2023-01-14 17:39
本发明专利技术提供一种离线式软件在环模拟的开发系统及一种离线式软件在环模拟方法。通用固件架构经编译后产生芯片控制程序。通用固件架构包含应用层与硬件抽象层。应用层具有设定标头档与产品程序。周边模块所需的处理程序于编译时被加入至硬件抽象层。芯片控制程序被提供至控制器芯片或电路模拟软件执行来通过控制周边模块来控制产品相关电路。周边模块来控制产品相关电路。周边模块来控制产品相关电路。

【技术实现步骤摘要】
离线式软件在环模拟的开发系统及其方法


[0001]本专利技术是与软件在环模拟有关,特别有关于一种离线式软件在环模拟的开发系统及一种离线式软件在环模拟方法。

技术介绍

[0002]一般电路设备包含控制器芯片与产品相关电路。
[0003]控制器芯片可通过执行固件来控制产品相关电路,借此实现电路自动控制。
[0004]于固件的开发过程中,多是采用软件在环模拟(software

in

the

loop simulation)方法来产生相容于特定控制器芯片的固件。
[0005]前述的软件在环模拟方法可分为实时式软件在环模拟(real

time software

in

the

loop simulation)方法与离线式软件在环模拟(offline software

in

the

loop simulation)方法。
[0006]一般的实时式软件在环模拟方法是通过高速通信接口及/或特定硬件来将开发系统直接连接电路设备,来直接测量周边模块的信号。由于需要高速通信接口及/或特定硬件,实时式软件在环模拟方法具有较高的硬件成本。
[0007]请参阅图1,图1为现有的离线式软件在环模拟方法的示意图。
[0008]于现有的离线式软件在环模拟方法中,开发者必须先实现模型在环(model

in

the

loop,MIL)模拟方法来生成控制器模型。
[0009]控制器模型是用来自动产生控制对象(如特定厂牌/型号的控制器芯片)可执行的控制器程序码。
[0010]开发者可将所产生的控制器程序码提供给控制对象执行,并通过观察运行结果来验证程序逻辑是否正确,借此实现离线式软件在环模拟方法。
[0011]于现有的离线式软件在环模拟方法中,开发者所使用的电路模拟软件必须支援目前使用的控制器芯片的类型,其控制器模型所产生的控制器程序码才能正确相容于此类型的控制器芯片,进而正确进行模拟。
[0012]更进一步地,对于不同厂牌/型号的控制器芯片,电路模拟软件必须分别提供不同的控制器模型来执行前述自动程序码生成。
[0013]上述情况使得电路模拟软件仅能支援有限的控制器芯片厂牌/型号,一旦遇到不支援的控制器芯片厂牌/型号,电路模拟软件就无法自动产生相容于此控制器芯片的控制器程序码。
[0014]是以,现有软件在环模拟方法存在上述问题,而亟待更有效的方案被提出。

技术实现思路

[0015]本专利技术的主要目的,在于提供一种离线式软件在环模拟的开发系统与一种离线式软件在环模拟方法,可通过通用固件架构的硬件抽象层来使产品程序相容于指定的控制器芯片或电路模拟软件,且不需变更产品程序。
[0016]于一实施例中,一种离线式软件在环模拟的开发系统,包含一数据库及一通用固件架构。该通用固件架构包含一应用层及一硬件抽象层。该数据库包含至少一芯片周边函式库,各该芯片周边函式库包含至少一处理程序。该通用固件架构于被编译后产生一芯片控制程序。该应用层包含一产品程序与一设定标头档,该产品程序记录有用来控制一产品相关电路的程序码,该设定标头档用来连结一周边模块所需的该处理程序。该硬件抽象层包含该处理程序,其中该应用层依据特定的一实体控制器芯片或一电路模拟软件所要控制的该周边模块而于编译中从该数据库中将对应的该处理程序加入至该硬件抽象层。该芯片控制程序用来被提供至该实体控制器芯片或该电路模拟软件中执行,并通过控制该周边模块来控制该产品相关电路。
[0017]于一实施例中,一种离线式软件在环模拟方法,包含:a)取得一产品程序与一设定标头档,其中该产品程序记录有用来控制一产品相关电路的程序码,该设定标头档用来连结一周边模块所需的一处理程序,该处理程序用来于一实体控制器芯片或一电路模拟软件中控制该周边模块;b)执行一编译器来编译该产品程序及该设定标头档来产生一芯片控制程序;及,c)于该实体控制器芯片或该电路模拟软件中执行该芯片控制程序来通过控制该周边模块来控制该产品相关电路;其中,该步骤b)包含:b1)基于该设定标头档从一数据库搜索该处理程序,并将该处理程序加入至一硬件抽象层;b2)编译一应用层及该硬件抽象层来产生该芯片控制程序,其中该应用层包含该产品程序与该设定标头档;及,b3)提供该芯片控制程序至该实体控制器芯片或该电路模拟软件中。
[0018]本专利技术可快速将产品程序转用于不同类型的控制器芯片或电路模拟软件,而可有效缩短固件开发时程。
附图说明
[0019]图1为现有的离线式软件在环模拟方法的示意图。
[0020]图2为本专利技术的一实施例的离线式软件在环模拟方法的示意图。
[0021]图3A为本专利技术的一实施例的开发系统的编译架构图。
[0022]图3B为本专利技术的一实施例的开发系统的产品模式的执行架构图。
[0023]图3C为本专利技术的一实施例的开发系统的虚拟模式的执行架构图。
[0024]图4A为本专利技术的一实施例的离线式软件在环模拟方法的流程图。
[0025]图4B为本专利技术的一实施例的编译的流程图。
[0026]图5为本专利技术的一实施例的产品模式的编译架构图。
[0027]图6为本专利技术的一实施例的产品模式的执行架构图。
[0028]图7为本专利技术的一实施例的产品模式的流程图。
[0029]图8为本专利技术的一实施例的虚拟模式的编译架构图。
[0030]图9为本专利技术的一实施例的虚拟模式的执行架构图。
[0031]图10为本专利技术的一实施例的虚拟模式的流程图。
[0032]图11为本专利技术的一实施例的硬件抽象层的架构图。
[0033]图12为本专利技术的一实施例的通用固件架构的数据连结示意图。
[0034]图13为本专利技术的一实施例的设定标头档的部分示意图。
[0035]图14为本专利技术的一实施例的控制器芯片的处理程序的示意图。
[0036]图15为本专利技术的一实施例的电路模体软件的处理程序的部分示意图。
[0037]图16为本专利技术的一实施例的非抢占式调度的流程图。
[0038]图17为本专利技术的一实施例的中断/非中断程序处理的流程图。
[0039]附图标记说明:
[0040]1:数据库
[0041]2:程序码
[0042]3:编译后产物
[0043]10:通用固件架构
[0044]100:应用层
[0045]101:硬件抽象层
[0046]11:芯片控制程序
[0047]20:设定标头档
[0048]21:产品程序
[0049]22:周边初始化程序
[0050]23:非抢占式调度器
[0051]30:芯片周本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种离线式软件在环模拟的开发系统,包括:一数据库,包括至少一芯片周边函式库,各该芯片周边函式库包括至少一处理程序;及一通用固件架构,于被编译后产生一芯片控制程序,该通用固件架构包括:一应用层,包括一产品程序与一设定标头档,其中该产品程序记录有用来控制一产品相关电路的程序码,该设定标头档用来连结一周边模块所需的该处理程序;及一硬件抽象层,包括该处理程序,其中该应用层依据特定的一实体控制器芯片或一电路模拟软件所要控制的该周边模块而于编译中从该数据库中将对应的该处理程序加入至该硬件抽象层;其中,该芯片控制程序用来被提供至该实体控制器芯片或该电路模拟软件中执行,并通过控制该周边模块来控制该产品相关电路。2.如权利要求1所述的开发系统,还包括用来执行编译的一开发软件,该开发软件对应至该实体控制器芯片;其中,该设定标头档中,运行模式被设定为一产品模式,该实体控制器芯片及所需要的一实体周边模块被选择;其中,该开发系统用来连接该实体控制器芯片,并通过启动已烧录至该实体控制器芯片的该芯片控制程序,来使该实体控制器芯片通过控制该实体周边模块来控制一实体产品相关电路。3.如权利要求1所述的开发系统,还包括该电路模拟软件,用来模拟一虚拟控制器芯片、该虚拟控制器芯片的一虚拟周边模块及一虚拟产品相关电路;其中,该设定标头档中,运行模式被设定为一虚拟模式,该电路模拟软件被选择;其中,该应用层还包括一非抢占式调度器,该非抢占式调度器是于编译中被加入至该应用层;其中,该电路模拟软件用来于执行时启动该芯片控制程序来触发该非抢占式调度器;其中,该非抢占式调度器用来于执行时触发该产品程序,通过该芯片控制程序来控制该虚拟周边模块,以控制该虚拟产品相关电路。4.如权利要求3所述的开发系统,其中该电路模拟软件用来于执行时设定该非抢占式调度器的参数,并通过该非抢占式调度器执行一中断/非中断程序处理。5.如权利要求4所述的开发系统,其中该电路模拟软件还包括一周期性中断服务程序、一非周期性中断服务程序及一非中断服务程序;其中,该非抢占式调度器用来执行该周期性中断服务程序、该非周期性中断服务程序及该非中断服务程序。6.如权利要求4所述的开发系统,其中该非抢占式调度器用来于执行时基于多个周期性中断频率决定一基准频率,基于该基准频率对一非中断计数器设定一非中断触发周期,并基于该基准频率对一非周期性中断计数器设定一非周期性中断触发周期。7.如权利要求4所述的开发系统,其中该非抢占式调度器用来于该多个周期性中断频率中选择一最高频率,作为一基准频率,并以该基准频率重复执行该中断/非中断程序处理。8.如权利要求7所述的开发系统,其中该非抢占式调度器包括一非中断计数器及一非周期性中断计数器;
其中,该非抢占式调度器用来于每次执行该中断/非中断程序处理时控制该非中断计数器及该非周期性中断计数器计次,处理一周期性中断事件,于该非中断计数器的值满足一非中断触发周期时处理一非中断事件并重设该非中断计数器,并于该非周期性中断计数器的值满足一非周期性中断触发周期时处理一非周期性中断事件并重设该非中断计数器。9.如权利要求1所述的开发系统,其中该应用层还包括一周边初始化程序,于编译时被加入至该应用层,并用来于执行时初始化该处理程序;其中,该设定标头档用来连结该处理程序所对应的该周边初始化程序。10.如权利要求1所述的开发系统,还包括:一存储器,用来存储该数据库及该...

【专利技术属性】
技术研发人员:林佑任林建璋朱家苇蔡腾纬董丰瑄
申请(专利权)人:台达电子工业股份有限公司
类型:发明
国别省市:

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

1