CN1991784A - 利用HDL扩展串口的SoC系统在线调试方法 - Google Patents

利用HDL扩展串口的SoC系统在线调试方法 Download PDF

Info

Publication number
CN1991784A
CN1991784A CNA2005101355280A CN200510135528A CN1991784A CN 1991784 A CN1991784 A CN 1991784A CN A2005101355280 A CNA2005101355280 A CN A2005101355280A CN 200510135528 A CN200510135528 A CN 200510135528A CN 1991784 A CN1991784 A CN 1991784A
Authority
CN
China
Prior art keywords
debugging
serial
mode
serial ports
serial port
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.)
Granted
Application number
CNA2005101355280A
Other languages
English (en)
Other versions
CN100422953C (zh
Inventor
陈波涛
马依迪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing CEC Huada Electronic Design Co Ltd
Original Assignee
Beijing CEC Huada Electronic Design Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing CEC Huada Electronic Design Co Ltd filed Critical Beijing CEC Huada Electronic Design Co Ltd
Priority to CNB2005101355280A priority Critical patent/CN100422953C/zh
Publication of CN1991784A publication Critical patent/CN1991784A/zh
Application granted granted Critical
Publication of CN100422953C publication Critical patent/CN100422953C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种可以灵活扩展SoC系统在线调试的方法。在SoB(System on a Board)及嵌入式系统程序开发过程中,将已有IP核的串口资源进行扩展,并设置选择,利用FPGA可重复配置的便利性,使得用户可以根据FPGA仿真板的结构任意选择目标系统的调试方式,即JTAG方式或者串口方式。当选择串口方式调试时利用扩展的串口,不占用目标系统的串口资源。当程序调试完毕可以即时将程序写入目标存储器中。这样在使用不同IP核时即可以有针对的选择程序调试方式,实现了在线调试的同时又不会占用目标系统的串口资源,提高了程序调试效率。

Description

利用HDL扩展串口的SoC系统在线调试方法
技术领域
本发明涉及嵌入式MCU仿真系统领域,尤其涉及到利用FPGA系统灵活进行软件在线调试的方法。
背景技术
随着IC设计的发展,工艺、成本的变化,SoC的验证已经变得越来越重要了,特别是利用FPGA进行原型验证(Prototyping),已经逐渐成为成功的SoC设计不可缺少的环节。
在包含MCU(ARM、51单片机)的SoC嵌入式软件调试过程中,使用JTAG调试是最常用的调试方法,JTAG调试属于完全非插入式(即不使用片上资源)调试,它无需占用目标存储器,也不占用目标系统的任何端口,通过MCU的JTAG边界扫描口调试设备。当然,这需要处理器支持JTAG调试方式,是一种硬件实时的在线在系统调试。
对于不支持JTAG在线调试方式的MCU通常使用串口方式调试,大多数单片机只提供两个通用串口,当调试应用程序时需占用其中一个通用串口与主机PC通信,一般通过驻留监控软件(Monitor)完成数据交互,由调试软件发布命令通知驻留监控软件控制程序的执行、读写存储器、读写寄存器、设置断点等。采用串口调试结合相应的调试软件可以大大提高调试效率。但是如果对于需要同时使用2个串口的应用情况则这种调试便无法进行了,比如开发者可能使用一个串口进行485通信,而另一个串口调试红外设备,这种情况下就无法进行系统在线调试,无法监控软件的运行情况、MCU内部寄存器情况等。
因此需要设计一种新型的SoC系统在线调试的方法,不占用原SoC已有的串口资源,且具备一定的灵活性,可以根据仿真PCB板的结构选择调试方式,实现程序的连续运行、单步、设置断点等功能。
发明内容
本发明的目的在于提供一种灵活的SoC系统在线调试方法,将原有的IP串口资源进行扩展,再将HDL代码综合并下载到FPGA里,使得在SoC原型验证阶段可以方便的使用JTAG方式或者扩展的串口进行调试程序,扩展的串口与通用串口功能相同,可以设置波特率,使得开发者在调试应用程序的同时能使用原IP的两个串口。
本发明的目的是这样实现的:实现系统在线调试,通过扩展的串口与主机进行通信,应使扩展的串口与原有的通用串口具有相同的功能,包括编写串口逻辑电路,定义MCU中的特殊寄存器作为串口的收发寄存器,定义MCU中的串口中断向量,增加波特率发生器,编写驻留程序(Monitor-51)与调试器(u-Vision)接口的初始化程序。对于支持JTAG调试的MCU IP核,将其JTAG控制逻辑与MCU分离,设置一根选择信号线,增加选择通路,可以在FPGA仿真板上通过选择高低信号,设置成JTAG或者串口调试(Serial-plus),选择JTAG方式时,扩展串口的资源同样对用户开放,包括收发寄存器、中断向量,也可根据用户定制不使用扩展的串口,这样可以将扩展串口收发寄存器,中断向量留作他用。
本发明还具有以下特征:扩展的串口在使用时可以自适应波特率设置,用户只需写好Monitor-51的初始化程序后便可以以一定波特率与主机通信,可以通过连续运行、设置断点、单步方式调试程序。
与现有的技术相比,本发明的有益效果在于:既保证了调试的效率,确保了在线调试的真实性,又增加了调试的灵活性,充分利用了FPGA大容量、可配置性的特点,为用户SoC系统原型验证提供了便利条件,用户无需更改外围电路,只需配置调试方式,编写HDL代码,并下载到FPGA中即可。特别是对于不支持JTAG调试的MCU核,如果外围电路需要用到两个串口时,外围电路器件不便于改造,要使得两个串口都具有调试能力,需要为每一个串口都设置监控驻留程序,浪费了FPGA的RAM资源(通常Monitor-51需要16K的RAM资源),若采用扩展的串口,可以只为调试程序配备一套监控驻留程序,这样极大的方便了应用程序的调试,降低了开发成本。
附图说明
图1是有关本发明实施中采用扩展的串口或JTAG调试方式示意图。(其中,虚线的部分为扩展的部分。)
PS(Port Select):端口选择逻辑。
Download Cable:包括RxD、TxD、Gnd线
图2是SoC内部资源配置情况和调试器软件配置示意图。
SCON_PLUS:串口控制寄存器。
SBUF_PLUS:串口数据缓冲寄存器。
BG(Baud Generator):波特率发生器。
Intr Plus:扩展的串口逻辑电路。
JTAG:JTAG调试控制电路。
具体实施方式
下面结合附图对本发明作进一步描述。
在进行系统程序调试时,首先完成SoC系统的硬件设计,然后设计相应的软件,编写开发工具与目标系统的接口程序和初始化程序。在硬件设计阶段,首先要增加串口电路。请配合参阅图1所示,还需要对包含JTAG控制器的电路进行改造,使其与串口能够构成选择机制,这可以方便的通过增加选择器来实现。扩展的串口电路支持同步和异步工作模式,同步工作时,由CPU产生串行时钟,串口工作在半双工模式下,异步工作时,串口工作在全双工模式,在8051核中设置一个保持寄存器SBUF PLUS,参照图2所示,使得软件在读当前数据之前该串口可以接收新数据。同时设置一个串口控制寄存器SCON PLUS,使得软件对该串口完全可控,定义各位分别为Serial-plus mode,receive enable,定义在传输模式2和3下第9数据位,发送中断标志,接收中断标志。最后,设计波特率发生器,对于核内已有的串口0可以使用Timer1或者Timer2产生波特率,串口1可以使用Timer1产生波特率,对于扩展的串口Serial-plus,添加令一路计数器来完成波特率产生,不占用Timer1和Timer2。
硬件仿真完毕,功能正确后,开始软件设计,最重要的是要增加初始化文件INSTALL.A51中对扩展串口的支持,请参照图2所示。由于使用本发明在调试过程中使用的是Keil软件开发工具,默认的调试通道是串口0或串口1,用户只需确定对应硬件的串口入口,在本发明中应利用INSTALL batch文件来配置硬件,如串口类型、Monitor-51使用的xdata的位置,Monitor-51程序代码的起始位置。并且在INSTALL.A51中应声明SCON PLUS和SBUF PLUS的地址,和中断入口,并告知是否检测prom在系统中。MON BANK.A51仍使用默认值。然后在工程中加入STARTUP.A51就可以对编好的代码进行编译,调试应用程序了。
当设计者的原型验证板周边器件变化时,可以通过选择信号,更换调试接口,用户需要做的只是重新下载bit码流到FPGA中,连接主机和调试板的接口信号线,就可以实现在线调试方式的转移。保证了调试效率,又节省了一定的硬件开销。

Claims (5)

1.一种不占用目标系统串口资源的在线调试方法,将已有的MCU IP的串口资源进行扩展,包括扩展IP核内相应的寄存器资源、中断向量及控制信号,设置选择机制,用于带有嵌入式处理器的软件调试,其特征在于:在做FPGA仿真时,设置方便的选择信号,可以根据该FPGA仿真板与主PC的接口结构选择软件调试方式,对于带有JTAG调试接口的MCU即可以选择用JTAG方式调试应用软件,也可以在已有的两个串口和扩展串口(Serial-plus Port)之间选择串口方式调试;对于不带JTAG方式调试的MCU,可以选择3个串口的任意一个进行调试。
2.如权利要求1所述的可灵活实现系统在线调试的方法,其特征在于:调试程序时通过置位选择信号,使得目标系统与主PC通讯采用扩展的串口(Serial-plus Port),实现应用软件在线调试。
3.如权利要求1所述的可灵活实现系统在线调试的方法,其特征在于:调试程序时通过置位选择信号,使得目标系统与主PC通讯采用JTAG方式,实现应用软件在线调试。
4.如权利要求1和2所述的可灵活实现系统在线调试的方法,其特征在于:使用扩展的串口(Serial-plus Port)与主机PC通讯,进行软件调试时,波特率可设置,目标系统能够自适应。
5.如权利要求1、2、3和4所述灵活实现系统在线调试的方法,其特征在于:利用FPGA资源可重构的特点,通过合理安排IP核寄存器、中断结构、接口结构,使得用户在产品调试阶段可以得到比原IP更为方便、丰富的资源。
CNB2005101355280A 2005-12-30 2005-12-30 利用HDL扩展串口的SoC系统在线调试方法 Expired - Fee Related CN100422953C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005101355280A CN100422953C (zh) 2005-12-30 2005-12-30 利用HDL扩展串口的SoC系统在线调试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005101355280A CN100422953C (zh) 2005-12-30 2005-12-30 利用HDL扩展串口的SoC系统在线调试方法

Publications (2)

Publication Number Publication Date
CN1991784A true CN1991784A (zh) 2007-07-04
CN100422953C CN100422953C (zh) 2008-10-01

Family

ID=38214055

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101355280A Expired - Fee Related CN100422953C (zh) 2005-12-30 2005-12-30 利用HDL扩展串口的SoC系统在线调试方法

Country Status (1)

Country Link
CN (1) CN100422953C (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101808027A (zh) * 2010-03-31 2010-08-18 哈尔滨工业大学 适用于多种端口的数据接收存储转发装置
CN101751327B (zh) * 2008-12-04 2012-04-18 北京中电华大电子设计有限责任公司 嵌入式处理器的跟踪调试方法
CN102520961A (zh) * 2011-12-22 2012-06-27 福州大学 片外在线可编程的soc系统及其控制方法
CN102662811A (zh) * 2012-03-31 2012-09-12 电子科技大学 一种实现对51软核在线应用代码调试的方法
CN102831042A (zh) * 2012-06-26 2012-12-19 珠海市杰理科技有限公司 一种在线调试单片机的系统及其方法
CN104050068A (zh) * 2014-05-23 2014-09-17 北京兆易创新科技股份有限公司 在mcu芯片中调试fpga的方法和装置
CN104503898A (zh) * 2014-11-24 2015-04-08 四川长虹电器股份有限公司 一种嵌入式软件调试参数实时查看的方法及系统
CN104898546A (zh) * 2015-05-06 2015-09-09 浙江中控研究院有限公司 一种基于soc的plc在线调试系统和方法
CN105786576A (zh) * 2016-03-17 2016-07-20 硅谷数模半导体(北京)有限公司 基于串口的芯片调试方法和装置
CN106126211A (zh) * 2016-06-17 2016-11-16 山东超越数控电子有限公司 一种支持调试接口的mcu在线编程系统
CN109656772A (zh) * 2018-12-14 2019-04-19 中国航空工业集团公司西安航空计算技术研究所 一种无智能芯片接口模块的在线调试方法
CN111090584A (zh) * 2019-11-25 2020-05-01 大唐半导体科技有限公司 一种fpga平台ip原型快速验证方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6185732B1 (en) * 1997-04-08 2001-02-06 Advanced Micro Devices, Inc. Software debug port for a microprocessor
CN2650232Y (zh) * 2003-09-30 2004-10-20 福建缔邦实业有限公司 具有串口扩展装置的cpu
CN1297919C (zh) * 2004-01-16 2007-01-31 中兴通讯股份有限公司 一种单片机后台调试的系统及方法
CN100357751C (zh) * 2004-02-26 2007-12-26 联想(北京)有限公司 一种jtag模块及应用该模块的调试方法

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101751327B (zh) * 2008-12-04 2012-04-18 北京中电华大电子设计有限责任公司 嵌入式处理器的跟踪调试方法
CN101808027A (zh) * 2010-03-31 2010-08-18 哈尔滨工业大学 适用于多种端口的数据接收存储转发装置
CN101808027B (zh) * 2010-03-31 2011-11-23 哈尔滨工业大学 适用于多种端口的数据接收存储转发装置
CN102520961A (zh) * 2011-12-22 2012-06-27 福州大学 片外在线可编程的soc系统及其控制方法
CN102520961B (zh) * 2011-12-22 2014-08-27 福州大学 片外在线可编程的soc系统及其控制方法
CN102662811A (zh) * 2012-03-31 2012-09-12 电子科技大学 一种实现对51软核在线应用代码调试的方法
CN102662811B (zh) * 2012-03-31 2014-08-13 电子科技大学 一种实现对51软核在线应用代码调试的方法
CN102831042A (zh) * 2012-06-26 2012-12-19 珠海市杰理科技有限公司 一种在线调试单片机的系统及其方法
CN104050068A (zh) * 2014-05-23 2014-09-17 北京兆易创新科技股份有限公司 在mcu芯片中调试fpga的方法和装置
CN104050068B (zh) * 2014-05-23 2016-06-15 北京兆易创新科技股份有限公司 在mcu芯片中调试fpga的方法和装置
CN104503898A (zh) * 2014-11-24 2015-04-08 四川长虹电器股份有限公司 一种嵌入式软件调试参数实时查看的方法及系统
CN104503898B (zh) * 2014-11-24 2017-09-01 四川长虹电器股份有限公司 一种嵌入式软件调试参数实时查看的方法及系统
CN104898546A (zh) * 2015-05-06 2015-09-09 浙江中控研究院有限公司 一种基于soc的plc在线调试系统和方法
CN104898546B (zh) * 2015-05-06 2017-07-14 浙江中控研究院有限公司 一种基于soc的plc在线调试系统和方法
CN105786576A (zh) * 2016-03-17 2016-07-20 硅谷数模半导体(北京)有限公司 基于串口的芯片调试方法和装置
CN105786576B (zh) * 2016-03-17 2019-06-04 硅谷数模半导体(北京)有限公司 基于串口的芯片调试方法和装置
CN106126211A (zh) * 2016-06-17 2016-11-16 山东超越数控电子有限公司 一种支持调试接口的mcu在线编程系统
CN109656772A (zh) * 2018-12-14 2019-04-19 中国航空工业集团公司西安航空计算技术研究所 一种无智能芯片接口模块的在线调试方法
CN111090584A (zh) * 2019-11-25 2020-05-01 大唐半导体科技有限公司 一种fpga平台ip原型快速验证方法及系统

Also Published As

Publication number Publication date
CN100422953C (zh) 2008-10-01

Similar Documents

Publication Publication Date Title
CN100422953C (zh) 利用HDL扩展串口的SoC系统在线调试方法
KR101035832B1 (ko) 집적 종단점 장치와, 집적 pci 익스프레스 종단점 장치및 pci 익스프레스 통신 시스템
US4231087A (en) Microprocessor support system
CN100476837C (zh) 一种支持随机指令测试的微处理器fpga验证装置
CN100495479C (zh) 基于在线可编程逻辑器件的单片机教学实验装置
CN100565472C (zh) 一种适用于多处理器核系统芯片的调试方法
EP0777180A2 (en) System and method for simulation of computer systems combining hardware and software interaction
US6571204B1 (en) Bus modeling language generator
CN105302950A (zh) 一种软、硬件协同的可编程逻辑器件交联仿真测试方法
CN102521444A (zh) 软硬件协同仿真/验证方法及装置
CN105335548B (zh) 一种用于ice的mcu仿真方法
US6810373B1 (en) Method and apparatus for modeling using a hardware-software co-verification environment
CN101957787A (zh) 一种利用bmc模块调试刀片服务器的方法
CN100501696C (zh) 一种应用于数字信号处理器的高速仿真器
CN103793263A (zh) 一种基于PowerPC处理器的DMA事务级建模方法
JP2007058813A (ja) 検証装置及び検証方法
CN113326670A (zh) 原型验证系统、方法、处理单元、及设备
US20050055190A1 (en) Circuit operation verification device and method
CN101281507A (zh) Usb接口型dsp实时仿真开发系统
Kirschbaum et al. Rapid prototyping of communication architectures
Öner et al. The design of RPM: An FPGA-based multiprocessor emulator
CN110135572B (zh) 一种基于soc的可训练柔性cnn系统设计方法
CN100507853C (zh) 双内核半实物仿真系统
JP2015011363A (ja) 協調検証装置及び協調検証方法
CN111897282A (zh) 一种基于x86平台的软plc系统

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
C56 Change in the name or address of the patentee
CP03 Change of name, title or address

Address after: Beijing City, Chaoyang District Lize two Road No. 2, Wangjing science and Technology Park A block five layer

Patentee after: Beijing CEC Huada Electronic Design Co., Ltd.

Address before: Beijing city Chaoyang District District No. 1 Gaojiayuan

Patentee before: Beijing CEC Huada Electronic Design Co., Ltd.

C56 Change in the name or address of the patentee
CP02 Change in the address of a patent holder

Address after: 102209 Beijing, Beiqijia, the future of science and technology in the south area of China electronic network security and information technology industry base C building,

Patentee after: Beijing CEC Huada Electronic Design Co., Ltd.

Address before: 100102 Beijing City, Chaoyang District Lize two Road No. 2, Wangjing science and Technology Park A block five layer

Patentee before: Beijing CEC Huada Electronic Design Co., Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20081001

Termination date: 20171230

CF01 Termination of patent right due to non-payment of annual fee