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.

Doubts regarding the use of a tiva micro-controller

I am a beginner to tiva controller. I have few doubts for which I could not get (or understand) from online or the TI documents. Kindly someone help me. 

1)Is there a possibility to burn a code in Tiva controllers using another source micro-controller (which has source code inside it)? If yes, how do we store .bin file in the source micro-controller? 

2)Can we store Data in Flash memory? or is it Read only ?

3)What is the purpose of using driver-lib from ROM ?

4)How can we switch between two codes when we receive an external command?

5) What exactly is a boot loader ?When to use it?

6)Will a sudden bit flip in a unauthorized memory location(due to single event upset)  result in a memory management fault?

7) Having a Tiva controller, RS232 and MAX235 can we burn the code using LM Flash programmer via UART?

Thanks in advance

  • Hello. 

    I will try to answer your questions one by one.

    1) Yes, it is possible to do so. You may store the .bin file in the other controller's RAM/Flash to do so.

    2) You can store data in Flash memory. The Flash memory is not a read-only memory (though it can be made read-only using access privileges).

    3) The primary purpose of using the driver library present in ROM is to reduce Flash memory footprint of your application - especially when you are using multiple stacks - every byte of memory matters. We try to help the developer out by reducing the memory overhead of the driver library.

    4) If you are developing in C, I feel conditional calls to a function/jumps should suffice. If you can explain what you want to implement exactly, we can help you out better.

    5) Boot-loader is a piece of code that when executed can do the firmware upgrade. It is generally used when using JTAG is not a feasible option for firmware upgrade.

    Consider a situation where you want to perform firmware upgrade of an inaccessible device in a complex system like a car where most circuits communicate with each other over a CAN bus. Instead of trying to stick your JTAG headers to the target controller, you can simply invoke the CAN bootloader present in the controller and pass the new firmware in the form of CAN messages. This is generally what is done.

    6) The Tiva controllers do not have error correcting memories as of now. But, is it important for your target application? If yes, you need to consider our Hercules Cortex-R4 microcontrollers. Each one has ECC memory that can correct bit-flips without throwing a fault.

    7) Yes, you can do that using LM Flash. You can implement a bootloader yourself or use the bootloaders present in the boot-ROM for this purpose.

    Regards,

    Shashank

  • Hello Shashank,

    I have few more doubts on what you said.

    1) How to store .bin files in another controllers RAM/Flash ?

    2) Tiva controller has internal boot-ROM. But when I tried to burn a code in tiva controller using LM flash programmer via UART, it gave me a pop up saying that the controller must be pre programmed with serial flash loader.Why should I pre program it even though it has everything in ROM?

    Thanks in advance