CN104950703B - 基于嵌入式系统的工业机器人控制器快速启动方法 - Google Patents

基于嵌入式系统的工业机器人控制器快速启动方法 Download PDF

Info

Publication number
CN104950703B
CN104950703B CN201510150690.3A CN201510150690A CN104950703B CN 104950703 B CN104950703 B CN 104950703B CN 201510150690 A CN201510150690 A CN 201510150690A CN 104950703 B CN104950703 B CN 104950703B
Authority
CN
China
Prior art keywords
image
address
main memory
file
controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510150690.3A
Other languages
English (en)
Other versions
CN104950703A (zh
Inventor
孙恺
刘淼
曹宇男
魏巍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Elite Robot Co Ltd
Original Assignee
Nantong Industry Technology Research Institute Co Ltd
Nantong Ai Lite Automation Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nantong Industry Technology Research Institute Co Ltd, Nantong Ai Lite Automation Co Ltd filed Critical Nantong Industry Technology Research Institute Co Ltd
Priority to CN201510150690.3A priority Critical patent/CN104950703B/zh
Publication of CN104950703A publication Critical patent/CN104950703A/zh
Application granted granted Critical
Publication of CN104950703B publication Critical patent/CN104950703B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Stored Programmes (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种基于嵌入式系统的工业机器人控制器快速启动方法,在控制器研发过程中,将控制器启动完毕后的内存状态保存为内存映像并进行压缩存储,在生产或者升级时将内存映像复制到控制器的外部Flash存储器上,系统启动时将映像解压缩到内存中执行。同时,还恢复指令cache锁定区设置,以保持控制器系统的关键算法的实时性。采用本发明的启动方法,可大大缩短控制器启动时间,对于机器人故障后重启恢复、装配调试等应用场合可以极大的提高生产效率,降低生产成本,安全性不受累计运行时间的影响,不但不受随机断电或者用户随机关机的影响,而且可以延长Flash的使用寿命。

Description

基于嵌入式系统的工业机器人控制器快速启动方法
技术领域
本发明涉及一种工业机器人控制器,特别涉及一种基于嵌入式系统的工业机器人控制器快速启动方法。
背景技术
工业机器人控制器是工业机器人的核心部件,是机器人运动控制的核心组成部分。机器人控制器的软硬件体系结构主要分为基于PC架构的和基于嵌入式的两种,基于嵌入式的控制器在可靠性、成本、体积、功耗方面都具有优势,具有广阔的发展前景。
在自动化程度较高的工厂中,工业机器人通常是多台配合工作的,其中一台因为操作或者其他外部原因造成停机需要重新启动时,会造成整个生产线停止工作,从而给生产企业造成损失。以国内汽车整车厂为例,最繁忙的生产线平均每60秒就有一辆汽车下线。而传统一般的嵌入式机器人控制器的重新启动时间在1分钟到3分钟之间,在故障不可能完全避免的现状下,尽量缩短机器人控制器重新启动时间具有重要的经济价值。
此外,在机器人控制器与机器人本体的装配调试过程中通常需要反复重新启动多次,如果能缩短机器人控制器重新启动时间,可以大大提高调试效率,减少调试费用。
传统的基于内存映像的PC的快速启动过程如图1所示,由于PC功能较多,与出厂相比,每次启动后内存数据的变化较大,因此需要在每次关机前保存当前的内存映像。同时,每次软件升级后再次启动时,不能使用快速启动,只能按照传统的方法启动。这种每次关机都保存当前内存映像的方法,移植到嵌入式系统上会有如下缺点:
1、这种方法随着累计运行时间的增加,内存硬件或者软件因素造成的故障会不断累计,故障几率也在不断增加。这对于机器人控制器是非常严重的问题,可能会造成生产设备和产品造成严重损失。
2、嵌入式系统使用的外部存储器一般为Flash芯片,与PC机使用的硬盘相比,Flash自身的读取速度快、写入速度慢,并且写入次数有较大限制。每次关闭都写入Flash,不但耗时很久而且会减少Flash寿命。
3、嵌入式实时控制系统中,某些关键算法为了保证实时性,需要保证响应代码一直存储于处理器的指令cache中,而传统的方法对此没有特殊处理,不能保证重新启动后关键代码存在于cache中,从而影响系统的实时性。
发明内容
本发明的目的在于克服现有技术中所存在的上述不足,提供一种基于嵌入式系统的工业机器人控制器快速启动方法,在控制器研发过程中,将控制器启动完毕后的内存状态保存为内存映像并进行压缩存储,在生产或者升级时将内存映像复制到控制器的外部Flash存储器上,系统启动时将映像解压缩到内存中执行。同时,对于关键算法的代码,当主内存映像加载完后,还恢复指令cache锁定区设置,以保持控制器系统的关键算法的实时性。
为了实现上述发明目的,本发明提供了以下技术方案:
一种基于嵌入式系统的工业机器人控制器快速启动方法,包括以下步骤:
步骤1:硬件初始化;
步骤2:加载主内存映像;
步骤3:恢复指令cache锁定区设置;
步骤4:运行系统软件。
优选的,所述步骤2中的主内存映像预先保存在控制器的Flash存储器中。
优选的,所述步骤2中的指令cache锁定区设置预先保存在控制器的Flash存储器中。
优选的,所述步骤2中的主内存映像保存在一压缩映像文件中,加载时进行解压后加载。
优选的,所述压缩映像文件还包括指令cache锁定区设置。
优选的,所述压缩映像文件的制作步骤为:
步骤1:硬件初始化;
步骤2:软件初始化;
步骤3:资源文件初始化;
步骤4:锁定关键指令cache;
步骤5:保存整个主内存映像;
步骤6:保存指令cache锁定区地址信息;
步骤7:压缩并导出压缩映像文件。
优选的,所述资源文件包括字库、图形、动画文件。
优选的,所述整个主内存映像包括整个操作系统和应用层程序及各种资源文件占用的内存空间的映像。
优选的,所述压缩映像文件包括主映像地址偏移、主映像解压后地址、主映像执行入口地址、指令cache锁定区信息地址偏移以及主映像和指令cache锁定区地址信息的压缩内容,其中所述主映像地址偏移是主内存映像压缩部分在整个文件中的位置,位于指令cache锁定区信息地址偏移之后;所述主映像解压后地址是主内存映像解压后保存的地址,是制作主内存映像时的起始地址;所述主映像执行入口地址是整个启动过程完毕后,开始进入响应状态时的程序入口地址;所述指令cache锁定区信息地址偏移是指令cache锁定区信息在整个文件中的位置,位于主内存映像部分之后,主内存映像加压完毕后,将这部分信息恢复到指令cache中。
优选的,其特征在于,所述步骤4运行系统软件结束后还包括直接断电关机步骤。
与现有技术相比,本发明的有益效果:
1.对于一个内存映像为200MB,Flash读取速度为50MB/S的系统,复制映像到内存的时间为4秒钟,加上硬件初始化的时间,本发明的方法可以在5秒钟内实现冷启动,近乎瞬时启动,与原来的1分钟启动时间相比,大大缩短了控制器启动时间,对于机器人故障后重启恢复、装配调试等应用场合可以极大的提高生产效率,降低生产成本。
2、PC对于上次关机时保存映像的方法,随着累计运行时间的增加,内存硬件或者软件因素造成的故障会不断累计,故障几率也在不断增加。而本发明的方法每次启动时使用的总是相同的、在研发时制作的安全的映像,安全性不受累计运行时间的影响。
3、嵌入式系统使用的外部存储器一般为Flash芯片,与PC机使用的硬盘相比,Flash自身的读取速度快、写入速度慢,并且写入次数有较大限制。本发明没有关机时的保存内存映像到Flash的操作,不但不受随机断电或者用户随机关机的影响,而且可以延长Flash的使用寿命。
4、嵌入式实时控制系统中,某些关键算法为了保证实时性,需要保证响应代码一直存储于处理器的指令cache中,而传统的方法对此没有特殊处理。本发明的方法在映像加载过程中,针对此问题进行了特殊处理,在系统加载完毕后,再继续加载指令cache映像,从而完全恢复系状态,保证系统重启后的实时性。
附图说明
图1为现有技术的基于内存映像的PC的快速启动过程
图2为本发明的基于嵌入式系统的工业机器人控制器快速启动过程
图3为本发明的压缩映像制作流程
图4为本发明的压缩映像文件格式
具体实施方式
下面结合试验例及具体实施方式对本发明作进一步的详细描述。但不应将此理解为本发明上述主题的范围仅限于以下的实施例,凡基于本发明内容所实现的技术均属于本发明的范围。
发明针对现有技术存在的问题和嵌入式系统的自身特点,提出一种基于预置内存映像的控制器快速启动方法,对于处理器主频为1GHz、使用Flash作为外部存储器的控制器系统,启动时间可以由原来的1分钟缩短到5秒钟,近乎瞬时启动,可以极大的提高生产效率。
与普通的PC计算机相比,嵌入式系统功能相对单一,特别是对于基于嵌入式系统的机器人控制器,用户在一般使用过程中不能随意安装新程序,也不需要改变参数,因此每次启动后,控制器主存储器存储的内容,除累计工作时间等内容外,绝大多数内容完全一致。
本发明正是利用这一点,在控制器研发过程中,将控制器启动完毕后的内存状态保存为内存映像并进行压缩存储,在生产或者升级时将内存映像复制到控制器的外部Flash存储器上,系统启动时将映像解压缩到内存中执行。该启动方法避免了一般控制器系统启动时加载多个零散文件并进行大量内部数据初始化的过程,启动时间只由内存映像大小和Flash存储器的读取速度决定。
同时,对于关键算法的代码,当主内存映像加载完后,还要恢复指令cache锁定区设置,以保持控制器系统的关键算法的实时性。
此外,由于一般嵌入式系统的Flash读取速度相比硬盘慢得多,而解压速度却不差,因而保存压缩过的映像文件,在加载映像时读取并解压,这个过程所需要的时间比读取整个非压缩映像更快。
如图2所示,本发明的基于嵌入式系统的工业机器人控制器快速启动过程如下:
步骤1:硬件初始化;
步骤2:解压加载主内存映像;
步骤3:恢复指令cache锁定区设置;
步骤4:运行系统软件。
运行系统软件结束后直接断电关机,等待下次冷启动,又重复上述步骤。
为了保证关键算法代码的实时性和尽量加快启动速度,保存的压缩映像是操作系统和应用层程序充分初始化后的,即除了软件本身的变量初始化以外,字库、图形、动画等非可执行资源的加载和初始化都完成、应用层进入完全的用户响应状态后,保存并压缩整个操作系统和应用层程序及各种资源文件占用的内存空间作为主映像,然后查找指令cache条目,保存锁定区的地址信息。压缩后的主内存映像和指令cache的锁定区信息保存在同一个文件中。当系统重新启动并解压加载主内存映像后,不需要再进行任何的初始化及资源文件的加载,加载主内存映像完毕后,再加载指令cache锁定区的地址设置,然后进入用户响应状态。
压缩映像的制作流程如图3所示。
压缩并导出的文件格式如图4所示,其中:
主映像地址偏移:是主映像压缩部分在整个文件中的位置,通常位于“指令cache锁定区信息地址偏移”之后。
主映像解压后地址:主内存映像解压后保存的地址,也是制作主内存映像时的起始地址。
主映像执行入口地址:整个启动过程完毕后,开始进入响应状态时的程序入口地址。
指令cache锁定区信息地址偏移:指令cache锁定区信息在整个文件中的位置,通常位于主映像部分之后。主内存映像加压完毕后,将这部分信息恢复到指令cache中。

Claims (5)

1.一种基于嵌入式系统的工业机器人控制器快速启动方法,其特征在于,包括以下步骤:
步骤1:硬件初始化;
步骤2:解压加载主内存映像,所述主内存映像预先保存在控制器的Flash存储器中,所述主内存映像保存在一压缩映像文件中,所述压缩映像文件是操作系统和应用层程序充分初始化后的,除了软件本身的变量初始化以外,非可执行资源的加载和初始化都完成、应用层程序进入完全的用户响应状态后,保存并压缩整个操作系统和应用层程序及资源文件占用的内存空间作为主内存映像,然后查找指令cache条目,保存锁定区的地址信息,压缩后的主内存映像和指令cache锁定区地址信息保存在压缩映像文件中;
步骤3:恢复指令cache锁定区设置;
步骤4:运行系统软件。
2.根据权利要求1所述的基于嵌入式系统的工业机器人控制器快速启动方法,其特征在于,所述压缩映像文件的制作步骤为:
步骤1:硬件初始化;
步骤2:软件初始化;
步骤3:资源文件初始化;
步骤4:锁定关键指令cache;
步骤5:保存整个主内存映像;
步骤6:保存指令cache锁定区地址信息;
步骤7:压缩并导出压缩映像文件。
3.根据权利要求2所述的基于嵌入式系统的工业机器人控制器快速启动方法,其特征在于,所述资源文件包括字库、图形、动画文件。
4.根据权利要求1-3任一项所述的基于嵌入式系统的工业机器人控制器快速启动方法,其特征在于,所述压缩映像文件包括主映像地址偏移、主映像解压后地址、主映像执行入口地址、指令cache锁定区信息地址偏移以及主映像和指令cache锁定区地址信息的压缩内容,其中所述主映像地址偏移是主内存映像压缩部分在整个文件中的位置,位于指令cache锁定区信息地址偏移之后;所述主映像解压后地址是主内存映像解压后保存的地址,是制作主内存映像时的起始地址;所述主映像执行入口地址是整个启动过程完毕后,开始进入响应状态时的程序入口地址;所述指令cache锁定区信息地址偏移是指令cache锁定区信息在整个文件中的位置,位于主内存映像部分之后,主内存映像加压完毕后,将这部分信息恢复到指令cache中。
5.根据权利要求1所述的基于嵌入式系统的工业机器人控制器快速启动方法,其特征在于,所述步骤4运行系统软件结束后还包括直接断电关机步骤。
CN201510150690.3A 2015-03-31 2015-03-31 基于嵌入式系统的工业机器人控制器快速启动方法 Active CN104950703B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510150690.3A CN104950703B (zh) 2015-03-31 2015-03-31 基于嵌入式系统的工业机器人控制器快速启动方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510150690.3A CN104950703B (zh) 2015-03-31 2015-03-31 基于嵌入式系统的工业机器人控制器快速启动方法

Publications (2)

Publication Number Publication Date
CN104950703A CN104950703A (zh) 2015-09-30
CN104950703B true CN104950703B (zh) 2017-10-17

Family

ID=54165437

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510150690.3A Active CN104950703B (zh) 2015-03-31 2015-03-31 基于嵌入式系统的工业机器人控制器快速启动方法

Country Status (1)

Country Link
CN (1) CN104950703B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108008698B (zh) * 2016-10-28 2024-03-08 深圳市朗驰欣创科技股份有限公司 一种机器人系统及其开关机控制装置
CN112559242B (zh) * 2019-09-25 2022-07-12 无锡江南计算技术研究所 国产众核处理器计算核内存压缩方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1818869A (zh) * 2006-03-15 2006-08-16 浙江大学 嵌入式操作系统镜像启动的启动优化方法
CN102193813A (zh) * 2010-03-09 2011-09-21 上海拜翰网络科技有限公司 嵌入式虚拟化快速启动方法及系统
CN102207881A (zh) * 2011-07-07 2011-10-05 电子科技大学 一种基于Android的操作系统快速启动方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7392381B2 (en) * 2004-04-13 2008-06-24 Intel Corporation Proactive forced renewal of content protection implementations

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1818869A (zh) * 2006-03-15 2006-08-16 浙江大学 嵌入式操作系统镜像启动的启动优化方法
CN102193813A (zh) * 2010-03-09 2011-09-21 上海拜翰网络科技有限公司 嵌入式虚拟化快速启动方法及系统
CN102207881A (zh) * 2011-07-07 2011-10-05 电子科技大学 一种基于Android的操作系统快速启动方法

Also Published As

Publication number Publication date
CN104950703A (zh) 2015-09-30

Similar Documents

Publication Publication Date Title
CN100394391C (zh) 用于在计算机系统上存储数据的系统和方法
CN103336736B (zh) 系统日志获取方法和装置
CN103197934A (zh) 多媒体装置的启动方法及多媒体装置
CN109683983B (zh) 一种镜像文件的生成及加载方法、设备
CN106445569B (zh) Vxworks操作系统的嵌入式装置的启动方法及系统
CN104950703B (zh) 基于嵌入式系统的工业机器人控制器快速启动方法
CN111813455B (zh) 固态硬盘的低功耗实现方法、装置、计算机设备和存储介质
EP2795463B1 (en) Systems and methods for managing data in a device for hibernation states
CN103425549A (zh) 嵌入式控制器的固件管理方法及系统
TW201945920A (zh) 儲存備份記憶體封裝中之狀態管理
CN105224402A (zh) 一种多系统快速切换方法及系统
CN111026325A (zh) 闪存控制器、闪存控制器的控制方法及相关的电子装置
CN104866388B (zh) 数据处理方法及装置
CN108052197A (zh) 一种信息处理方法以及电子设备
JP2008537240A (ja) 埋め込みシステム、特にスマートカードにロードされる疑似コードの検証方法
US20070028224A1 (en) Program initiation methods and embedded systems utilizing the same
CN101373436A (zh) U盘上数据自动压缩和解压缩的方法
CN110134545B (zh) 基于可信执行环境的提供虚拟nvram的方法及系统
CN112346556A (zh) 提高芯片低功耗效率的方法、装置、计算机设备及介质
CN110673956B (zh) 回收线程创建方法、装置、计算机设备以及存储介质
CN108710507A (zh) 一种ssd主机休眠优化的方法
CN109032843B (zh) 一种基于stt-mram加速固态存储器件启动的方法
US8521988B2 (en) Control system and control method of virtual memory
WO2016131313A1 (zh) 一种嵌入式操作系统代码加载的方法及装置
CN102063365A (zh) 一种记录单板运行信息的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210510

Address after: 215000 Suzhou Industrial Park and 28 Heshun Road, Jiangsu Province

Patentee after: SUZHOU ELITE ROBOT Co.,Ltd.

Address before: 226019 Room 405, 3 Building, Industrial Technology Research Institute, 58 Chongchuan Road, Nantong City, Jiangsu Province

Patentee before: NANTONG AILITE AUTOMATION Co.,Ltd.

Patentee before: NANTONG INDUSTRY TECHNOLOGY RESEARCH INSTITUTE Co.,Ltd.