This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TPS23881: Abnormal operation occurs when the firmware is downloaded twice in SRAM

Part Number: TPS23881

Hello

There is an issue in which abnormal operation occurs when the firmware is downloaded twice in SRAM.

I Attached the source code.

When I load the SRAM twice with the above code, it does not work.

Why is that?

Is there a problem with the source code?

Best regards.

  • Hi Louis,

    When you say it doesn't work, what's the observation? Were the ports turned off and all settings were changed to default configuration?

    If that's the case, these behaviors are expected. Thanks.

    Best regards,

    Penny

  • Hi Penny

    I attached Test report.

    Please check the test report and provide a solution.

    PSE_EVL_capture-2020-04-06.xlsx

    Best regards.

  • Hi Louis,

    Did you use the GUI to load the SRAM code? Looks like the parity check is not enabled. How did you run your software and GUI in parallel? Can you just use your GUI to load SRAM and read port status? Thanks.

    Best regards,

    Penny

  • Hi Penny

    After loading the firmware from the GUI, the test results were delivered to an Excel file.

    And the same issue is confirmed when loading the firmware with the above code from the MCU.

    Could you check the operation after loading the firmware twice?

    Best regards.

  • Hi Louis,

    When you used GUI to load the SRAM, did you enable parity check? From your GUI sreenshot, the parity check was not enabled. I have tried on my side, everything worked fine with parity check enabled. Thanks.

    Best regrads,

    Penny

  • Hi Penny

    I have attached a report that I tested with the GUI.

    TPS23881 Test.pdf

    Q1. Why is the setting value initialized when loading to SRAM twice?

    Q2. I Request a review of the attached SRAM Load Source code.

    Best regards.

  • Hi Louis,

    When I loaded the SRAM code for the first time, everything went to default configuration. The ports were turned off. This is expected behavior as CPU reset is done during SRAM loading. Did you connect any resistor to AUTO pin on the board? You code looks good to me. Thanks. 

    Best regards,

    Penny

  • Hi Louis,

    When I loaded the SRAM code for the first time, everything went to default configuration. The ports were turned off. This is expected behavior as CPU reset is done during SRAM loading. Did you connect any resistor to AUTO pin on the board? You code looks good to me. Thanks. 

    Best regards,

    Penny

  • Hi Penny

    Thanks for the quick response.

    I attached schematic of TPS23881.

    Is there anything else I need to check?

    Best regards.

  • Hi Louis,

    Since you use autonomous mode (AUTO pin is set to 60W), HW re-enables the ports following the SRAM load(allowing the port to power back on). While the whereas this hw override is disabled in the SRAM code (leaving the ports in OFF mode) and it takes into effect after the second FW download. This is expected behavior. Thanks.

    Best regards,

    Penny

  • Hi Penny

    Can I enable the port after downloading the second FW?

    or Can I Prevent disabling the port?

    Best regards

  • Louis,

    You can't prevent from SRAM load disabling the port. You have to reconfigure the ports after second SRAM loading. Thanks. 

    Best regards,

    Penny

  • Hi Penny

    Thanks for your answer.

    Could you explain why the port is disabled when loading the second SRAM?

    Best regards

  • Hi Louis,

    As I said in the previous reply, the hw override function is disabled in the SRAM code (leaving the ports in OFF mode) and it takes into effect after the second FW download. So the HW (autonomous mode configured by AUTO pin) initialization will not take in place after the second time the SRAM is loaded. Thanks.

    Best regards,

    Penny