|
发表于 2009-6-22 10:23:04
|
显示全部楼层
是用的JTAG,不过有些JTAG命令没有做,因为是为仿真设计的。JTAG协议比较简单,其实就是个状态机,要做对8051的仿真,要增加一些命令。最麻烦的是要写仿真控制的DLL来被KEIL识别。
下面是JTAG ICE的端口描述,除JTAG引脚外,有一些脚用于控制8051内核。
module dbg_ice (
trst_n, // Test reset input
tck, // Test clock input
tms, // Test mode select input
tdi, // Test data in
tdo, // Test data out
mclk, // mcu clock
por_n, // power on reset
en_fetch,
brk_chk, // enable break point check
mcu_pc_o,
ice_id,
user_id,
dbg_rd_data,
dbg_wt_data,
dbg_addr,
dbg_inst,
dbg_rst_n,
dbg_run,
mcu_run
);
input trst_n;
input tck;
input tms;
input tdi;
output tdo;
input mclk;
input por_n;
input en_fetch;
input brk_chk;
input [31:0] mcu_pc_o;
input [31:0] ice_id;
input [31:0] user_id;
input [31:0] dbg_rd_data;
output [31:0] dbg_wt_data;
output [31:0] dbg_addr;
output [3:0] dbg_inst;
output dbg_rst_n;
output dbg_run;
output mcu_run; |
|