AR# 64275

Zynq-7000 SoC: booting in secure mode, how do I enable JTAG?


When booting Zynq in secure mode, JTAG is disabled by default.  

(UG585) implies that JTAG can be turned back on, how do I do this?


Assuming that the eFuse to disable JTAG is not blown (XSK_EFUSEPL_DISABLE_JTAG_CHAIN), these are the register settings to re-enable JTAG:

  • devcfg.CTRL{DAP_EN}  = 1 
  • devcfg.CTRL{DBGEN}  = 1 
  • devcfg.CTRL{NIDEN}  = 1 
  • devcfg.CTRL{JTAG_CHAIN_DIS}  = 0 

The following code can be added in the FSBL to re-enable JTAG:

                u32 reg_addr, reg_data;

                //xil_printf("enable jtag dap \r\n");

                /* DEVCFG CTRL enable DAP*/

                reg_addr = 0xF8007000 + 0x00;

                reg_data = Xil_In32 (reg_addr);

                reg_data |= 0x7F; /* DAP enable */

                reg_data &= ~(0x00800000); /* JTAG CHAIN DIS */

                Xil_Out32 (reg_addr, reg_data);

AR# 64275
日期 06/13/2018
状态 Active
Type 综合文章