一种微处理器的在线调试方法

文档序号:6366951阅读:201来源:国知局
专利名称:一种微处理器的在线调试方法
技术领域
本发明涉及一种微处理器的在线调试方法,特别涉及ー种使用非可编程存储器的在线调试方法。
背景技术
通常进行单片机的实验或开发时,编程器是必不可少的。仿真、调试完的程序需要借助编程器烧到单片机内部或外接的程序存储器中。普通的编程器价格从几百元到几千元不等,对于一般的单片机爱好者来说还是ー笔不小的开支。另外,在开发过程中,程序每改动一次就要拔下电路板上的芯片编程后再插上,也比较麻烦。随着单片机技术的发展,出现了可以在线编程的单片机。这种在线编程目前有两种实现方法在系统编程(In-System Programming, ISP)和在应用编程(In-ApplicationProgramming, IAP)。ISP—般是通过单片机专用的串行编程接ロ对单片机内部的Flash存储器进行编程,而IAP技术是从结构上将Flash存储器映射为两个存储体,当运行ー个存储体上的用户程序时,可对另ー个存储体重新编程,之后将控制从ー个存储体转向另ー个。IAP,就是片子提供一系列的机制(硬件/软件上的)当片子在运行程序的时候可以提供ー种改变Flash数据的方法,也即程序自己可以往程序存储器里写数据或修改程序。这种方式的典型应用就是用ー小段代码来实现程序的下载,实际上单片机的ISP功能就是通过IAP技术来实现的,即片子在出厂前就已经有一段小的引导(BOOT)程序在里面,片子上电后,开始运行这段程序,当检测到上位机有下载要求时,便和上位机通信,然后下载数据到存储区。对于常用的微处理器芯片来说,其所执行的用户程序,通常被存储在EEPROM(Electrically Erasable Programmable ROM)或FLASH等可重复擦写的存储器内,芯片的可编程性由存储器的可擦写能力来保证。但是,有时由于エ艺和价格的限制,无法在微处理器内部集成可擦写、掉电不会丢失的存储器。

发明内容
本发明的目的是针对现有技术存在的缺陷,提供一种微处理器的在线调试方法,使用非可编程存储器,在可用的存储资源只有片内ROM和片内RAM的前提下实现了程序的在线调试。为达到上述目的本发明采用下述技术方案
一种微处理器的在线调试方法,采用非可编程存储器实现用户程序的调试,实现步骤

(1)在片内ROM中固化BOOT程序;
(2)上电复位后从片内ROM执行BOOT程序,完成用户程序的交互、固化至外部存储器或 载入片内RAM;
(3)微处理器跳转到加载至片内RAM的用户程序上,从程序的的起始位置开始执行用户程序。步骤(2)所述执行BOOT程序包括如下步骤判断是否要从串ロ写入用户程序,如果不需要,则自动把外部存储器中的用户程序加载至片内RAM;如果需要,则把用户程序通过串ロ写入片内RAM,并根据需要把用户程序写入外部存储器。其中所述外部存储器可以是I2C ROM。步骤(3)包括如下步骤微处理器产生沿控制信号,微处理器根据沿控制信号产 生选通信号,选通片内RAM。微处理器也根据沿控制信号,对微处理器进行复位,微处理器收到该复位信号,从片内RAM(也即用户调试或者执行程序)读取指令并执行。本发明与现有技术相比较,具有如下显而易见的突出实质性特点和显著进步 本发明方法在可用的存储资源只有片内ROM和片内RAM的前提下,我们提出了由固化
在芯片ROM内的引导(BOOT)程序上电运行后,按指令和需求从外部加载可变的用户程序并执行这ー解决方案,在现有的技术条件下保证了芯片的可编程性与片上系统(System onChip, SoC)软硬件协同工作的能力。本方法不需要编程器就可以进行微处理器的实验和开发,微处理器芯片可以直接焊接到电路板上,免去了调试时由于频繁地插入取出芯片对芯片和电路板带来的不便,同时由于不采用可编程芯片,因此可以大大降低实现成本。


