芯片的调试方法

文档序号:9375429阅读:1332来源:国知局
芯片的调试方法
【技术领域】
[0001]本发明涉及一种嵌入式芯片复用SD接口的调试方法。
【背景技术】
[0002]现有的嵌入式设备调试依赖串口和一些常用的硬件工具,比如JTAG(Joint TestAct1n Group,联合测试行为组织)或者其他TRACE (跟踪调试器)工具。首先这需要嵌入式芯片在管脚上给这些接口专门预留10,增加芯片封装的难度。其次如果整机产品需要这些调试接口,将使得布板增加负载,而且对结构件摆放和成品的厚度要求较高,因此整机一般都不预留。然而在很多生产线上遇到突发问题需要进行调试的时候,往往因为整机的布板没有预留这些接口,导致临时不能追加,而无法进行调试。所以本发明基于此考虑,设计一种复用SD接口的调试方法和系统,来解决这些问题。

【发明内容】

[0003]本发明要解决的技术问题,在于提供一种芯片的调试方法,有效地节省了板级资源,又能够有效地进行调试。
[0004]本发明可以这样实现:一种芯片的调试方法,嵌入式芯片的SD卡接口设有时钟信号线、命令线、四根数据线以及一根卡检测脚信号线;嵌入式芯片内部将所述时钟信号线、命令线以及四根数据线分别作为三种调试接口的6根1复用;且嵌入式芯片内部有一个微处理器在运行;
[0005](I)SD卡插入情况下,SD驱动读取到SD控制器所识别到的卡检测脚为低,判定SD卡插入,将所述6根1全部切换成SD卡功能脚;之后当CPU异常需要调试时,则需要拔出SD卡,接上调试接口,此时微处理器会接收到SD卡拔出中断信号,即可读取SD卡检测脚信号,确认SD卡已被拔出,再读取对应1管脚的配置,发现仍为SD卡1配置,说明此时CPU异常无法响应,则微处理器修改对应的1管脚为三种调试接口功能,随后就能直接进行调试;
[0006](2) SD卡拔出情况下,SD驱动读取到SD控制器所识别到卡检测脚为高,判定SD卡拔出,将所述6根1全部切换成三种调试接口的1功能;之后当CPU异常时,由于6根1已经全部切换成三种调试接口功能了,就能直接进行调试。
[0007]本发明还可以这样实现:一种嵌入式芯片复用SD接口的调试方法,其特征在于:嵌入式芯片的SD卡接口设有时钟信号线、命令线、四根数据线以及一根卡检测脚信号线;嵌入式芯片内部将所述时钟信号线、命令线以及四根数据线分别作为三种调试接口的6根1复用;且嵌入式芯片后台有一个看门狗单元在运行,需要CPU定时处理它;
[0008](I)SD卡插入情况下,SD驱动读取到SD控制器所识别到的卡检测脚为低,判定SD卡插入,将所述6根1全部切换成SD卡功能脚;之后当CPU异常需要调试时,则需要拔出SD卡,接上调试接口,此时由于CPU异常无法定时处理看门狗单元的中断,导致看门狗单元超时未处理,则跳转到ROM内,执行ROM内固化的代码,该固化代码就是将SD卡的接口(6根10)强行切换成三种调试接口进行调试;
[0009](2) SD卡拔出情况下,SD驱动读取到SD控制器所识别到卡检测脚为高,判定SD卡拔出,将所述6根1全部切换成三种调试接口的1功能;之后当CPU异常时,由于6根1已经全部切换成三种调试接口功能了,就能直接进行调试。
[0010]进一步的,对于本发明,所述(I)中,当SD卡插入卡槽后,SD卡槽的检测脚会产生一个下降沿的电位变化,此时SD控制器会将此插卡事件通知到CPU,由CPU来运行SD卡驱动程序完成对SD卡的初始化,初始化过程包括了将1单元内的对应1切换成SD卡的功能,使得SD控制器的时钟,命令和数据能够通过这6根1与SD卡进行通信。
[0011]进一步的,对于本发明,所述(2)中,当SD卡拔出卡槽后,SD卡槽的检测脚会产生一个上升沿的电位变化,此时SD控制器会将此拔卡事件通知到CPU,由CPU来运行SD卡驱动程序完成对SD卡的反初始化,反初始化过程包括了将1单元内的对应1两两分组,切换成三种调试接口功能,再从SD卡槽飞线引出这些接口,就能够从外部进行调试。
[0012]本发明具有如下优点:本发明通过设计一种复用SD接口的调试方法,实现嵌入式设备的调试,无需嵌入式芯片在管脚上给接口专门预留10,有效地节省了板级资源,又能够有效地进行调试。
【附图说明】
[0013]下面参照附图结合实施例对本发明作进一步的说明。
[0014]图1为本发明方法常规插卡模式的结构框图。
[0015]图2为本发明方法拔插SD卡模式的结构框图。
[0016]图3为本发明方法实施例一 CPU异常下的切换过程示意图。
[0017]图4为本发明方法实施例二 CPU异常下的切换过程示意图。
【具体实施方式】
[0018]实施例一
[0019]如图1至图3所示,本实施例中,嵌入式芯片的SD卡接口设有时钟信号线、命令线、四根数据线以及一根卡检测脚信号线;嵌入式芯片内部将所述时钟信号线、命令线以及四根数据线分别作为三种调试接口的6根1复用,该6根1即图中的时钟10、命令10、数据线10。?13;且嵌入式芯片内部有一个微处理器(MCU)在运行,它是功能相对简单的处理器,系统使用的是功能复杂、性能高的CPU,微处理器和CPU都可接收SD卡拔插中断信号,但是正常情况下微处理器只接收不处理,由CPU来处理(调用SD卡驱动来执行响应的操作)。
[0020](I)SD卡插入情况下,SD驱动读取到SD控制器所识别到的卡检测脚为低,判定SD卡插入,将所述6根1全部切换成SD卡功能脚;之后当CPU异常需要调试时,SD卡在SD卡槽内,则需要拔出SD卡,接上调试接口,由于此时SD驱动无法运行(CPU异常了,而驱动代码是CPU执行的),此时虽然SD卡拔出了,但是6根1无法被切换成调试接口功能,此时微处理器也会接收到SD卡拔出中断信号,即可读取SD卡检测脚信号,确认SD卡已被拔出,再读取对应1管脚的配置,发现仍为SD卡1配置,说明此时CPU异常无法响应,则微处理器修改对应的1管脚为三种调试接口功能,随后就能直接进行调试;
[0021](2) SD卡拔出情况下,SD驱动读取到SD控制器所识别到卡检测脚为高,判定SD卡拔出,将所述6根1全部切换成三种调试接口的1功能;之后当CPU异常时,由于6根1已经全部切换成三种调试接口功能了,就能直接进行调试。
[0022]实施例二
[0023]如图1、图2及图4所示,本实施例中,嵌入式芯片的SD卡接口设有时钟信号线、命令线、四根数据线以及一根卡检测脚信号线;嵌入式芯片内部将所述时钟信号线、命令线以及四根数据线分别作为三种调试接口的6根1复用,该6根1即图中的时钟10、命令10、数据线10。?103;且嵌入式芯片后台有一个看门狗单元在运行,作用是定时触发一个事件要求CPU进行处理,因此需要CPU定时处理它;
[0024](I)SD卡插入情况下,SD驱动读取到SD控制器所识别到的卡检测脚为低,判定SD卡插入,将所述6根1全部切换成SD卡功能脚;之后当CPU异常需要调试时,SD卡在卡槽内,则需要拔出SD卡,接上调试接口,
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1