floppes / RTD266xFlash

67 stars 34 forks source link

I2C connection broken after firmware upload #28

Open Mendilli2 opened 3 days ago

Mendilli2 commented 3 days ago

Hi, I have this source code below, after compiling it successfully with keil, I use RTD266xFlash with arduino to upload the resulting firmware to a pcb800099 board, RTD266xFlash successfully connects the board at the first place, but after I upload my new firmware, RTD266xFlash never connects the board again, İt costed me 4 driver boards so far,İt is obvious it is something related with my source code but I can not understand the problem. Can someone please help

RTD2662-master.zip

Mendilli2 commented 2 days ago

I was using the sda, scl and ground pins of vga connector on the pcb800099 board with arduino, after uploading the firmware (on my first post), it stopped working (i2c connection can not be established any more).

I have found this link saying that a MODIFIED HDMI CABLE can be used with RTD266xFlash tool, but there is nothing about how the hdmi cable should be modified, I want to try the hdmi connector on the pcb800099 for i2c connection, so can someone please help me about the hdmi cable modification

EDIT:I have checked physical connection between vga (sda, scl) and rtd2660 chip (pins 56 57) with a multimeter/buzzer and it seems okey, but hdmi seems not to have physical connection with rtd2660

EDIT-2: I tried the arduino i2c_detect sketch and sometines it says "no i2c sleve detected" and sometimes it just hangs on "scanning' prompt

EDIT-3: Wen I connect arduino to pcb800099 (first the board is powered of course), with one of faulty board the arduino led keeps blinking, never goes off and with another faulty board the arduino led is on permenantly

https://githubhelp.com/floppes/RTD266xFlash

IMG_20241110_194902

floppes commented 2 days ago

Just have a look at the pins of an HDMI connector (https://en.wikipedia.org/wiki/HDMI): 15 is SCL, 16 is SDA and 17 is GND.

But I guess that these signals are connected to the ones from the VGA connector and it makes no difference if you use VGA or HDMI for the I²C connection.

From my experience, even after flashing garbage as a firmware, the chip is still responsible and another firmware can be flashed. I have no idea what happened to your boards...

If it really is an issue with the firmware: as far as I know, RTD266x's firmware is stored on the external EEPROM. You could use an in-circuit EEPROM flasher to flash a working firmware. If you don't have such a flasher, solder wires to the EEPROM's pins and connect them to an Arduino. There are probably Arduino sketches available to use the Arduino as an EEPROM flasher.

Mendilli2 commented 2 days ago

According to this page pcb800099 has no i2c eeprom, firmware is stored in spi-flash

https://forums.adafruit.com/viewtopic.php?t=84068

floppes commented 1 day ago

This shouldn't be a problem. SPI flash chips can be read and written easily with an Ardiono as well. If you can identify the flash chip, seach for an Ardiono sketch.