CN103530140A - 一种针对早期单片机系统的在线编程系统及其方法 - Google Patents
一种针对早期单片机系统的在线编程系统及其方法 Download PDFInfo
- Publication number
- CN103530140A CN103530140A CN201210232637.4A CN201210232637A CN103530140A CN 103530140 A CN103530140 A CN 103530140A CN 201210232637 A CN201210232637 A CN 201210232637A CN 103530140 A CN103530140 A CN 103530140A
- Authority
- CN
- China
- Prior art keywords
- module
- application program
- maintenance
- program
- sram
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
一种针对早期单片机系统的在线编程系统,它包括CPU模块以及与CPU模块相连接的外围器件,外围器件包括晶振和SRAM,所述的CPU模块还连接有FPGA模块和通信模块,其中,FPGA模块连接应用程序及数据存储模块和维护程序存储模块。本发明使用当前比较流行的FLASH做为程序存储介质,替代原来的EPROM存储芯片,在不改变系统CPU模块原工作流程的基础上,在系统启动时增加维护模块和更新通讯模块,通过FPGA模块管理系统协调维护模块和系统应用程序模块。总之,本发明在早期单片机系统上只稍作改动,就可实现ISP更新,更新过程人员主动参与少,对设备也不需要拆卸,使设备更新维护的安全性全面得到提高。
Description
技术领域
本发明涉及一种对早期老式单片机进行在线编程的系统,并涉及利用该系统进行在线编程的方法。
背景技术
ISP(in-system programming 在线系统编程)是目前嵌入式系统主要的更新维护方式,然而早期的单片机系统都不具备ISP功能。传统的更新操作流程,首先需要指定人员将待更新系统拆卸,取出要更换程序存储芯片EPROM,再由特定人员将需要更新的文件使用专用的编程工具及配套软件烧写到存储芯片EPROM中,然后由工作人员再将写好更新文件的EPROM装回系统,还原系统安装位置,最后再将换装结果进行记录,整个流程需要对安装设备反复拆卸,操作起来极为不方便,而系统装置的拆卸也会带来安全隐患;并且人工参与地方比较多,任何人员疏忽都可能造成大的事故。
总之,这些早期的单片机系统,经过多年的稳定运行仍在各种重要的工业控制设备中发挥着重要作用。然而如果需要对这些设备的某些功能做出简单调整,就需要进行装置的拆卸,极为不便。
发明内容
本发明的目的是提供一种更新应用程序时不需要反复拆卸、且仅对早期单片机系统进行简单改造的在线编程系统,并提供利用该系统进行在线编程的方法。
为实现上述目的,本发明采用以下技术方案:
一种针对早期单片机系统的在线编程系统,它包括CPU模块以及与CPU模块相连接的外围器件,外围器件包括晶振和SRAM,所述的CPU模块还连接有FPGA模块和通信模块,其中,FPGA模块连接应用程序及数据存储模块和维护程序存储模块。
所述的应用程序及数据存储模块和维护程序存储模块均为FLASH。
一种针对早期单片机系统的在线编程方法,它包括以下步骤:
①、维护程序首先在自身的维护程序存储模块中运行,同时维护程序对SRAM的可读性进行校验;若SRAM校验成功,则维护程序将自身的引导程序拷贝到SRAM中,并将引导程序切换至SRAM中运行;
②、维护程序与通信模块进行通信,检查是否有应用程序或数据需要更新;若需要更新应用程序或数据,则维护程序对应用程序及数据存储模块进行擦除,将待更新的应用程序或数据写入应用程序及数据存储模块中;
③、待应用程序或数据更新完毕后,维护程序向FPGA模块发出地址切换命令并复位CPU模块,此时,CPU模块发出启动指令,将维护程序切换至应用程序。
在所述的步骤①中,对拷贝到SRAM中的引导程序进行CRC校验,然后再将CRC校验后的引导程序切换至SRAM中运行。
在所述的步骤②中,将待更新的应用程序或数据写入应用程序及数据存储模块后,对更新的内容进行CRC校验,然后将更新结果发送到更新终端进行记录。
采用上述技术方案的本发明,使用当前比较流行的FLASH做为程序存储介质,替代原来的EPROM存储芯片,在不改变系统CPU模块原工作流程的基础上,在系统启动时增加维护模块和更新通讯模块,通过FPGA模块管理系统协调维护模块和系统应用程序模块。总之,本发明在早期单片机系统上只稍作改动,就可实现ISP更新,更新过程人员主动参与少,对设备也不需要拆卸,使设备更新维护的安全性全面得到提高。
附图说明
图1为本发明在线编程系统的原理框图。
图2为本发明在线编程方法的流程图。
具体实施方式
如图1所示,一种针对早期单片机系统的在线编程系统,它包括CPU模块以及与CPU模块相连接的外围器件,外围器件包括晶振和SRAM等常见器件,上述的CPU模块还连接有FPGA模块和通信模块,其中,FPGA模块连接应用程序及数据存储模块和维护程序存储模块。上述的应用程序及数据存储模块和维护程序存储模块均采用FLASH。
如图2所示,一种针对早期单片机系统的在线编程方法,它包括以下步骤:
①、系统上电启动时,FPGA模块首先进行地址译码,使CPU模块启动地址在维护程序模块所在的地址,此时系统CPU模块就启动了维护程序。上述的维护程序相对于计算机系统而言就是计算机的BOIS程序,在系统启动中起到关键作用,所以为了安全考虑,系统维护程序存储模块在硬件设计上采用硬保护措施,只有硬保护打开后才能更新维护程序,系统维护模块的更新属于自我更新。
维护程序首先在自身的维护程序存储模块中运行,同时维护程序对SRAM的可读性进行校验;若SRAM校验成功,则维护程序将自身的引导程序拷贝到SRAM中,并将引导程序切换至SRAM中运行。这里的维护程序的引导程序是指:维护程序在其维护程序模块中的程序代码段。另外,为保证安全,对拷贝到SRAM中的引导程序进行CRC校验,若校验正确再将CRC校验后的引导程序切换至SRAM中继续运行。
②、在SRAM中,维护程序与通信模块进行通信,检查是否有应用程序或数据需要更新。若需要更新,则维护程序根据通信模块传送数据的标志判断更新的是应用程序还是数据。需要更新应用程序时,维护程序对应用程序存储模块的相应地址进行擦除,将待更新的应用程序文件写入应用程序存储模块的相应地址段;需要更新数据时,维护程序对数据存储模块的相应地址进行擦除,将待更新的数据文件写入数据存储模块的相应地址段。将待更新的应用程序或数据写入应用程序及数据存储模块后,对更新的内容进行CRC校验,然后将更新结果通过通信模块发送到更新终端进行记录。
③、待应用程序或数据更新完毕后,需要退出维护程序运行状态,转入应用程序运行状态。此时,维护程序向FPGA模块发出地址切换命令并复位CPU模块,这时,CPU模块发出启动指令,将维护程序切换至应用程序。当系统CPU复位重启时将调用应用程序代码,完成应用程序的启动。
Claims (5)
1.一种针对早期单片机系统的在线编程系统,它包括CPU模块以及与CPU模块相连接的外围器件,外围器件包括晶振和SRAM,其特征在于:所述的CPU模块还连接有FPGA模块和通信模块,其中,FPGA模块连接应用程序及数据存储模块和维护程序存储模块。
2.根据权利要求1所述的针对早期单片机系统的在线编程系统,其特征在于:所述的应用程序及数据存储模块和维护程序存储模块均为FLASH。
3.一种针对早期单片机系统的在线编程方法,其特征在于,它包括以下步骤:
①、维护程序首先在自身的维护程序存储模块中运行,同时维护程序对SRAM的可读性进行校验;若SRAM校验成功,则维护程序将自身的引导程序拷贝到SRAM中,并将引导程序切换至SRAM中运行;
②、维护程序与通信模块进行通信,检查是否有应用程序或数据需要更新;若需要更新应用程序或数据,则维护程序对应用程序及数据存储模块进行擦除,将待更新的应用程序或数据写入应用程序及数据存储模块中;
③、待应用程序或数据更新完毕后,维护程序向FPGA模块发出地址切换命令并复位CPU模块,此时,CPU模块发出启动指令,将维护程序切换至应用程序。
4.根据权利要求3所述的针对早期单片机系统的在线编程方法,其特征在于:在所述的步骤①中,对拷贝到SRAM中的引导程序进行CRC校验,然后再将CRC校验后的引导程序切换至SRAM中运行。
5.根据权利要求3所述的针对早期单片机系统的在线编程方法,其特征在于:在所述的步骤②中,将待更新的应用程序或数据写入应用程序及数据存储模块后,对更新的内容进行CRC校验,然后将更新结果发送到更新终端进行记录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210232637.4A CN103530140A (zh) | 2012-07-06 | 2012-07-06 | 一种针对早期单片机系统的在线编程系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210232637.4A CN103530140A (zh) | 2012-07-06 | 2012-07-06 | 一种针对早期单片机系统的在线编程系统及其方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103530140A true CN103530140A (zh) | 2014-01-22 |
Family
ID=49932180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210232637.4A Pending CN103530140A (zh) | 2012-07-06 | 2012-07-06 | 一种针对早期单片机系统的在线编程系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103530140A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109542532A (zh) * | 2018-10-29 | 2019-03-29 | 中国科学院西安光学精密机械研究所 | 一种从fpga配置芯片向单片机进行程序加载的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1584844A (zh) * | 2003-08-19 | 2005-02-23 | 华为技术有限公司 | 一种单片机在线升级方法和装置 |
CN2867353Y (zh) * | 2005-04-11 | 2007-02-07 | 北京航空航天大学 | 卫星导航接收机通用数字信号处理平台 |
CN101615128A (zh) * | 2009-07-31 | 2009-12-30 | 北京华环电子股份有限公司 | 一种单片机在线升级的方法及装置 |
US7822958B1 (en) * | 2006-03-10 | 2010-10-26 | Altera Corporation | Booting mechanism for FPGA-based embedded system |
CN201707604U (zh) * | 2010-06-10 | 2011-01-12 | 国核自仪系统工程有限公司 | 一种快速模拟量/开关量记录测试装置 |
-
2012
- 2012-07-06 CN CN201210232637.4A patent/CN103530140A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1584844A (zh) * | 2003-08-19 | 2005-02-23 | 华为技术有限公司 | 一种单片机在线升级方法和装置 |
CN2867353Y (zh) * | 2005-04-11 | 2007-02-07 | 北京航空航天大学 | 卫星导航接收机通用数字信号处理平台 |
US7822958B1 (en) * | 2006-03-10 | 2010-10-26 | Altera Corporation | Booting mechanism for FPGA-based embedded system |
CN101615128A (zh) * | 2009-07-31 | 2009-12-30 | 北京华环电子股份有限公司 | 一种单片机在线升级的方法及装置 |
CN201707604U (zh) * | 2010-06-10 | 2011-01-12 | 国核自仪系统工程有限公司 | 一种快速模拟量/开关量记录测试装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109542532A (zh) * | 2018-10-29 | 2019-03-29 | 中国科学院西安光学精密机械研究所 | 一种从fpga配置芯片向单片机进行程序加载的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9098301B2 (en) | Electronic device and booting method | |
TWI502507B (zh) | 電池韌體更新方法、可攜式電子裝置及充電電池模組 | |
CN103207797B (zh) | 基于通用可扩展固件接口固件系统的胶囊式定制更新方法 | |
US10402189B2 (en) | Electronic apparatus and firmware update method thereof | |
TW201351286A (zh) | 固件更新系統及方法 | |
CN104809009A (zh) | 一种汽车电控单元的程序加载引导方法 | |
CN103412561A (zh) | 一种汽车控制器的刷新方法及装置 | |
CN105573800A (zh) | 一种基于zynq的单板或多板系统及在线更新方法 | |
CN106990985A (zh) | 基于bmc更新及备份系统uefi固件的设备和方法 | |
CN104185836A (zh) | 用于在系统改变之后验证计算设备的适当操作的方法和系统 | |
TW201342115A (zh) | 使用可信賴平台模組來啟動政策及保全韌體之技術 | |
CN101364193A (zh) | 自动恢复bios的方法以及使用该方法的电脑与系统 | |
CN113064643B (zh) | 一种即时生效的修改bios设定值的方法、系统及介质 | |
CN105917306A (zh) | 系统固件配置数据 | |
CN104615472A (zh) | 一种防止在线刷新bios+me fw失败的方法 | |
KR20200141560A (ko) | Usb 저장 매체를 이용하는 컴퓨터용 보안 시스템 및 방법 | |
CN103425505B (zh) | 一种ic卡电能表在线升级方法及系统 | |
CN105589699A (zh) | 序列号信息的更新方法、装置及终端 | |
CN107608702A (zh) | Bootloader程序模块更新方法及装置 | |
CN111104147A (zh) | 一种bmc升级方法、装置、终端及存储介质 | |
CN104991806A (zh) | 单片机程序远程固件升级系统和方法 | |
CN105045627A (zh) | 一种实现服务器在线更新网卡配置文件的方法 | |
CN104346188A (zh) | 基板管理控制器的更新方法以及基板管理控制器更新系统 | |
US9069909B2 (en) | Server and identifier synchronization method | |
KR20150097001A (ko) | 인-스토리지 컴퓨팅 동작들을 수행할 수 있는 스토리지 장치, 이의 동작 방법, 및 이를 포함하는 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140122 |