公开/公告号CN104063252A
专利类型发明专利
公开/公告日2014-09-24
原文格式PDF
申请/专利权人 中国科学院长春光学精密机械与物理研究所;
申请/专利号CN201410314089.9
申请日2014-07-02
分类号G06F9/445;
代理机构长春菁华专利商标代理事务所;
代理人张伟
地址 130033 吉林省长春市东南湖大路3888号
入库时间 2023-12-17 01:24:36
法律状态公告日
法律状态信息
法律状态
2017-07-14
授权
授权
2014-10-22
实质审查的生效 IPC(主分类):G06F9/445 申请日:20140702
实质审查的生效
2014-09-24
公开
公开
技术领域
本发明涉及一种嵌入式软件烧写方法,特别涉及一种简单、高效、可靠的, 基于DSP芯片的带有看门狗电路的程序烧写与回读方法。
背景技术
看门狗电路是出于软件安全性考虑而设计,微处理器程序需要定时产生喂 狗信号,当程序跑飞后,即没有了喂狗信号,微处理器将被复位,复位后程序 重新开始运行。看门狗电路能够保证程序运行的安全性,却使目标程序的烧写 与回读过程变得复杂,被烧写的程序即目标程序以十六进制文件形式存在,在 烧写与回读过程必须定时产生喂狗信号,且需要对硬盘上的十六进制文件频繁 地进行打开、读取、关闭操作,C语言对数据的组织形式为ASCII文件和二进制 文件,这样要花费数制转换时间,这样实现较复杂、时间长、不可靠。为解决 此问题,提出了利用CCS软件自带的数据载入与存储功能,将硬盘上的目标程序 载入指定片内RAM区;烧写与回读程序再将此区域内的数据逐字写入ROM内的 指定区域,烧写与回读程序再将ROM此区域内的数据回读至指定的RAM区内, CCS软件再将RAM区内此区域的数据存入到硬盘上的文件中。降低了烧写与回 读程序的复杂度,缩短了时间,增加了可靠性。
发明内容
本发明要解决现有技术中的技术问题,提供一种当有看门狗电路时,可通 过CCS软件的数据载入与存储功能较容易地实现DSP目标程序的烧写与回读的, 基于DSP芯片的带有看门狗电路的程序烧写与回读方法。
为了解决上述技术问题,本发明的技术方案具体如下:
一种基于DSP芯片的带有看门狗电路的程序烧写与回读方法,包括以下步 骤:
步骤i:上位机通过CCS软件的数据载入功能通过仿真器将目标程序的目标 码存入DSP芯片的片内RAM区;
步骤ii:运行烧写与回读程序将ROM芯片从特定地址开始的地址擦除,擦除 范围是目标程序的长度,擦除过程定时产生喂狗信号;
步骤iii:将目标程序逐个字地写入从所述特定地址开始的ROM中,字数为 目标程序的长度,烧写过程定时产生喂狗信号;
步骤iv:将写入的程序从所述特定地址开始的ROM区读至所述片内RAM区 内,字数为目标程序的长度,回读过程定时产生喂狗信号;
步骤v:上位机通过CCS软件的数据存储功能,将所述片内RAM区内的数据 保存至硬盘,字数为目标程序的长度,保存后形成目标程序的回读文件。
在上述技术方案中,其还包括以下步骤:
步骤vi:判断目标程序文件与回读文件是否一致,是则烧写成功,否则烧写 失败。
本发明具有以下的有益效果:
本发明的基于DSP芯片的带有看门狗电路的程序烧写与回读方法,利用CCS 软件的数据载入与存储功能将目标程序载入片内RAM区并将回读至片内RAM 区内的数据存至硬盘中,减小了烧写与回读程序的复杂性及难度。
本发明的基于DSP芯片的带有看门狗电路的程序烧写与回读方法,利用将目 标程序载入并回读至片内RAM区,非常简单地实现程序的烧写与回读过程。
本发明的基于DSP芯片的带有看门狗电路的程序烧写与回读方法,目标程序 的烧写、回读与喂狗信号的产生交替进行,避免了DSP芯片被看门狗电路复位, 保证烧写与回读程序的执行。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细说明。
图1是看门狗电路与DSP连接硬件电路图。其中,D4为看门狗芯片,其7脚 为输出引脚,与DSP芯片的复位引脚连接;6脚为输入引脚,与DSP芯片的HD0 脚连接。
图2是喂狗信号与复位信号波形图,有看门狗电路时,嵌入式软件要每1.6S 喂狗一次,即DSP的HD0脚输出的波形DSP_HD0中t1小于1.6s,此时,7脚的输 出波形为高电平。当DSP的HD0脚输出的波形DSP_HD0中t2大于1.6s 时,输入波形为低电平,微处理器被复位。
图3是烧写与回读程序数据流图。
图中的附图标记表示为:
1-上位机;2-仿真器;3-DSP芯片;4-ROM芯片;5-看门狗电路。
具体实施方式
本发明的发明思想为:利用CCS软件对数据的载入功能,将目标程序存入起 始地址为0x2000的片内RAM区,此地址可根据目标程序长度做调整,如0x3000, 烧写与回读程序将目标程序逐字地写入起始地址为0x8000的ROM芯片中,此地 址可根据不同硬件做调整,如0x7000,每写入一个字校验一次,并将写入的目 标程序回读至起始地址为0x1000的片内RAM区,此地址可根据目标程序长度做 调整,如0x4000,原则上与目标码载入的地址不同。利用CCS的存储功能,将目 标程序存入硬盘并与目标程序进行校验。程序实现简单、高效,无需文件操作; 进行两次校验,保证烧写的可靠性。
本发明的基于DSP芯片的带有看门狗电路的程序烧写与回读方法,具体包括 以下步骤:
数据载入过程:
上位机通过CCS软件的数据载入功能通过仿真器将目标程序的目标码存入 DSP芯片的片内RAM区,起始地址为0x2000,根据目标程序的大小,可以对此 地址进行调整,如0x3000。
擦除过程:
运行烧写与回读程序将ROM芯片从0x8000开始的地址擦除,此地址由硬件 决定,可根据硬件具体情况做适当调整。擦除范围是目标程序的长度,擦除过 程定时产生喂狗信号。
烧写过程:
将目标程序逐个字地写入从0x8000开始的ROM中,字数为目标程序的长度, 烧写过程定时产生喂狗信号。
回读过程:
将写入的程序从0x8000开始的ROM区读至0x1000开始的片内RAM区内,此 地址也可根据目标码的大小做调整,如0x4000,但应与目标码载入的地址不同, 字数为目标程序的长度,回读过程定时产生喂狗信号。
数据存储过程:
上位机通过CCS软件的数据存储功能,将0x1000开始的片内RAM区内的数 据保存至硬盘,字数为目标程序的长度,保存后形成目标程序的回读文件。
判断过程:
至此完成了目标程序的烧写与回读过程,若目标程序文件与回读文件完全 一致则烧写成功,否则失败。
下面结合附图对本发明做以详细说明。
图3中的数据流表示为:
①-上位机到仿真器数据流;②-仿真器到DSP芯片数据流;③-DSP芯片到 ROM芯片的数据流;④-ROM芯片到DSP芯片的数据流;⑤-DSP芯片到仿真器数 据流;⑥-仿真器到上位机数据流;⑦-DSP芯片喂狗信号数据流,与DSP的HD0 脚输出的波形DSP_HD0一致;⑧-喂狗电路输出的复位信号,与脚的输 出波形一致,目标程序存入easy.dat文件,数据长度为0x4aeb字,位置为上位机 硬盘。
上述数据流以其中一个举例来说,⑦(DSP芯片喂狗信号数据流)为由DSP 芯片3产生,传输到看门狗电路5的喂狗信号数据流。其余数据流的名称与其产 生和传输方式的关系与⑦类似,不再赘述。
根据图1-3所示,本发明的基于DSP芯片的带有看门狗电路的程序烧写与回 读方法,具体包括:
数据载入过程:
上位机1利用CCS软件的数据载入功能将easy.dat文件通过仿真器2存入DSP 芯片3的片内RAM区,起始地址为0x2000,数据长度为0x4aeb字,数据流顺序为: ①→②。
擦除过程:
运行上位机1的烧写程序将ROM芯片4从0x8000开始的地址擦除,即写入 0x0000,擦除长度为0x4aeb字,数据流顺序为:其中③与⑦交替 进行。
烧写过程:
烧写程序将0x2000起始地址的目标程序逐字地写入0x8000开始地址的ROM 芯片4中,写入长度为0x4aeb字,数据流顺序为:③与⑦交替进行。烧写 过程进行一次校验,即每写入一个字后将其读回,比较写入内容与回读内容是 否一致,若一致则继续进行烧写,否则进入死循环,停止烧写过程,此过程实 现了烧写程序的第一次校验。
回读过程:
将写入的目标程序从0x8000开始的ROM区域逐字地读回至0x1000开始的片 内RAM区,回读长度为0x4aeb字,数据流顺序为④与⑦交替进行。
数据存储过程:
上位机1通过CCS软件的数据存储功能,将0x1000开始的片内RAM区内的数 据保存至硬盘,文件名为easy_read.dat,数据长度为0x4aeb字,数据流顺序为: ⑤→⑥。
判断过程:
对比目标程序文件easy.dat与回读文件easy_read.dat是否完全一致,一致则烧 写成功,否则失败。此过程实现了烧写程序的第二次校验。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的 限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其 它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由 此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
机译: 基于FPGA的数字电路可减少回读时间
机译: 基于FPGA的数字电路可减少回读时间
机译: 数据记录/回读方法和用于该数据记录/回读的方法