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.

TM4C129ENCPDT: TM4C129ENCPDT Operation Using Uniflash and Related Issues

Part Number: TM4C129ENCPDT
Other Parts Discussed in Thread: UNIFLASH, , EK-TM4C1294XL

I'm attempting to use Uniflash to load and run an *.out file.  The actual load process is successful according to Uniflash, but the system doesn't appear to operate. This is a (Debug build) .out file from a project that I can run and debug successfully using my PC, TM4C129ENCPDT, and an XDS110 without issue (motivation for doing this has been deleted to simplify the question).  After successfully loading the *.out file, I have reset the CPU and the system through Uniflash with no response.  I have power cycled with no response.  There should be clear indicators if the processor is running (blinking LEDs tied to SysTick ISR).  I'm sure I've got a misconception, but can someone point me in the correct direction on how to get the processor running with this toolchain?

This was originally pursued as a means to run a customer's firmware without having to build it locally (to avoid build issues when switching PCs).  Other suggestions on how to achieve that would be appreciated?

On a related note, I attempted to do these operations on my own system and noticed that the "Release" build fails while the "Debug" build succeeds.  It appears that my included Tivaware files are missing for Release builds?  And that my inclusion of driverlib.lib in the linker search path is missing for release builds.  Is this a bug or expected behavior?  An explanation would be appreciated.

I'm still learning TI's tools - any help with my misconceptions would be appreciated!

  • Hi,

    JaPaBo said:
    The actual load process is successful, but the system doesn't operate as expected. 

      I'm not clear with your problem. You mentioned that you loaded a customer's .out file but it doesn't run. Is that a correct understanding. After you loaded the customer's .out file, can you see if the program is correctly loaded onto the flash. In the CCS, you can view the content of the flash by opening a memory browser window. If you see your code in the flash then I think the code was loaded successfully. The uniflash should have also said in the console that the programming was complete and successful. If not, you should get some type of error message.

    JaPaBo said:
    Stepping back, I'm trying to run my processor using a (DEBUG) .out file built and run successfully on my own system.  The load is again successful, but the system is nonresponsive.

      At first you said this DEBUG.out run successfully and later you said it is not responsive. I think I'm confused. Do you have another board that you try? Do you know if your DEBUG.out was always working in the past? If the DEBUG.out was always working in the past and now it doesn't work then there is something wrong with your board. Another question is this DEBUG.out the correct program for the TM4C129ENCPDT device. Is it possible that the DEBUG.out is for a different processor but you by mistake try to load on the TM4C129. If this is the case then it will not work. 

      Why don't use start with the TivaWare examples for learning first. There are many of them. I will suggest you start with the blinky example. It is in <TivaWare_Installation>/examples/boards/ek-tm4c1294xl/blinky. Try to import this CCS project into your CCS workspace and load the blinky.out into your device. 

      

  • Hi Charles,

    I edited my original post to (hopefully) clarify the question.  The question is about use of Uniflash and loading of binary files rather than using CCS to debug everything.  All activities are on the same functional PCBA using different approaches to load firmware.  I also have a tangentially related question about differences I have observed for Debug and Release builds while attempting to troubleshoot my use of Uniflash to load and execute code.

    Uniflash explicitly indicates that writing to flash was successful. And it verifies that the written image matches the *.out file.  But the behavior of the processor suggests it is not running normally (i.e., I don't get the behavior I expect or observe if just hitting Debug and then press F8 to run).

    Regards,

    Jack

  • Hi Jack,

      

    JaPaBo said:
    I'm attempting to use Uniflash to load and run an *.out file.  The actual load process is successful according to Uniflash, but the system doesn't appear to operate. This is a (Debug build) .out file from a project that I can run and debug successfully using my PC, TM4C129ENCPDT, and an XDS110 without issue

      I think I understand this part now. You are loading a (Debug Build).out and it runs fine without issue. Is this correct?

    JaPaBo said:
    After successfully loading the *.out file, I have reset the CPU and the system through Uniflash with no response.  I have power cycled with no response.  There should be clear indicators if the processor is running (blinking LEDs tied to SysTick ISR).  I'm sure I've got a misconception, but can someone point me in the correct direction on how to get the processor running with this toolchain?

     This is where I'm still confused. Please excuse me. Earlier you just said the (Debug Build).out was running successfully. Now you said the CPU has no response. Is this the same (Debug Build).out or a different program you are trying to load. Or you are trying to say after you reset or power cycle the board, the original (Debug Build).out which was running before stops to run as there is no more LED blinking.

  • JaPaBo said:
    Uniflash explicitly indicates that writing to flash was successful. And it verifies that the written image matches the *.out file.  But the behavior of the processor suggests it is not running normally (i.e., I don't get the behavior I expect or observe if just hitting Debug and then press F8 to run).

      What code are you running. Is this only a problem with this specific code? Again please elaborate what is the abnormal behavior. In the working behavior, the LED is blinking but in the wrong beavior the LED is not blinking. Is that the difference? Please clarify. As I asked, can you run other TivaWare examples like blinky? Do you see any problem?

  • It's the same project.

    Case 1:  I hit the debug icon and then hit Resume in Debug view and the processor works great.

    Case 2: I take the *.out from build referenced above.  I load that *.out file using Uniflash and attempt to run the system with no apparent response/function despite clear indications from Uniflash that the load operation is successful and that the image on the processor matches the *.out file.

  • Hi Jack,

      You are saying if you use the CCS to load the program then it will work fine. If you use the Uniflash to load the program then the device becomes unresponsive. Is this the correct understanding now?

      Again, can you try a different program. Can you repeat the same problem when loading a different program using either CCS or Uniflash. If you also have the same problem then we will focus on Uniflash. BTW, which Uniflash version are you using?

      Can you also show the steps you are using to load the program using the Uniflash. Do you have the log to show? This will help our Uniflash support team to debug.