cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Visitor
Visitor
3,296 Views
Registered: ‎01-23-2014

AXI_GP acess from bare-metal application

Hello!

 

I try to develop a bare-metal application on Zynq with ARM DS-5 and DStream.. So I set up my board in XPS, export hardware to SDK and then import ps7_int.h and ps_init.c into my DS-5 application. After launching on board i can see, that all clocks are initializated properly and test uart application is working correctly. But when I try to send something to AXI_GP (address 0x41200000), DStream losts connection to PS, and it can be reconnected only after re-power.. Also DS-5 debuger fails to show me memory area after 0x4000000.. 

I can't find any additional registers to configure or enable AXI_GP.. So where it can be the problem?

 

Regards,

Helen

0 Kudos
3 Replies
Highlighted
Scholar
Scholar
3,295 Views
Registered: ‎09-05-2011

Re: AXI_GP acess from bare-metal application

0 Kudos
Highlighted
Visitor
Visitor
3,293 Views
Registered: ‎01-23-2014

Re: AXI_GP acess from bare-metal application

Thanks! I haven't seen it yet..

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
3,049 Views
Registered: ‎12-18-2007

Re: AXI_GP acess from bare-metal application

Xapp1185 has just been updated and a further update is planned to assist in this particular area.

 

However, for now you simply need to apply a "ps7_postinit" operation to enable the interface to the programmed fabric.

 

For Rev 3 silicon this is (.ds format)

 

memory 0xF8000000 +4096    noverify 32 # Configure the SLCR registers as noverify

 

define setmask # helper function to perform RMW sequences setmask addr mask val
set *($arg0) = ($arg2 & $arg1) | (*($arg0) & ~($arg1))
end

 

define ps7_PostConfig # Enable interface to fabric
set *0xF8000008U = 0x0000DF0DU # SLCR unlock
setmask 0XF8000900 0x0000000FU 0x0000000FU
setmask 0XF8000240 0xFFFFFFFFU 0x00000000U
set *0xF8000004U = 0x0000767BU # SLCR lock
end

 

Regards

 

0 Kudos