一种远程无线编程的方法及支持远程无线编程的芯片技术

技术编号:4328509 阅读:156 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开一种远程无线编程的方法及支持远程无线编程的芯片,包括:处理器初始化射频模块,探测无线网络发送的数据包;通过无线网络接收程序下载包,确定所述程序下载包用于本地设备,设置编程环境;处理器将所述程序下载包中的程序文件校验并由硬件编程模块缓存在缓存区中;硬件编程模块挂起处理器,将缓存后的所述程序文件写入到程序存储器中,更新程序文件。本发明专利技术支持远程无线编程,方便程序更新;可以有选择性的针对多个设备进行一对多的编程;可以实现程序存储器的整体更新。

【技术实现步骤摘要】

本专利技术涉及芯片设计
,更具体地,本专利技术涉及一种远程编程的方法 及支持远程编程的芯片。
技术介绍
在大规模系统的设计、开发和评估阶段,以及系统的实际应用过程中,通 常由于应用环境的多样性及不可预料性,需要对系统的程序进行重新设置,或 是更改某些算法、策略,升级系统功能,就需要对系统设备中的用户程序进行 更新或者重新编程。在无人值守的应用环境中,难以进行系统设备回收及相应 的有线编程,难以支持对全部或局部相关设备的批量无线程序下载,不能从根 本上满足应用系统部署以后需要进行程序修改、更新、升级等相关需求。同时在系统研发过程中,程序需要反复的修改、调试、优化,同样需要多 次的编程,但反复地进行程序的单个设备逐个下载给系统开发者带来了不小的 负担。目前的嵌入式系统,大都釆用有线的方式进行程序下载。其中有些系统需 要通过程序下载器把程序下载到处理器的程序存储区,然后接入系统中运行,无法实现在系统运行时进行编程。此外,还存在两种编程机制在系统编程(ISP ) 和在应用编程(IAP) 。 ISP —般是在系统启动前,通过设置相应信号线,进入 编程模式,利用单片机专用的串行编程接口对单片机内部的Flash存储器进行 编程。这种编程机制的实现一般需要一定的外部电路辅助实现,并且无法在系 统运行时进行程序下载。IAP技术是从结构上将F1 a s h存储器映射为两个存储体,5当运行一个存储体上的用户程序时,对另一个存储体重新编程,之后将控制从 一个存储体转向另一个,可以实现在系统运行时进行部分程序下载。但这种编 程机制是使用其中 一块存储区的程序来更新另 一块存储区中的程序,因此无法 实现处理器整个程序存储器区的更新,同时由于其中的程序下载程序是固定, 无法实现程序存储区的选择性更新。此外以上编程机制都是一对一的编程方式,即每次只能对一个处理器进行 程序下载,并且需要线缆连接。而目前的一些无线编程机制都是依赖于处理器 对程序存储器进行操作来实现的,由于处理器的操作依赖于程序存储器中的内 容,因而无法估文到对整个程序存储器的更新。
技术实现思路
为克服现有处理器芯片在下载程序时需要专门的下载器或需要有线连接逐 个进行程序更新以及无法对整个程序存储器进行更新的缺陷,本专利技术提出支持 远程编程的芯片及一种远程编程的方法。根据本专利技术的一个方面,提出了一种支持远程编程的芯片,包括处理器、数据存储器、程序存储器,其特征在于,所述芯片还包括硬件编程模块;其中,所述硬件编程模块将接收的所述程序文件緩存在所述数据存储器中,控制处理器的挂起、启动和内部复位,将緩存在所述数据存储器中的完整程序文件存储在所述程序存储器中。所述芯片还包括射频模块,所述射频模块与所述处理器相连接,用于无线接收程序文件。所述芯片还包括第一选通器和第二选通器,所述第一选通器用于选通所 述数据存储器和硬件编程模块或者和处理器的连接,所述第二选通器用于选通 所述程序存储器和硬件编程模块或者和处理器的连接。其中,所述处理器基于无线通信协议,确定所接收到的数据包为程序文件; 根据所述程序文件中的程序更新设备号,确定该程序下载包用于本地设备,设置编程标志用于触发緩存并校验緩存的完整程序文件。其中,所述处理器是根据程序存储器中的程序代码完成相应操作的逻辑器 件,可选择现有的IP模块或开放源代码实现。其中,所述处理器比较所述程序文件中更新程序文件和数据存储区的剩余 空间,如果数据存储区中空间不足,释放已用空间,重新分配程序缓存区;如 果空间足够,在数据存储区中建立程序緩存区。其中,所述处理器对所述程序文件进行校验操作,以确定接收数据正确,如果不正确,发送重传请求,其中,可采用CRC校验方式。其中,所述硬件编程模块通过控制选通器来选择处理器与数据存储器或者程序存储器的连接在非编程模式以及编程模式中的程序緩存阶段,所述硬件 编程模块控制所述第一选通器将处理器与数据存储器连接;在编程模式中的程 序写入阶段,硬件编程模块控制所述第二选通器将数据存储器以及程序存储器 与其自身连接,所述硬件编程模块从数据存储器中读取程序文件并写入程序存 储器。其中,所述硬件编程模块用于在处理器发送的程序文件緩存完成后,挂起 处理器,切换两个选通器将数据存储器和程序存储器与所述硬件编程模块连接, 将数据存储器中程序緩存区的程序文件按地址写入程序存储器中,更新相应程 序文件。其中,所述处理器在程序文件緩存完成后,通知所述硬件编程模块进入程 序写入阶段,并根据程序文件中的更新程序地址设定需要更新的程序存储器的 地址。其中,所述硬件编程模块在程序文件緩存过程中,监控到编程超时,则退 出编程过程,释放緩存的程序文件,重启探测接收程序下载包。其中,所述硬件编程模块提供内部复位信号控制,实现对内部复位信号的 控制,外部复位信号和所述内部复位信号控制作为或门的输入,所述或门的输 出端与所述处理器相连接,用于复位所述处理器和各功能^t块。根据本专利技术的另一方面,提出了一种远程编程的方法,包括步骤10)、接收程序下载包;步骤2f))、将所述程序下载包中的程序文件緩存并完整接收;步骤30)、挂起处理器,将緩存后的完整的所述程序文件写入到程序存储器中,更新所述程序存储器中的程序文件;步骤40)、在程序文件緩存过程中,如果编程超时,则退出编程过程,释放緩存的程序文件,重新接收程序下载包。其中,步骤IO)包括步骤IIO)、使用射频模块无线接收数据包,基于无线通信协议,确定所接收到的数才居包为程序下载包;步骤120)、处理器根据所述程序下载包中的程序更新设备号,确定该程序-下载包用于本地设备;步骤130)、处理器设置编程^^式标志,开辟程序文件緩存区,启动超时定时程序。其中,步骤130)还包括当退出编程时,复位编程模式标志;比较所述程序下载包中更新程序文件和数据存储区的剩余空间,如果数据存储区中空间不足,释放已用空间重新分配程序緩存区;如果空间足够,在数据存储区中建立程序緩存区。其中,步骤20)包括步骤210)、处理器通过比较程序文件,确定所述程序文件不存在于程序緩存区中;步骤220 )、处理器对所述文件进行校验操作,以确定数据正确,如果不正确,发送重传请求,其中,可采用CRC校验方式;步骤230 )、处理器将校验正确的数据緩存在数据存储器中,直到收齐。其中,步骤30)还包括步骤310)、处理器才艮据所述程序下载包中的程序文件地址信息,设置程序8文件更新地址;步骤320 )、硬件编程模块挂起处理器和其它功能模块,其中,所述硬件编程模块与处理器相连接;步骤330 )、硬件编程模块读取緩存的所述程序文件,将所述程序文件写入所述更新地址。本专利技术支持远程无线编程,方便程序更新;可以有选择性的针对多个设备进行一对多的编程;可以解决其无法对程序存储器整体更新的问题,实现程序存储器的整体更新或部分程序段的局部更新,并且通过硬件编程模块可以调高整体功能的效能,降低功能代价;支持按地址更新程序,比传统的整块程序文件更新的方式具有更好的灵活性和更高的工作效率;在射频;f莫块的设计上,以及程序校验方法上,采用软硬件协同设计,具有很高的灵活性和可配置性。附图说明图1为支持远程无线编程功能的芯片的组成结构示意图;图2为远程无线编程方法的流程图。具体实施本文档来自技高网
...

