控制器的程序刷写方法、装置、控制器和存储介质制造方法及图纸

技术编号:31753972 阅读:21 留言:0更新日期:2022-01-05 16:36
本发明专利技术实施例公开了控制器的程序刷写方法、装置、控制器和存储介质。其中,该方法包括:根据预设存储结构获取待刷写程序;确定所述待刷写程序的代码内容的运行空间占用信息;基于刷写起始地址和所述运行空间占用信息将所述待刷写程序写入内存空间。本发明专利技术实施例通过预估待刷写程序的运行内存大小以及起始地址的方式将待刷写程序写入内存空间,有效节省了内存空间,可提高程序刷写的成功率,从而提高控制器运行的稳定性。制器运行的稳定性。制器运行的稳定性。

【技术实现步骤摘要】
控制器的程序刷写方法、装置、控制器和存储介质


[0001]本专利技术实施例涉及自动化控制
,尤其涉及控制器的程序刷写方法、装置、控制器和存储介质。

技术介绍

[0002]目前,嵌入式控制器逐渐丰富人们的日常生活,嵌入式控制器在执行功能前需要写入对应的程序。在将程序写入控制器时,需要由嵌入式开发工程师人为写入程序的起始地址、代码段、数据段、标定段以及内存占用等程序运行参数。这种控制器的开发模式导致开发过程繁琐,即使针对相同硬件设备刷写不同的控制程序,也需要确定的控制程序对应的运行参数,导致嵌入式开发工程师需要反复确定控制程序的运行参数,大大影响了控制器的开发效率,目前亟需一种快速安全的控制器刷写方法。

技术实现思路

