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.

AM6548: FlashWriter issues with Uniflash

Part Number: AM6548
Other Parts Discussed in Thread: UNIFLASH

Hi Processors Team,

When my customer and I exactly follow the instructions in the related question, we are able to successfully flash an AM6548. However, when using Ubuntu instead of Windows the process fails and when using any version of Uniflash other than 4.5, the process fails.

The Ubuntu failure: We are able to see "C" in the console, but once we run the dslite script it freezes at "Transferring Header Information.."

The new version of Uniflash on Windows error: We are unable to see "C" in the console, and the dslite script freezes at "Transferring Header Information.."

Is this a known issue?

Thanks,
Barend

  • Barend,

    I have sent you a note regarding the issue with a small video to describe the Uniflash process for AM65x. There is a known issue PRSDK-5801 which is used for Uniflash improvements however, we have a short video created that may be useful to customers.

    Hope this helps.

    Regards,

    Rahul

  • Rahul,

    Thank you for the response and video!

    Unfortunately your solution doesn't work.

    If I use the uniflash 5.1 with the SW 3 in 0101... the process gets stuck at the DMSC Cortex connection for about 20 minutes... and after that it goes through, than I connect to CortexA53_0_0 and all messages are successful. I load the program and immediately after the Run Option fades away -like it is not available anymore. Anyway I try to do the linux command to erase and it gets stuck at Transferring Header Information 

    If I do exactly the same with SW 3 in 0000 the process is much faster with exactly the same outcome - so not useful either.

    For uniflash 4.5 the Run option does not fade away so I can run the program and get the C output in a terminal but it never goes pass Transferring Header Information....

    Please advise !

  • Hello Florin

    Florin Gherghinis said:
    f I use the uniflash 5.1 with the SW 3 in 0101... the process gets stuck at the DMSC Cortex connection for about 20 minutes... and after that it goes through, than I connect to CortexA53_0_0 and all messages are successful. I load the program and immediately after the Run Option fades away -like it is not available anymore.

    Can you describe when you mean by "Run Option fades away"? Is this in Uniflash?

  • At all times that I am trying to flash I am in CCS env, not in uniflash.

    In  CCS, after connecting to DMSC core and Cortex A53_0_0 core the next step is to load the uniflash5.1/processors/FlashWriter/am65xx_evm/uart_am65xx_evm_flash_programmer.out

    As soon as I load this the RUN button fades away and it is unavailable for me to be able to test the C output on the terminal !

    Only when I use the uniflash 4.5 file I can Run the program and see the "C" output.

    But than it gets stuck at "Transferring Data  " .....

    Please advise! 

  • Florin Gherghinis said:
    As soon as I load this the RUN button fades away and it is unavailable for me to be able to test the C output on the terminal !

    I believe I know what you are seeing now. When you load the out file, the program just auto-runs and never reaches main. The "run" button is greyed out. This is what you mean by "fades away". It is in that state because the target is already running. You can use the "suspend" button to halt execution (then the "run" button will be available again)

    Florin Gherghinis said:
    Only when I use the uniflash 4.5 file I can Run the program and see the "C" output.

    loading the file from 4.5 will have the program auto-run to main successfully (uart_main.c line 121). Then you can manually press the run button and see "C" outputted to the terminal.

    Florin Gherghinis said:
    But than it gets stuck at "Transferring Data  " .....

    But then you run into another issue.

    It looks like there is some issue with the out files where it is not running correctly. This is not a tools issue but an issue with the executable when running inside CCS. Likely there is some missing initialization step required from a CCS debug session. I can reproduce the issue when loading the out file from 5.1. But it works when using the uniflash CLI.

    I'll need a device expert to comment further.

    Thanks

    ki

  • Thank you Ki,

    1, Correct. But when it runs the C should be displayed and it doesn't so something does not work !

    2. Correct - I do not have any issues there (using the uniflash 4.5). I see the C output.

    3. I understand, please advise when you have an answer! (please keep in mind that this stuck stage happens when using uniflash 4.5 

    With uniflash 5.1 I could not get there !

  • Florin Gherghinis said:
    1, Correct. But when it runs the C should be displayed and it doesn't so something does not work !

    Exactly. the program is NOT running correctly. There is something wrong there. 

    I have forwarded this thread to the device experts. They should be able to provide better answers to help you progress further.

  • Hi Florin,

    I may not have the full understanding of what you are doing here, but can you confirm that when you attempted to following this procedure: https://e2e.ti.com/support/processors/f/791/p/847047/3133703#3133703, the only connection between the Host PC and the Target was the UART connection?

    Secondly, I would like to confirm if you are trying this on the TI EVM or the custom hardware. Please specify that as well.

    Regadrs

    Karthik

  • The connections between Ubuntu host and TI EVM 65x are UART ( that it's interrupted after the C output is confirmed and than reconnected) and JTAG for the CCS env, as far as I can read the instructions on TI ....

    3.5.1.6.2. Loading Flash Writer over JTAG interface

    I am working on the TI EVM 

     

  • Hi Florin,

    Thanks for the confirmation. 

    OK. If you are working on the TI EVM, then you just need to have the UART connection between the Linux PC and Target. With that, you can use the procedure that is mentioned in the video as part of this post: https://e2e.ti.com/support/processors/f/791/p/847047/3133703#3133703

    Please note that the procedure would be:

    1. Connect the Target to the Host Ubuntu PC.
    2. Switch the target to the UART boot mode.
    3. Rest of the steps would just be as per the video. Use only the video as the reference and repeat all steps.

    Regards

    Karthik,

  • Hi Karthik,

    Florin and I just tried to run the device in UART mode, and while it eventually connected(after 20 minutes), we still ran into the 'C' output not being printed in the serial terminal. I also noticed there was a new version of uniflash, but in that new version, there were no .out file for the AM65x's flashwrite tool. Is there anything between the steps of booting and loading the FlashWrite code that we may be missing?

    Thanks,
    Barend

  • HI Barend, Florin,

    I'm unable to comprehend the exact steps that you are following, which is the step that takes 20 minutes? It is not supposed to take that long for any step.

    If the 'C' output is not getting printed, I would suspect your switch settings. 

    Please provide details on whether this is being tried on the TI EVM and also provide the boot switch settings.

    Lets keep variables to a minimum, you can stick to the version of Uniflash that you are already using, would this be 5.1?

    Regards

    Karthik

  • Hi Florin,

    Please update this thread to help proceed with the next steps.

    Regards

    Karthik

  • Hi Florin,

    Since I haven't heard I would assume that you have found a solution and you can proceed further.

    Regards

    Karthik

  • Hi Karthik,

    Apologies for the delay, there was a holiday here in the sates and we were out for most of last week.

    The step that takes 20 minutes is connecting CCS to the M3 core when the switch is 0101, but connects instantly when the switches are 0000.

    Using 5.1 we can't see the 'C' output, no matter which way the switches are set.

    4.5 is the only version of Uniflash that gets 'C' output, but then freezes at "Transferring Header Information..."

    Thanks,
    Barend

  • Hi Barend,

    Just to be clear, here are a few things that you need to take care:

    1. There is no need to connect to CCS if you are using the latest version of the Uniflash.
    2. You should be in the UART boot mode when you are using the Uniflash.
    3. There should not be any terminal program connection (minicom/putty etc) to the UART that prints the CCCC characters, these should be closed.

    You will notice the freeze at the "Transferring Header information" if point #3 is not honored.

    Regards

    Karthik