引言
调试OpenRISC,需要软件和硬件的协同工作才能实现,其中硬件又包括JTAG cable,JTAG TAP和debug interface三部分,软件也包括JTAG cable的驱动,RSP server和GDB三部分。本小节就从整体出发,简单介绍一下OpenRISC的调试系统。
1,调试系统分类
如果软件和硬件各个子部分以不同组合方式组合在一起,就会出现不同的调试系统,但一般有三种不同的组合方式:
1>官方提供的UBUNTU的虚拟机里预装的方案
软件部分:
1,or32-linux-gdb,
2,or_debug_proxy(只能针对FT2232的JTAG cable使用)
3,JTAG cable的驱动集成到了or_debug_proxy内部
or_debug_proxy的源码可以在openrisc的SVN服务器下载: http://opencores.org/or1k/OR1K:Community_Portal#Get_source_code
需要注意的是,如果你是用的开发板不是ordb2a的话,也想采用这种方案,那就需要购买单独的JTAG cable(ORSoC USB debugger:http://opencores.org/shop,item,3)
硬件部分:
1,JTAG cable(FT2232)集成到了ordb2a-ep4ce22的板子上。,
2,JTAG TAP使用Igor Mohor写的标准的TAP,这样的话调试orsoc和烧写FPGA本身虽然使用的是一根线,但是使用的是两个JTAG口(FPGA芯片本身的JTAG和SoC中jtag_tap的外部引脚)
3,使用的是adv_dbg_if IPCORE
2>Advanced Debug System
Advanced Debug System工程是独立于OpenRISC的一个工程。其目标是提供一个可以调试SoC和烧写程序,当然,其目前还是主要用来调试基于or1200的SoC。
Advanced Debug System主要可分成三部分:adv_jtag_bridge,JTAG TAP,adv_dbg_if。
其中adv_jtag_brid