CN107168867A - 一种实现微控制器芯片的用户debug模式的方法 - Google Patents
一种实现微控制器芯片的用户debug模式的方法 Download PDFInfo
- Publication number
- CN107168867A CN107168867A CN201710172698.9A CN201710172698A CN107168867A CN 107168867 A CN107168867 A CN 107168867A CN 201710172698 A CN201710172698 A CN 201710172698A CN 107168867 A CN107168867 A CN 107168867A
- Authority
- CN
- China
- Prior art keywords
- user
- chip
- debug
- microcontroller chip
- spi
- 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
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种实现微控制器芯片的用户debug模式的方法,微控制器芯片内部包括芯片代码选项模块OPTION、程序存储器PMEM、数据存储器DMEM、外设模块PER、用户debug模式控制模块DBG_CTRL、微控制器内核CORE,外设模块PER是包含MCU所有外设的集合,SPI模块是包含于外设集合中的一个子模块,微控制器芯片通过SPI模块与芯片外部进行串行通信。本发明通过复用微控制器芯片中的SPI模块的逻辑资源和通信端口,而不需要增加过多额外的逻辑资源、额外的通信接口以及通信端口即可以实现微控制器芯片的用户调试功能,节省了用于实现用户debug模式的大部分逻辑资源,降低微控制器芯片的生产成本。
Description
技术领域
本发明涉及一种微控制器芯片,具体是一种实现微控制器芯片的用户debug模式的方法。
背景技术
对于芯片设计来说,在设计目标上往往存在冲突,即它们的功能要足够全面,同时要求芯片面积尽量小。芯片用户开发应用程序时,支持用户debug模式的微控制器芯片能够带来非常大的便利。微控制器芯片的用户debug模式是相对于芯片正常工作模式之处的一种额外的模式,需要增加额外的逻辑资源才能实现,所以会使微控制器芯片的面积增大,从而使生产成本上升。
发明内容
本发明的目的在于提供一种实现微控制器芯片的用户debug模式的方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方法:
一种实现微控制器芯片的用户debug模式的方法,微控制器芯片内部包括芯片代码选项模块OPTION、程序存储器PMEM、数据存储器DMEM、外设模块PER、用户debug模式控制模块DBG_CTRL、微控制器内核CORE,外设模块PER是包含MCU所有外设的集合,SPI模块是包含于外设集合中的一个子模块,微控制器芯片通过SPI模块与芯片外部进行串行通信,SPI模块内部包括串行接收控制逻辑以及串行发送控制逻辑,串行接收控制逻辑负责完成串行通信调试的接收过程,串行发送控制逻辑负责完成串行通信调试的发送过程,使用微控制器芯片的用户debug模式时,复用SPI通信的3个单向通信端口,SPI模块通过miso输出端口将芯片的数据输出至芯片外部的上位机,SPI模块通过mosi输入端口接收芯片外部的上位机输入的信息。
作为本发明进一步的方法:芯片代码选项模块OPTION负责整个微控制器芯片中全局性的配置。
作为本发明进一步的方法:能够通过芯片的代码选项中的用户debug模式使能信号dbg_en使能或者关闭芯片的用户debug模式。
作为本发明进一步的方法:当debug模式使能信号dbg_en被配置为高电平状态时,SPI模块才被复用来实现用户debug模式。
作为本发明再进一步的方法:芯片外部的上位机与SPI模块进行串行通信,SPI模块将mosi信号端口上的串行通信数据进行并行化处理,然后通过并行通信总线pc_bus与用户debug模式控制模块DBG_CTRL进行数据交互。
与现有技术相比,本发明的有益效果是:本发明通过复用微控制器芯片中的SPI模块的逻辑资源和通信端口,而不需要增加过多额外的逻辑资源、额外的通信接口以及通信端口即可以实现微控制器芯片的用户调试功能,节省了用于实现用户debug模式的大部分逻辑资源,降低微控制器芯片的生产成本。
附图说明
图1为复用SPI模块实现微控制器芯片的用户debug模式的原理框图。
图2为用户debug模式控制模块的原理框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方法进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明复用SPI模块实现微控制器芯片的用户debug模式的方法原理如图 1所示。微控制器芯片内部包括芯片代码选项模块OPTION、程序存储器PMEM、数据存储器DMEM、外设模块PER、用户debug模式控制模块DBG_CTRL、微控制器内核CORE。外设模块PER是包含MCU所有外设的集合。SPI模块是包含于外设集合中的一个子模块,本方法通过复用SPI模块可以实现微控制器芯片的用户debug模式。
在本方法中,微控制器芯片通过SPI模块与芯片外部进行串行通信。SPI模块内部包括串行接收控制逻辑以及串行发送控制逻辑。串行接收控制逻辑负责完成串行通信调试的接收过程。串行发送控制逻辑负责完成串行通信调试的发送过程。使用微控制器芯片的用户debug模式时,需要复用SPI通信的3个单向通信端口。SPI模块通过miso输出端口将芯片的数据输出至芯片外部的上位机。SPI模块通过mosi输入端口接收芯片外部的上位机输入的信息。sclk为SPI通信提供同步的时钟。
芯片代码选项模块OPTION负责整个微控制器芯片中全局性的配置,在本方法中,可以通过芯片的代码选项中的用户debug模式使能信号dbg_en使能或者关闭芯片的用户debug模式。只有当debug模式使能信号dbg_en被配置为高电平状态时,SPI模块才被复用来实现用户debug模式。芯片外部的上位机与SPI模块进行串行通信,SPI模块将mosi信号端口上的串行通信数据进行并行化处理,然后通过并行通信总线pc_bus与用户debug模式控制模块DBG_CTRL进行数据交互。用户debug模式控制模块的原理如图 2所示。在用户debug模式控制模块中,通过比较器C1,将SPI模块输送过来的并行通信总线pc_bus与用户debug模式入口校对码DEG_ENTRY进入比较,当两者相同时,将触发用户debug模式寄存器DBG_MODE置位,微控制器芯片进入用户debug模式。
在微控制器芯片进入用户debug模式后,上位机将调试指令单步、断点、全速等通过串行通信将数据输送至芯片内部,SPI模块将串行通信数据进行并行化处理,然后通过并行通信总线pc_bus输入至用户debug模式控制模块DBG_CTRL。用户debug模式控制模块DBG_CTRL内部的用户debug模式接口控制逻辑DBG_INTF对并行通信总线pc_bus送过来的数据进行译码,然后通过调试指令信号发送至微控制器内核CORE。微控制器内核根据调试指令信号做出相应的操作。在用户debug模式中,芯片外部的上位机也可以通过串行通信读取到微控制器芯片运行的实时状态。这些实时状态包括堆栈、程序指针、累加器、状态寄存器等信息。当微控制器芯片正常工作时,微控制器内核通过特殊功能总线sfr_bus对外设模块中的特殊功能寄存器进行读写操作。当微控制器芯片处于用户debug模式,上位机需要获取芯片内特殊功能寄存器的值时,用户debug模式接口控制逻辑DBG_INTF通过调试指令信号通知微控制器内核,然后微控制器内核逐一将所有特殊功耗寄存器的值通过状态反馈信号传送至用户debug模式接口控制逻辑DBG_INTF,用户debug模式接口控制逻辑DBG_INTF再将反馈的数据输送至SPI模块。最后,SPI模块通过其内部的串行发送控制逻辑与芯片外部的上位机进行串行通信,将反馈的数据输送至上位机。微控制器芯片处于用户debug模式中时,上位机也获取数据存储器DMEM中的存储值。
为了方便用户使用微控制器芯片对应用程序进行调试,上位机可以通过串行通信将操作请求发送至用户debug模式控制模块DBG_CTRL,用户debug模式接口控制逻辑DBG_INTF通过程序存储器直接存取总线dma_pmem将程序指令码写入程序存储器中。
当用户完成调试后,需要退出用户debug模式时,上位机将通过串行信号将退出用户debug模式请求发送至SPI模块。SPI模块将接收到的串行数据并行化,然后输入至用户debug模式控制模块中,通过比较器C2,将SPI模块输送过来的并行通信总线pc_bus与用户debug模式出口校对码EXIT_CODE进入比较,当两者相同时,将触发用户debug模式寄存器DBG_MODE清零,微控制器芯片退出用户debug模式。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方法,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方法也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (5)
1.一种实现微控制器芯片的用户debug模式的方法,微控制器芯片内部包括芯片代码选项模块(OPTION)、程序存储器(PMEM)、数据存储器(DMEM)、外设模块(PER)、用户debug模式控制模块(DBG_CTRL)、微控制器内核(CORE),外设模块(PER)是包含MCU所有外设的集合,其特征在于,SPI模块是包含于外设集合中的一个子模块,微控制器芯片通过SPI模块与芯片外部进行串行通信,SPI模块内部包括串行接收控制逻辑以及串行发送控制逻辑,串行接收控制逻辑负责完成串行通信调试的接收过程,串行发送控制逻辑负责完成串行通信调试的发送过程,使用微控制器芯片的用户debug模式时,复用SPI通信的3个单向通信端口,SPI模块通过miso输出端口将芯片的数据输出至芯片外部的上位机,SPI模块通过mosi输入端口接收芯片外部的上位机输入的信息。
2.根据权利要求1所述的实现微控制器芯片的用户debug模式的方法,其特征在于,芯片代码选项模块(OPTION)负责整个微控制器芯片中全局性的配置。
3.根据权利要求1所述的实现微控制器芯片的用户debug模式的方法,其特征在于,能够通过芯片的代码选项中的用户debug模式使能信号(dbg_en)使能或者关闭芯片的用户debug模式。
4.根据权利要求2所述的实现微控制器芯片的用户debug模式的方法,其特征在于,当debug模式使能信号(dbg_en)被配置为高电平状态时,SPI模块才被复用来实现用户debug模式。
5.根据权利要求1所述的实现微控制器芯片的用户debug模式的方法,其特征在于,芯片外部的上位机与SPI模块进行串行通信,SPI模块将mosi信号端口上的串行通信数据进行并行化处理,然后通过并行通信总线(pc_bus)与用户debug模式控制模块(DBG_CTRL)进行数据交互。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710172698.9A CN107168867A (zh) | 2017-03-22 | 2017-03-22 | 一种实现微控制器芯片的用户debug模式的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710172698.9A CN107168867A (zh) | 2017-03-22 | 2017-03-22 | 一种实现微控制器芯片的用户debug模式的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107168867A true CN107168867A (zh) | 2017-09-15 |
Family
ID=59848773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710172698.9A Pending CN107168867A (zh) | 2017-03-22 | 2017-03-22 | 一种实现微控制器芯片的用户debug模式的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107168867A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019109284A1 (zh) * | 2017-12-07 | 2019-06-13 | 深圳市汇顶科技股份有限公司 | 调试器以及芯片调试方法 |
CN111857301A (zh) * | 2019-04-28 | 2020-10-30 | 新唐科技股份有限公司 | 具有时限除错模式的装置及其时限除错方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1570877A (zh) * | 2004-04-27 | 2005-01-26 | 中兴通讯股份有限公司 | 通用串行通讯接口调试装置及方法 |
CN101178702A (zh) * | 2006-11-10 | 2008-05-14 | 上海海尔集成电路有限公司 | 一种微控制器 |
CN102193860A (zh) * | 2010-03-10 | 2011-09-21 | 上海海尔集成电路有限公司 | 微控制器在线调试电路及方法、微控制器 |
US20150302126A1 (en) * | 2014-04-18 | 2015-10-22 | Breker Verification Systems | Testing soc with portable scenario models and at different levels |
-
2017
- 2017-03-22 CN CN201710172698.9A patent/CN107168867A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1570877A (zh) * | 2004-04-27 | 2005-01-26 | 中兴通讯股份有限公司 | 通用串行通讯接口调试装置及方法 |
CN101178702A (zh) * | 2006-11-10 | 2008-05-14 | 上海海尔集成电路有限公司 | 一种微控制器 |
CN102193860A (zh) * | 2010-03-10 | 2011-09-21 | 上海海尔集成电路有限公司 | 微控制器在线调试电路及方法、微控制器 |
US20150302126A1 (en) * | 2014-04-18 | 2015-10-22 | Breker Verification Systems | Testing soc with portable scenario models and at different levels |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019109284A1 (zh) * | 2017-12-07 | 2019-06-13 | 深圳市汇顶科技股份有限公司 | 调试器以及芯片调试方法 |
CN111857301A (zh) * | 2019-04-28 | 2020-10-30 | 新唐科技股份有限公司 | 具有时限除错模式的装置及其时限除错方法 |
TWI744691B (zh) * | 2019-04-28 | 2021-11-01 | 新唐科技股份有限公司 | 具有時限除錯模式之裝置及其時限除錯方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104702474B (zh) | 一种基于FPGA的EtherCAT主站装置 | |
CN102929836B (zh) | 一种航天专用asic芯片系统 | |
CN100565472C (zh) | 一种适用于多处理器核系统芯片的调试方法 | |
KR970007764B1 (ko) | 프로그램 제어장치 | |
CN105051706B (zh) | 用于具有pcie协议栈的低功率phy的操作的设备、方法和系统 | |
CN107992390B (zh) | 一种基于片上总线的芯片调试方法 | |
CN102929686A (zh) | 一种片上多核处理器功能验证方法 | |
CN104408002B (zh) | 串口主从通信控制系统及方法 | |
CN102521444A (zh) | 软硬件协同仿真/验证方法及装置 | |
CN104272271B (zh) | 具有指令跟踪能力的处理器装置 | |
CN102246471A (zh) | 测试装置及测试方法 | |
CN106773954B (zh) | 一种微控制器芯片中的工作模式控制系统 | |
CN105335548B (zh) | 一种用于ice的mcu仿真方法 | |
CN105741879B (zh) | 一种模拟智能电能表存储器测试板系统及其测试方法 | |
CN103558812B (zh) | 基于fpga和arm的mvb网络四类设备网卡 | |
CN103793263B (zh) | 一种基于PowerPC处理器的DMA事务级建模方法 | |
CN108833241B (zh) | 一种实现Powerlink工业实时以太网通讯的主/从站卡的设计方法 | |
CN109992555A (zh) | 一种供多路服务器共用的管理板卡 | |
CN104391770A (zh) | 一种嵌入式数据安全系统用soc芯片的在线调试及上位机通讯模块 | |
CN107229880A (zh) | 一种带用户安全调试功能的微处理器芯片 | |
CN107168867A (zh) | 一种实现微控制器芯片的用户debug模式的方法 | |
CN104850516A (zh) | 一种ddr变频设计方法和装置 | |
CN107943732A (zh) | 一种基于国产化fpga器件实现1553b总线模块 | |
CN107290656B (zh) | 一种集成双向crc校验功能的可扩展jtag调试结构 | |
CN107704407A (zh) | 一种用于spi和uart之间数据处理的系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for 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: 20170915 |