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.

CCS/TM4C123AE6PM: CCS/TM4C123AE6PM: Won't boot after reset. 0x3FF5F5 (no symbols are defined)

Part Number: TM4C123AE6PM
Other Parts Discussed in Thread: EK-TM4C123GXL

Tool/software: Code Composer Studio

Device won't run any code after pressing the reset button or after a power reset. It works fine when the code loaded from the debugger, but for only once. When i press the reset button, debugger says "0x000000(no symbols are defined ) and the device freezes.

  

  • Did you start with one of the example projects that comes with TivaWare? Your project should include a file like startup_ccs.c which defines a section ".intvecs" which will set the stack pointer and reset vector.

    Also, pressing the reset button on the EK-TM4C123GXL launchpad will disrupt the connection to the debugger. You may have to disconnect (logically, not physically) and reconnect again.

    If you are using the EK-TM4C123GXL launchpad, I suggest you import and build the TivaWare sample project "Blinky". That way you can see the LED blink after hitting the reset button and know the code is executing.

  • Greetings Bob,

    May we applaud your, 'Absolutely Terrific Advice'

    Bob Crosby said:
    Did you start with one of the example projects that comes with TivaWare? Your project should include a file like startup_ccs.c which defines a section ".intvecs" which will set the stack pointer and reset vector.

    This specific issue appears to be arriving here with greater frequency - thus your direction is (very) well placed.    (And - if I may - should appear in 'More Places' and in 'More Recognizable Form' - to insure it is 'Not Missed!'    (we note that it will shortly 'rotate away' from forum page #1 - into 'forum oblivion.')    (and likely be 'pushed far downstream' by the always helpful, 'Does NOT WORK!')

  • Hi Bob,

    Thank you for quick response.

    Yes, I am seeing startup_ccs.c file where resetISR routine is defined.

    But when I am clicking on "restart" , or " reset cpu" or "reset board" I am not getting any hit there.

    Thanks and Regards,

    Vamsi

  • Can you export your project to a .zip file and post it?

  • Bob,

    You answer so many - staff/I have the 'luxury' of being 'selective responders!'     

    Poster has specified his MCU as NOT one appearing upon the LPad.    (we're not so sure that you 'noted' that.)    If that's the case - he's had to implement a custom pcb - and that opens a (very) Large 'List of Potential Issues!'     (NEVER a wise decision - IMHO - WAIT until all the code succeeds on the LPad - prior to attempting any pcb design.)

    It is wondered if his MCU Reset circuitry is correct & fully functional - and if ALL of the MCU's power pins are properly (really) connected - and properly bypassed.    The 'JTAG' pins - if left to 'float' - may also induce the MCU into some 'distressed state' - is that not so?    No/Zero report describing poster's board has been presented...

    First pcb board attempts - by those 'Not Fully Experienced' rarely succeed - and the 'Rush to a custom board' - in my opinion - proves a serious mistake!)

  • Above is the zip file of my project

    Thanks and Regards,

    Vamsi

  • Interesting. Let me guess that this is an older project on a custom PCB that you were given to modify. I was able to import the projects but did not see the .out file with the project names. I had to modify some path information and upgraded to using the latest TivaWare library (you are using an older one). I can see the issue you are having in project "HeaterControlNonOs". Loading the code, or manually setting the PC to the entry point the code runs and loops in the while loop on line 747 of main. However, if I start from reset and then connect, the code is looping in the ROM. I have not figured it out yet.

  • Yes,  you are right I am modifying the code which was developed by some one else.

    I am also stuck there the code is not running in controller after reset.

    Thank you for looking into the issue

    Thanks and Regards,

    Vamsi

  • OK, here is what is happening. Line 659 calls the static function BootConfigConfiguration(); That function programs the non-volatile BOOTCFG with the value 0x7FFF20FE. That value causes the device on reset to check pin PB0. If that pin is low, the code jumps to the ROM bootloader at reset. That is what is happening.  You can add a pull-up resistor to PB0 and the code will execute out of reset as expected. To undo the BOOTCFG register you must follow the steps of "Debug Port Unlock". Be aware that process will also erase the MAC address and the User registers 0 and 1. 

  • Hi Bob,

    Thank you for the update.

    I have verified by making PB0 as high and it is working.

    I will try to unlock the debug port also and check.

    How can we check the status of BOOTCFG register when connected with J-TAG in CCS?

    Thanks,

    Vamai

  • Hi Bob,

    Thank you for the update.

    I have verified by making PB0 high and it is working.

    Is there any way to check BOOTCFG when target connected with J-TAG in CCS?

    Thanks,

    Vamsi

  • It can be displayed in the register window as part of the FLASH_CTRL registers.

  • Thank you Bob!!

    Regards,

    Vamsi