cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
beyerms
Visitor
Visitor
1,389 Views
Registered: ‎11-04-2017

xil_in32() function is halting program, using Vivado 2017.2 SDK to program zynq-7000 processor.

Hello all,

    In the project I am currently working on, when I try to boot my program from flash memory the program halts at a xil_in32() function. It is trying to read the configuration register from the xADC IP block. All the documentation I can find about this problem suggests this problem can be fixed by enabling level shifters, which I believe is being done by my FSBL.

 

FSBL Handoff enable level shifters:

 

 

#ifndef NON_PS_INSTANTIATED_BITSTREAM
#ifdef PS7_POST_CONFIG
		ps7_post_config();
		/*
		 * Unlock SLCR for SLCR register write
		 */
		SlcrUnlock();
#else
	/*
	 * Set Level Shifters DT618760
	 */
	Xil_Out32(PS_LVL_SHFTR_EN, LVL_PL_PS);
	fsbl_printf(DEBUG_INFO,"Enabling Level Shifters PL to PS "
			"Address = 0x%x Value = 0x%x \n\r",
			PS_LVL_SHFTR_EN, Xil_In32(PS_LVL_SHFTR_EN));

	/*
	 * Enable AXI interface
	 */
	Xil_Out32(FPGA_RESET_REG, 0);
	fsbl_printf(DEBUG_INFO,"AXI Interface enabled \n\r");
	fsbl_printf(DEBUG_INFO, "FPGA Reset Register "
			"Address = 0x%x , Value = 0x%x \r\n",
			FPGA_RESET_REG ,Xil_In32(FPGA_RESET_REG));
#endif

Any help debugging this issue would be greatly appreciated.

 

Mitchell Beyer

 

 

 

 

 

Tags (3)
0 Kudos
1 Reply
berker_atel
Adventurer
Adventurer
1,370 Views
Registered: ‎11-09-2016

Hi,

Are you sure addresses of configuration register and all other registers?

I had the similar problem(halting at XilIN or Xilout) using wrong addresses.

 

0 Kudos