图I是微处理器的在线调试方法中BOOT程序的执行流程 图2是微处理器的在线调试方法中实施例复位和选通信号的执行框 图3是微处理器的在线调试方法中实施例产生选通信号和软复位信号的时序图。
具体实施例方式本发明的优选实施例结合附图详述如下
如图I所示,一种微处理器的在线调试方法,采用非可编程存储器实现用户程序的调试,实现步骤为(1)在微处理器的片内ROM中固化BOOT程序;(2)微处理器上电复位后从片内ROM执行BOOT程序,完成用户程序的交互、固化至外部存储器或载入片内RAM;(3)微处理器跳转到加载至片内RAM的用户程序上,从程序的的起始位置开始执行用户程序。其中步骤(2)中执行BOOT程序具体是微处理器上电复位后,开始执行BOOT程序,首先判断是否要从串ロ写入用户程序,如果不需要,则自动把外部存储器中的用户程序加载至片内RAM;如果需要,则把用户程序通过串ロ写入片内RAM,然后判断是否要把用户程序写入外部存储器,如果需要则写入外部存储器后执行用户程序,如果不需要则直接执行用户程序。在本实施例中,外部存储器可以是I2C ROM。如图2所示,微处理器跳转到加载至片内RAM的用户程序上,从程序的的起始位置开始执行用户程序。其执行过程如下通过微处理器的I/o ロ(如Pl. 0)产生沿控制信号,微处理器根据沿控制信号产生选通信号,选通片内RAM。微处理器也根据沿控制信号,对微处理器进行复位,微处理器收到该复位信号,从片内RAM读取指令并执行。如图3所示,Pl. O ロ产生沿控制信号,Pl. O延迟ー个时钟节拍产生PL 0r,在某一时刻Pl. O的信号从高电平变成低电平,Pl. O和PL Or相比产生下降沿信号PI. Ofedg,利用PL Ofedg可以产生选通信号以选通片内RAM,同时PI. Ofedg产生软复位信号,从片内RAM读取指令并执ィ丁。
以上所述为本发明的优选实施方式,并非用于限制本发明的范围,凡在本发明精神和原则之内所做的任何修改、等同替换和改进等,均含于本发明的保护范围之内。
权利要求
1.一种微处理器的在线调试方法,其特征在于,采用非可编程存储器实现用户程序的调试,实现步骤为 (1)在片内ROM中固化BOOT程序; (2)上电复位后从片内ROM执行BOOT程序,完成用户程序的交互、固化至外部存储器或载入片内RAM; (3)微处理器跳转到加载至片内RAM的用户程序上,从程序的的起始位置开始执行用户程序。
2.根据权利要求I所述的微处理器的在线调试方法,其特征在于,所述步骤(2)中的执行BOOT程序包括如下步骤判断是否要从串ロ写入用户程序,如果不需要,则自动把外部存储器中的用户程序加载至片内RAM;如果需要,则把用户程序通过串ロ写入片内RAM,并根据需要把用户程序写入外部存储器。
3.根据权利要求2所述的微处理器的在线调试方法,其特征在于,所述外部存储器是I2C ROM。
4.根据权利要求I所述的微处理器的在线调试方法,其特征在于,所述步骤(3)包括如下步骤微处理器产生沿控制信号,微处理器根据沿控制信号产生选通信号,选通片内RAM0
5.根据权利要求4所述的微处理器的在线调试方法,其特征在于,所述微处理器根据沿控制信号,对微处理器进行复位,微处理器收到该复位信号,从片内RAM读取指令并执行。
全文摘要
本发明涉及一种微处理器的在线调试方法,特别涉及一种使用非可编程存储器的在线调试方法。包括步骤在片内ROM中固化BOOT程序;上电复位后从片内ROM执行BOOT程序,完成用户程序的交互、固化至外部存储器或载入片内RAM;微处理器跳转到加载至片内RAM的用户程序上,从程序的的起始位置开始执行用户程序。本发明在可用的存储资源只有片内ROM和片内RAM的前提下,提出了由固化在芯片ROM内的引导(BOOT)程序上电运行后,按指令和需求从外部加载可变的用户程序并执行这一解决方案,在现有的技术条件下保证了芯片的可编程性与SoC软硬件协同工作的能力。
文档编号G06F11/26GK102662810SQ20121008281
公开日2012年9月12日 申请日期2012年3月27日 优先权日2012年3月27日
发明者张俊杰, 徐震柳, 田进进, 胡通, 袁文燕, 郑玥 申请人:上海大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1