CN103440216B - 一种通过i2c从设备调试mcu的芯片及方法 - Google Patents
一种通过i2c从设备调试mcu的芯片及方法 Download PDFInfo
- Publication number
- CN103440216B CN103440216B CN201310369678.2A CN201310369678A CN103440216B CN 103440216 B CN103440216 B CN 103440216B CN 201310369678 A CN201310369678 A CN 201310369678A CN 103440216 B CN103440216 B CN 103440216B
- Authority
- CN
- China
- Prior art keywords
- mcu
- output
- door
- character string
- trigger
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种通过I2C从设备调试MCU的芯片及方法,属于电子电路技术领域。该芯片包括I2C总线、以及通过I2C总线相连的MCU、I2C从设备和两个以上外设,I2C从设备还用于在芯片外部I2C主设备的控制下进入或退出调试MCU的模式。采用本发明实施例,在对I2C从设备的通用功能不影响的情况下,还可以作为调试接口,不用额外增加其他调试接口就可以实现调试功能,节省了对资源的消耗。
Description
技术领域
本发明涉及电子电路技术领域,尤其涉及一种通过I2C从设备调试MCU的芯片及方法。
背景技术
在传统的芯片系统中,I2C从设备通常是作为通用的数据传输接口。芯片外部与MCU进行通信和调试主要是使用JTAG、UART等方式,这样在芯片没有集成JTAG、UART等接口时,就要为调试增加了额外的接口,浪费了系统资源。
发明内容
有鉴于此,本发明要解决的技术问题是提供一种通过I2C从设备调试MCU的芯片及方法,以使I2C从设备可随时停住和释放MCU,且可与MCU执行的程序进行握手操作,用I2C从设备来实现外设对MCU的调试的功能,节省系统资源,并让调试更灵活。
本发明解决上述技术问题所采用的技术方案如下:
根据本发明的一个方面,提供的一种通过I2C从设备调试MCU的芯片包括I2C总线、以及通过I2C总线相连的MCU、I2C从设备和两个以上的外设,其中,I2C从设备还用于在芯片外部I2C主设备的控制下进入或退出调试MCU的模式。
优选地,I2C从设备包括I2C有限状态机、命令解析模块、I2C中断处理模块、I2C寄存器、FIFO写模块和FIFO读模块,其中,命令解析模块、I2C中断处理模块、I2C寄存器、FIFO写模块和FIFO读模块均与I2C有限状态机相连,FIFO写模块和FIFO读模块还分别与命令解析模块相连,I2C寄存器还与I2C中断处理模块相连;
I2C从设备还包括模式控制模块,模式控制模块分别与命令解析模块和I2C有限状态机相连,用于接收命令解析模块发送的第一预定的字符串后,向MCU的指令状态机发送停住MCU的信号,并等待预定的系统时钟周期数后,占据住总线以供芯片外部的I2C主设备与MCU执行的程序进行握手;还用于接收到命令解析模块发送的第二预定的字符串后,释放总线,并向MCU的指令状态机发送释放MCU的信号。
优选地,模式控制模块包括:
监测单元,用于监测是否接收到第一预定的字符串或者第二预定的字符串;
MCU控制单元,用于接收到第一预定的字符串后,向MCU的指令状态机发送停住MCU的信号;还用于接收到第二预定的字符串后,向MCU的指令状态机发送释放MCU的信号。
总线控制单元,用于接收到第一预定的字符串后,等待预定的系统时钟周期数后,占据住总线;还用于接收到第二预定的字符串后,释放总线。
优选地,模式控制模块包括:
字符串寄存器701、比较器702、第一触发器703、第一非门704、第二非门705、第一与门706、第二与门707、第一或门708、计数器709、第一MUX710、第二MUX711、第二或门712、第二触发器713、第三与门714和第三触发器715,其中:
字符串寄存器701,用于接收I2C主设备写入的字符串;
比较器702,用于比较字符串寄存器701的字符串与预设的字符串是否相同,根据比较结果输出高电平或者低电平信号给第一触发器703;
第一触发器703,用于将比较器702的结果寄存一次,输出到第一非门704和第二与门707;
第一非门704,用于将第一触发器703的输出取反,然后输出到第一与门706;
第一与门706,用于根据比较器702的比较结果和第一非门704的结果进行与运算,用于抓取比较器702输出的信号的上升沿,当其上升沿到来时,产生一个周期的高脉冲输出到第一或门708;
第二非门705,用于将比较器702的输出取反,然后输出到第二与门707;
第二与门707;用于根据第二非门705的输出和第一触发器703的输出进行与运算,用于抓取比较器702的输出信号的下降沿,当其下降沿到来时,产生一个周期的高脉冲信号输出到第一或门708;
第一或门708,用于将来自第一与门706以及第二与门707的两个持续一个周期的高脉冲信号都输出给计数器709;
计数器709,用于根据来自第一或门708的持续一个周期的高脉冲信号作为触发条件,开始时钟周期的脉冲计数,计数完毕后输出一个时钟周期的脉冲到第一MUX 710和第二MUX 711;
第一MUX 710,用于选择是输出低电平还是第二触发器713的输出值作为第二或门712的一个输入,当计数器709的输出为高时,选择低电平作为输出,否则,选择第二触发器713的输出值作为输出;
第二MUX 711,用于选择是输出高电平还是第三触发器715的输出值作为第三与门714的一个输入,当计数器709的输出为高时,选择高电平作为输出,否则,选择第三触发器715的输出值作为输出;
第二或门712以及第二触发器713,用于产生停住MCU的信号,当比较器702的输出转变为高时,其输出相应的转变为高,并一直保持为高输出,直到比较器702的输出转变为低、并且由此触发的计数器709计数且计数结束而产生的一个周期的高脉冲到来时,将其输出拉低;
第三与门714以及第三触发器715,用于产生I2C占住总线的信号,当比较器702的输出转变为高、并且由此触发的计数器709计数且计数结束而产生的一个周期的高脉冲到来时,其输出相应的转变为高,并一直保持为高输出,直到比较器702的输出转变为低时,将其输出拉低。
优选地,芯片外部的I2C主设备与MCU执行的程序进行握手包括:芯片外部的I2C主设备对外设的读或写操作控制。
优选地,预定的系统时钟周期数根据MCU执行其指令集中最长的一条所需要的时钟周期数来确定。
优选地,芯片内部外设包括:读寄存器、写寄存器、程序存储器、和/或数据存储器。
根据本发明的另一个方面,提供的一种通过I2C从设备调试MCU的方法包括:
I2C从设备接收到第一预定的字符串后,先向MCU的指令状态机发送停住MCU的信号;
等待预定的系统时钟周期数后,占据住总线以供芯片外部的I2C主设备与MCU执行的程序进行握手;
接收到第二预定的字符串后,先释放总线,再向MCU的指令状态机发送释放MCU的信号。
优选地,预定的系统时钟周期数根据MCU执行其指令集中最长的一条所需要的时钟周期数来确定。
优选地,芯片外部的I2C主设备与MCU执行的程序进行握手包括:芯片外部的I2C主设备对芯片外设的读或写操作控制。
本发明提供的一种通过I2C从设备调试MCU的芯片及方法,在对I2C从设备的通用功能不影响的情况下,使得I2C从设备可以访问芯片内部所有的外设,同时还可以停住和释放MCU,作为调试接口实现外部I2C主设备对芯片的MCU进行调试与MCU握手的功能。在芯片系统有I2C从设备功能的情况下,不用额外增加其他调试接口就可以实现调试功能,节省了对资源的消耗。
附图说明
图1是本发明实施例提供的一种通过I2C从设备调试MCU的芯片的控制示意图。
图2是本发明实施例提供的一种I2C从设备的结构示意图。
图3是本优选发明实施例提供的一种模式控制模块的结构示意图。
图4是本优选发明实施例提供的一种电路时序图。
图5是本发明实施例提供的一种通过I2C从设备调试MCU的方法流程图。
图6是本发明优选实施例提供的一种通过I2C从设备调试MCU的方法流程图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例一
图1是本发明实施例提供的一种通过I2C从设备调试MCU的芯片的控制示意图,该系统包括芯片10和I2C主设备20,其中:
芯片10,包括I2C总线101、MCU102、I2C从设备103和两个以上的外设104。MCU102、I2C从设备103和外设104通过I2C总线101相连。
其中,I2C总线101和MCU102属于现有技术,I2C从设备103除了保持现有的通用数据传输接口功能外,还可以用作调试接口,在芯片外部I2C主设备20的控制下进入或退出调试MCU的模式,从而达到选择用于通用数据传输接口或者调试接口。外设104也是现有的,包括但不限于包括读寄存器、写寄存器、程序存储器和数据存储器。
I2C主设备20,用于通过发送预设的字符串控制芯片10的I2C从设备103作为通用数据传输接口或者调试接口。
具体来说,在I2C主设备20需要对MCU102进行调试或者访问芯片中的外设104时,向芯片内部I2C从设备103发送预设的第一字符串,I2C从设备103接收到该预设的第一字符串后,先停住MCU102,且保持其所有状态不变,然后占据住I2C总线101,这时,外部I2C主设备20就可以完成所需要进行的任何操作;在操作完成之后,外部I2C主设备20再向内部I2C从设备103发送预设的第二字符串,I2C从设备103接收到该预设的第二字符串后,先释放I2C总线101,再释放MCU102。内部I2C从设备103可以像MCU102一样控制所有的芯片内部的外设104,从而可以做到所有的调试工作都对MCU102透明,MCU102可以在被释放后正确的继续执行。
如图2所示是本发明实施例提供的一种I2C从设备的结构示意图,包括I2C有限状态机1031、命令解析模块1032、I2C中断处理模块1033、I2C寄存器1034、FIFO写模块1035、FIFO读模块1036和模式控制模块1037,命令解析模块1032、I2C中断处理模块1033、I2C寄存器1034、FIFO写模块1035和FIFO读模块1036均与I2C有限状态机1031相连,FIFO写模块1035和FIFO读模块1036还分别与命令解析模块1032相连,I2C寄存器1034还与I2C中断处理模块1033相连;模式控制模块1037分别与I2C有限状态机1031及命令解析模块1032相连,其中:
I2C有限状态机(Finite State Machine)1031,用于对I2C从设备的工作状态控制以及与I2C主设备之间数据接收与发送。
命令解析模块(Command Decode)1032,用于对I2C从设备接收到的命令进行解析。
I2C中断处理模块(Interrupts)1033,用于对I2C从设备的中断控制,这是I2C从设备通用的通信功能。
I2C寄存器(Registers)1034,用于I2C从设备与MCU之间的交互,这是I2C从设备通用的通信功能。
FIFO写模块1035,用于I2C从设备对芯片内外设的写操作控制。
FIFO读模块1036,用于I2C从设备对芯片内外设的读操作控制。
模式控制模块1037,用于接收所述命令解析模块1032发送的第一预定的字符串后,向MCU的指令状态机发送停住MCU的信号,并等待预定的系统时钟周期数后占据住总线以供芯片外部的I2C主设备与MCU执行的程序进行握手;还用于接收到所述命令解析模块1032发送的第二预定的字符串后,释放总线,并向MCU的指令状态机发送释放MCU的信号。
这里,等待预定的系统时钟周期数是为了使MCU有足够的时间将当前正在执行的指令执行完毕,故预定的时钟周期数可以根据本MCU执行其指令集中最长的一条所需要的时钟周期数来确定。
其中,模式控制模块1037可以通过硬件电路来实现,也可以通过运行在I2C从设备上软件程序来实现。按功能模块来划分,模式控制模块可以包括:监测单元、MCU控制单元和总线控制单元,其中:
监测单元,用于监测是否接收到第一预定的字符串或者第二预定的字符串;
MCU控制单元,用于接收到第一预定的字符串后,向MCU的指令状态机发送停住MCU的信号;还用于接收到第二预定的字符串后,向MCU的指令状态机发送释放MCU的信号。
总线控制单元,用于接收到第一预定的字符串后,等待预定的系统时钟周期数后,占据住总线;还用于接收到第二预定的字符串后,释放总线。
本实施例提供的一种I2C从设备,通过增加模式控制模块,实现对MCU的停住或释放操作的控制以及MCU被停住期间对总线的完全占用或释放的控制,从而控制进入或退出调试MCU模式,使得I2C从设备根据需要充当通用数据传输接口或者调试接口。
如图3所示是本优选发明实施例提供的一种模式控制模块的结构示意图,该模块包括:字符串寄存器701、比较器702、第一触发器703、第一非门704、第二非门705、第一与门706、第二与门707、第一或门708、计数器709、第一MUX(多路复用器)710、第二MUX 711、第二或门712、第二触发器713、第三与门714和第三触发器715,其中:
字符串寄存器701,用于接收I2C主设备写入的字符串;
比较器702,用于比较字符串寄存器701的字符串与预设的字符串是否相同,根据比较结果输出高电平或者低电平信号(在本图所示的逻辑结构中,均以高电平有效作为示例,但也可以设置低电平有效,当设置低电平有效时,后续电路都进行相反调整)给第一触发器703;
第一触发器703,用于将比较器702的结果寄存一次,输出到第一非门704和第二与门707;
第一非门704,用于将第一触发器703的输出取反,然后输出到第一与门706;
第一与门706,用于根据比较器702的比较结果和第一非门704的结果进行与运算,用于抓取比较器702输出的信号的上升沿(因为本示例图是以比较结果高电平有效方式设计的电路结构图),当其上升沿(即比较结果由不相等转变为相等)到来时,产生一个周期的高脉冲输出到第一或门708;
第二非门705,用于将比较器702的输出取反,然后输出到第二与门707;
第二与门707;用于根据第二非门705的输出和第一触发器703的输出进行与运算,用于抓取比较器702的输出信号的下降沿(因为本示例图是以比较结果高有效方式设计的电路结构图),当其下降沿(即比较结果由相等转变为不相等)到来时,产生一个周期的高脉冲信号输出到第一或门708;
第一或门708,用于将来自第一与门706以及第二与门707的两个持续一个周期的高脉冲信号都输出给后面的计数器709;
计数器709,用于根据来自第一或门708的持续一个周期的高脉冲信号作为触发条件,开始时钟周期的脉冲计数,计数完毕后输出一个时钟周期的脉冲到第一MUX 710和第二MUX 711。其中,计数周期个数以保证MCU最长的一条指令可以执行完为标准。
第一MUX 710,用于选择是输出低电平(“0”)还是第二触发器713的输出值作为后面的第二或门712的一个输入,当计数器709的输出为高时,选择低电平作为输出,否则,选择第二触发器713的输出值作为输出;
第二MUX 711,用于选择是输出高电平(“1”)还是第三触发器715的输出值作为后面的第三与门714的一个输入,当计数器709的输出为高时,选择高电平作为输出,否则,选择第三触发器715的输出值作为输出;
第二或门712以及第二触发器713,用于产生停住MCU的信号,在本示例中以该信号高有效作为示例,当比较器702的输出转变为高(即相等)时,其输出相应的转变为高,并一直保持为高输出,直到比较器702的输出转变为低(即不相等)、并且由此触发的计数器709计数且计数结束而产生的一个周期的高脉冲到来时,将其输出拉低;
第三与门714以及第三触发器715,用于产生I2C占住总线的信号,在本示例中,该信号以高有效作为示例,当比较器702的输出转变为高(即相等)、并且由此触发的计数器709计数且计数结束而产生的一个周期的高脉冲到来时,其输出相应的转变为高,并一直保持为高输出,直到比较器702的输出转变为低(即不相等)时,将其输出拉低。
本实施例的模式控制模块仅仅举例说明,该举例中,所有信号都以高有效为前提进行的设计,包括电路实现过程中的中间信号以及最后的输出信号(停住MCU信号以及占住总线信号),对应的电路波形图如图4所示,图4中双斜杠“//”表示省略了若干周期,具体情况,由设计者确定。具体实现中,只要能够保证字符串序列的比较器702的输出与输出信号(停住MCU信号以及占住总线信号)之间的对应关系,其他部分均可替换;输入、输出信号,以及中间的信号是高有效还是低有效,均可由设计者自行定义。
如图5所示是本发明实施例提供的一种通过I2C从设备调试MCU的方法流程图,该方法包括:
S501、I2C从设备接收到第一预设的字符串后,向MCU的指令状态机发送停住MCU的信号;
S502、等待预定的系统时钟周期数后,占据住总线以供芯片外部的I2C主设备与MCU执行的程序进行握手;
S503、接收到第二预定的字符串后,释放总线,并向MCU的指令状态机发送释放MCU的信号。
本实例的方法可以通过硬件电路来实现,也可以通过运行在I2C从设备上软件程序来实现。当I2C从设备检测到I2C主设备发送的第一预定的字符串,先停住MCU,且保持其所有状态不变,然后占据住总线,这时,I2C主设备就可以完成所需要进行的任何操作;在操作完成之后,I2C主设备再向内部I2C从设备第二预定的字符串,当I2C从设备检测到该第二预定的字符串后,先释放总线,再释放MCU,从而可以做到所有的调试工作都对MCU透明,MCU可以在被释放后正确的继续执行之前执行完的指令的下一条指令。
如图6所示是本发明优选实施例提供的一种通过I2C从设备调试MCU的方法流程图,该方法包括:
S601、I2C从设备保持通用的功能;
S602、判断是否收到预定的第一字符串,如果是,执行步骤S603,否则回到步骤S601;
S603、向MCU的指令执行状态机发送停止MCU的信号;
S604、等待预定的时钟周期,挂起MCU;
S605、占据住总线以供I2C主设备使用;
S606、I2C主设备执行操作;
S607、I2C主设备发送第二预设的字符串;
S608、I2C从设备释放总线;
S609、向MCU的指令状态机发送释放MCU的信号;
S610、MCU继续执行原功能,转至步骤S601。
本发明提供的一种通过I2C从设备调试MCU的芯片及方法,在对I2C从设备的通用功能不影响的情况下,使得I2C从设备可以访问芯片内部所有的外设,同时还可以停住和释放MCU,作为调试接口实现外部I2C主设备对芯片的MCU进行调试与MCU握手的功能。在芯片系统有I2C从设备功能的情况下,不用额外增加其他调试接口就可以实现调试功能,节省了对资源的消耗。
以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质,可以有多种变型方案实现本发明,比如作为一个实施例的特征可用于另一实施例而得到又一实施例。凡在运用本发明的技术构思之内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。
Claims (9)
1.一种通过I2C从设备调试MCU的芯片,该芯片包括I2C总线、以及通过所述I2C总线相连的MCU、I2C从设备和两个以上的外设,其特征在于,所述I2C从设备还用于在芯片外部I2C主设备的控制下进入或退出调试MCU的模式;所述I2C从设备包括I2C有限状态机、命令解析模块、I2C中断处理模块、I2C寄存器、FIFO写模块和FIFO读模块,其中,所述命令解析模块、所述I2C中断处理模块、所述I2C寄存器、所述FIFO写模块和所述FIFO读模块均与所述I2C有限状态机相连,所述FIFO写模块和所述FIFO读模块还分别与所述命令解析模块相连,所述I2C寄存器还与所述I2C中断处理模块相连;
所述I2C从设备还包括模式控制模块,所述模式控制模块分别与所述命令解析模块和所述I2C有限状态机相连,用于接收所述命令解析模块发送的第一预定的字符串后,向MCU的指令状态机发送停住MCU的信号,并等待预定的系统时钟周期数后,占据住总线以供芯片外部的I2C主设备与MCU执行的程序进行握手;还用于接收到所述命令解析模块发送的第二预定的字符串后,释放总线,并向MCU的指令状态机发送释放MCU的信号。
2.根据权利要求1所述的芯片,其特征在于,所述模式控制模块包括:
监测单元,用于监测是否接收到第一预定的字符串或者第二预定的字符串;
MCU控制单元,用于接收到第一预定的字符串后,向MCU的指令状态机发送停住MCU的信号;还用于接收到第二预定的字符串后,向MCU的指令状态机发送释放MCU的信号;
总线控制单元,用于接收到第一预定的字符串后,等待预定的系统时钟周期数后,占据住总线;还用于接收到第二预定的字符串后,释放总线。
3.根据权利要求1所述的芯片,其特征在于,所述模式控制模块包括:
字符串寄存器(701)、比较器(702)、第一触发器(703)、第一非门(704)、第二非门(705)、第一与门(706)、第二与门(707)、第一或门(708)、计数器(709)、第一MUX(710)、第二MUX(711)、第二或门(712)、第二触发器(713)、第三与门(714)和第三触发器(715),其中:
字符串寄存器(701),用于接收I2C主设备写入的字符串;
比较器(702),用于比较字符串寄存器(701)的字符串与预设的字符串是否相同,根据比较结果输出高电平或者低电平信号给第一触发器(703);
第一触发器(703),用于将比较器(702)的结果寄存一次,输出到第一非门(704)和第二与门(707);
第一非门(704),用于将第一触发器(703)的输出取反,然后输出到第一与门(706);
第一与门(706),用于根据比较器(702)的比较结果和第一非门(704)的结果进行与运算,用于抓取比较器(702)输出的信号的上升沿,当其上升沿到来时,产生一个周期的高脉冲输出到第一或门(708);
第二非门(705),用于将比较器(702)的输出取反,然后输出到第二与门(707);
第二与门(707);用于根据第二非门(705)的输出和第一触发器(703)的输出进行与运算,用于抓取比较器(702)的输出信号的下降沿,当其下降沿到来时,产生一个周期的高脉冲信号输出到第一或门(708);
第一或门(708),用于将来自第一与门(706)以及第二与门(707)的两个持续一个周期的高脉冲信号都输出给计数器(709);
计数器(709),用于根据来自第一或门(708)的持续一个周期的高脉冲信号作为触发条件,开始时钟周期的脉冲计数,计数完毕后输出一个时钟周期的脉冲到第一MUX(710)和第二MUX(711);
第一MUX(710),用于选择是输出低电平还是第二触发器(713)的输出值作为第二或门(712)的一个输入,当计数器(709)的输出为高时,选择低电平作为输出,否则,选择第二触发器(713)的输出值作为输出;
第二MUX(711),用于选择是输出高电平还是第三触发器(715)的输出值作为第三与门(714)的一个输入,当计数器(709)的输出为高时,选择高电平作为输出,否则,选择第三触发器(715)的输出值作为输出;
第二或门(712)以及第二触发器(713),用于产生停住MCU的信号,当比较器(702)的输出转变为高时,其输出相应的转变为高,并一直保持为高输出,直到比较器(702)的输出转变为低、并且由此触发的计数器(709)计数且计数结束而产生的一个周期的高脉冲到来时,将其输出拉低;
第三与门(714)以及第三触发器(715),用于产生I2C占住总线的信号,当比较器(702)的输出转变为高、并且由此触发的计数器(709)计数且计数结束而产生的一个周期的高脉冲到来时,其输出相应的转变为高,并一直保持为高输出,直到比较器(702)的输出转变为低时,将其输出拉低。
4.根据权利要求1所述的芯片,其特征在于,所述芯片外部的I2C主设备与MCU执行的程序进行握手包括:芯片外部的I2C主设备对所述外设的读或写操作控制。
5.根据权利要求1所述的芯片,其特征在于,所述预定的系统时钟周期数根据MCU执行其指令集中最长的一条所需要的时钟周期数来确定。
6.根据权利要求1-5任意一项权利要求所述的芯片,其特征在于,所述芯片内部外设包括:读寄存器、写寄存器、程序存储器、和/或数据存储器。
7.一种通过I2C从设备调试MCU的方法,其特征在于,该方法包括:
I2C从设备接收到第一预定的字符串后,先向MCU的指令状态机发送停住MCU的信号;
等待预定的系统时钟周期数后,占据住总线以供芯片外部的I2C主设备与MCU执行的程序进行握手;
接收到第二预定的字符串后,先释放总线,再向MCU的指令状态机发送释放MCU的信号。
8.根据权利要求7所述的方法,其特征在于,所述预定的系统时钟周期数根据MCU执行其指令集中最长的一条所需要的时钟周期数来确定。
9.根据权利要求7所述的方法,其特征在于,所述芯片外部的I2C主设备与MCU执行的程序进行握手包括:芯片外部的I2C主设备对芯片外设的读或写操作控制。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310369678.2A CN103440216B (zh) | 2013-08-22 | 2013-08-22 | 一种通过i2c从设备调试mcu的芯片及方法 |
PCT/CN2014/080725 WO2015024414A1 (zh) | 2013-08-22 | 2014-06-25 | 一种通过i2c从设备调试mcu的芯片及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310369678.2A CN103440216B (zh) | 2013-08-22 | 2013-08-22 | 一种通过i2c从设备调试mcu的芯片及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103440216A CN103440216A (zh) | 2013-12-11 |
CN103440216B true CN103440216B (zh) | 2016-12-28 |
Family
ID=49693907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310369678.2A Active CN103440216B (zh) | 2013-08-22 | 2013-08-22 | 一种通过i2c从设备调试mcu的芯片及方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103440216B (zh) |
WO (1) | WO2015024414A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103440216B (zh) * | 2013-08-22 | 2016-12-28 | 深圳市汇顶科技股份有限公司 | 一种通过i2c从设备调试mcu的芯片及方法 |
CN104899144B (zh) * | 2015-06-18 | 2018-06-15 | 深圳市新格林耐特通信技术有限公司 | 一种基于串口中断的调试方法 |
CN105718396B (zh) * | 2016-01-21 | 2018-05-29 | 哈尔滨理工大学 | 一种大数据主设备传输的i2c总线装置及其通讯方法 |
CN106021041B (zh) * | 2016-04-29 | 2020-01-03 | 中国科学技术大学 | 基于有限状态机的多周期非流水线cpu调试方法 |
CN106126452B (zh) * | 2016-06-17 | 2019-01-01 | 北京大学 | 基于IIC协议的Linux操作系统与裸机通信的方法 |
CN105930294A (zh) * | 2016-06-25 | 2016-09-07 | 张宏彬 | 一种基于状态机的数字集成电路总线系统 |
CN107704417A (zh) * | 2017-09-13 | 2018-02-16 | 成都锐成芯微科技股份有限公司 | 与被测设备通信的方法及其通信系统 |
CN107967230A (zh) * | 2017-11-30 | 2018-04-27 | 广东高云半导体科技股份有限公司 | I3c电路设备、系统和通信方法 |
WO2019178787A1 (zh) * | 2018-03-21 | 2019-09-26 | 深圳市汇顶科技股份有限公司 | 芯片的访问方法、微芯片、智能卡以及调试设备 |
CN112134814B (zh) * | 2020-08-24 | 2022-04-12 | 合肥学院 | 一种板级互联网络结构及通信方法 |
CN112052132B (zh) * | 2020-09-11 | 2022-09-06 | 厦门紫光展锐科技有限公司 | 通过sdio接口调试外挂芯片的方法、装置、设备和介质 |
CN112612667B (zh) * | 2020-12-24 | 2022-11-22 | 天津国芯科技有限公司 | 一种用于SoC芯片的跟踪调试信息处理电路及方法 |
CN112948242A (zh) * | 2021-02-23 | 2021-06-11 | 深圳宝新创科技股份有限公司 | 嵌入式控制器的调试方法、终端设备及存储介质 |
CN113704104B (zh) * | 2021-08-25 | 2024-02-27 | 宏晶微电子科技股份有限公司 | 程序调试方法、设备、系统、电子设备和存储介质 |
CN115033444B (zh) * | 2022-08-10 | 2022-11-15 | 合肥健天电子有限公司 | 基于8051core在线调试电路控制装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6912606B2 (en) * | 2001-06-08 | 2005-06-28 | Sycamore Networks, Inc. | Generic serial bus architecture |
JP2006099410A (ja) * | 2004-09-29 | 2006-04-13 | Mitsubishi Electric Corp | I2cバス制御方法 |
EP1877913B1 (en) * | 2005-04-29 | 2010-03-10 | Nxp B.V. | Communications system and method having slave device with latched request for service |
CN1770883A (zh) * | 2005-09-16 | 2006-05-10 | 深圳创维-Rgb电子有限公司 | 一种实现对i2c器件特性参数进行调试的方法及装置 |
KR100801759B1 (ko) * | 2005-12-29 | 2008-02-11 | 엠텍비젼 주식회사 | 슬레이브의 디버깅 방법 및 시스템 |
CN100480923C (zh) * | 2006-01-13 | 2009-04-22 | 深圳创维-Rgb电子有限公司 | I2c总线从控制器软实现方法 |
CN101998135A (zh) * | 2009-08-13 | 2011-03-30 | 上海摩威电子科技有限公司 | 移动电视信号采集及播放系统、控制方法 |
CN103164313A (zh) * | 2011-12-12 | 2013-06-19 | 鸿富锦精密工业(深圳)有限公司 | 调试系统及方法 |
CN102421010A (zh) * | 2011-12-31 | 2012-04-18 | 四川长虹电器股份有限公司 | 兼容vga端口输入的软件调试系统及方法 |
CN103440216B (zh) * | 2013-08-22 | 2016-12-28 | 深圳市汇顶科技股份有限公司 | 一种通过i2c从设备调试mcu的芯片及方法 |
-
2013
- 2013-08-22 CN CN201310369678.2A patent/CN103440216B/zh active Active
-
2014
- 2014-06-25 WO PCT/CN2014/080725 patent/WO2015024414A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
CN103440216A (zh) | 2013-12-11 |
WO2015024414A1 (zh) | 2015-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103440216B (zh) | 一种通过i2c从设备调试mcu的芯片及方法 | |
US7617386B2 (en) | Scheduling thread upon ready signal set when port transfers data on trigger time activation | |
CN107273329B (zh) | 虚拟gpio | |
CN104380266B (zh) | 具有复位条件跟踪能力的处理器装置 | |
CN103454996A (zh) | 主从机系统及其控制方法 | |
CN106487372A (zh) | 包括单线接口的装置和具有该装置的数据处理系统 | |
US11022647B2 (en) | Reconfiguring monitoring circuitry | |
EP2847683B1 (en) | Processor device with instruction trace capabilities | |
US20210064564A1 (en) | Daisy Chain Streaming Mode | |
CN101923525B (zh) | 一种带事件捕获功能的通用目的输入输出电路 | |
CN107305526B (zh) | 一种用于微控制器的调试器 | |
US9424166B2 (en) | Routing debug messages | |
CN105378650B (zh) | 用于控制处理模块的操作模式的方法和装置 | |
US10088523B2 (en) | Debug adapter | |
CN105718396A (zh) | 一种大数据主设备传输的i2c总线装置及其通讯方法 | |
CN111049718B (zh) | Can总线模拟监控方法 | |
CN104050121A (zh) | 双收双发可编程arinc429通讯接口芯片 | |
CN101751115B (zh) | 一种解决dsp与低速输出设备数据传输匹配的方法 | |
CN111459785B (zh) | 一种芯片调试模式下时钟处理电路及其时钟处理方法 | |
CN204706031U (zh) | 串行外设接口spi总线电路以及电子设备 | |
CN111158339A (zh) | Can总线模拟监控系统 | |
EP2137613B1 (en) | Processor register architecture | |
CN109857485A (zh) | 一种可编程gpio装置及基于该装置的时序实现方法 | |
CN205594621U (zh) | 一种用于微控制器的调试器 | |
CN204652526U (zh) | 一种基于fpga的视频采集存储电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210127 Address after: 2201, e times building, No.159, North Pingji Avenue, Hehua community, Pinghu street, Longgang District, Shenzhen, Guangdong 518000 Patentee after: SHENZHEN AIRLINES CHIP TECHNOLOGY DEVELOPMENT Co.,Ltd. Address before: 518000 B, Arts crafts emporium, Futian Free Trade Zone, Futian, Guangdong, Shenzhen, 13 Patentee before: SHENZHEN GOODIX TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right |