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.

TM4C123G Boot Loader, TivaWare 2.1.2.111, IAR Workbench, Application

Other Parts Discussed in Thread: EK-TM4C123GXL

I am using a TM4C123G family processor. I am able to build applications using the IAR EWARM workbench. I would like to incorporate features of the bootloader into my project.

The Tiva C MCU is embedded into a system where the published download protocol will not work.

1a- If my application is able to call code that is loaded in SRAM, then the application can receive its own update and rewrite flash,

or...

1b -Modify the boot loader to look in a reserved flash location for a new copy of the application that the application stores using its protocol.

I expect to have more than enough room in flash for two copies of the application and the boot loader.

What details do I need for each approach.

2- Also I took the boot loader code, C:\TI\TivaWare_C_Series-2.1.2.111\boot_loader, and built an IAR project and got the message

   no definition for "main"

I thought the boot loader is supposed to be a stand alone program, but is my supposition.

Keith Smith

  • Hello Keith,

    The folder "./bootloader" has the source code and does not contain the project files. The project files are present in the folder "./examples/boards/dk-tm4c123g/". In this location you will find projects "boot_serial" for serial bootloader and "boot_usb" for USB based bootlaoder. Also, there are examples of applications that work with the above mentioned bootloader called "boot_demo1" and "boot_demo2".

    These examples work out of box on DK-TM4C123G board. They will have to be modified, if using on the EK-TM4C123GXL LaunchPad.

    Thanks,
    Sai
  • Sai - Thank you for the information. I will have reinstall the TivaWare for DK-TM4C123G as the only folders in my ./examples/boards/ directory are EK-TM4C123GLX-xxx

    I don't have a boot_serial, boot_demo1, or boot_demo2 examples., just a ./boot_loader directory.

    Keith Smith

  • Hello Keith,

    boot_serial, boot_demo1, and boot_demo2 examples are located in the folder "./examples/boards/dk-tm4c123g/". You will have to install TivaWare from one of the following locations to get these applications:

    Thanks,

    Sai

  • Greetings Sai,

    We note that this is (not) the first poster to have (somehow) downloaded an incomplete file collection. Clearly this is (none) of your doing - and you've advised posters of an approved method.

    Yet - this occurs often enough that its wise to advise forum readers of methods which are (known) to produce such limited (unwanted) file downloads. In medicine and in law it is often of greater importance to highlight behaviors/actions which are to be avoided - the same "guard-banding" appears to prove useful here, too...
  • I have download the DK-TM4C123G package. I built the entire set of examples.

    I also found the answer for my previous question, 'no definition for "main" ' The default program entry in the Options/Linker tab needs to be set to 'ResetISR'

    However, I now have a new problem, both the DK 'boot_serial' and 'boot_usb' as well as the .\boot_loader directory have the following linkage errors.

    Linking
    Error[Lp049]: there was no reference to __iar_data_init3, but it is needed to initialize section .bss (bl_main.o #8)
    Error[Lp048]: the init table "Table" is needed to initialize some variables, but there are no references to it
    Error while running Linker

    Do I ignore these errors, or is there another update I need to know about.

    Keith Smith

  • Hello Keith,

    Which version of IAR are you using?

    This issue has been reported by another customer for IAR v 7.50 here: e2e.ti.com/.../1825780

    I have verified that the solution provided in that post (use "do not initialize { readwrite };” in linker script), builds the bootloader, but I haven't tested if the bootlaoder works fine, so far.

    Thanks,
    Sai
  • Yes I am using IAR 7.50, and yes the solution reported in the link removes the linkage errors.