Hello!
Implicit conversion is when you use a pointer instead of something else.
But if you could point the line where it happens, it would be easier to debug.
I'm not going to read ad try to understand the whole code for an obvious error.
…
While saying this, I think that the line Glcd_Image(image1[1024]) is wrong.
Probably the prototype of your function is:
void Glcd_Image(uchar * data, uint16 length) or something like that.
What you are doing is that instead of passing a character array to the function, you
give it the 1024th character of the buffer image1, which by the way does not exist.
(image1 has 1024 characters, so the indexing starts at 0 and finishes at 1023, so
image1[1024] points to a memory space outside of your image, which can be anything.
By the way, why are you using an EEPROM? Do you change your images frequently?
If not, you may consider a serial flash which, for a similar price, has about 100 times
the capacity. I am using SPI flash of 128 Mbits (16 MBytes), which costs about 4~5 USD.
But there are smaller devices, for example Atmel AT45 series.
Dora.