1、一种支持远程编程的芯片,包括处理器、数据存储器、程序存储器,其 特征在于,所述芯片还包括硬件编程模块; 其中,所述硬件编程模块将接收的所述程序文件缓存在所述数据存储器中, 控制处理器的挂起、启动和内部复位,将缓存在所述数据存储器中的完整程序 文件存储在所述程序存储器中。 2、权利要求1的芯片,还包括:射频模块,所述射频模块与所述处理器相 连接,用于无线接收程序文件。 3、权利要求1的芯片,还包括:第一选通器和第二选通器,所述第一选通 器用于选通所述数据存储器和硬件编程模块或者和处理器的连接,所述第二选 通器用于选通所述程序存储器和硬件编程模块或者和处理器的连接。 4、权利要求2的芯片,其中,所述处理器基于无线通信协议,确定所接收 到的数据包为程序文件;根据所述程序文件中的程序更新设备号,确定该程序 下载包用于本地设备,设置编程标志用于触发缓存并校验缓存的完整程序文件。 5、权利要求1的芯片,其中,所述处理器是根据程序存储器中的程序代码 完成相应操作的逻辑器件,可选择现有的IP模块或开放源代码实现。 6、权利要求1的芯片,其中,所述处理器比较所述程序文件中更新程序文 件和数据存储区的剩余空间,如果数据存储区中空间不足,释放已用空间,重 新分配程序缓存区;如果空间足够,在数据存储区中建立程序缓存区。 7、权利要求6的芯片,其中,所述处理器对所述程序文件进行校验操作, 以确定接收数据正确,如果不正确,发送重传请求,其中,可采用CRC校验方 式。 8、权利要求3的芯片,其中,所述硬件编程模块通过控制选通器来选择处 理器与数据存储器或者程序存储器的连接:在非编程模式以及编程模式中的程 序缓存阶段,所述硬件编程模块控制所述第一选通器将处理器与数据存储器连 接;在编程模式中的程序写入阶段,硬件编程模块控制所述第二选通器将数据 存储器以及程序存储器与其自身连接,所述硬件编程模块从数据存储器中读取 程序文件并写入程序存储器。 9、权利要求8的芯片,其中,所述硬件编程模块用于在处理器发送的程序 文件缓存完成后,挂起处理器,切换两个选通器将数据存储器和程序存储器与 所述硬件编程模块连接,将数据存储器中程序缓存区的程序文件按地址写入程 序存储器中,更新相应程序文件。 10、权利要求1的芯片,其中,所述处理器在程序文件缓存完成后,通知 所述硬件编程模块进入程序写入阶段,并根据程序文件中的更新程序地址设定 需要更新的程序存储器的地址。 11、权利要求1的芯片,其中,所述硬件编程模块在程序文件缓存过程中, 监控到编程超时,则退出编程过程,释放缓存的程序文件,重启探测接收程序 下载包。 12、权利要求1的芯片,其中,所述硬件编程模块提供内部复位信号控制, 实现对内部复位信号的控制,外部复位信号和所述内部复位信号控制作为或门 的输入,所述或门的输出端与所述处理器相连接,用于复位所述处理器和各功 能模块。 13、一种远程编程的方法,包括: 步骤10)、接收程序下载包; 步骤20)、将所述程序下载包中的程序文件缓存并完整接收; 步骤30)、挂起处理器,将缓存后的完整的所述程序文件写入到程序存储 器中,更新所述程序存储器中的程序文件。 14、权利要求13的方法,还包括: 步骤40)、在程序文件缓存过程中,如果编程超时,则退出编程过程,释 放缓存的程序文件,重新接收程序下载包。 15、权利要求13的方法,其中,步骤10)包括: 步骤110)、使用射频模块无线接收数据包,基于无线通信协议,确定所接 收到的数据包为程序下载包; 步骤120)、处理器根据所述程序下载包中的程序更新设备号,确定该程序 下载包用于本地设备; 步骤130)、处理器设置编程模式标志,开辟程序文件缓存区,启动超时定 时程序。 16、权利要求15的方法,其中,步骤130)还包括:当退出编程时,复位 编程模式标志;比较所述程序下载包中更新程序文件和数据存储区的剩余空 间,如果数据存储区中空间不足,释放已用空间重新分配程序缓存区;如果空 间足够,在数据存储区中建立程序缓存区。 17、权利要求13的方法,其中,步骤20)包括: 步骤210)、处理器通过比较程序文件,确定所述程序文件不存在于程序缓 存区中; 步骤220)、处理器对所述文件进行校验操作,以确定数据正确,如果不正 确,发送重传请求,其中,可采用CRC校验方式; 步骤230)、处理器将校验正确的数据缓存在数据存储器中,直到收齐。 18、权利要求13的方法,其中,步骤30)还包括: 步骤310)、处理器根据所述程序下载包中的程序文件地址信息,设置程序 文件更新地址; 步骤320)、硬件编程模块挂起处理器和其它功能模块,其中,所述硬件编 程模块与处理器相连接; 步骤330)、硬件编程模块读取缓存的所述程序文件,将所述程序文件写入 所述更新地址。
展开