【技术保护点】
一种支持远程编程的芯片,包括处理器、数据存储器、程序存储器,其特征在于,所述芯片还包括硬件编程模块;    其中,所述硬件编程模块将接收的所述程序文件缓存在所述数据存储器中,控制处理器的挂起、启动和内部复位,将缓存在所述数据存储器中的完整程序文件存储在所述程序存储器中。

【技术特征摘要】
1、一种支持远程编程的芯片,包括处理器、数据存储器、程序存储器,其特征在于,所述芯片还包括硬件编程模块;其中,所述硬件编程模块将接收的所述程序文件缓存在所述数据存储器中,控制处理器的挂起、启动和内部复位,将缓存在所述数据存储器中的完整程序文件存储在所述程序存储器中。2、 权利要求l的芯片,还包括射频模块,所述射频模块与所述处理器相 连接,用于无线接收程序文件。3、 权利要求l的芯片,还包括第一选通器和第二选通器,所述第一选通 器用于选通所述数据存储器和硬件编程模块或者和处理器的连接,所述第二选 通器用于选通所述程序存储器和硬件编程模块或者和处理器的连接。4、 权利要求2的芯片,其中,所述处理器基于无线通信协议,确定所接收 到的数据包为程序文件;#>据所述程序文件中的程序更新设备号,确定该程序 下载包用于本地设备,设置编程标志用于触发緩存并校验缓存的完整程序文件。5、 权利要求l的芯片,其中,所述处理器是根据程序存储器中的程序代码 完成相应操作的逻辑器件,可选择现有的IP模块或开放源代码实现。6、 权利要求l的芯片,其中,所述处理器比较所述程序文件中更新程序文 件和数据存储区的剩余空间,如果数据存储区中空间不足,释放已用空间,重 新分配程序緩存区;如果空间足够,在数据存储区中建立程序緩存区。7、 权利要求6的芯片,其中,所述处理器对所述程序文件进行校验操作, 以确定接收数据正确,如果不正确,发送重传请求,其中,可采用CRC校验方 式。8、 权利要求3的芯片,其中,所述硬件编程模块通过控制选通器来选择处 理器与数据存储器或者程序存储器的连接在非编程模式以及编程模式中的程 序緩存阶段,所述硬件编程模块控制所述第一选通器将处理器与数据存储器连接;在编程模式中的程序写入阶段,硬件编程模块控制所述第二选通器将数据 存储器以及程序存储器与其自身连接,所述硬件编程模块从数据存储器中读取 程序文件并写入程序存储器。9、 权利要求8的芯片,其中,所述硬件编程模块用于在处理器发送的程序 文件緩存完成后,挂起处理器,切换两个选通器将数据存储器和程序存储器与 所述硬件编程模块连接,将数据存储器中程序緩存区的程序文件按地址写入程 序存储器中,更新相应程序文件。10、 权利要求1的芯片,其中,所述处理器在程序文件緩存完成后,通知 所述硬件编程模块进入程序写入阶段,并根据...

【专利技术属性】
技术研发人员:陆世龙黄希崔莉
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:11[中国|北京]

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

1