[0003]本专利技术实施例提供了一种控制器的程序刷写方法、装置、控制器和存储介质,以实现程序的准确刷写,可减少运行参数的测试工作量,提高控制器运行的稳定性。
[0004]第一方面,本专利技术实施例提供了一种控制器的程序刷写方法,所述方法包括:
[0005]根据预设存储结构获取待刷写程序;
[0006]确定所述待刷写程序的代码内容的运行空间占用信息;
[0007]基于刷写起始地址和所述运行空间占用信息将所述待刷写程序写入内存空间。
[0008]第二方面,本专利技术实施例提供了一种控制器的程序刷写装置,所述装置包括:
[0009]程序接收模块,用于根据预设存储结构获取待刷写程序;
[0010]空间信息模块,用于确定所述待刷写程序的代码内容的运行空间占用信息;
[0011]程序刷写模块,用于基于刷写起始地址和所述运行空间占用信息将所述待刷写程序写入内存空间。
[0012]第三方面,本专利技术实施例提供了一种控制器,所述控制器包括:
[0013]一个或多个中央处理器;
[0014]存储器,用于存储一个或多个程序,
[0015]当所述一个或多个程序被所述一个或多个中央处理器执行,使得所述一个或多个中央处理器实现如本专利技术实施例所述的控制器的程序刷写方法。
[0016]第三方面,本专利技术实施例提供了一种计算机可读存储介质,其上存储有程序,其特征在于,所述程序被中央处理器执行时实现如本专利技术实施例所述的控制器的程序刷写方法。
[0017]本专利技术实施例的技术方案,通过根据预设存储结构获取待刷写程序,确定所述待刷写程序的代码内容的运行空间占用信息,并基于刷写起始地址和所述运行空间占用信息将所述待刷写程序写入内存空间。上述技术方案,采用基于预估待刷写程序的运行内存大小以及起始地址的方式将待刷写程序写入内存空间,有效节省了内存空间,可提高程序刷
写的成功率,从而提高控制器运行的稳定性,可以减少确定待刷写程序运行参数的测试时间,可提高控制器的开发效率。
附图说明
[0018]图1是本专利技术实施例一提供的一种控制器的程序刷写方法的流程图;
[0019]图2是本专利技术实施例二提供的一种控制器的程序刷写方法的流程图;
[0020]图3是本专利技术实施例二提供的一种代码内容的内存占用量确定的流程图;
[0021]图4是本专利技术实施例提供的一种控制器的程序刷写方法的实现效果图;
[0022]图5是本专利技术实施例提供的另一种控制器的程序刷写方法的示例图;
[0023]图6是本专利技术实施例三提供的一种控制器的程序刷写装置的结构框图;
[0024]图7是本专利技术实施例四提供的一种控制器的结构示意图。
具体实施方式
[0025]下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。
[0026]在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
[0027]实施例一
[0028]图1是本专利技术实施例一提供的一种控制器的程序刷写方法的流程图,本实施例可适用于控制器刷写代码的情况,该方法可以由本专利技术实施例所提供的控制器的程序刷写装置执行,该装置可以由软件和/或硬件的方式来实现,该装置可配置于控制器中。
[0029]如图1所示,本专利技术实施例提供的一种控制器的程序刷写方法具体包括如下步骤:
[0030]S110、根据预设存储结构获取待刷写程序。
[0031]其中,预设存储结构可以是用于存储待刷写程序的数据结构,该数据结构存储的可以是刷写程序的代码段、数据段、标定段和中断内存大小的数据段。本专利技术实施例对存储的数据的种类不作限制。
[0032]其中,待刷写的程序可以是实现控制器功能的程序,例如,实现控制器更新功能,删除功能等的代码,本专利技术实施例对待刷写程序实现的具体功能不作限制。
[0033]在本专利技术实施例中,预设存储结构可以包括代码段、数据段、标定段和中断内存大小的数据段,在接收到待刷写程序后,可以将待刷写程序的代码存储到代码段,可以将全局变量存储到数据段,可以将标定量存储到标定段,可以将中断数据存储到中断内存大小的数据段。
[0034]S120、确定待刷写程序的代码内容的运行空间占用信息。
[0035]其中,代码内容可以是构成待刷写程序处理逻辑的程序文本,可以包括全局变量、标定量和中断等内容。运行空间占用信息可以是反映上述代码内容在程序运行时所需要的
内存空间大小的信息,可以包括待刷写程序本身存储的内存的信息以及程序运行时占用的内存信息。
[0036]在本专利技术实施例中,可以通过存储在预存储结构中的代码段确定待刷写程序本身存储的内存的信息以及通过存储在预存储结构中的数据段、标定段和中断内存大小的数据段确定全局变量、标定量和中断等内容在程序运行时占用的信息。
[0037]示例性的,如果待刷写程序的代码内容中的全局变量有1个,该全局变量在运行时所占据的内存可以是10字节。如果待刷写程序的代码内容中的标定量有8个,每个标定量在运行时所占据的内存大小最大可以为2字节,那么待刷写程序的标定量在运行时所占据的内存大小可以是8*2字节,即16字节。如果待刷写程序的代码内容中的中断的深度为2,一个中断在运行时所占据的内存大小可以为10千字节(Kbytes,KB),那么待刷写程序的代码内容中的中断在运行时所占据的内存大小可以为2*10KB,即20KB。
[0038]S130、基于刷写起始地址和运行空间占用信息将待刷写程序写入内存空间。
[0039]其中,地址可以指一种编号,可以标识空间中的部分区域。刷写起始地址可以是内存空间中存储待刷写程序的起始地址,该刷写起始地址可以指本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种控制器的程序刷写方法,其特征在于,所述方法包括:根据预设存储结构获取待刷写程序;确定所述待刷写程序的代码内容的运行空间占用信息;基于刷写起始地址和所述运行空间占用信息将所述待刷写程序写入内存空间。2.根据权利要求1所述的方法,其特征在于,所述根据预设存储结构获取待刷写程序,包括:调用数据结构类接收并存储所述待刷写程序的代码段、数据段、标定段以及中断数据。3.根据权利要求1所述的方法,其特征在于,所述确定所述待刷写程序的代码内容的运行空间占用信息,包括:读取所述待刷写程序的代码内容,其中,所述代码内容包括:代码文本、全局变量、标定量和中断;分别确定代码文本、全局变量、标定量和中断的内存占用量,并将各所述内存占用量作为运行空间占用信息。4.根据权利要求3所述的方法,其特征在于,所述分别确定代码文本、全局变量、标定量和中断的内存占用量,包括:确定所述代码文本的有效代码行数,并所述有效代码行数与代码行空间占用系数之积作为所述代码文本的内存占用量;分别确定各所述全局变量和各所述标定量对应的数据结构,将所述全局变量的各所述数据结构之和作为所述全局变量的内存占用量,以及,将所述标定量的各所述数据结构之和作为所述标定量的内存占用量;在预设中断向量表查找所述中断的最深优先级,将所述最深优先级中断对应的内存大小与所述中断的个数之积作为所述中断的内存占用量。5.根据权利要求4所述的方法,其特征在于,所述代码行空间占用系数包括:所述待刷写程序的二进制行代码的平均内存占用长...

【专利技术属性】
技术研发人员:周添王宇张建李春善公博健侯殿龙
申请(专利权)人:中国第一汽车股份有限公司
类型:发明
国别省市:

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

1