TM4C1290NCZAD: Flash based Bootloader for TM4C1290NCZAD

Part Number: TM4C1290NCZAD
Other Parts Discussed in Thread: UNIFLASH

Hello ,

Hello,

I am working on Flash based bootloader for TM4C1290NCZAD, currently I trying code with simple LED blinking.

I am flashing .out using Uniflash programmer(Do not erase flash option is enabled in settings.), when bootloader and application code is downloaded, application runs immedaitely. 

As LED blinking is different in both codes, jumping of bootloader to application can be identified.But after power reset , program doesnot jump to application, it remains in bootloader only.

What could be reason for same?

Please guide to resolve the issue

  • Hi Harshal,

    Can you confirm, is this a custom bootloader? If so, are you able to connect to the target while running the bootloader? You may be able to step through to identify an issue where the program should be jumping to application.

    Regards,

    Ethan Bloom

  • Hello Ethan,

    Yes, this is custom bootloader.

    As per latest trials with minimal firmware, where only LED toggling is implemented in application, bootloader is successfully jumping to application. Now I facing an issue with actual firmware, if change flash address (application base address) then application hangs in some fault ISR, I am debugging the same now.

    With Regards,

    Harshal Belan

  • Hi Harshal,

    Please refer to this E2E thread: [FAQ] SW-TM4C: How to debug a program going into FaultISR - Arm-based microcontrollers forum - Arm-based microcontrollers - TI E2E support forums

    Will copy it below for convenience:

    Typical Root Cause: Fault ISR means that the CPU has hit a condition either internally or externally (w.r.t peripherals) that it cannot resolve.

    Debug Steps:

    1) The Registers that need to be checked to begin analysis are the NVIC_FAULTSTAT and NVIC_FAULTADDR registers at absolute address 0xE000ED28 and 0xE000ED38.

    2) Precise Bus Fault in NVIC_FAULTSTAT would mean that the address of Faulting location is captured in NVIC_FAULTADDR

    3) Similarly, every fault type mentioned has a cause associated to it, some being easy to diagnose and some being difficult to diagnose. In order to diagnose faults, refer to the following document that covers the different Fault Types: http://www.ti.com/lit/spma043

    4) If a solution is not found after consulting SPMA043, share details including the Fault Type and what steps have been taken to try and resolve the issue.