I am attempting to build upon the hdmi demo, here is what I want to accomplish:
Take over PMOD_C port as a general purpose digital output (8 pins)
Here is what I have done (aside from debugging for hours)
I dropped down and wired a PmodGPIO_0 block in my design and connected it to PMOD_C (JC), used the auto-connection automation function in Vivado.
The build seems to work just fine, exported hardware, etc as normal.
In SDK I get a drivers/ directory in hw_patform_1 with PmodGPIO_v1_0 and everything looks fine.
Here are the exact steps I followed from here to where I am now:
copied PmodGPIO.h down to hdmi/src (build project directory)
copied code (functions) from PmodGPIO.c into video_demo.c (build main .c)
copied code (init, main, close) from output_demo.c into appropriate places in video_demo.c
Question 1) The code would not execute, because it appears the XPAR_ for PMODGPIO does not feed correctly into xparameters.h. Is this normal?
I tried to workaround by checking system.hdf and found the base address for my PMODGPIO 0x40000000 and hard-coded it. This would allow the code to compile, but it does not run correctly, it hangs in GPIO_begin on the statement Xil_Out32(InstancePtr->GPIO_addr+4, bitmap);. This is the first statement where it attempts to write to the mapped memory.
I have a feeling that something with the PmodGPIO IP is not building correctly for me, but I don't know how to correct it. I have tried several times to clean and rebuild the project, but again I don't know if I am taking the right steps.
Question 2) Is there some type of 'build' that I need to do in SDK or somewhere else to initialize the IP correctly and be able to write to the PmodGPIO ?
Question
dbkincaid
I am attempting to build upon the hdmi demo, here is what I want to accomplish:
Take over PMOD_C port as a general purpose digital output (8 pins)
Here is what I have done (aside from debugging for hours)
I dropped down and wired a PmodGPIO_0 block in my design and connected it to PMOD_C (JC), used the auto-connection automation function in Vivado.
The build seems to work just fine, exported hardware, etc as normal.
In SDK I get a drivers/ directory in hw_patform_1 with PmodGPIO_v1_0 and everything looks fine.
Here are the exact steps I followed from here to where I am now:
copied PmodGPIO.h down to hdmi/src (build project directory)
copied code (functions) from PmodGPIO.c into video_demo.c (build main .c)
copied code (init, main, close) from output_demo.c into appropriate places in video_demo.c
Question 1) The code would not execute, because it appears the XPAR_ for PMODGPIO does not feed correctly into xparameters.h. Is this normal?
I tried to workaround by checking system.hdf and found the base address for my PMODGPIO 0x40000000 and hard-coded it. This would allow the code to compile, but it does not run correctly, it hangs in GPIO_begin on the statement Xil_Out32(InstancePtr->GPIO_addr+4, bitmap);. This is the first statement where it attempts to write to the mapped memory.
I have a feeling that something with the PmodGPIO IP is not building correctly for me, but I don't know how to correct it. I have tried several times to clean and rebuild the project, but again I don't know if I am taking the right steps.
Question 2) Is there some type of 'build' that I need to do in SDK or somewhere else to initialize the IP correctly and be able to write to the PmodGPIO ?
Thanks!
Link to comment
Share on other sites
2 answers to this question
Recommended Posts
Archived
This topic is now archived and is closed to further replies.