ISP programming the GCHDMI board

Discussion in 'Modding and Hacking - Consoles and Electronics' started by Bearking, Dec 29, 2017.

  1. Bearking

    Bearking Konsolkongen

    Joined:
    Aug 2, 2010
    Messages:
    856
    Likes Received:
    100
  2. KaosEngineer

    KaosEngineer Robust Member

    Joined:
    Jun 7, 2016
    Messages:
    224
    Likes Received:
    97
    From what you've described, it's already flashed and verified without any errors so no need to keep reflashing it.

    Inside the .ino and the client .py files the software should set the baud rates.

    Check serial port speed
    In a terminal window, type in followed by enter:

    stty -g -f /dev/tty.usbserial

    substitute the device name for the port your Arduino's connected. The command should return the settings currently in use for the by the port.

    Set serial port speed
    Change the command line entered to:

    stty -f /dev/tty.usbserial 115200

    Hmm, as I don't have a Mac that may not work. maybe this website will help instead:

    https://plugable.com/2011/07/12/installing-a-usb-serial-adapter-on-mac-os-x/

    stty manual page for Mac OSX 10.6.2:

    https://www.unix.com/man-page/osx/1/stty/
     
    Last edited: Jan 14, 2018
    Bearking likes this.
  3. Bearking

    Bearking Konsolkongen

    Joined:
    Aug 2, 2010
    Messages:
    856
    Likes Received:
    100
    I'll give it a look tomorrow. Thank you once again :)

    Got the board installed in the Gamecube, but as it's late I did not want to start drilling and cutting. I'll do that tomorrow and let you know how it all went :)
     
  4. Bearking

    Bearking Konsolkongen

    Joined:
    Aug 2, 2010
    Messages:
    856
    Likes Received:
    100
  5. KaosEngineer

    KaosEngineer Robust Member

    Joined:
    Jun 7, 2016
    Messages:
    224
    Likes Received:
    97
    It shouldn't matter what SPI Flash Programmer u use.

    Obtain a dump (read) the contents stored in the flash chip and compare it to the gcvideo-dvi-shuriken-v3-2.3.bin file.

    The Python SPI flash programmer client seems to flash the entire chip not just the number of bytes based on the length of the data file being flashed to the device.
     
  6. Bearking

    Bearking Konsolkongen

    Joined:
    Aug 2, 2010
    Messages:
    856
    Likes Received:
    100
    Yeah I get that any ISP programmer should work, however the one mentioned in the guide uses a different software to program it with, and using that I could easily get it working :)

    But I'll need to take out the board anyway so I'll try to do a read and see what it says :)

    EDIT: Added a few pictures of my soldering as I can understand why people would like to see check it for themselves. I think I did a pretty good job though. No shorts on the FPGA or mini-HDMI socket, and all the pins on the hookup board are checked for continuity with the Digital AV-pins.

    IMG_0963.JPG IMG_0965.JPG

    Did run out of 0603 caps so I had to use a few 0805s :p

    EDIT2: The dump I get from reading the chip is 4.2MB, and looking at the file in a HEX editor shows nothing but Fs (not sure if this is a viable way to check the file, but I assume that means that nothing was flashed at all?). :(

    EDIT3: Argh I'm an idiot. Remember when I said it didn't want to write, and then suddenly it worked? That was because I tried reading from the flash, but I didn't realise that I had overwritten the .bin file with absolutely nothing...

    So yeah reading from the chip probably works, and apparently I can write the empty file back to it, but if I change any character in the file using a Hex editor it no longer wants to write:
    Code:
    Martinbook:GCHDMI konsolkongen$ python3 spi_flash_programmer_client.py -d /dev/cu.usbmodem1411 -s 4096 -f test.bin write
    Writing test.bin at 0
    0 of 4194304Retrying
    Retrying
    Retrying
    Traceback (most recent call last):
      File "spi_flash_programmer_client.py", line 223, in <module>
        main()
      File "spi_flash_programmer_client.py", line 214, in main
        chat.writeFile(args.filename, int(args.flash_offset))
      File "spi_flash_programmer_client.py", line 184, in writeFile
        raise Exception()
    Exception
    
     
    Last edited: Jan 16, 2018
  7. Zeigren

    Zeigren Spirited Member

    Joined:
    Jan 19, 2014
    Messages:
    191
    Likes Received:
    124
    I'm guessing you tried with the actual GCvideo bin file as well and that didn't work?

    Also yes the LCsoft board is just a Cypress EZ-USB FX2LP development board, the one you linked on eBay should work.
     
    Bearking likes this.
  8. Bearking

    Bearking Konsolkongen

    Joined:
    Aug 2, 2010
    Messages:
    856
    Likes Received:
    100
    Yes I did try that :p

    I have ordered that one, and I expect to receive it soon. I'm grateful for all the help you guys were able to provide regarding the Arduino, and I'm sorry it lead nowhere :/

    Hopefully I'll get it working using the new programmer.
     
  9. Bearking

    Bearking Konsolkongen

    Joined:
    Aug 2, 2010
    Messages:
    856
    Likes Received:
    100
    Got the new programmer today, but I need help :(

    Got Cypress USB suite installed just fine. But I cannot figure out how to install the drivers.

    From the guide:
    I got driver signature disabled when doing a reboot in Parallels. I've tried using the device manager > update driver, but none of the files in the folder is being accepted as a driver.
    Screen Shot 2018-01-30 at 17.15.48.png

    I barely ever use Windows so maybe I'm missing something really obvious here :D

    I'm sure I'll get this working once I have this last step figured out though, so any help would be appreciated :)

    EDIT: So I managed to get somewhere myself, although the damn driver still doesn't work.

    After a lot of google searching I learned that I had to change the vendor and device ID in the driver to match the whatever my programmer lists in Device manager:

    Screen Shot 2018-01-30 at 20.04.09.png

    Now the damn driver installs, but I get the following error, and it doesn't show up in the Cypress studio app :/

    Screen Shot 2018-01-30 at 20.02.44.png

    I tried installing the drivers on cypress' site, and while this did make the device show up, it does not work unfortunately :)
     
    Last edited: Jan 30, 2018
  10. citrus3000psi

    citrus3000psi Housekeeping, you want towel?

    Joined:
    Nov 8, 2013
    Messages:
    1,051
    Likes Received:
    418
    I had no problems, installing the drivers. Windows just took it once I disabled driver signature. Could the mac be the issue?
     
  11. Bearking

    Bearking Konsolkongen

    Joined:
    Aug 2, 2010
    Messages:
    856
    Likes Received:
    100
    And you didn't have to modify the vendor and device ID in the driver .inf file?

    Never had any other issues with parralels on Mac, so I'd doubt it. Don't have another PC either, nor do I want one just for Windows :p
     
  12. Zeigren

    Zeigren Spirited Member

    Joined:
    Jan 19, 2014
    Messages:
    191
    Likes Received:
    124
    Now that you have the Cypress driver installed have you gone back and tried to update it to the LCsoft driver? That might work.

    Also you know do the usual stuff, "have you tried turning it off and on again?" and try a different USB port. If you're using a USB hub try plugging the board directly into your computer instead. Blah blah blah tech support mumbo-jumbo.
     
  13. Bearking

    Bearking Konsolkongen

    Joined:
    Aug 2, 2010
    Messages:
    856
    Likes Received:
    100
    I did try that :) The Cypress driver only worked after I altered the driver according to the vendor/device ID, as it was instructed in the included pdf on the Cypress website.

    That's how I figured that I might have to alter the LCsoft driver too, and after doing that it did indeed install fine. It just doesn't work for whatever reason :(

    Did try rebooting. Having tried the other USB port on the Macbook though :)
     
  14. Bearking

    Bearking Konsolkongen

    Joined:
    Aug 2, 2010
    Messages:
    856
    Likes Received:
    100
    I managed to get the correct driver installed :)

    I ran CyConsole and downloaded the .hex file.

    Now when I try to run new_fpga_flash.exe I get this:
    Code:
    C:\Users\konsolkongen\OneDrive\NY GCHDMI\new_fpga_flash>new_fpga_flash.exe COM5 gcvideo-dvi-shuriken-v3-2.3.bin
    serial flash not idle! reporting state 0x05
     
  15. Bearking

    Bearking Konsolkongen

    Joined:
    Aug 2, 2010
    Messages:
    856
    Likes Received:
    100
    I am still not able to get this to work. Think I'm about to give up :(
     
  16. Bad_Ad84

    Bad_Ad84 The Tick

    Joined:
    May 26, 2011
    Messages:
    8,566
    Likes Received:
    1,308
    offer stands
     
  17. Bearking

    Bearking Konsolkongen

    Joined:
    Aug 2, 2010
    Messages:
    856
    Likes Received:
    100
    That's nice of you to offer, and I'm not ruling it out. But with the amount of money and time I've already spend on this I really want it to work out :/

    It's a shame that @happy_bunny isn't active here anymore. I'm sure he would have an idea since he wrote the programming software :)
     
  18. Bad_Ad84

    Bad_Ad84 The Tick

    Joined:
    May 26, 2011
    Messages:
    8,566
    Likes Received:
    1,308
    This is why I rather just use "proper" programmers. Support and they work. No time to fault find tools
     
  19. Bearking

    Bearking Konsolkongen

    Joined:
    Aug 2, 2010
    Messages:
    856
    Likes Received:
    100
    Yes that does seem to make a lot more sense :) What would you suggest if I were to buy a decent universal programmer?

    Just tried installing the 32bit version of windows, and the 32bit drivers, just to rule out that something might be wrong with my other VM. But I get the same result here too. I don't understand how this apparently work for others :(

    Just to clarify, this is what I'm doing:

    Boot Windows 10 with Driver signature disabled > open CyConsole and download the hex file to the LCsoft > Find the correct COM-port > open cmd and enter the command line.

    I also tried with another GCHDMI board, but it's the same thing. Jumper is shorted of course :p

    Could the flash chip be incompatible? It was suggested on Mouser as a suitable replacement, but maybe that's wrong?
    https://www.digikey.dk/product-deta...gies/AT25DF041B-SSHN-T/1265-1228-1-ND/6124884
     
  20. Zeigren

    Zeigren Spirited Member

    Joined:
    Jan 19, 2014
    Messages:
    191
    Likes Received:
    124
    I took a quick look and it looks like it should be a compatible flash. Supports the same SPI modes, in general the same opcodes, same memory map, the commands I looked at looked to be implemented the same. Only differences I saw were that the Micron part has a slower max frequency (shouldn't matter here) and supports up to a 20 byte ID vs the 4 byte ID that the Adesto part supports, but that shouldn't really matter either. The Adesto part does support dual I/O but that also shouldn't matter or cause any problems.

    The error code you got indicates that something else was already trying to read from the flash, 0x05 is specifically the read status register command. So maybe the FPGA isn't actually in a halt state?
    FPGA.PNG
    When JP1 is shorted check the continuity of pin 100 on the FPGA to see if it's properly connected to ground, or check it's voltage.
     
    Last edited: Feb 11, 2018
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page