Hi,
I am pretty sure this sort of question has been asked before but I haven't managed to find a resolution for it. Basically I a trying to create a custom peripheral and as a first step I am pretty much using all of the defaults provided by the "Create and Package IP" Tools menu item. What I did was:
1.tCreate block diagram with Zync7 Processing system.
2.tSelect Create and Package IP. I pretty much used all the defaults:
Create new AXI4 peripheral
tSelected Generate Drivers.
3.tAdded this IP block to the Block Design (called it: myip_1.0)
4.tRun the connection automation (it put in the reset block and AXI interconnect)
5.tSynthesised, created bitstream, etc and then exported the project to SDK.
6.tFirst I made sure I could run the helloworld program.
7.tNext I added the drivers repository for the ip block (myip_1.0 directory) and I created and added an include for the drivers/myip_v1_00_a/src directory to the helloworld project.
8.tI then added the self test function to the main function in helloworld) using the addresses defined in the address editor and in the SDK address map:
int main()
{
init_platform();
MYIP_Reg_SelfTest(0x43c00000);
print("Hello World
r");
return 0;
}
9.tNow when I run my program it hangs (I suspect when it attempts to write the 4 registers contained within the custom peripheral). Am I missing something?
Regards,
Scott