TPS25751EVM: Error flashing to device > error cannot read properties of undefined.

Part Number: TPS25751EVM
Other Parts Discussed in Thread: TPS25751

Tool/software:

I hooked my EVM up to power on J2 and data (to my computer) on J4, but I can't flash configurations onto the board. It returns this error every time. 

What I have done to troubleshoot:

- J2 probed voltage: 20V

- probed LDO_1V5, LDO_3V3, P3V3 -> they all look fine. 

- swapped and tested my USBC cable. 

- tried both the online and the downloaded USBCPD application 

- selected the COM associated with the board: 

Ran into the exact same issue as https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1415198/tps25751evm-tps25751evm-error-flashing-to-device 

But it looks like that was never resolved. 

  • Hi Ellie, 

    For TPS25751EVM, the COM port should be labeled as "Texas Instruments Inc.". What COM port options are available on your end?

    Thanks and Regards,

    Raymond Lin

  • Just (Microsoft). I changed computers as well and it shows up as Microsoft on both of them (Windows 11 laptop and Windows 10 laptop). 

  • Hi Ellie, 

    Do you have multiple instances of the GUI open at once? If there are more than one GUI running at a given time, only one of the GUIs can be connected to the EVM, all other GUI(s) will not be able to see the COM port for TPS25751EVM.

    Thanks and Regard,

    Raymond Lin

  • no, I made sure I only had 1 open. 

  • I just hooked it up to my linux laptop. Still doesn't work, but it shows up as Texas Instruments on ports now. 

    It still fails at 70% when flashing. The error is: this.usbpdQueue[0] is undefined

  • Hi Ellie, 

    1. When you connected TPS25751EVM to your computer, are you able to see "Tivaware USB serial port" in the COM ports? This is the main connection from the TPS25751EVM to your local computer. See picture below for reference: 

    2. Can you double check and make sure J16 jumper is one? This connects the I2C data line from the TIVA microcontroller to the EEPROM in order to flash the configuration from the GUI

    3. Which version of the GUI were you last using? 

    4. With the EVM connected to your computer, can you pull-up the "Flash device from binary file" option and see if the GUI is able to read EVM mode, build version, and customer version? See screenshot below for reference. 

    Thanks and Regards,
    Raymond Lin

  • Back to my windows 11 computer: 

    1. It shows up as USB Serial Device. I have J4 connected to my computer and J2 connected to a USBC power supply capable of 5-20V. 

    2. J16 jumper is on

    3. I ran the online GUI "USBCPD_Application_Customization_Tool" from dev.ti.com. Seems to be GUI v1.0.2

    4. This is what I get: 

    Tried flashing from current configuration file again, it still gave me the "error: cannot read properties of undefined (reading 'mode')

  • I exported my current settings as a binary file and tried flashing from binary file. Unfortunately, it gives me the same error. 

  • If you're able to read back data from the "Flash device from binary file" option then that means the GUI (at least for some time) was connected to TPS25751EVM. Can you try this process instead and see if it resolves the issue? 

    1. Remove all connections to TPS25751EVM and ensure EVM is completely power off

    2. Remove J16 jumper on the bottom side

    3. Connect J4 port to 15V-20V power supply 

    4. Connect J2 port to your laptop 

    5.At the top of the page, click on "Options" -> Serial Port Configuration and check to make sure the correct COM port is selected. To ensure the correct COM port is selected, click "Refresh" -> open the drop down selection for Port -> Reselect TI -> click "OK". See screenshot below for reference: 

    6. At the bottom of the page, check to make sure the "Hardware Connected" message is shown and the correct COM port is still selected.

    7. Click "Flash device from binary file" (with J16 still remove), at this point the read back data should look like this:

    8. Close the "Flash device from binary file" page and disconnect J2 and J4 port on the TPS25751EVM. Place back J16 jumper onto TPS25751EVM. 

    9. Reconnect J4 power port first and then J2 data port. Repeat step 7 (J16 should be on at this point), read back data should look like this (customer version is configured in reg 0x06 for testing purposes): 

    NOTE: at any point if nothing is read back form the "Flash device from binary file" page, reconnect J2 data port on the TPS25751 EVM. 

    10. If both steps 7 and 9 are successful, that means TPS25751EVM is properly connected to the GUI. Re-try the "Flash device from current configuration" option and see if it still fails.

    11. If the flashing current configuration still fails at 70%, you can try with this method: Right click -> Inspect -> Console. This will pull up a side window with the GUI console log open. Try reflashing with the console window open and see if this improves. 

  • At step 9, it was able to read data back, but it's not the same as your screenshot: 

    However, the data read back on step 7 is the same as your screenshot. 

    Flashing still fails. I opened console. It looks like it's failing on the final steps? 

  • At step 9, it was able to read data back, but it's not the same as your screenshot: 

    In the screenshot I provided for step 9, the EEPROM already had a configuration loaded previously. Remove J16 simply disconnects the I2C connection between TPS25751 and EEPROM, prevent TPS25751 from loading a valid configuration from the EEPROM after power cycling. If adding back J16 still shows PTCH (assuming you had power cycle the EVM after placing the jumper back on) then it could mean the EEPROM is empty. 

    Do you have access to an additional TPS25751EVM to test with and see if the issue persists? 

  • No, I don't have another EVM unfortunately. Adding back J16 after power cycling still shows PTCH. 

  • Once you add back J16 after power cycling, can you try the "Flash device from binary file" option instead of "Flash to device from current configuration"? 

  • I saved my config as a binary file and tried flashing it. It continues to fail at the same point. 

  • Do you have an I2C programmer like the Aardvark adapter you can use to connect to I2Cc_SDA/SCL of the EVM to load the configuration? It seems like either there is a GUI bug or something else in play preventing you from directly flashing from the GUI.

  • I have an arduino. Are there application notes on how I can flash settings over i2c? 

  • Are you looking to flash the EEPROM or PD controller? Depending on which one you're looking for the process may be different. For direct flashing to TPS25751 device you'll need to implement the PBMx (Patch Burst Mode sequence) which may be a little more complicated. Here is the flow from the Technical Reference Manual (Figure 5-1): 

    Essentially upon every boot-up (TPS25751 power cycling), the EC (Arduino) will need to load the configuration via I2C PBMx sequence into TPS25751. In this setup, the Arduino is the I2Cc (controller, legacy master) and TPS25751 is I2Ct (target, legacy slave), no EEPROM are involved in this flashing sequence. I recommend removing J16 if this is how to want to implement the flashing. 

    Alternative is to see if there are any sample program EEPROM codes for Arduino or to just obtain an I2C EEPROM programmer for simplicity. This route may be faster if there are resources out there. 

    Let me know if you have any questions or concerns! 

  • In investigating the evm further, I noticed that there are some small things which didn't match up with the datasheet. For example, D6 on my board is labelled as GPIO4 when it's GPIO2 on the datasheet. Could I have an older version of the board and that's why it hasn't been compatible with the GUI? 

  • Can you provide a picture of the EVM you're using? There has been two different versions of the EVM released, one from 2023 during the early release and the latest is from March 2024 when TPS25751 was officially released. 

  • The EVM you have is the latest version available to use.

    Reading back on the thread you mentioned you were using a Linux OS laptop, are you able to try on a Window based system instead and see if the issue persist? We have seen issues with macOS having higher failure rates and it could be the same thing for Linux OS.

  • I have tried both windows (windows 11) and linux. Same result 

  • Can you save a console log where the fail message occurred and attach it here? 

    1. Open the GUI and load your JSON config

    2. Connect TPS25751EVM as shown below: 

    3. Click on "Flash from current configuration" 

    4. After the flashing is complete (or fails), right click and save-as text file. 

  • This is the page I get after it fails. Not sure where to right click and save as text file. I guess I can save the webpage? This forum doesn't let me upload HTML documents unfortunately so here it is as a drive download link: 

    https://drive.google.com/file/d/1bIUFCHRDvGRkRDgwsxVoN9h0oLPSiyV1/view?usp=sharing 

  • Prior to flashing, right lick on the GUI and have the console open. With the console open, click on "Flash from current configuration" and you should see the console printing out hex logs. Whenever the flashing completes or fails, you can right click on the log (as shown below) and click "Save As". This will allow you to save the console log as a text file and then you can send it to me. 

    Let me know if you need more detailed explanation!