Quantcast
Viewing all articles
Browse latest Browse all 22625

Re: ADV7511 ZedBoard design with MicroBlaze instead of ARM Cortex-A9

I took a look at the ADV7511 Transmitter Library source code, but as Dragos mentioned, there are a number of functions that must be written by the user in wrapper.c. These include not just the basic HAL_I2CRead/Write functions, but also a number of ATV_* functions (ATV_LookupValue8, ATC_I2CWriteTable, ...).

 

What I did was extract the object files from libHDMI_MicroBlazeLib.a (mb-ar x libHDMI_MicroBlazeLib.a) (which already has code for all the ATV_* functions in atv_common.o) and replaced platform.o with another object file containing new versions of the following functions:

HAL_I2CReadByte(), HAL_I2CReadBlock(),

HAL_I2CWriteByte(), HAL_I2CWriteBlock()

HAL_GetCurrentMSCount()

with dummy versions (empty wrappers) for the following functions:

HAL_I2C16ReadBlock8()

HAL_I2C16WriteBlock8()

 

I also created my own HAL_Platform_Init() function for initializing the axi_iic and axi_timer drivers (Xiic, XTmrCtr).

 

This way I was able to get the ADV7511 demo program running on MicroBlaze on a ZedBoard.

 

I had an issue with Xilinx's Xiic_DynSend() function not seeming to work for multi-byte writes, so I just made HAL_I2CWriteBlock() write one byte at a time.



Viewing all articles
Browse latest Browse all 22625

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>