一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种脱机烧录方法和装置与流程

2022-12-31 20:38:38 来源:中国专利 TAG:


1.本发明属于烧录技术领域,具体涉及一种脱机烧录方法和装置。


背景技术:

2.对大多数电子装置的制造厂商来说,在电子装置出厂前会对其进行某些特定数据的烧录程序,以透过上述烧录程序将特定数据记录在电子装置内部的存储器当中。这些特定数据例如是电子装置的作业系统、系统芯片中的韧体码或是用以正常驱动电子装置的启动数据等等。目前大部分的制造厂商多半是以人工的方式来进行烧录程序,也就是说,对于每批即将出厂的电子装置,都必须经由负责烧录动作的操作人员将这些特定数据一一烧录在电子装置之中。
3.然而现有的脱机烧录器主要使用swd接口进行数据传输,这种传输方式虽然简单,但是在下载速度上,受限于下载接口swd接口的速度以及swd下载协议的限定,速度上难以提升,下载效率低。因此,对于需要大量产出电子装置的生产线来说,如何大幅提高烧录速度以及烧录效率,是一个亟待解决的问题。


技术实现要素:

4.本发明提供了一种脱机烧录方法和装置,用以解决如何大幅提高烧录速度以及烧录效率的问题。
5.为了解决上述技术问题,本发明提供了一种脱机烧录方法,包括:通过swd接口协议将初始化代码加载至待下载ic;所述初始化代码用于初始化待下载ic,使所述待下载ic准备接收待下载数据,并将所述待下载数据存储至所述待下载ic的内部flash中;待所述待下载ic初始化完毕后,通过spi接口向所述待下载ic传输待下载数据。
6.作为本发明的进一步改进,所述通过swd接口协议将初始化代码加载至待下载ic,包括:读取键值key,当所述键值key>0时,主控mcu通过所述swd接口协议将所述初始化代码加载至所述待下载ic中,判断是否加载成功;若加载成功,获取所述spi接口的检测信息signal,当所述signal>0时,通过所述spi接口向所述主控mcu返回spi准备完成信号,所述待下载ic的spi接口准备接收数据;若加载失败,则继续通过所述swd接口协议将所述初始化代码加载至所述待下载ic中。
7.作为本发明的进一步改进,所述通过spi接口向所述待下载ic传输待下载数据,包括:所述主控mcu接收到所述待下载ic发送的所述spi准备完成信号后,将所述待下载数据通过所述spi接口以固定字节长度批量传输至所述待下载ic的内部flash中,直至所述待下载数据传输完毕。
8.作为本发明的进一步改进,还包括有ic下载底座,所述ic下载底座用于放置所述待下载ic;所述ic下载底座与所述主控mcu通过swd接口和spi接口连接,将所述待下载数据从所述主控mcu传输至所述待下载ic。
9.作为本发明的进一步改进,还包括电源模块,所述电源模块与所述主控mcu和所述ic下载底座连接。
10.作为本发明的进一步改进,还包括与所述主控mcu连接的运行指示灯,所述运行指示灯用于表示所述主控mcu与所述待下载ic之间的数据传输状态。
11.作为本发明的进一步改进,还包括与所述主控mcu连接的显示屏,所述显示屏用于显示所述主控mcu与所述待下载ic之间的数据传输状态。
12.作为本发明的进一步改进,所述初始化代码为boot代码。
13.作为本发明的进一步改进,所述待下载ic为设置有spi接口和swd接口的arm 内核芯片。
14.本发明还提供了一种脱机烧录装置,所述装置初始化模块和数据传输模块;所述初始化模块用于通过swd接口协议将初始化代码加载至待下载ic;所述初始化代码用于初始化待下载ic,使所述待下载ic准备接收待下载数据,并将所述待下载数据存储至所述待下载ic的内部flash中;所述数据传输模块用于当所述待下载ic初始化完毕后,通过spi接口向所述待下载ic传输待下载数据。
15.与现有技术相比,本发明提供的一种脱机烧录方法和装置,通过swd接口的特性,先将一段初始化代码下载至待下载ic中,使下载ic准备接收待下载数据,并将待下载数据存储至待下载ic的内部flash中,再利用待下载ic自带spi接口,通过spi接口向待下载ic传输待下载数据,由于spi接口的传输速度远快于swd接口的传输速度,因此在swd接口的基础上结合spi接口的高速传输能力,能够大幅提高脱机烧录器的烧录速度以及烧录效率。
附图说明
16.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一部分实施例,而不是全部的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,根据这些附图获得的其他的附图,都属于本技术保护的范围。
17.图1是本发明实施例提供的一种脱机烧录方法的流程图;图2是本发明实施例提供的一种脱机烧录方法中将初始化代码加载至待下载ic的流程图;图3是本发明实施例提供的一种脱机烧录方法中通过spi接口向待下载ic传输待下载数据的流程图;图4是本发明实施例提供的一种脱机烧录方法中主控mcu和待下载ic的连接关系示意图;图5是本发明实施例提供的一种脱机烧录装置的模块示意图。
具体实施方式
18.为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图和具体实施例对本发明作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
19.为了使本揭示内容的叙述更加详尽与完备,下文针对本发明的实施方式与具体实施例提出了说明性的描述;但这并非实施或运用本发明具体实施例的唯一形式。实施方式中涵盖了多个具体实施例的特征以及用以建构与操作这些具体实施例的方法步骤与其顺序。然而,亦可利用其它具体实施例来达成相同或均等的功能与步骤顺序。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
20.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
21.在本发明实施例的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况,另外,在本技术实施例的描述中,“多个”是指两个或多于两个,其它量词与之类似应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本技术的实施例及实施例中的特征可以相互组合。
22.本发明实施例提供了一种脱机烧录方法,可以应用于主机设备与待烧录设备之间,或者主机设备与若干个待烧录设备之间;其中,主机可以是计算机、也可以是单个网络服务器、多个网络服务器组成的服务器组或者基于云计算的由大量主机或者网络服务器构成的云,其中云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机,也可以是存储有数据的主控mcu(microcontroller unit,微控制单元);主机设备与待烧录设备之间通过烧录器进行数据传输,其中,烧录器实际上是一个把可编程的集成电路写上数据的工具,烧录器主要用于单片机(含嵌入式)和/或存储器之类的芯片的刷写等,烧录器在功能上可分为万用型烧录器、量产型烧录器、专用型烧录器,烧录器用于放置待烧录设备,同时与主机设备连接;待烧录设备可以是如eprom(electricalprogrammablereadonlymemory,可擦除可编程只读存储器)、eeprom(electricallyerasableprogrammableread-onlymemory,带电可擦可编程只读存储器)等可以写入程序的可编程器件。需要进行说明的是,本发明实施例提供的是一种脱机烧录方法,即脱离pc(personalcomputer,个人电脑)进行烧录,芯片烧录的操作中可以不使用电脑,这种方式对生产来说十分方便,先使用电脑将代码文件下载到主控mcu中,之后使用烧录器执行某种操作,直接将主控mcu中的数据传输至待下载芯片中。
23.可以理解的是,上述应用场景仅是作为示例,并不构成对于本技术实施例提供的技术方案的应用场景的限定,本技术的技术方案还可应用于其他场景。
24.请参照图1-图4,用于解决如何大幅提高烧录速度以及烧录效率的问题。如图1所示,本发明实施例提供了一种脱机烧录方法的流程图,其中,该方法包括:
步骤s1:通过swd接口协议将初始化代码加载至待下载ic;其中,上述初始化代码用于初始化待下载ic的spi从机设备,使待下载ic接收待下载数据,并将待下载数据存储至待下载ic的内部flash中;请参照图2,为本发明实施例提供的一种脱机烧录方法中将初始化代码加载至待下载ic的流程图,作为一种可选的实施方式,上述通过swd接口协议将初始化代码加载至待下载ic,包括:初始化待下载ic;读取键值key,当键值key>0时,主控mcu通过所述swd接口协议将所述初始化代码加载至待下载ic中,判断是否加载成功;若加载成功,获取spi接口的检测信息signal,当signal>0时,通过spi接口向所述主控mcu返回spi准备完成信号,所述待下载ic的spi接口准备接收数据;若加载失败,则继续通过所述swd接口协议将所述初始化代码加载至所述待下载ic中。
25.本发明实施例中包括主控mcu、待下载ic(integratedcircuitchip,微型电子器件)和ic下载底座,其中,主控mcu用于存储待下载文件,主控mcu和ic下载底座通过swd接口和spi接口连接,烧录时将待下载ic放置在ic下载底座上,待下载文件通过ic下载底座传输至待下载ic的内部flash(flasheeprommemory,闪存器)中。
26.具体的,本发明实施例中应用到的待下载ic为设置有spi(serial peripheral interface,串行外设接口)接口和swd(serial wire debug 串行调试)接口的arm(advanced risc machine,微处理器)内核芯片;其中,spi接口可以使主控mcu与待下载ic以串行方式进行通信以交换信息,当然spi接口也可以直接与各种常见的标准外围器件相连,如flashram(新型闪速存储器,)、网络控制器、lcd显示驱动器、a/d转换器等。spi接口一般使用4条线:串行时钟线(sclk)、主机输入/从机输出数据线miso、主机输出/从机输入数据线mosi和低电平有效的从机选择线nss;swd接口则是一种串行调试接口,与spi接口相比,swd接口需要使用串行时钟线(swclk)和串行数据线(swdio)两条线。
27.进一步地,由于本发明实施中选用的待下载ic为设置有spi接口和swd接口的内核芯片,而这种芯片内部通常设置有一个flash存储器,它主要用于存储代码,当在电脑中编写好应用程序或者在主控mcu存储好待下载数据时,使用通过ic下载底座就可以将待下载数据传输至待下载ic的内部flash中,而且flash存储器中存储的内容在掉电后不会丢失,这样的话待下载ic重新上电复位后照样可以应用,因此在实际的烧录过程中优选的将待下载数据烧录至待下载ic的内部flash中。
28.具体的,由主控mcu通过swd接口协议先将一段初始化代码通过ic下载底座传输至待下载ic中,swd接口协议主要是通过一条双向串行数据线和一条串行时钟线来实现对待下载ic进行编程与调试的协议,其中,swd接口协议的具体内容为本领域所熟知的协议,本发明不做赘述。
29.进一步地,上述应用到的初始化代码具体为boot代码(boot loader,引导加载程序),这段代码是在操作系统核运行之前运行的一小段程序,它是系统加电后运行的第一段软件代码,通过这段代码实现硬件的初始化,建立存空间的映射图,为操作系统核准备好硬件环境并引导核的启动。
30.在本发明实施例中,这段boot代码用于初始化待下载ic,如果待下载ic连接有若干个spi从机设备时,则也对spi从机设备进行相应的初始化,一般在spi设备中,设备分为主机设备和spi从机设备,主机设备通常是微控制器,如上述待下载ic,spi从机设备通常是传感器、显示器或者存储信息等等,用于从主机设备获取指令,还用于使待下载ic准备接收数据,并且将数据存储至待下载ic的内部flash中。
31.进一步地,主控mcu和ic下载底座通过swd接口和spi接口连接,烧录时将待下载ic放置在该烧录器的ic下载底座上,本发明实施例还提供了有烧录器,该烧录器上还设置有运行指示灯和显示屏,具体的,由主控mcu、运行指示灯和显示屏共同组成了该烧录器;其中,ic下载底座是独立设置的,是现有技术中可以直接应用的设备,在本发明实施例中,ic下载底座作为主控mcu对待下载ic传输数据时所需要应用到的配套设备,实际操作时可以直接应用现有技术中的ic下载底座,将待下载ic放置在ic下载底座上,使用时主控mcu和ic下载底座通过swd接口和spi接口连接,同时还设置有电源模块,将主控mcu和ic下载底座进行电连接。
32.进一步地,运行指示灯用于表示主控mcu和待下载ic之间的数据传输状态,运行指示灯设置有不同颜色的指示灯,用于表示不同的数据传输状态,也可以通过设置显示屏显示信息的方式来表示主控mcu和待下载ic之间的数据传输状态,上述方式都是可行的。
33.具体的,当通过boot代码对待下载ic进行初始化时,首先按下开始按键读取键值key,当键值key>0时,主控mcu通过所述swd接口协议将所述初始化代码加载至待下载ic中,当键值key≤0时,则继续启动重新读取键值key;需要进行说明的是,上述键值key是否大于0可以理解为一种表示待下载ic可以进入初始化状态的信号,可以是显示屏上直观的信息展示,可以是高低电平转换带来的信号,也可以是运行指示灯某种颜色信号灯的闪烁,只要表示待下载ic能够进行初始化状态所采用的任意提示方式,都是可行的,本发明不做具体限制;当然,为了便于解释说明,本发明实施例以及实施例附图将以键值key是否大于0来进行具体的说明。
34.进一步地,当键值key>0时,主控mcu通过swd接口协议将初始化代码即boot代码加载至待下载ic中,需要进行说明的是,本发明实施例中重点陈述的是该段boot代码所能起到的初始化效果,对于不同的待下载ic的型号,相应的boot代码也会随之进行相应的调整,而具体的调整方式,该段boot代码具体的实现脚本则是本领域技术人员根据本发明实施例boot代码的初始化效果所能知悉并实现的,因此本发明对boot代码的具体实现脚本不做进一步举例说明。
35.进一步地,判断boot代码是否完整加载至待下载ic中,若加载失败,则继续通过swd接口协议将初始化代码加载至待下载ic中,若加载成功,则获取待下载ic的spi接口的检测信息signal,若signal>0时,则待下载ic通过spi接口向主控mcu返回spi准备完成信号,同时该待下载ic的spi接口准备接收数据;若signal≤0时,则继续通过swd接口协议将初始化代码加载至待下载ic中。
36.需要进行说明的是,检测信息signal和上述键值key一样,都是表示一种状态的改变,这种状态的改变表现出来可以是显示屏上的信息展示,可以是高低电平转换的信号,也可以是运行指示灯某种颜色信号灯的闪烁,只要能够表示待下载ic初始化完毕,可以准备
通过spi接口接收数据,所采用的任意提示方式,都是可行的,本发明不做具体限制;当然,为了便于解释说明,本发明实施例以及实施例附图将以signal值是否大于0来进行具体的说明。
37.步骤s2:待下载ic初始化完毕后,通过spi接口向所述待下载ic传输待下载数据。
38.请参照图3,为本发明实施例提供的一种脱机烧录方法中通过spi接口向待下载ic传输待下载数据的流程图,作为一种可选的实施方式,上述通过spi接口向所述待下载ic传输待下载数据,包括:所述主控mcu接收到所述spi准备完成信号后,将所述待下载数据通过所述spi接口以固定字节长度批量传输至所述待下载ic的内部flash中,直至所述待下载数据传输完毕。
39.在本发明实施例中,主控mcu接收到待下载ic通过spi接口向主控mcu返回的spi准备完成信号后,将主控mcu存储的待下载文件以固定字节长度,如8k、16k等固定字节长度,通过spi接口批量传输至待下载ic的内部flash中;判断下载是否有回应,若下载有回应,则继续下载,直至所有的待下载文件都下载至待下载ic的内部flash中,若下载没有回应,则返回至待下载ic是否初始化完毕的步骤,当主控mcu存储的待下载文件全部下载完毕后,通过打印或者运行指示灯闪烁的方式、也可以是某种提示音的方式对工作人员进行提示,更换新的待下载ic进行烧录。
40.请参照图4,为本发明实施例提供的一种脱机烧录方法中主控mcu和待下载ic的连接关系示意图,需要进行说明的是,由于主控mcu的内部存储有限,因此对于某些内存较大无法完全存储的待下载文件需要进行传输时,通常需要给主控mcu外接一存储设备如u盘,将待下载文件存储至该外接设备中,实际的下载过程中,将待下载文件经主控mcu、ic下载底座后传输至待下载ic的内部flash中。
41.进一步地,运行指示灯设置有不同颜色的指示灯,便于工作人员更加直观的了解主控mcu与待下载ic之间的数据传输状态,使用不同颜色的指示灯来表示待下载ic可以进入初始化状态的信号、待下载ic初始化完毕,可以准备通过spi接口接收数据、表示所有的待下载文件都下载至待下载ic的内部flash中,都是可行的;当然,也可以通过设置指示灯的闪烁频率、闪烁时长,亦或是在指示灯闪烁的通过伴随着提示音进行提示都是可行的,便于工作人员及时发现异常情况,并及时采取相应处理措施;以上方式都是可行的,本领域技术人员可以根据情况进行相应的调整,本发明实施例对此不做进一步限制。
42.进一步地,本发明实施例还包括设置在烧录器上的显示屏,该显示屏用于显示主控mcu与待下载ic之间的数据传输状态,还可以用于显示获取的键值key、signal值等等信息;通过设置显示屏可以直观的显示烧录的进程,显示是否烧录成功等信息,工作人员能够掌控烧录的进程,方便采取相应的调整措施。
43.基于上述脱机烧录方法,如图5所示,本发明实施例还提供了一种脱机烧录装置的模块示意图,该装置包括初始化模块501和数据传输模块502;上述初始化模块501用于通过swd接口协议将初始化代码加载至待下载ic;所述初始化代码用于初始化待下载ic,使所述待下载ic准备接收待下载数据,并将所述待下载数据存储至所述待下载ic的内部flash中;上述数据传输模块502用于当所述待下载ic初始化完毕后,通过spi接口向所述待
下载ic传输待下载数据。
44.还包括显示屏模块503和运行指示灯模块504,上述显示屏模块503用于显示主控mcu与待下载ic之间的数据传输状态,还可以用于显示获取的键值key、signal值等等信息;运行指示灯模块504设置有不同颜色的指示灯,使用不同颜色的指示灯来表示待下载ic可以进入初始化状态的信号、待下载ic初始化完毕,可以准备通过spi接口接收数据、表示所有的待下载文件都下载至待下载ic的内部flash中,这些信号都是可行的,本发明实施例对此不做具体限定。
45.关于上述脱机烧录装置中各模块实现上述技术方案的其他细节,可参见上述发明实施例中提供的脱机烧录方法中的描述,此处不再赘述。
46.在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
47.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
48.与现有技术相比,本发明提供的一种脱机烧录方法和装置,通过swd接口的特性,先将一段初始化代码下载至待下载ic中,使下载ic准备接收待下载数据,并将待下载数据存储至待下载ic的内部flash中,再利用待下载ic自带spi接口,通过spi接口向待下载ic传输待下载数据,由于spi接口的传输速度远快于swd接口的传输速度,因此在swd接口的基础上结合spi接口的高速传输能力,能够大幅提高脱机烧录器的烧录速度以及烧录效率。
49.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献